对不同的描述列表应用不同的格式

对不同的描述列表应用不同的格式

我在编写的某些内容中将描述列表用于多种不同的目的。我想以不同的方式定义这些列表,以便可以对不同类型应用不同的格式或样式。在 HTML/CSS 中,我将使用“class”属性来执行此操作。在 LaTeX 中可以做类似的事情吗?我能想到的唯一方法是制作一个包装器 \NewDocumentCommand 或环境,将列表作为参数传递给它。

编辑:我指的是描述环境。所以有时我可能希望描述与项目在同一行,有时则偏移到下一行。我知道如何做到这一点,但我不想为每个列表单独执行此操作。该项目可能有多达 240 个三种不同类型的描述列表。

我希望保持灵活性,以防我有不同的想法,但也许我应用了太多的 HTML/CSS 思维——即使我没有具体的计划来以不同的方式设置样式,我也会使用类属性,以防我以后想这样做。

答案1

该软件包提供了调整环境和定义自定义列表enumitem的可能性,例如description

\documentclass{article}

\usepackage{enumitem}

% Define small caps description-like environment
\newlist{scdesc}{description}{1}
\setlist[scdesc]{font=\mdseries\scshape,noitemsep}

\begin{document}

\begin{description}
\item[Foo] explanation for foo
\item[Bar] explanation for baz
\item[Baz] explanation for baz
\end{description}

\begin{description}[font=\slshape]
\item[Foo] explanation for foo
\item[Bar] explanation for baz
\item[Baz] explanation for baz
\end{description}

\begin{description}[font=\mdseries\scshape]
\item[Foo] explanation for foo
\item[Bar] explanation for baz
\item[Baz] explanation for baz
\end{description}

\begin{scdesc}
\item[Foo] explanation for foo
\item[Bar] explanation for baz
\item[Baz] explanation for baz
\end{scdesc}

\end{document}

在此处输入图片描述


编辑使用宏,\SetEnumitemKey您可以为(或多或少任意的)键列表定义一个简写:

\documentclass{article}

\usepackage{enumitem}
\SetEnumitemKey{myclassA}{font=\slshape,noitemsep}
\SetEnumitemKey{myclassB}{font=\mdseries\scshape,noitemsep}

\begin{document}

\begin{description}[myclassA]
\item[Foo] explanation for foo
\item[Bar] explanation for bar
\item[Baz] explanation for baz
\end{description}

\begin{description}[myclassB]
\item[Foo] explanation for foo
\item[Bar] explanation for bar
\item[Baz] explanation for baz
\end{description}

\end{document}

在此处输入图片描述

相关内容