在 \resizebox 中使用 \parbox

在 \resizebox 中使用 \parbox

我尝试将\parbox-d 文本调整为5cm x 5cm方框(不保持纵横比)。即使我没有指定高度,输出对我来说也很奇怪。找不到原因/罪魁祸首。为什么输出会这样?有办法做到这一点吗?

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}
\usepackage{lmodern}
\usepackage[demo]{graphicx}

\begin{document}

\resizebox{5cm}{!}{\parbox{20cm}{\lipsum{1}}}
\includegraphics[width=5cm, height=5cm]{}

\newpage

\resizebox{5cm}{5cm}{\parbox{20cm}{\lipsum{1}}}
\includegraphics[width=5cm, height=5cm]{}

\end{document}

我尝试了一些类似的可能性,\parbox[t][][t]...但是输出结果更糟。

答案1

正如我在评论中提到的,默认的垂直对齐方式对于\parbox和 是不同的\includegraphics。默认情况下,\parbox垂直居中于基线。\includegraphics始终位于基线之上。

在下面的第一张图中,我展示了您尝试修复的问题,并给出了基准以供参考。在第二张图片中,我展示了通过[b]使用\parbox,您可以实现所需的底部对齐。

在第三幅图里,我展示了当您需要在图形上实现顶部对齐时,您可以使用包\belowbaseline的功能stackengine来实现。

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{stackengine}
\def\baseline{\rule{2cm}{.1ex}}
\parskip 1cm
\begin{document}
BASELINE:
\baseline
\parbox{2cm}{This should be a centered parbox, by default}
\baseline
\includegraphics[width=2cm, height=2cm]{}
\baseline

BASELINE:
\baseline
\parbox[b]{2cm}{This should be a bottom-justified parbox}
\baseline
\includegraphics[width=2cm, height=2cm]{}
\baseline

BASELINE:
\baseline
\parbox[t]{2cm}{This should be a top-justified parbox}
\baseline
\belowbaseline[-\ht\strutbox]{\includegraphics[width=2cm, height=2cm]{}}
\baseline
\end{document}

在此处输入图片描述

相关内容