我在 Polyglossia 中使用 XeLaTeX、Biblatex 和美式英语时遇到了一些问题。根据 Biblatex 手册,它使用 polyglossia 来确定英语的变体风格并相应地设置风格。但是,这并没有发生在我身上。美式英语的连续引用是 Ibid. 而不是 Ibidem。在以下 MWE 中,当使用 xelatex(和 biber)编译时,第二个脚注是 Ibidem。当使用 pdflatex(和 biber)编译时,第二个脚注是 Ibid。
\documentclass[letterpaper,12pt]{article}
\usepackage{iftex}
\ifXeTeX
\usepackage{fontspec}
\fi
\ifPDFTeX
\usepackage[american]{babel}
\fi
\usepackage{fullpage}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\ifXeTeX
\usepackage{polyglossia}
\setmainlanguage[variant=american]{english}
\fi
\usepackage[doublespacing]{setspace}
\usepackage[style=historian, % Loads the Historian files
backend=biber,
sorting=nty, % Sorts bibliography by name, title
autocite=footnote, % Autocite command generates footnotes
mincrossrefs=1, % Includes all x-ref'ed entries in the bibliography
usetranslator=true, % Translator's name may be substituted for
% author or editor, if the latter are blank
printnoterefs=false, % Do not print "see note" short shortened notes
printseries=true] % Options provided by Historian, see below
{biblatex}
\addbibresource{bib1.bib}
\begin{document}
This is a reference to a footnote.\footcite[1]{Book}. This should be an Ibid.\footcite[2]{Book}
\end{document}
bib1.bib的内容为:
@book{Book,
author = {John Smith},
title = {A book with a very long title to make sure that it wraps around to a second line},
address = {1600 Pennsylvania Ave},
publisher = {Good Books Press},
year = "2014"
}
这可能是 biblatex 的 Historian 包的问题,但根据其文档,它只是使用了 biblatex 的设置。
答案1
由于您的示例文件太旧,我无法真正测试它biblatex-historian
。(我使用的是 0.4 版本,它是 2010 年的,鉴于它的活跃程度biblatex
和biber
开发情况,它可以说是“古老的”。)
正如 @cfr 所说,该软件包依赖于(我相信)一个旧的且不再使用的命令。我需要禁用该命令才能运行您的示例文件;然后我确实得到了您描述的与 XeTeX 相关的问题,通过添加到您的加载选项\SetCiteCommand
可以轻松解决此问题。这是一个完整的示例:abbreviate=true
biblatex
\documentclass[letterpaper,12pt]{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Book,
author = {John Smith},
title = {A book with a very long title to make sure that it wraps around to a second line},
address = {1600 Pennsylvania Ave},
publisher = {Good Books Press},
year = 2014,
}
\end{filecontents*}
\usepackage{iftex}
\ifXeTeX
\usepackage{fontspec}
\fi
\ifPDFTeX
\usepackage[american]{babel}
\fi
\usepackage{fullpage}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\ifXeTeX
\usepackage{polyglossia}
\setmainlanguage[variant=american]{english}
\fi
\usepackage[doublespacing]{setspace}
\newcommand\SetCiteCommand[1]{}% <--- ADDED; you may need to remove this line
\usepackage[
abbreviate=true, % <--- ADDED
style=historian, % Loads the Historian files
backend=biber,
sorting=nty, % Sorts bibliography by name, title
autocite=footnote, % Autocite command generates footnotes
mincrossrefs=1, % Includes all x-ref'ed entries in the bibliography
usetranslator=true, % Translator's name may be substituted for
% author or editor, if the latter are blank
printnoterefs=false, % Do not print "see note" short shortened notes
printseries=true] % Options provided by Historian, see below
{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
This is a reference to a footnote.\footcite[1]{Book}. This should be an Ibid.\footcite[2]{Book}
\end{document}
以下是相关输出\listfiles
:
biblatex.sty 2013/11/25 v2.8a programmable bibliographies (PK/JW/AB)
biblatex2.sty 2013/11/25 v2.8a programmable bibliographies (biber) (PK/JW/AB)
historian.dbx
blx-compat.def 2013/11/25 v2.8a biblatex compatibility (PK/JW/AB)
biblatex.def
standard.bbx 2013/11/25 v2.8a biblatex bibliography style (PK/JW/AB)
historian.bbx 2010/08/22 v0.4 historian bibliography style
historian.cbx 2010/08/22 v0.4 historian citation style
biblatex.cfg
english.lbx 2013/11/25 v2.8a biblatex localization (PK/JW/AB)
我正在使用 1.8 版本biber
。
我希望您的旧设置可以使用此解决方案,但似乎该abbreviate
选项是在 0.9c 版本中引入的,这正是该软件包版本声称已经过测试后的一个小biblatex
版本biblatex-historian
。
如果不起作用,你可能(!)仍然有解决方案。如果你使用的是 TeX Live 发行版,你可以从下载 2.8a 版本源码以及适当版本的比伯并更新您的安装。 tds.zip
文件安装起来非常简单,只需在树的底部解压texmf
,刷新数据库,就可以了。但是,我会对新安装进行沙盒处理,直到您确定它可以biblatex-historian
与较新的形式兼容,biblatex
然后再删除旧版本。
如果您对更新原本适合您的设置持怀疑态度,那么仍有其他选择。侵入性最小的选择之一是将以下内容添加到序言中:
\DefineBibliographyStrings{english}{ibidem = {ibid\adddot}}
如您所见,它强制使用“ibid.”作为english
语言选项(因此不是american
-specific)。当您只需要更改一个或两个文件时,这是一个好主意。
或者,您可以制作自己的版本english.lbx
并对其进行所需的更改,以便它(更好地)满足 Turabian 要求。例如,您可以找到行
ibidem = {{ibidem}{ibid\adddot}},
并将english.lbx
其更改为
ibidem = {{ibid\adddot}{ibid\adddot}},
这只是将ibidem
字符串定义为仅知道缩写形式。此解决方案的优点是,如果将一个更改的文件放在智能位置(例如命令kpsewhich --var-value TEXMFHOME
返回的位置;在我的情况下是~/texmf
,这意味着我会将english.lbx
文件放在~/texmf/tex/latex/biblatex/lbx/
),则可以将一个更改的文件用于多个文档。重要的是要注意,此文件将在随附的文件之前被选中biblatex
,这可能不是您想要的。正如通常的情况一样,值得花一些时间考虑您的长期需求是什么,然后采取相应的行动。
无关紧要的题外话:请注意,美式英语不只有“ibid.”形式:“d”后面的句号是暂停标记,表示该词在“d”之后缩写 [即,该词的其余部分“暂停”]。“ibid.”只是“ibidem”的常用缩写,后者是拉丁语副词。暂停标记是过去使用的许多缩写形式之一,也是学究们坚持我们应该使用“Dr”而不是“Dr.”的原因,或者“St.”适用于“street”,但不适用于“saint”,因为“doctor”和“saint”的缩写来自第一个字母和最后一个字母之间,因此点错误地标记了被暂停的内容。幸运的是,学究们通常不会得逞..!