我想创建一个带有标签的列表LN
,例如L1
,,...L2
L3
子列表应该有标签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)
看起来像这样:
但是,我怎样才能更改子列表的标签以获取L1a
、L1b
、L1c
?
答案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}