描述列表 - 如何将定义放在新行上?

描述列表 - 如何将定义放在新行上?

我有以下 LaTeX 代码:

\documentclass{article}
\begin{document}
\begin{description}

\item[foo]
bar

\item[baz]

bang

\end{description}

\end{document}

并生成以下 PDF:

在此处输入图片描述

我希望该项目的定义(在本例中为“bar”和“bang”)与该项目(例如“foo”和“baz”)位于不同的行上。

但是,这是自动生成文档的系统的一部分,因此我无法更改源代码。我可以将样式内容放在每个文档的标题中,因此我需要某种 LaTeX 命令,使所有定义列表(在 LaTeX 中称为“描述列表”)转到新行。

答案1

你可以用 来实现\hfill。不需要额外的软件包或多行代码 :)

在此处输入图片描述

\documentclass{article}
\begin{document}
\begin{description}
  \item[First] \hfill \\ The first item
  \item[Second] \hfill \\ The second item
  \item[Third] \hfill \\ The third etc \ldots
\end{description}
\end{document}

在此处输入图片描述

答案2

Will Robertson 的回答可以影响description整个文档中的所有环境。要将所需设置应用于特定的description,您可以使用[style=nextline]附加到\begin{description}

\usepackage{enumitem}

\begin{description}[style=nextline]
   \item[foo] bar
   \item[baz] bang
\end{description}

这会将您的样式仅应用于特定的description。其他description则将采用默认行为。

答案3

如果您使用enumitem,设置默认样式的正确方法如下:

\usepackage{enumitem}
\setlist[description]{style=nextline}

答案4

你可以尝试类似

\usepackage{enumitem}
\setdescription{labelsep=\textwidth}

但需要对 等的值进行一些调整labelindent,以避免框过满。但是,对于第一顺序,这会为您提供所需的输出。

相关内容