在 biblatex-chicago 中仅使用作者姓名进行简短引用

在 biblatex-chicago 中仅使用作者姓名进行简短引用

我怎样才能知道biblatex-chicago在大多数简短的引用中只使用作者的名字,而不这样shorttitle做会造成歧义?

梅威瑟:

\documentclass{article}

\usepackage[notes]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\begin{document}

A.\footcite[1]{worman}

B.\footcite[213]{doody}

A.\footcite[7]{worman}

\end{document}

在这个例子中,我想biblatex-chicago注意到只有一个引文的作者姓氏是 Worman,因此从脚注 3 中省略标题,打印:

沃尔曼,7。

代替:

沃曼,角色阵容,7.

答案1

biblatex有测试\ifsingletitle来检测labelname参考书目中是否只有一个标题。您可以通过将singletitle=true选项传递给来激活它biblatex

然后我们只需要修改cite:short宏,使其仅在为 false 时才打印标题\ifsingletitle。宏定义biblatex-chicago一开始有点令人生畏,但唯一改变的是最后几行。

\documentclass{article}

\usepackage[notes, singletitle]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{cite:short}{%
  \usebibmacro{allshort+firstcite+xref}%
  \ifthenelse{\ifnameundef{labelname}\OR%
    \ifentrytype{inreference}\OR%
    \ifentrytype{reference}\OR%
    \ifentrytype{mvreference}}%
  {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
      \ifentrytype{periodical}}% Simplify .bib creation
    {\ifuseauthor%
      {\ifboolexpr{%
          not test {\iffieldundef{shortjournal}}%
          and
          ((
          test {\ifcitation}%
          and
          togl {cms@citejtabb}%
          )
          or
          (
          test {\ifbibliography}%
          and
          togl {cms@bibjtabb}%
          ))
        }%
        {\printfield[shortjournal]{shortjournal}\newcunit}%
        {\printfield[journaltitle]{journaltitle}\newcunit}}%
      {}}%
    {\ifentrytype{manual}%
      {\printlist{organization}\isdot\newcunit}%
      {}}}%
  {\ifboolexpr{%
      test {\ifciteidem}%
      and
      not test {\ifbibliography}%
      and
      not test {\iffirstonpage}%
      and
      not togl {cms@noidem}%
      and
      not togl {cms@headlessnote}%
    }%
    {\bibstring[\mkibid]{idem\thefield{gender}}%
      \classicpunct}%
    {\iffieldequalstr{authortype}{anon}%
      {\bibleftbracket\printnames{labelname}%
        \bibrightbracket\classicpunct}%
      {\iffieldequalstr{authortype}{anon?}%
        {\bibleftbracket\printnames{labelname}?%
          \bibrightbracket\classicpunct}%
        {\printnames{labelname}%\usebibmacro{choose+labelname}%
          \isdot\classicpunct}}}}%
  \ifsingletitle
    {}
    {\ifboolexpr{%
       togl {cms@allshort}%
       or
       test {\ifbibliography}%
     }%
     {\printtext[bibhyperref]{%
       \printfield[citetitle]{labeltitle}}}%
     {\printtext[cmshyperlink]{%
       \printfield[citetitle]{labeltitle}}}}}%:\thefield{entrytype}?


\begin{document}

A.\footcite[1]{worman}

B.\footcite[213]{doody}

A.\footcite[7]{worman}

\end{document}

相关内容