我一直在阅读 Leslie Lamport 的关于 LaTeX 的书,他讨论了 parboxes。他指出:
许多 LaTeX 用户没有意识到上面描述的盒子制作命令可以做多少事情。我将用一个愚蠢的例子来说明这些命令的强大功能……
以下是我自己举的愚蠢例子。几段文字,只有一个等式:
有什么方法可以将\parbox
段落中的文本推到顶部吗?为什么\parbox
' 会向右漂移?我还不想使用\minipage
quite 因为我还没有仔细阅读该部分。这\hrule
可能会使事情变得更加复杂。
我当然不想导入太多新库,我的目标是了解基本命令。
如果你能用它解决\minipage
就好了。我只是还不知道。
以下是文档:
\documentclass[12pt]{article}
%Gummi|065|=)
\usepackage[margin=0.5in]{geometry}
\title{Hello World}
\date{}
\begin{document}
\sffamily
\maketitle
\noindent
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
\vfill
}
\parbox{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
$$ abc $$
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde }
\vspace{6pt}
\hrule
\vspace{6pt}
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
\vfill
}
\parbox{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
$$ abc $$
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde }
\end{document}
并非毫无关联:
答案1
一些理论:每个框都有一个参考点,当框最终排版时,该参考点始终位于当前行的基线上。
的参考点\parbox[t]
与其中的第一个项目相同,在您的情况下是第一行;没有可选参数时,参考点位于框顶部和底部的中间。这应该可以解释为什么左框的顶部位于右框的中心。
左侧框内部\vfill
不执行任何操作,因为框是按照其自然垂直尺寸排版的,除非使用附加可选参数来强制特定的垂直尺寸。
如果希望两个框都在其顶部对齐,请\parbox[t]
为两者指定。
后面的“偏移”\hrule
是正常缩进,您可以使用 抑制顶部一对框中的缩进\noindent
。每个\hrule
命令都会发出一个隐式\par
命令。
由于左侧框后有空格(由结束线生成),因此您还会得到过满的框。
在下面的固定示例中,我删除了\\
顶部框中的。还请注意,\vspace
最好发布之间段落,因此上下各留一空行。
\documentclass[12pt]{article}
\usepackage[margin=0.5in]{geometry}
\title{Hello World}
\date{}
\begin{document}
\sffamily
\maketitle
\noindent
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
\vfill
}% <--------- no space
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
\[ abc \]
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde abcde abcde abcde }
\vspace{6pt}
\hrule
\vspace{6pt}
\noindent
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
}% <---- no space
\parbox[t]{0.5\textwidth}{
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde
\[ abc \]
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde \\
abcde abcde abcde abcde abcde abcde abcde abcde }
\end{document}
当心$$
切勿在 LaTeX 中使用,请参阅为什么 \[ ... \] 比 $$ ... $$ 更可取?
参考点位于框的左侧;从参考点到框顶部的垂直尺寸是高度,从参考点到底部的尺寸是深度。两个框对齐是因为它们具有相同的高度。和a
“y
对齐”的原因相同:它们的参考点位于基线上;a
深度为零,y
非零。