
Думая над ответом наэтот вопросвключая параллельный переведенный текст с пронумерованными абзацами, мое первоначальное (наивное) решение работает отлично, за исключением того, что текст столбца не выровнен должным образом. В нескольких местах текст выступает на поля. Вот код:
\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
среды внутри спискавнутрипаракольная среда, против которой предостерегаютздесьи впараколдокументация.
Учитывая, что в среде enumerate или paracol текст сам по себе выравнивается правильно, почему эта конкретная комбинация заставляет текст выступать?
Приложение
В столбцах аналогичного размера с использованием enumerate
и multicols
результат выглядит намного лучше:
\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
. Кроме того, поскольку латинские шаблоны переносов не действуют при использовании lipsum
в английском документе, вы можете использовать kantlipsum
для лучшего представления о том, как будут выглядеть ваши столбцы.
\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}