Выравнивание перечисляемых сред

Aug 16 2020

У меня есть две перечислимые среды. В MWE числа во второй среде кажутся выровненными по правому краю с числами в первой, я хотел бы выровнять числа во второй среде с числами в первой.

Третья среда также должна быть выровнена по левому краю с первыми двумя средами. Четвертая среда должна продолжать отображаться, как ожидалось.

MWE

\documentclass{book}
\usepackage[inline,shortlabels]{enumitem}
\setlist[enumerate]{leftmargin=4em, align=left}
\begin{document}
\begin{enumerate}
    \item Item 1
    \item Item 2
    \item Item 3
\end{enumerate}
\begin{enumerate}[label=1.\arabic*.]
        \item Item 1.1
        \item 1.2
    \end{enumerate}
\begin{itemize}
    \item Item 10
    \item Item 20
\end{itemize}
\begin{enumerate*}[label=(\roman*)]
    \item Item 100
    \item item 200
\end{enumerate*}
\end{document}

Ответы

5 Zarko Aug 16 2020 at 08:38

Посмотрите, добавляется ли

\setlist[enumerate]{leftmargin=4em, align=left}

в преамбуле документа решите вашу проблему.

Полный MWE:

\documentclass{book}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=4em, align=left}

\usepackage{lipsum}

\begin{document}
\lipsum[11]
\begin{enumerate}
    \item Item 1
    \item Item 2
    \item Item 3
\end{enumerate}
\begin{enumerate}[label=1.\arabic*.]
        \item Item 1.1
        \item Item 1.2
    \end{enumerate}
\end{document}

Дополнение:

После редактирования вопроса ситуация сильно изменится. Примечание: enumitemне позволяет отдельные настройки для встроенных списков (насколько я знаю), однако в такой ситуации рекомендуется определить новый список с желаемыми функциями. Например, как:

\newlist{inlinelist}{enumerate*}{1}
\setlist*[inlinelist,1]{label=(\roman*), 
                        before=\unskip{: }, itemjoin={{, }}, itemjoin*={{, and }}}

Учитывая это в первой версии ответа, вы можете написать пример своего документа следующим образом:

\documentclass{book}
\usepackage[shortlabels]{enumitem}
\setlist[enumerate]{leftmargin=4em, align=left}
\newlist{inlinelist}{enumerate*}{1}
\setlist*[inlinelist,1]{label=(\roman*),
                        before=\unskip{: }, itemjoin={{, }}, itemjoin*={{, and }}}
\usepackage{lipsum}

\begin{document}
\lipsum[11]

\begin{enumerate}
    \item Item 1
    \item Item 2
    \item Item 3: 
\end{enumerate}
\begin{enumerate}[label=1.\arabic*.]
        \item Item 1.1
        \item Item 1.2
    \end{enumerate}

\noindent%   
Some text 
\begin{inlinelist}[label=(\roman*)]
    \item Item 100
    \item item 200
    \item item 300
\end{inlinelist}.
\end{document}

который уступает:

1 jsbibra Aug 16 2020 at 08:30

\documentclass{book}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[
                leftmargin=\parindent,
                align=left,
                labelwidth=\parindent,
                labelsep=10pt]
    \item Item 1
    \item Item 2
    \item Item 3
\end{enumerate}
\begin{enumerate}[
                label=1.\arabic*.,
                leftmargin=\parindent,
                align=left,
                labelwidth=\parindent,
                labelsep=10pt]
        \item Item 1.1
        \item Item 1.2
    \end{enumerate}
\end{document}