芝加哥风格 - 请参阅注释 x,而非简短版本

芝加哥风格 - 请参阅注释 x,而非简短版本

对于某本期刊,我必须使用芝加哥格式并附上尾注。如果参考文献已经出现在前一个尾注中,我可能会使用“同上”。

如果参考文献没有出现在前一个尾注中,但出现在之前的一些尾注中,我必须写“作者(参见上面的注释 x)”。

目前我使用 biblatex-chicago 包

\usepackage[notes,natbib,isbn=false,backend=biber]{biblatex-chicago}  

但这里的输出只是供后续引用的缩短版本的引用。

我怎样才能改变风格,用对第一个提到的参考文献的引用来替换缩写形式?

答案1

biblatex-chicago确实不适合修改。如果您使用下面的代码,您可能不再完全兼容 CMS,因此请自行承担风险。

verbose-inote已经实现这种风格的基础设施被窃取了。

由于一些biblatex-chicago宏必须非常复杂才能正确完成任务,因此所需的代码行数比其他样式要多一些。

\documentclass{article}
\usepackage[notes,natbib,isbn=false,backend=biber,singletitle]{biblatex-chicago}  
\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}

\NewBibliographyString{above}
\DefineBibliographyStrings{english}{above = {above}}

\makeatletter
\renewbibmacro*{cite:full}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}\frenchspacing}%
      {cite:\thefield{entrytype}}}%
  \csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
  \label{cbx@\the\value{instcount}}}

\newtoggle{cbx:pageref}

\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}}}}
  \setunit{\addspace}%
  \printtext[parens]{%
    \bibstring{seenote}\addnbspace
    \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
    \iftoggle{cbx:pageref}
      {\ifsamepage{\the\value{instcount}}{\csuse{cbx@f@\thefield{entrykey}}}
         {}
         {\addcomma\space\bibstring{page}\addnbspace
          \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
      {}
      \addspace
      \bibstring{above}}}
\makeatother

\begin{document}
Lorem\autocite{sigfridsson} ipsum\autocite{worman} dolor\autocite{sigfridsson}
\clearpage
Lorem\autocite{sigfridsson} ipsum\autocite{worman} dolor\autocite{sigfridsson}
\clearpage
Lorem\autocite{knuth:ct:a} ipsum\autocite{knuth:ct:b} dolor\autocite{knuth:ct:a}
\end{document}

第一页的脚注

相关内容