考虑一下这个小文件:
\documentclass{article}
\usepackage{blindtext}
\begin{document}
\blindtext
\blindtext
\begin{enumerate}
\item%
\blindtext
\blindtext
\end{enumerate}
\end{document}
这有两个段落位于列表环境之外,还有两个段落位于列表环境之内。我注意到在这种情况下,列表之外的段落的第一行缩进,而列表之内的段落没有任何缩进:
为什么会发生这种情况?我可以恢复列表内的缩进吗?
编辑:我注意到在列表中,默认情况下段落之间是用空行分隔的。最好解决方案也应该去掉这个。(为了便于理解,我正在写一个作业的解决方案,几乎每个段落都在一个enumerate
或类似的行内。)
答案1
\item
属性可以用 格式化enumitem
。然后你可以使用listparindent
环境enumerate
:
\documentclass{article}
\usepackage{blindtext}
\usepackage{enumitem}
\setlist[enumerate]{parsep=0pt}
\begin{document}
\blindtext
\blindtext
\begin{enumerate}[listparindent=1.5em]
\item
\blindtext
\blindtext
\end{enumerate}
\end{document}
编辑:感谢@David,如果您想摆脱那个空间,您也可以\parsep
设置。0
答案2
出现这种情况的原因是内部enumerate
长度\parindent
设置为零。因此您不能\indent
像在普通文本中一样使用简单的方法来获取设置的空间\parindent
。
您可以使用以下代码模拟普通文本中的通常行为(请参阅<=====
重要代码):
\documentclass{article}
\usepackage{blindtext}
\usepackage{enumitem} % <===============================================
\newlength{\enumerateparindent} % <=====================================
\begin{document}
\setlength{\enumerateparindent}{\parindent} % <=========================
\blindtext
\blindtext
\begin{enumerate}
\setlength{\parindent}{\enumerateparindent} % <=========================
%\show\parindent
%\value{\parindent}
\item%
\blindtext
\blindtext
\end{enumerate}
Version 2:
\begin{enumerate}[listparindent=\enumerateparindent] % <================
\item%
\blindtext
\blindtext
\end{enumerate}
\end{document}
以及期望的结果:
请查看,该命令仅在您将命令放入的列表\setlength{\parindent}{\enumerateparindent}
中起作用......enumerate
如果您已经在使用包enumitem
——如评论中提到的那样——您可以使用它来使用\parindent
我的 mwe 中版本 2 中定义的相同缩进。
您将获得结果版本 2: