我使用\autocite
包中的命令biblatex-chicago
进行引用,并使用该\footnote
命令进行其他脚注。
通常情况下,我希望脚注出现在标点符号之后,但在极少数情况下,脚注实际上只涉及一个单词。如果逗号恰好跟在该单词后面,我希望脚注标记出现在逗号之前。
虽然该命令适用于\footnote
,但\autocite
始终会将脚注标记放在后逗号,即使指令位于逗号之前。以下是 MWE:
\documentclass{article}
\usepackage{biblatex-chicago}
\begin{document}
This is an example sentence%
\footnote{In linguistics, a sentence is a grammatical unit of language.},
and the footnote marker appears before the comma.
Here is another sentence%
\autocite[In law, a sentence is something different.][]{doesntexist},
and the footnote marker appears after the comma.
\end{document}
虽然在这两种情况下,逗号都应该位于脚注标记之后,但biblatex-chicago
会自动切换它们的位置。为什么会发生这种情况?我该如何更改它?
答案1
biblatex
这是命令的一个功能\autocite
(并且只有命令\autocite
,请参阅https://github.com/plk/biblatex/issues/733)。如果autopunct
激活该选项,\autocite
它不仅会向前扫描以抑制不需要的双标点符号,还可以根据需要移动以下标点符号。所有其他引用命令仅避免双标点符号,而不会移动标点符号。
将autocite=footnote
biblatex
脚注标记后面的标点符号移动到\autocite
脚注标记之前 - 据称这会产生稍微好一点的输出。
如果你不想这样,你可以通过重新定义footnote
autocite
设置来禁用该行为
\documentclass{article}
\usepackage{biblatex-chicago}
\DeclareAutoCiteCommand{footnote}[r]{\smartcite}{\smartcites}
\ExecuteBibliographyOptions{autocite=footnote}
\begin{document}
This is an example sentence%
\footnote{In linguistics, a sentence is a grammatical unit of language.},
and the footnote marker appears before the comma.
Here is another sentence%
\autocite[In law, a sentence is something different.][]{doesntexist},
and the footnote marker appears after the comma.
\end{document}
r
可选参数中的字母表示biblatex
不要移动标点符号(即,将其留在引用命令的右侧),值l
表示biblatex
将以下标点符号移动到引用的左侧。默认值为footnote
,f
其行为l
与普通文本和r
脚注中的行为类似。
额外的\ExecuteBibliographyOptions{autocite=footnote}
是必要的,因为https://github.com/plk/biblatex/issues/758。
理论上,您可以使用 获得相同的输出autopunct=false
,但这也会禁用对不需要的双标点符号的检测。