在 multicol 环境中,第二列始终低于第一列

在 multicol 环境中,第二列始终低于第一列

我需要制作一个两列文档(在横向格式的纸张上),但第二列出现在比第一列更低的位置。我在标题中写了“总是”,因为当我使用环境minipage将页面分成两列时也会发生这种情况。这是一个例子,我该如何解决这个问题?谢谢。Luigi

在此处输入图片描述

这是输入文件:

\documentclass{article}
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,margin=2cm,landscape]{geometry}
\usepackage{lipsum,multicol}
\usepackage[colorlinks]{hyperref}
\usepackage{titlesec}
\titleformat{\section}[block]{\Large\bfseries\filcenter}{}{1em}{}
\title{Nuovi e vecchi fatti stilizzati}
\date{}
\begin{document}
\pagenumbering{gobble}
\maketitle
\begin{multicols}{2}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Kaldor Facts 1961}
\begin{enumerate}
\item La produttività del lavoro è cresciuta a un tasso sostenuto
\item Il rapporto capitale/lavoro è cresciuto a un tasso sostenuto
\item Il tasso di profitto sul capitale è stato stabile nei paesi sviluppati
\item Il rapporto capitale/output è rimasto stabile
\item Le quote di profitto e salario sono state stabili
\item Vi sono state differenze dei tassi di crescita tra paesi nell'ordine del 2\%-5\%
\end{enumerate}
\columnbreak
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{New Kaldor Facts 2009 - Jones, Romer}
\begin{enumerate}
  \item La produttività del lavoro è cresciuta a un tasso sostenuto
\item Il rapporto capitale/lavoro è cresciuto a un tasso sostenuto
\item Il tasso di profitto sul capitale è stato stabile nei paesi sviluppati
\item Il rapporto capitale/output è rimasto stabile
\item Le quote di profitto e salario sono state stabili
\item Vi sono state differenze dei tassi di crescita tra paesi nell'ordine del 2\%-5\%
\end{enumerate}

\end{multicols}
\end{document}

答案1

这里的问题与 LaTeX 无关,multicol但实际上是 LaTeX 的一个普遍问题(并且在当前 LaTeX 模型中无法真正解决(LaTeX3 的 galley 模型对此有一个解决方案,但这并没有真正帮助它无法运行)。

问题如下:

枚举的结束生成:

  • 惩罚项目(-51 好地方打破)
  • 一些额外的空间

以下部分还在标题前添加了惩罚(-300)和一些空格。它试图变得聪明,并利用\addpenalty它回顾,如果它看到一些空格,它将通过添加负数来取消该空格,然后添加惩罚,然后重新添加空格。结果我们得到了一个序列,如下所示

.......\penalty -51
.......\glue 10.0 plus 3.0 minus 5.0
.......\glue -10.0 plus -3.0 minus -5.0
.......\penalty -300
.......\glue 10.0 plus 3.0 minus 5.0

现在的问题是,这multicol两项都会受到惩罚,显然最好在 -300 处中断。因此,第一列以那 2 个垂直空间结束。它们相互抵消,因此不会产生“真实”空间,但会导致此列没有深度,即,如果最后一行文本中包含一些字符(如“p”),则列底部不在最后一列的基线上,而是在下降线下方。

另一方面,右侧列的底部没有这样的额外空间,因此它具有深度,仅凭这一点就导致第二列看起来更大。

如果\columnbreak使用,那么当它进入序列中间时,情况会变得更糟,这样我们得到

.......\penalty -51
.......\glue 10.0 plus 3.0 minus 5.0
.......\penalty -10005

并且枚举的完整空间仍然存在。有人可能会说这可能是一个错误,但\columnbreak按照这里的工作方式\pagebreak,直接添加惩罚即可。

这也解释了为什么使用

\end{enumerate}
\unskip
\columnbreak
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{...

无论有没有,都会\columnbreak给我们正确的输出:它会删除枚举后的空格,这样就不会造成任何损害。

答案2

虽然我无法解释观察到的行为,但我有一个解决方法:\unskip在之前添加\columnbreak

\documentclass{article}
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,margin=2cm,landscape]{geometry}
\usepackage{lipsum,multicol}
\usepackage[colorlinks]{hyperref}
\usepackage{titlesec}
\titleformat{\section}[block]{\Large\bfseries\filcenter}{}{1em}{}
\title{Nuovi e vecchi fatti stilizzati}
\date{}
\begin{document}
\pagenumbering{gobble}
\maketitle
\begin{multicols}{2}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Kaldor Facts 1961}
\begin{enumerate}
\item La produttività del lavoro è cresciuta a un tasso sostenuto
\item Il rapporto capitale/lavoro è cresciuto a un tasso sostenuto
\item Il tasso di profitto sul capitale è stato stabile nei paesi sviluppati
\item Il rapporto capitale/output è rimasto stabile
\item Le quote di profitto e salario sono state stabili
\item Vi sono state differenze dei tassi di crescita tra paesi nell'ordine del 2\%-5\%
\end{enumerate}
\unskip\columnbreak
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{New Kaldor Facts 2009 - Jones, Romer}
\begin{enumerate}
  \item La produttività del lavoro è cresciuta a un tasso sostenuto
\item Il rapporto capitale/lavoro è cresciuto a un tasso sostenuto
\item Il tasso di profitto sul capitale è stato stabile nei paesi sviluppati
\item Il rapporto capitale/output è rimasto stabile
\item Le quote di profitto e salario sono state stabili
\item Vi sono state differenze dei tassi di crescita tra paesi nell'ordine del 2\%-5\%
\end{enumerate}

\end{multicols}
\end{document}

在此处输入图片描述

相关内容