在 LaTeX 中,我尝试将两幅图并排放置,并在下方添加标题,但标题的行数可能不一致。图像底部对齐,标题顶部对齐。
图 8、9、10、11floatrow
文档(第 20 页)说明了我希望做的事情(使用四个图形),但是作者只给出了部分示例,我无法让它发挥作用:
有人能提供一个最小工作示例,生成文档中所示的图 8、9、10、11 吗?对于图像文件的文件名,您可以使用graphics/fig8.png
、graphics/fig9.png
等。如果它可以是完整的 LaTeX 文件,那就更好了,这样我也可以看到序言了。
最后一件事:我正在使用该风格tufte-book
——我认为它有时会与其他包发生冲突,但我稍后会解决这个问题。:-)
答案1
\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
用于展开内容和/或使其在文本块内拉伸和适合。