如何重新格式化子列表中的“枚举”标签?

如何重新格式化子列表中的“枚举”标签?

我想创建一个带有标签的列表LN,例如L1,,...L2L3

子列表应该有标签L1a, L1b, L1c(用于列表中的第一个项目)。

我尝试了以下操作:

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\begin{enumerate}[label=\textbf{L\arabic*}]
\item Foo
\begin{enumerate}
\item Bar
\item FooBar
\item BarFoo \ref{l}
\end{enumerate}
\item \label{l} FooBarBarFoo
\item raBooF \ref{l}
\end{enumerate}

\end{document}

这让我几乎所需的输出,但我在子列表中得到了标签(a),,......(b)(c)

看起来像这样:

枚举子列表

但是,我怎样才能更改子列表的标签以获取L1aL1bL1c

答案1

您可以使用\alph(小写字母)和带有(本地)或(全局)的计数器\theenumi代替[label=\textbf{\theenumi \alph*}]阿拉伯数字\setlist[enumerate, 2]{label =\theenumi \alph*}

解决方案 1:(全球的)

\setlist[enumerate, 1]{label =\textbf{L\arabic*}}
\setlist[enumerate, 2]{label =\textbf{\theenumi \alph*}}

解决方案 2:(当地的)

\begin{enumerate}[label=\textbf{L\arabic*}]
\begin{enumerate}[label=\textbf{\theenumi \alph*}]
\end{enumerate}
\end{enumerate}

结果:

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage{enumitem}
%\setlist[enumerate, 1]{label =\textbf{L\arabic*}}
%\setlist[enumerate, 2]{label =\textbf{\theenumi \alph*}}
\begin{document}

\begin{enumerate}[label=\textbf{L\arabic*}]
\item Foo
\begin{enumerate}[label=\textbf{\theenumi \alph*}]
\item Bar
\item FooBar
\item BarFoo \ref{l}
\end{enumerate}
\item \label{l} FooBarBarFoo
\item raBooF \ref{l}
\end{enumerate}
\end{document}

答案2

我猜你不希望第一级列表的交叉引用也使用粗体,只有标签,第二级的标签也不应该使用粗体。所以情况如下:

\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate, 1]{label=L\arabic*, ref = L\arabic*, font =\bfseries}
\setlist[enumerate, 2]{label = \theenumi \alph*}

\begin{document}

\begin{enumerate}
\item Foo
\begin{enumerate}
\item Bar
\item FooBar
\item BarFoo \ref{l}
\end{enumerate}
\item \label{l} FooBarBarFoo
\item raBooF \ref{l}
\end{enumerate}

\end{document} 

在此处输入图片描述

相关内容