强制将 paracol 中的段落对齐到顶部

强制将 paracol 中的段落对齐到顶部

Paracol 是一个允许同步多列排版的包。但是,我发现两列的段落顶部不对齐的情况。以下是仅显示问题的 MWE

\documentclass{article}
\usepackage{paracol}
\usepackage{ctex}
\usepackage{lipsum}
\title{Paracol}
\footnotelayout{m}
\author{kraanium13 }
\date{October 2023}

\begin{document}

\maketitle

\section{Introduction}
\lipsum[1-2]
\begin{paracol}{2}
test \footnote{a regular footnote}
test \footnote{a regular footnote}
\switchcolumn
no footnote text
\end{paracol}
\end{document}

这会产生以下看起来很奇怪的文档 在此处输入图片描述

出现这种情况的原因是左列没有足够的空间放置脚注,因此内容被刷新到下一页。但是,右列不受影响。这导致左列的第一行与右列的第一行位于不同的页面上的情况。

但是我希望让它们在顶部对齐(即左列和右列的第一行至少应该在同一页上)。我能想到一些可能的解决方案:

  1. 在右列中添加垂直空间,使它们与新页面对齐。数量应与 TeX 在左列中添加的数量相同。
  2. 更一般地说,我们能否在放置任何文本之前确定是否应该触发分页符?
  3. 强制将带有脚注标记的行保留在上一页,但将脚注文本保留在下一页。这将导致一些差异,但我在脚注很长时见过这种情况。

答案1

抱歉,不明白您的观点是什么:也许是包使用不正确paracol

结果

\documentclass{article}
\usepackage{paracol}
%\usepackage{ctex}
\usepackage{lipsum}
\title{Paracol}
\footnotelayout{m}
\author{kraanium13 }
\date{October 2023}

\begin{document}

\maketitle

\section{Introduction}
\lipsum[5-6]\bigskip

\begin{paracol}{2}
\switchcolumn[0]
  test \footnote{a regular footnote}
  test \footnote{a regular footnote}
\switchcolumn[1]
 no footnote text\bigskip
 
 but here's a footnote\footnote{right column}
 
\switchcolumn[0]
 \lipsum[5]
 
\switchcolumn[1]
 \lipsum[5]
\end{paracol}
\end{document}

答案2

如果你真的想要强制将脚注标记放在与脚注文本不同的页面上:

\documentclass{article}
\usepackage{paracol}
\usepackage{ctex}
\usepackage{showframe}% alignment tool
\title{Paracol}
\footnotelayout{m}
\author{kraanium13 }
\date{October 2023}

\begin{document}

\maketitle

\section{Introduction}

\noindent\rule{\textwidth}{20\baselineskip}

\begin{paracol}{2}
test \footnotemark \edef\tempnumber{\thefootnote}
test \footnotemark
\newpage
\footnotetext[\tempnumber]{a regular footnote}
\footnotetext{a regular footnote}
\switchcolumn
no footnote text
\end{paracol}
\end{document}

相关内容