biblatex 参考文献ドライバで \item のオプション引数を指定するにはどうすればいいですか?

biblatex 参考文献ドライバで \item のオプション引数を指定するにはどうすればいいですか?

enumitems の環境リストに基づいて biblatex で書誌環境を作成したいと考えていますdescription(作成中のドキュメントの他の部分と適合するため、これを行いたいと考えています)。 と同様にitemize、は説明ラベルdescriptionにオプションの引数を使用しますitem。 このオプションの引数に出版年が設定されるように書誌環境を作成したいと考えています。 これは機能するはずですが、機能しません (ここでは例をできるだけ最小限にするために のitemize代わりにを使用しています)。description

\documentclass{article}
\usepackage[date=year]{biblatex}

\begin{filecontents}{\jobname.bib}
@article{foo,
  title = {SomeTitle},
  author = {Doe, John},
  date = {2024-04-27},
  journaltitle = {Great Works}
}
\end{filecontents}

\addbibresource{\jobname.bib}

\defbibenvironment{description}{\begin{itemize}}{\end{itemize}}{\item}

\DeclareBibliographyDriver{article}{%
  [\printdate{}]%
  \newunit%
  \printfield{title}%
  }

\begin{document}

\nocite{*}
\printbibliography[env=description]

\end{document}

角括弧内に印刷された日付を、その前の呼び出しのオプション引数として解釈する代わりに\item、これは角括弧自体をリストの一部として印刷します。つまり、私は次のように書誌のタイプセットを作成したいのです:

\begin{itemize}
\item[<year>] <other stuff>
\end{itemize}

しかし、代わりにこれが起こっているように見えます:

\begin{itemize}
\item[] [<year>] <other stuff>
\end{itemize}

どうすれば前者を取得でき、後者を取得できないのでしょうか?

答え1

オプションの引数を に追加できます\defbibenvironment。ドライバーでは遅すぎます (多くのグループ化レイヤーの下に隠れているため、\itemオプションの引数が適切に表示されません)。

\documentclass{article}
\usepackage[date=year]{biblatex}

\defbibenvironment{description}
  {\begin{itemize}}
  {\end{itemize}}
  {\item[\printdate]}

\DeclareBibliographyDriver{article}{%
  \printfield{title}%
}

\begin{filecontents}{\jobname.bib}
@article{foo,
  title        = {SomeTitle},
  author       = {Doe, John},
  date         = {2024-04-27},
  journaltitle = {Great Works}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography[env=description]
\end{document}

2024「サムタイトル」

関連情報