将图片和标题对齐在一行上

将图片和标题对齐在一行上

在 LaTeX 中,我尝试将两幅图并排放置,并在下方添加标题,但标题的行数可能不一致。图像底部对齐,标题顶部对齐。

图 8、9、10、11floatrow 文档(第 20 页)说明了我希望做的事情(使用四个图形),但是作者只给出了部分示例,我无法让它发挥作用:

在此处输入图片描述

有人能提供一个最小工作示例,生成文档中所示的图 8、9、10、11 吗?对于图像文件的文件名,您可以使用graphics/fig8.pnggraphics/fig9.png等。如果它可以是完整的 LaTeX 文件,那就更好了,这样我也可以看到序言了。

最后一件事:我正在使用该风格tufte-book——我认为它有时会与其他包发生冲突,但我稍后会解决这个问题。:-)

答案1

您可以抓住floatrow 文档 代码

\floatsetup[widefloat]{margins=hangleft}
\begin{figure*}%
  \begin{floatrow}[4]
    \ffigbox
      {\caption{Figure~I in the row (\texttt{floatrow}), ``column'' width}%
      \label{fig:row:Dog}}
      {\input{TheDog.picture}}

    \ffigbox[\FBwidth]
      {\caption{Figure~II in the row (\texttt{floatrow}), graphics width}%
      \label{fig:row:WcatI}}
      {\unitlength1.08\unitlength\input{TheCat.picture}}

    \ffigbox[\Xhsize/2]
      {\caption{Figure~III in the row, float's width box has the
       half of the rest space of row}%
      \label{fig:row:mouse}}
      {{\setlength\unitlength{\hsize/58}%
      {\input{Mouse.picture}}}}

    \ffigbox[\Xhsize]
      {\caption{Figure~IV in the row,
      occupies the rest space of row}%
    \label{fig:row:cheese}}
    {\input{Cheese.picture}}
  \end{floatrow}
\end{figure*}%

图片包含在pictures.tex

无论哪种方式,无包方法是将每个方法都设置在tabular

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum,graphicx}

\begin{document}
\sloppy% Just for this example
\lipsum[1]

\begin{figure}[ht]
  \centering
  \begin{tabular}{ p{2.3cm} p{1.5cm} p{2.7cm} p{2.3cm} }
    \includegraphics[width=\linewidth]{example-image} &
    \includegraphics[width=\linewidth]{example-image-a} &
    \includegraphics[width=\linewidth]{example-image-b} &
    \includegraphics[width=\linewidth]{example-image-c}
    \\[\dimexpr-\normalbaselineskip+\abovecaptionskip]
    \caption{First figure in this row of figures} &
    \caption{Second figure in this row of figures} &
    \caption{Third figure} &
    \caption{Last figure that has a very long caption, stretching multiple rows}
  \end{tabular}
\end{figure}

\lipsum[2]

\end{document}

每幅图像 + 标题都位于固定宽度的p列内,每幅图像都设置为该列的宽度。这类似于在 的键值设置中设置图像\includegraphics

这样做是可行的,因为图像自然地设置在基线上,并且只占用一行。此外,每个单元格都tabular使用 -column 设置p,其对齐锚点设置为顶行的基线。因此,图像是底部对齐的,而标题是顶部对齐的。

您可以根据需要调整图形和标题之间的间距。图像之间的间隙也是如此,\tabcolsep在上面的示例中默认为。也可以使用tabularx用于展开内容和/或使其在文本块内拉伸和适合。

相关内容