Por que \restoregeometry não alinha os ambientes enumerados corretamente?

Por que \restoregeometry não alinha os ambientes enumerados corretamente?

Você pode me dizer por que o ambiente subenumerado não está alinhado horizontalmente após o uso \restoregeometry?

\documentclass{article}
\usepackage{geometry, lipsum}

\begin{document}
\begin{enumerate}
\item 
\newgeometry{} \restoregeometry
\item \lipsum[1]
\begin{enumerate}
\item \lipsum[2] %Why is the right hand side of this paragraph not horizontally aligned with the rest of the text?
\end{enumerate}
\item \lipsum[3]
\end{enumerate}
\end{document}

enumerar o não alinhamento

Responder1

\newgeometry redefine \linewidth para o \textwidth padrão. Você pode redefinir o valor correto para a lista como esta.

\documentclass{article}
\usepackage{geometry}
\usepackage{lipsum}

\begin{document}
\begin{enumerate}
\item aa
 \newgeometry{} \restoregeometry
 \advance\linewidth -\rightmargin
 \advance\linewidth -\leftmargin
\item \lipsum[1]
\begin{enumerate}
\item \lipsum[2] %Why is the right hand side of this paragraph not horizontally aligned with the rest of the text?
\end{enumerate}
\item \lipsum[3]
\end{enumerate}
\end{document}

Mas no geral seria melhor não usar \newgeometry no meio de um ambiente. Não espera isso.

Responder2

Eu encontrei uma solução:

\documentclass{article}
\usepackage{geometry, lipsum}

\begin{document}
\begin{enumerate}
\item 
\end{enumerate}
\newgeometry{} \restoregeometry
\begin{enumerate} \setcounter{enumi}{1}
\item \lipsum[1]
\begin{enumerate}
\item \lipsum[2]
\end{enumerate}
\item \lipsum[3]
\end{enumerate}
\end{document}

insira a descrição da imagem aqui

informação relacionada