Латекс: текст над mbox () при горизонтальной прорисовке? - PullRequest
1 голос
/ 12 февраля 2020
\begin{figure}[H]     
\centering
    \mbox{\includegraphics[scale = 0.3]{images/cor.pdf}}  
    \hspace{1px}
    \mbox{\includegraphics[scale = 0.3]{images/co0re.pdf}}
    \hspace{1px}
    \mbox{\includegraphics[scale = 0.3] {images/cooco.pdf}}
    \caption{Blah}
    \label{materialflowChart}
\end{figure}

Я использую вышеупомянутое, чтобы отобразить 3 изображения рядом, по горизонтали.

Работает, все хорошо. Но я хотел бы добавить небольшой текст выше (или ниже) каждого подизображения. Не стандартная подпись, а просто слово типа «А», «В», «C».

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Помимо использования подизображений, уже представленных, есть много способов сделать это:

1 / использовать мини-страницы

\documentclass{article}
\usepackage{graphicx}
\usepackage{multicol}
\begin{document}

\begin{figure}
\centering
\begin{minipage}{0.2\linewidth}
\centering A\\  \includegraphics[width=\textwidth]{example-image-a}
\end{minipage}%
\hspace{1px}%
\begin{minipage}{0.2\linewidth}
  \centering B\\  \includegraphics[width=\textwidth]{example-image-a}
\end{minipage}%
\hspace{1px}%
\begin{minipage}{0.2\linewidth}
  \centering C\\  \includegraphics[width=\textwidth]{example-image-a}
\end{minipage}%
\caption{Blah}
\label{materialflowChart}
\end{figure}

enter image description here Обратите внимание на Я удалил бесполезный \ mbox {}, так как \ includegraphics уже возвращает окно TeX.

Точно так же, если вы хотите точно контролировать интервал между изображениями и действительно получать пространство между изображениями в 1px, вы должны добавить «%» в конце строк, чтобы сожрать пространство и избежать форматирования TeX. Это также верно в исходном коде.

2 / USe tabular


\begin{figure}
  \centering
  \begin{tabular}{*{3}{@{\hspace{1px}}c}}
    A&B&C\\
    \includegraphics[width=0.2\linewidth]{example-image-a}&
    \includegraphics[width=0.2\linewidth]{example-image-a}&
    \includegraphics[width=0.2\linewidth]{example-image-a}
  \end{tabular}
  \caption{Blah}
  \label{materialflowChart}
\end{figure}

enter image description here

Управление интервалом между столбцами выполняется с помощью @ {\ HSPACE {1px}}. Команды @ вставляются перед удалением столбца и нормальным интервалом между столбцами.

3 / использование многоколонок с пакетом multicol

В мини-странице можно определить поле с несколькими столбцами

\begin{figure}
  \centering
  \begin{minipage}{0.7\linewidth}
    \setlength\columnsep{1px}
    \begin{multicols}{3}
      \centering A\\    \includegraphics[width=\linewidth]{example-image-a}\\
      \columnbreak
      \centering B\\    \includegraphics[width=\linewidth]{example-image-a}\\
      \columnbreak
      \centering C\\    \includegraphics[width=\linewidth]{example-image-a}
    \end{multicols}
  \end{minipage}
  \caption{Blah}
  \label{materialflowChart}
\end{figure}

\ columnbreak начинает новый столбец. \ columnsep - это длина, управляющая расстоянием между столбцами. Ширина столбца вычисляется с помощью этого параметра, количества столбцов и ширины мини-страницы.

enter image description here

0 голосов
/ 12 февраля 2020

Использование mbox для подфигур неверно до go. Существуют специальные пакеты для субфигурных сред. Для вашего особого случая я бы предложил subcaption.

\documentclass[a4paper]{article}
\usepackage{graphicx, subcaption}

\begin{document}

\begin{figure}
    % The next line is necessary to omit automatic labeling a), b) c)
    \captionsetup[subfigure]{labelformat=empty}    
    \begin{subfigure}{.3\textwidth}
        \centering
        \includegraphics[height=3cm]{monalisa.jpg}
        \caption{A}
    \end{subfigure}%
    \begin{subfigure}{.3\textwidth}
        \centering
        \includegraphics[height=3cm]{monalisa.jpg}
        \caption{B}
    \end{subfigure}%
    \begin{subfigure}{.3\textwidth}
        \centering
        \includegraphics[height=3cm]{monalisa.jpg}
        \caption{C}
    \end{subfigure}%
    \caption{You can still use a global caption for the figure}
\end{figure}

\end{document}

в точности так, как вы описали: три изображения по горизонтали с надписями A, B и C. В строке \captionsetup[subfigure]{labelformat=empty} преднамеренно пропущена автоматическая c маркировка каждого изображения как a), b) и c).

enter image description here

Тем не менее, ваш вопрос звучит так, как будто вы хотите использовать A, B и C в качестве метки для ссылки в подписи к ней. В таком случае удалите линию \captionsetup..., и график будет выглядеть следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...