如果最近或以前在 ConTeXt 中显示过某些不同的东西,如何显示它们?

如果最近或以前在 ConTeXt 中显示过某些不同的东西,如何显示它们?

我正在处理一份需要使用 Chicago-Turabian 风格的文档,但上次检查时发现,ConTeXt 仅支持 APA 和另一种风格。

我创建了以下正在进行的工作,目前已完成 80%:

\defineregister[turabiancitations][pagenumber=no, indicator=no, before=, n=1]


\def\definecitation{\turabiancitations}

\define[2]\turabian{%

    %% defines first footnote
    \footnote{%
        \cite[author][#1], %
        {\it \cite[title][#1]},
        (\cite[address][#1]: %
        \cite[publisher][#1], %
        \cite[year][#1])%
        \setbox0=\hbox{#2\unskip}%
        \ifdim\wd0=0pt
            .%
        \else
            , #2.%
        \fi
    }%
    
    %% define bibliographical entry
    \definecitation{%
        \cite[author][#1].
        {\it \cite[title][#1]}.
        \cite[address][#1]: %
        \cite[publisher][#1], %
        \cite[year][#1].    
    }%

}%

\starttext
    \turabian{apple2019}{33}
    \placeregister[turabiancitations]
\stoptext

在图拉比安风格中,脚注项目的显示有两个简单的规则:

  1. 如果脚注之前在文档中显示过一次,则在脚注中显示引用的简短版本(仅作者+标题+页码)。
  2. 如果刚刚调用脚注(完全相同的 bib_key 连续调用两次或两次以上),则只在脚注中显示同上 + 页码。

我如何让 ConTeXt 检查该 bib_key 是否之前被调用过,以显示引文的简短版本,并进一步检查该 bib_key 是否刚刚被调用过,而是显示 ibid。?

相关内容