修复嵌套列表中的错误缩进

修复嵌套列表中的错误缩进

我需要编写一个enumerate嵌套在description列表中的列表,如下例所示:

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\title{}
\date{}
\begin{document}
\maketitle

\begin{description}
\item[p] aa
\item[u]
\begin{enumerate}
\item first
\item second
\item third
\end{enumerate}
\item[v] lorem
\item[w] ipsum
\end{description}
\end{document}

然而,结果却是内部列表的第一项并没有像内部列表的其他项那样缩进:

结果

如何修复?

我注意到,如果将description替换为enumerateitemize,则缩进会变好,但我需要使用description

答案1

您可以使用enumitem功能,如以下示例所示

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{enumitem}
\title{}
\date{}
\begin{document}
\maketitle

\begin{description}[labelwidth=8pt,leftmargin=\dimexpr\labelwidth+\labelsep\relax]
\item[p] aa
\item[u]
\begin{enumerate}
\item first
\item second
\item third
\end{enumerate}
\item[v] lorem
\item[w] ipsum
\end{description}

\end{document} 

在此处输入图片描述

或以下内容

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{enumitem}
\title{}
\date{}
\begin{document}
\maketitle

\begin{description}[labelwidth=8pt,leftmargin=\dimexpr\labelwidth+\labelsep\relax]
\item[p] aa
\item[u]
\begin{enumerate}[leftmargin=*]
\item first
\item second
\item third
\end{enumerate}
\item[v] lorem
\item[w] ipsum
\end{description}

\end{document} 

在此处输入图片描述

答案2

LaTeX 为实现该布局付出了一些努力,我从未真正理解为什么,但出于兼容性原因,现在无法更改默认布局。可能有一些软件包可以改变这种情况,但最简单的直接修复方法是使用

\item[u]\mbox{}
\begin{enumerate}

也许

\item[u]\mbox{}\\[-2\baselineskip]
\begin{enumerate}

根据您想要的布局。

相关内容