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 “썸타이틀”

관련 정보