Căn chỉnh môi trường liệt kê

Aug 16 2020

Tôi có hai môi trường liệt kê. Trong MWE, các số trong môi trường thứ hai dường như được căn phải với các số trong môi trường đầu tiên, tôi muốn căn trái các số trong môi trường thứ hai với các số trong môi trường đầu tiên.

Môi trường thứ ba cũng nên được căn trái với hai môi trường đầu tiên. Môi trường thứ tư sẽ tiếp tục hiển thị như mong đợi.

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}

Trả lời

5 Zarko Aug 16 2020 at 08:38

Xem nếu thêm

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

trong phần mở đầu tài liệu của bạn giải quyết vấn đề của bạn.

Hoàn thành 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}

Phụ lục:

Sau khi bạn chỉnh sửa tình huống câu hỏi được thay đổi rất nhiều. Lưu ý: enumitemkhông cho phép cài đặt riêng biệt cho danh sách nội dòng (theo như tôi biết), tuy nhiên trong trường hợp như vậy, bạn nên xác định danh sách mới với các tính năng mong muốn. Ví dụ, như:

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

Xem xét điều này trong phiên bản đầu tiên của câu trả lời, bạn có thể viết ví dụ tài liệu của mình như sau:

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

dẫn đến:

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}