biblatex-chicago 速记集未显示作者或标题

biblatex-chicago 速记集未显示作者或标题

我遇到了一个问题,该问题似乎已在biblatex-chicago第 4.2 节中预见到shorthand

我的问题是,在我的领域,有一些合集作品通常在引用中用简写形式引用。但是,每个条目都有自己的作者和标题。因此,在每个脚注中,我需要标题、作者,然后对合集的引用应该是简写形式。

biblatex-chicago在第 4.2 节的手册中,我似乎shorthand应该“以某种方式使用 shorthandintro 字段来澄清简写适用于父级而不是子级”。

首先,我不确定这是什么意思。其次,我的风格要求所有简写都引用为第一个条目的简写,所以我shorthandfirst的包选项中有这个选项。所以我甚shorthandintro至不确定会做什么。(我尝试将其设置为某个值,但什么也没发生,可能是因为我已经shorthandfirst设置了)。

以下是我所看到的 MWE:

\documentclass[letterpaper,12pt]{report}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\usepackage[english=american]{csquotes} 

\usepackage[noibid,backend=biber,notes,isbn=false,shorthandfull,shorthandfirst,inheritshorthand=true,citereset=chapter,longcrossref=bib]{biblatex-chicago}

\begin{filecontents}[overwrite]{temp.bib}
    @collection{bigbook,
        editor = {John Q. Editormann},
        title  = {A Collection of Essays},
        shorthand = {ACoE},
        options   = {skipbib},
        publisher = {Oxford University Press},
        address = {Oxford},
        year = {1995}}
    @incollection{incol,
        crossref = {bigbook},
        options  = {skipbiblist},
        author   = {Steve Authormann},
        title    = {This is an Essay},
        pages    = {1-15}}
    @incollection{incol2,
        crossref = {bigbook},
        options  = {skipbiblist},
        author   = {John Essaymann},
        title    = {An Essay on Collections},
        pages    = {16-30}}
    \end{filecontents}

\addbibresource{temp.bib}

\begin{document}
\printbiblist{shorthand}
\null\vfill
I need to reference this in a footnote.\footcite[12]{incol} But this is
another footnote.\footcite[18]{incol2} I need the second footnote
twice.\footcite[20]{incol2}
\clearpage
\printbibliography
\end{document}

这是我在脚注和围兜里看到的内容: 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我不知道为什么后续引用使用作者姓氏,而在第一个例子中它使用的是 ACoE。

如果我注释掉collection条目中的速记,我会看到这个(显然 LoA 消失了,而 bib 保持不变): 在此处输入图片描述

但我需要这些样式的组合。我需要第二个示例的样式,其中前两个脚注列出了作者和标题,但两个脚注都应为“在 ACoE 中”,然后是页码。

我知道的作者biblatex-chicago建议不要使用交叉引用的简写,但我的风格要求使用 incollection 中集合的简写。我有很多这样的 incollection,所以如果可能的话,我更希望仍然能够使用crossref来链接到一个collection条目。

第二个问题,我认为更难解决,就是在后续的引用(脚注 3)中,我需要作者和合集的缩写。因此上面的脚注 3 在两种情况下都是错误的。它应该写成“Essaymann, ACoE, 20”。

我认为这个问题比较难解决,可能需要一种新的输入类型,不是吗?

答案1

更新满足您的新要求(不需要进行太多更改)。

这不是理想的,但可能最容易实现此目的的方法就是手动构建引文。您可以使用处理后续引文的宏。该\paul@blx@trackentry@global宏允许我手动将条目添加到可见条目列表中(在全局范围内)。这是必要的,因为引文构建构建块不会自动执行此操作。

\cite使用 制作了一个更像的宏xparse

平均能量损失

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\usepackage[english=american]{csquotes}

\usepackage[noibid,backend=biber,notes,isbn=false,shorthandfull,shorthandfirst,inheritshorthand=true,longcrossref=bib,minxrefs=1]{biblatex-chicago}

\begin{filecontents}[overwrite]{temp.bib}
@collection{bigbook,
    editor = {John Q. Editormann},
    title  = {A Collection of Essays},
    shorthand = {ACoE},
    options   = {skipbib},
    publisher = {Oxford University Press},
    address = {Oxford},
    year = {1995}}
@incollection{incol,
    crossref = {bigbook},
    options  = {skipbiblist},
    author   = {Steve Authormann},
    title    = {This is an Essay},
    pages    = {1-15}}
@incollection{incol2,
    crossref = {bigbook},
    options  = {skipbiblist},
    author   = {John Essaymann},
    title    = {An Essay on Collections},
    pages    = {16-30}}
\end{filecontents}

\addbibresource{temp.bib}

\usepackage{xparse}

\ExplSyntaxOn
\cs_set_eq:NN \IfEmptyF \tl_if_blank:nF
\ExplSyntaxOff

\makeatletter
\def\paul@blx@trackentry@global#1{%
  \ifbool{citetracker}
    {\blx@xsanitizeafter{\def\sbl@blx@tempa}{#1}%
     \xifinlistcs{\sbl@blx@tempa}{blx@bsee@\the\c@refsection}
       {}
       {\listcsxadd{blx@bsee@\the\c@refsection}{\sbl@blx@tempa}}}
    {}}
\let\paul@blx@trackentry\paul@blx@trackentry@global

\NewDocumentCommand{\shortincolcite}{o o m}{%
  \footnote{%
    \IfNoValueF{#1}{\IfNoValueF{#2}{#1 }}%
    \blx@imc@ifentryseen{#3}
      {\citeauthor{#3}, }
      {\citename{#3}[default]{labelname}, \citetitle{#3}, in
       \paul@blx@trackentry{#3}}%
    \citefield{#3}{shorthand}%
    \IfNoValueTF{#2}{, #1}{\IfEmptyF{#2}{, #2}}.}}%
\makeatother

\begin{document}
\null\vfill
I need to reference this in a footnote.\shortincolcite[See][]{incol}
But this is another footnote.\shortincolcite[See][18]{incol2}
I need the second footnote twice.\shortincolcite[20]{incol2}
\printbiblist{shorthand}
\printbibliography
\end{document}

输出

相关内容