我遇到了一个问题,该问题似乎已在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}