如何使用 biblatex 驱动引文跟踪来包含 \citetitle 命令?

如何使用 biblatex 驱动引文跟踪来包含 \citetitle 命令?

我使用的是 verbose-trad1 样式。使用\cite{x}命令得到了此结果。 在此处输入图片描述

如您所见,引用跟踪工作正常,但如果我使用\citetitle{x}引用跟踪则不起作用。(没关系,当然,biblatex 文档中提到了这一点。)我想要的是避免引用作者,即使在第一次引用时也是如此。但是,当然,如果我使用 \citetitle 命令,我会失去引用跟踪。有没有办法修改 \citetitle 命令以包含引用跟踪?

答案1

有几种方法可以做到这一点。在 的定义中启用跟踪器\citetitle不会给你ibidemshorthand缩写,除非你做一些额外的工作。仅仅省略labelname会使\cite一些缩写(即opcitloccit和)变得(语义)混乱idem

下面的代码(希望)通过定义一个钩子来消除这些限制,以抑制labelnameauthoreditor并修复有问题的缩写。此钩子可用于文档正文或命令定义中。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-trad1]{biblatex}
\addbibresource{biblatex-examples.bib}

\newbibmacro*{cite:full:noname}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\clearname{author}%
       \clearname{editor}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\newrobustcmd*{\citetitlehook}{%
  \AtNextCite{%
    \renewbibmacro*{cite:full}{\usebibmacro{cite:full:noname}}%
    \renewbibmacro*{cite:name}{}%
    \renewbibmacro*{cite:idem}{}%
    \renewbibmacro*{cite:loccit}{\usebibmacro{cite:title}}%
    \renewbibmacro*{cite:opcit}{\usebibmacro{cite:title}}}}

\renewrobustcmd*{\citetitle}{\citetitlehook\cite}
\newrobustcmd*{\citetitles}{\citetitlehook\cites}
\newrobustcmd*{\parencitetitle}{\citetitlehook\parencite}
\newrobustcmd*{\parencitetitles}{\citetitlehook\parencites}
\newrobustcmd*{\autocitetitle}{\citetitlehook\autocite}
\newrobustcmd*{\autocitetitles}{\citetitlehook\autocites}
\newrobustcmd*{\footcitetitle}{\citetitlehook\footcite}
\newrobustcmd*{\footcitetitles}{\citetitlehook\footcites}

\begin{document}
\null\vfill\noindent
Citetitle: \citetitle{kant:kpv}.
Parencitetitle: \parencite{kant:kpv}.
Autocitetitle.\autocitetitle[10]{companion}
Footcite with recurrent entry.\footcite[10]{companion}
Footcites with recurrent entry+page.\footcites{knuth:ct,knuth:ct:a}[10]{companion}
Footcite with recurrent author.\footcite{knuth:ct,knuth:ct:a}
Footcite with hook.\citetitlehook\footcite{augustine}
Footcite with hook and recurrent entry.\citetitlehook\footcite[10]{augustine}
Footcites with hook and recurrent entry+page.\citetitlehook\footcites{knuth:ct,knuth:ct:a}[10]{augustine}
Footcite with hook and recurrent author.\citetitlehook\footcite{knuth:ct,knuth:ct:a}
\end{document}

在此处输入图片描述

相关内容