我希望我的文档包含与主要未列出段落缩进相同的编号列表 - 也就是说,项目的编号是缩进的,但如果该项目需要多行文本,则不应缩进额外的行。
但是,其中一些列表项需要按字母顺序排列的子列表。我希望这些子列表的缩进方式有所不同 - 应缩进项目(带括号的项目字母与主列表项的文本对齐),并且任何其他行都应保持缩进。
以下是一个例子:
Here is a paragraph. Blabbity blah blah blabbity blah blah, blah blah blah
blabbity blah blah blah.
1. Here is my first main list item. If I write a lot of text here, it should
carry over to the next line without indentation, like this.
2. Here is my second main list item.
(a) Here is my first sublist item. If I write a lot of text here, it should
remain indented, like this.
(b) Here is my second sublist item.
(c) Here is my third sublist item.
3. Here is my third main list item.
从这个 TeX SE 问题,我找到了以下解决方案:
\usepackage{enumitem}
\setlist[enumerate,1]{wide=\parindent}
\setlist[enumerate,2]{leftmargin=5em}
这基本上满足了我的要求,但是有没有办法可以设置子列表的左边距,其值与主列表中的文本相对应?我希望子列表中的括号字母与主列表项的文本(而不是数字)对齐。使用我目前的解决方案,它并没有完全对齐 - 有没有比仅仅测试5.1em, 5.2em, 5.25em
&etc. 更好的方法?我仍然是一个完全的新手,但我可以预见到以后会摆弄主列表的间距,并且定义子列表的间距以便自动调整以适应任何未来的摆弄会很好。
答案1
我认为是这样的:
\documentclass{article}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage{enumitem}
\begin{document}
Here is a paragraph. Blabbity blah blah blabbity blah blah, blah blah blah
blabbity blah blah blah. Booh booh booh.
\begin{enumerate}[wide, labelwidth=1em]
\item Here is my first main list item. If I write a lot of text here, it should
carry over to the next line without indentation, like this.
\item Here is my second main list item.
\begin{enumerate}[wide=\dimexpr\parindent+1em+\labelsep\relax, leftmargin=* ]%
\item Here is my first sublist item. If I write a lot of text here, it should
remain indented, like this.
\item Here is my second sublist item.
\item Here is my third sublist item.
\end{enumerate}
\item . Here is my third main list item.
\end{enumerate}
\end{document}