如何變更枚舉清單中一項的標籤

如何變更枚舉清單中一項的標籤

我想更改清單中一項的標籤。我正在使用這個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裡面的語句[]是必要的,因為如果手動設定標籤,計數器就不會前進。

在此輸入影像描述

相關內容