У меня проблема с выравниванием левой стороны моего списка с левой стороной моего абзаца. Вот мой текущий код:
Код:
\documentclass[draft, 12pt]{article}
\usepackage{fullpage}
\usepackage{enumitem}
\parindent = 0pt
\begin{document}
This is a random and long sentence that apparently takes up two lines just so that I
can see what happens with alignment and indentation. Note my \texttt{parindent = 0pt}.
\begin{enumerate}
\item This is list one first item.
\end{enumerate}
\begin{enumerate}[leftmargin = 0pt]
\item This is list two first item.
\end{enumerate}
\end{document}
Визуальное представление:
Это случайное и длинное предложение, которое, по-видимому, занимает две строки, просто чтобы я мог увидеть, что происходит с выравниванием и отступами. Обратите внимание, что мой parindent = 0pt.
1. Это первый пункт списка один.
1. Это первый пункт списка два.
решение1
Решение зависит от того, сколько элементов вы ожидаете в списке. Если количество элементов 9 или меньше, используйте:
labelindent=0pt,labelwidth=0.75em,leftmargin=!
но для 10-99 вам следует использовать больший размерlabelwidth=1.25em
Примечания:
- Пакет
showframe
был использован только для отображения полей страницы. Он не нужен в вашем реальном варианте использования. - Ручная настройка
\parskip
считается «смертным грехом» согласноСлишком много пробелов перед списками при изменении длины \parskip. Использоватьпакетparskip
вместо. - Хорошим справочным материалом по параметрам горизонтального интервала являетсяможет ли кто-нибудь объяснить параметры горизонтального интервала enumitem?.
Код:
\documentclass[draft, 12pt]{article}
\usepackage{fullpage,showframe}
\usepackage{enumitem}
%\parindent = 0pt
\usepackage[parfill]{parskip}% Use this instead of \parindent = 0pt
\begin{document}
This is a random and long sentence that apparently takes up two lines just so that I
can see what happens with alignment and indentation. Previously \verb|parindent = 0pt|, but
now this uses the \verb|parskip| package.
\begin{enumerate}[labelindent=0pt,labelwidth=1.25em,leftmargin=!]
\item This is list one first item.
\item This is list one second item.
\item \ldots
\item[9.] This is list one ninth item.
\item[10.] This is list one tenth item.
\end{enumerate}
\bigskip
If you don't expect to go past 9 then use:
\begin{enumerate}[labelindent=0pt,labelwidth=0.75em,leftmargin=!]
\item This is list two first item.
\item \ldots
\item[9.] This is list two ninth item.
\end{enumerate}
\end{document}
решение2
Вы также можете выровнять номера элементов по левому краю и, таким образом, выровнять их по левой стороне текстовой области, используя опцию wide
:
\documentclass[draft, 12pt]{article}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage{enumitem}
\usepackage{lipsum}
\begin{document}
This is a random and long sentence that apparently takes up two lines just so that I
can see what happens with alignment and indentation.
\noindent
\begin{enumerate}[wide = 0pt, labelwidth = 1.3333em, labelsep = 0.3333em, leftmargin = \dimexpr\labelwidth + \labelsep\relax ]%
\item This is list one first item.
\item This is list one second item.
\item \ldots
\item[9.] \lipsum[9]
\item[10.] \lipsum[10]
\end{enumerate}
\end{document}