リスト内の 1 つの項目のラベルを変更したいです。私はこのenumitem
パッケージを使用しており、とても気に入っているので、使い続けなければなりません (他の多くのコードが壊れてしまいます)。
MWE:
\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
内のステートメントは必要だと思います。[]