调整列底部的手动换行符

调整列底部的手动换行符

我试图重现对齐的多列文档,因此我始终使用手动换行符。但是,这不适用于列底部的行,因为\linebreak会在列底部插入一个空白行:

\documentclass[a5paper,10pt]{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{3}
Four score and seven years ago our fathers brought forth, upon this\linebreak\columnbreak

\noindent continent, a new nation, conceived in liberty, and dedicated to the proposition that ``all men are created equal.''
\end{multicols}
\end{document}

上述示例的输出,在第一列的底部显示一个额外的空白行

省略\linebreak也不行;虽然空行\columnbreak不会插入额外的空白行,但它无法调整断线的对齐。

上述示例的输出显示第一列的最后一行不对齐

一个粗略的解决方法是省略\linebreak并手动替换最后一行的所有空格{\hfill}。但是,这很不方便,并且可能会抑制使用拉伸字母间距进行对齐。

请注意,当我使用multicol包并使用分列时,使用常规文档并使用分列\columnbreak时也存在同样的问题twocolumn\pagebreak

我怎样才能\linebreak抑制列末尾的空白行,或者强制\columnbreak/\pagebreak调整它们断开的行?

答案1

您肯定不希望在此时分段,当然您也不希望\linebreak在段落末尾分段,因此:

在此处输入图片描述

\documentclass[a5paper,10pt]{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{3}
Four score and seven years ago our fathers brought forth, upon this\columnbreak\linebreak{}
continent, a new nation, conceived in liberty,
 and dedicated to the proposition that ``all men are created equal.''
\end{multicols}
\end{document}

相关内容