justificação de texto com paracol e enumitem

justificação de texto com paracol e enumitem

Enquanto pensava em uma resposta paraessa questãoenvolvendo um texto traduzido lado a lado com parágrafos numerados, minha solução inicial (ingênua) funciona bem, exceto pelo fato de o texto da coluna não estar devidamente justificado. Em vários pontos o texto sobressai na margem. Aqui está o código:

\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}

insira a descrição da imagem aqui

Este não é o caso de \switchcolumndentro de um ambiente de listadentroum ambiente paracol, que é alertado contraaquiE noparacoldocumentação.

Considerando que, por si só, em um ambiente enumerado ou paracol, o texto está corretamente justificado, por que essa combinação específica faz com que o texto se projete?

Termo aditivo

Em colunas de tamanhos semelhantes usando enumeratee multicols, o resultado parece muito melhor:

\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}

insira a descrição da imagem aqui

Observe que aqui o ambiente "colunas" está fora do ambiente "lista" (isso não é recomendado com paracol).

Responder1

Obrigado a todos nos comentários, e depois de ler omulticoldocumentação, a maneira de corrigir isso tendo colunas justificadas é alterar o valor de \tolerance. O \sloppycomando define \tolerancecomo 10000 (para TeX, o mesmo que infinito), então multicolsdefine como 9999, o que permite espaçamento ruim, mas não o pior, embora em meus testes simples eu não tenha conseguido dar um exemplo em que isso fosse diferente de \sloppy. Além disso, como os padrões de hifenização latina não estão em vigor quando usados lipsum​​em um documento em inglês, você pode usá-los kantlipsumpara ter uma ideia melhor da aparência de suas colunas.

\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}

colunas

informação relacionada