使用 paracol 和 enumitem 进行文本对齐

使用 paracol 和 enumitem 进行文本对齐

在思考这个问题涉及并排翻译的文本和编号段落,我最初的(天真的)解决方案工作正常,除了列文本没有正确对齐。在几个点上,文本突出到边距中。以下是代码:

\documentclass{article}
\usepackage{lipsum,paracol,enumitem}
\newcommand{\mynewpara}{\switchcolumn*\item}
\newcommand{\myswitch}{\switchcolumn\item[]}

\begin{document}

\begin{enumerate}[label={[\arabic*]}]
\begin{paracol}{2}
\item \lipsum[1][1-5]
\myswitch
\lipsum[2]
\mynewpara
\lipsum[8]
\myswitch
\lipsum[4][1-5]
\end{paracol}
\end{enumerate}

\end{document}

在此处输入图片描述

\switchcolumn这不是列表环境内部的情况里面警告不要使用 paracol 环境这里并在帕拉科尔文档。

考虑到无论是在枚举还是 paracol 环境中,文本都是正确对齐的,为什么这种特定的组合会导致文本突出?

附录

在类似大小的列中使用enumeratemulticols,结果看起来好得多:

\documentclass{article}
\usepackage{lipsum,enumitem,multicol}

\begin{document}
\begin{multicols}{2}
\begin{enumerate}
\item \lipsum[1]
\item \lipsum[2]
\item \lipsum[3]
\end{enumerate}
\end{multicols}
\end{document}

在此处输入图片描述

请注意,此处的“columns”环境位于“list”环境之外(对于 paracol 不建议这样做)。

答案1

感谢评论区的朋友,阅读完multicol文档中,在列对齐的情况下修复此问题的方法是更改​​ 的值\tolerance。该\sloppy命令设置\tolerance为 10000(对于 TeX,与无穷大相同),因此multicols将其设置为 9999,这允许出现较差的间距,但不是绝对最差的,尽管在我的简单测试中,我无法举出与 不同的示例。此外,由于在英语文档中\sloppy使用时拉丁连字符模式不起作用,因此您可以使用来更好地了解列的外观。lipsumkantlipsum

\documentclass{article}
\usepackage{lipsum,kantlipsum,paracol,enumitem}
\newcommand{\mynewpara}{\switchcolumn*\item}
\newcommand{\myswitch}{\switchcolumn\item[]}

\newenvironment{numberedparas}{%
    \begin{enumerate}[label={[\arabic*]}]%
    \begin{paracol}{2}%
    \tolerance=9999%
    \item%
    }%
    {%
    \end{paracol}%
    \end{enumerate}%
    }%


\begin{document}

\begin{numberedparas}
\kant[1][1-5]
\myswitch
\kant[2]
\mynewpara
\kant[8]
\myswitch
\kant[4][1-5]
\end{numberedparas}

\newpage

\begin{numberedparas}
\lipsum[1][1-5]
\myswitch
\lipsum[2]
\mynewpara
\lipsum[8]
\myswitch
\lipsum[4][1-5]
\end{numberedparas}

\end{document}

列

相关内容