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:
- Pergunta do Stack Exchange (em inglês): https://tex.stackexchange.com/questions/236367/left-aligning-nested-labels-in-enumerate