`\fulllcite` против списка библиографии с Biblatex, когда поля удалены

`\fulllcite` против списка библиографии с Biblatex, когда поля удалены

В документации Biblatex говорится, что " \fullciteкоманда выводит подробную ссылку, похожую на полную библиографическую запись". Однако есть некоторые различия, и здесь есть несколько вопросов/ответов по этому поводу, напримерэтотиэтот.

Вот еще одно их отличие:

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
% Don't want to see "language" field.
\AtEveryBibitem{\clearlist{language}}

\begin{document}
\fullcite{cicero}
\printbibliography
\end{document}

Это используетпредлагаемый методудаления languageполя. Оно удаляется из библиографии, но не из \fullciteвывода. Как мне избавиться от него и там?

Выход:

введите описание изображения здесь

решение1

\AtEveryBibitemдействительно не влияет, \fullciteпотому что это команда цитирования, а не bibitem. Но вы можете использовать \AtEveryCitekeyдля этого:

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
% Don't want to see "language" field.
\AtEveryBibitem{\clearlist{language}}
\AtEveryCitekey{\clearlist{language}}

\begin{document}
\fullcite{cicero}
\printbibliography
\end{document}

Но, учитывая то, что вы хотите сделать, возможно, использование исходной карты, изменяющей фактические данные, biberбудет хорошей идеей:

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
% Don't want to see "language" field.
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=language, null]
    }
  }
}

\begin{document}
\fullcite{cicero}
\printbibliography
\end{document}

В любом случае вывод будет следующим:

введите описание изображения здесь

Связанный контент