我想更改清單中一項的標籤。我正在使用這個enumitem
包,我非常喜歡它,我必須繼續使用它(許多其他程式碼會被破壞)。
微量元素:
\documentclass[a4paper,10pt]{article}
\usepackage[]{enumitem}
\begin{document}
Foobar
\begin{enumerate}[label={(\arabic*)}]
\item baz
\end{enumerate}
\begin{enumerate}[resume,label={(*\arabic*)}]
\item xyzzy
\end{enumerate}
\begin{enumerate}[resume,label={(\arabic*)}]
\item quux
\end{enumerate}
Lorem ipsum
\end{document}
結果是一個列表
(1) baz
(*2) xyzzy
(3) quux
但是,我想做一些類似的事情
\documentclass[a4paper,10pt]{article}
\usepackage[]{enumitem}
\begin{document}
Foobar
\begin{enumerate}[label={(\arabic*)}]
\item baz
\staritem xyzzy
\item quux
\end{enumerate}
Lorem ipsum
\end{document}
enumitem
如果這個包能讓這樣的程式碼成為\item[label=(*\arabic*)]
可能,那就太酷了。但據我所知,沒有簡單的解決方案。
你會怎麼辦?請在您的答案中定義一個命令\staritem
,因為這將是一個比直接將其寫入文件文字更正交的解決方案。或者,黑客\item
接受選項(如\item[label=(*\arabic*)]
)會很棒!
答案1
將星號放入標籤規格中:
\documentclass[a4paper,10pt]{article}
\usepackage{enumitem}
\newcommand{\staritem}{\global\asterisktrue\item}
\newcommand{\perhapsasterisk}{%
\ifasterisk*\global\asteriskfalse\fi
}
\newif\ifasterisk
\begin{document}
Foobar
\begin{enumerate}[label={(\protect\perhapsasterisk\arabic*)}]
\item baz
\staritem xyzzy
\item quux
\staritem xxx
\end{enumerate}
Lorem ipsum
\end{document}
答案2
我不確定這是否是您想要實現的目標,但您可以明確設定項目的標籤。
\documentclass[a4paper,10pt]{article}
\usepackage{enumitem}
\begin{document}
Foobar
\begin{enumerate}[label={(\arabic*)}]
\item baz
\item[\refstepcounter{enumi}(*\number\value{enumi})] xyzzy
\item quux
\end{enumerate}
Lorem ipsum
\end{document}
我想,\refstepcounter
裡面的語句[]
是必要的,因為如果手動設定標籤,計數器就不會前進。