我想将三个图形并排放置,以便它们在顶行对齐。我使用了 \begin{minipage},但它并没有像我希望的那样工作...
\begin{figure}
\begin{minipage}[t]
\includegraphics[width=2cm,angle=90]{test1}
\end{minipage}
\begin{minipage}[t]
\includegraphics[width=2.5cm,angle=90]{test2}
\end{minipage}
\begin{minipage}[t]
\includegraphics[width=2cm]{test3}
\end{minipage}
\end{figure}
有人能帮助我吗?
答案1
\begin{minipage}[t]
将第一行/顶部元素设置为基线。在你的情况下是图像。但是图像有不同的高度。不可见的顶部元素会有所帮助,例如\vspace{0pt}
:
\begin{figure}
\begin{minipage}[t]{2cm}
\vspace{0pt}
\includegraphics[width=2cm,angle=90]{test1}
\end{minipage}
\begin{minipage}[t]{2.5cm}
\vspace{0pt}
\includegraphics[width=2.5cm,angle=90]{test2}
\end{minipage}
\begin{minipage}[t]{2cm}
\vspace{0pt}
\includegraphics[width=2cm]{test3}
\end{minipage}
\end{figure}
宽度被指定了两次,作为minipage
图像的和的参数。这种冗余可以通过varwidth
包的环境来消除varwidth
,例如:
\begin{varwidth}{\linewidth}
\vspace{0pt}
\includegraphics[width=2cm,angle=90]{test1}
\end{varwidth}
另一种方法是\raisebox
。它可用于将图像的顶部移动到基线:
\raisebox{-\height}{%
\includegraphics[width=2cm,angle=90]{test1}%
}
(不要忘记注释行尾,否则它们会在水平模式下添加空格。)
使用规则代替图像的完整示例:
\documentclass[a5paper]{article}
\usepackage{varwidth}
\begin{document}
\begin{figure}
\begin{minipage}[t]{2cm}
\vspace{0pt}
\rule{2cm}{1cm}
\end{minipage}
\begin{minipage}[t]{2.5cm}
\vspace{0pt}
\rule{2.5cm}{3cm}
\end{minipage}
\begin{minipage}[t]{2cm}
\vspace{0pt}
\rule{2cm}{2cm}
\end{minipage}
\end{figure}
\begin{figure}
\begin{varwidth}[t]{\linewidth}
\vspace{0pt}
\rule{2cm}{1cm}
\end{varwidth}
\begin{varwidth}[t]{\linewidth}
\vspace{0pt}
\rule{2.5cm}{3cm}
\end{varwidth}
\begin{varwidth}[t]{\linewidth}
\vspace{0pt}
\rule{2cm}{2cm}
\end{varwidth}
\end{figure}
\begin{figure}
\raisebox{-\height}{%
\rule{2cm}{1cm}%
}
\raisebox{-\height}{%
\rule{2.5cm}{3cm}%
}
\raisebox{-\height}{%
\rule{2cm}{2cm}%
}
\end{figure}
\end{document}
最后是宏\topalign
。它的实现基于\halign
(TeX 原语,在环境中使用tabular
)。单元格内容被放入临时框中并降低到基线。第一个可选参数指定对齐元素之间的水平空间。
\documentclass[a5paper]{article}
\newcommand{\topalign}[2][0.5em]{%
\leavevmode
\vbox{%
\setlength{\tabskip}{#1}%
\halign{%
&%
\begin{lrbox}{0}%
\ignorespaces##\unskip
\end{lrbox}%
\lower\ht0\copy0 %
\cr
#2%
\crcr
}%
}%
}
\begin{document}
\begin{figure}
\topalign{
\rule{2cm}{1cm}
&
\rule{2.5cm}{3cm}
&
\rule{2cm}{2cm}
}%
\end{figure}
\end{document}
答案2
您可以使用该adjustbox
包:
\documentclass{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\begin{document}
\begin{figure}
\includegraphics[width=2cm,angle=90,valign=T]{example-image.pdf}
\includegraphics[width=2.5cm,angle=90,valign=T]{example-image-a.pdf}
\includegraphics[width=2cm,valign=T]{example-image-b.pdf}
\end{figure}
\end{document}