如何---
在文档中每个描述环境中的每个项目标签后添加一个破折号 ( )?是否有一种全局方法可以覆盖每个项目的布局?
这产生了预期效果,但我手动在每个项目后插入破折号:
\documentclass{book}
\begin{document}
\begin{description}
\item[A] --- description
\item[B] --- description
\end{description}
\end{document}
是否可以只使用\item[label] description
整个文档,并只在序言中快速覆盖来实现?我在书籍目录:
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}
因此,我认为我需要重新定义\makelabel
,但我不确定如何从这里继续。我只想更改环境description
,而不是其他列表。
答案1
您需要改变 的定义\descriptionlabel
。
% descriptionprob.tex SE 572848
\documentclass{book}
\begin{document}
Regular descriptions:
\begin{description}
\item[A] an item
\item[B] another item
\end{description}
Revised description labels.
\renewcommand{\descriptionlabel}[1]{%
\hspace\labelsep
\normalfont{\bfseries #1} ---}
\begin{description}
\item[A] an item
\item[B] another item
\end{description}
\end{document}
答案2
您可以使用 enumitem:
\documentclass{book}
\usepackage{enumitem}
\newcommand\mydesclabel[1]{#1\quad{\normalfont ---}}
\setlist[description,1]{format=\mydesclabel}
\begin{document}
\begin{description}
\item[A] description
\item[B] description
\end{description}
\end{document}