Dica LaTeX: Alinhamento ambiente enumerate

pedras de diferentes tamanhos em equilíbrio sobre um joelho. Vê-se o mar azul ao fundo.

Seguindo o post anterior com Dicas sobre o uso de números romanos no ambiente enumerate do LaTeX, segue uma dica adicional sobre o alinhamento.

Vamos usar como exemplo uma lista com tópicos e sub-tópicos em três níveis utilizando o ambiente enumerate:

\begin{enumerate}
    \item Primeiro nível da lista;
    \begin{enumerate}
        \item Segundo nível da lista;
        \begin{enumerate}
            \item Terceiro nível da lista;
            \item No mesmo nível só para conferir o alinhamento;
        \end{enumerate}
        \item outro item para conferir alinhamento;
    \end{enumerate}
    \item De volta ao primeiro nível;
\end{enumerate}

Que gera a seguinte saída utilizando por padão arábicos para o primeiro nível, letra minúscula para o segundo e romanos para o terceiro:

Obs: se quiser usar só os algarismos romanos volte ao post anterior.

Para que a lista seja alinhada à esquerda, deve-se adicionar dois comandos antes do início do documento:

\SetLabelAlign{fixedwidth}{\hss\llap{\makebox[2.5em][l]{#1}}}
\setlist[enumerate]{label=\arabic.,leftmargin=0pt,align=fixedwidth}

Que gera a seguinte lista com os números alinhados à esquerda:

O comando setlist define o rótulo a ser usado, e, no exemplo, está definido “arabic”. Caso queira usar os algarismos romanos, basta trocar esse rótulo para \roman (que gera romanos com letra minúscula: i, ii, iii…) ou \Roman (que gera romanos com letra maiúscula: I, II, III…).

Exemplo:

Obs: O rótulo que for adicionado no ambiente conforme visto no outro post, será sobrescrito por esse comando.

Referência:

  1. Pergunta do Stack Exchange (em inglês): https://tex.stackexchange.com/questions/236367/left-aligning-nested-labels-in-enumerate