使用标签*附加枚举标签但重置字体

使用标签*附加枚举标签但重置字体

我正在尝试创建一个类似法律的列表,其中有诸如1.1.1.等编号,但顶级数字以粗体显示,而其余数字则不显示。

目前我有:

\documentclass{article}
\usepackage{enumitem}

\newlist{questions}{enumerate}{2}
\setlist[questions,1]{label=\textbf{\arabic*.}}
\setlist[questions,2]{label*=\arabic*.}

\begin{document}

\begin{questions}

    \item Top level (number should be bolded)

    \begin{questions}

        \item Second level (whole number should be in normal font)

    \end{questions}

\end{questions}

\end{document}

这给了我:

tex 输出

因此,第二级已正确地将普通字体数字附加到其父级的标签上,但它还保留了父级数字的粗体(我不想要)。

我尝试将该font=\normalfont选项添加到第二questions级,但没有任何效果。

有没有一个好的方法可以在附加到父标签之前删除其格式?

答案1

只需使用font第一级的密钥:

\documentclass{article}
\usepackage{enumitem}

\newlist{questions}{enumerate}{2}
\setlist[questions, 1]{label=\arabic*., font=\bfseries}
\setlist[questions, 2]{label*=\arabic*.}

\begin{document}

\begin{questions}

    \item Top level (number should be bolded)

    \begin{questions}

        \item Second level (whole number is in normal font)

    \end{questions}

\end{questions}

\end{document} 

在此处输入图片描述

答案2

我将声明一个格式化命令,然后before在达到更深的级别时更改该格式化命令。

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\DeclareRobustCommand{\questionformat}{\textbf}

\newlist{questions}{enumerate}{2}
\setlist[questions,1]{label=\questionformat{\arabic*.}}
\setlist[questions,2]{label*=\arabic*.,before={\DeclareRobustCommand{\questionformat}{}}}

\begin{document}

\begin{questions}
  \item Top level (number should be bolded)
  \begin{questions}
    \item Second level (whole number should be in normal font)
    \item Second level (whole number should be in normal font)
  \end{questions}

  \item Top level (number should be bolded)
  \begin{questions}
    \item Second level (whole number should be in normal font)
    \item Second level (whole number should be in normal font)
  \end{questions}
\end{questions}

\end{document}

由于层次结构存储了更高级别的扩展版本,因此\DeclareRobustCommand避免了扩展,并因此保留了格式命令(使其可更改)。但是,不要\ref对其中一个嵌套元素使用 erence...

相关内容