首页 > 解决方案 > 乳胶:水平绘图时 mbox() 上方的文本?

问题描述

\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 张图像,水平。

它有效,一切都很好。但我想在每个子图像上方(或下方)添加一个小文本。不是标准的标题,而是像“A”、“B”、“C”这样的词。

我怎样才能做到这一点?

标签: imagelatex

解决方案


除了使用已经呈现的子图之外,还有很多方法可以做到这一点:

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}

在此处输入图像描述 请注意,我删除了无用的 \mbox{},因为 \includegraphics 已经返回了一个 TeX 框。

同样,如果要精细控制图像间距并真正获得 1px 的图像间距,则必须在行尾添加 '%' 以吞噬空间并避免被 TeX 格式化。在您的原始代码中也是如此。

2/ 使用表格


\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}

在此处输入图像描述

使用@{\hspace{1px}} 控制列间距。@ 命令在列之前插入并删除正常的列间距。

3/ 在 multicol 包中使用多列

您可以在 minipage 中定义一个包含多个列的框

\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 是控制列间距的长度。使用此参数计算列宽,即 minipage 的列数和宽度。

在此处输入图像描述


推荐阅读