如何将文本小页与图形小页对齐?

如何将文本小页与图形小页对齐?

我正在写一张海报,所以我使用两列结构。在左列,我想将一些文本与图形并排。为此,我使用了两个小页面,一个包含文本,另一个包含图形。但是,由于某种原因,文本与图形不对齐,并且文本位于下方。附件是代码和结果。谢谢!

\begin{minipage}[t]{0.25\textwidth}
$\bullet$ bullet no. 1.\vspace{0.5cm}\\
$\bullet$ bullet no. 2.\vspace{0.5cm}\\
$\bullet$ bullet no. 3.  
\end{minipage}%
\begin{minipage}[t]{0.25\textwidth}
\centering\includegraphics[width=16cm,height=16cm,keepaspectratio]{bird.png}
\centering\captionof{figure}{\color{Green} A bird}
\label{fig:bird}
\end{minipage}

在此处输入图片描述

或许,这和之前的代码有关系吧?

答案1

尝试一下:将 应用\raisebox{\dimexpr-\height+\ht\strutbox}{...}到图像。

解释是,两个minipages 实际上与它们的顶部基线对齐(如 选项所要求的那样[t]minipage。问题在于包含的图像远远超出了顶部基线,而文本却没有。发生这种情况是因为\includegraphics 总是将目标图像的底部放在基线上。请参阅附录了解更多信息。

我所做的是将图像向下移动其高度减去基线高度,以便它最终紧贴基线文本的顶部允许位置。

在下面的代码中,由于我没有海报大小的纸,因此图像大小从 MWE 更改。

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,xcolor}
\begin{document}
\begin{minipage}[t]{0.25\textwidth}
$\bullet$ bullet no. 1.\vspace{0.5cm}\\
$\bullet$ bullet no. 2.\vspace{0.5cm}\\
$\bullet$ bullet no. 3.  
\end{minipage}%
\begin{minipage}[t]{0.25\textwidth}
\centering\raisebox{\dimexpr-\height+\ht\strutbox}{\includegraphics[width=3cm,height=3cm,keepaspectratio]{bird.png}}
\captionof{figure}{\color{green} A bird}
\label{fig:bird}
\end{minipage}
\end{document}

在此处输入图片描述

\raisebox我要指出的是,通过将以下内容放在第二个行的开头,可以实现相同的效果,而无需使用minipage~\par\vspace{-\baselineskip}。此技巧会在 上放置一个空白行minipage,跳至新段落,然后后退一行。后续图像将被强制位于最初引入的空白行下方。

附录

正如我对 Dudi 所说的那样,“首先必须理解,[t] 对齐并不意味着两个相应框的顶部对齐。相反,它意味着两个相应框的第一行的基线minipages对齐。”

为了更好地理解[t]框对齐,请考虑这个相关的 MWE。在执行 OP 的代码之前,我\rlap在文本基线上制定了一条规则。我还将minipages 框起来,以便人们可以看到它们的范围。我们看到,在两个 s 的情况下minipage,框的顶部都在基线上方。它们的共同点是,每条线的第一行都minipage位于基线上。右侧的图像minipage位于基线上,因为这是始终如此的方式\includegraphics

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,xcolor}
\begin{document}
\fboxsep=-\fboxrule\relax
\leavevmode\rlap{\rule{\textwidth}{.5pt}}Baseline
\fbox{\begin{minipage}[t]{0.25\textwidth}
$\bullet$ bullet no. 1.\vspace{0.5cm}\\
$\bullet$ bullet no. 2.\vspace{0.5cm}\\
$\bullet$ bullet no. 3.  
\end{minipage}}%
Baseline
\fbox{\begin{minipage}[t]{0.25\textwidth}
  \centering\includegraphics[width=2cm,height=2cm,keepaspectratio]{bird.png}
\captionof{figure}{\color{green} A bird}
\label{fig:bird}
\end{minipage}}
Baseline
\end{document}

在此处输入图片描述

现在可以理解,图像所需的垂直调整是向下调整图像高度(-\height),然后向上调整一行文本的高度(+\ht\strutbox)。

相关内容