我需要编写一个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
替换为enumerate
或itemize
,则缩进会变好,但我需要使用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}
根据您想要的布局。