![biblatex-chicago 包的 parencite 命令有错误吗?](https://linux22.com/image/273920/biblatex-chicago%20%E5%8C%85%E7%9A%84%20parencite%20%E5%91%BD%E4%BB%A4%E6%9C%89%E9%94%99%E8%AF%AF%E5%90%97%EF%BC%9F.png)
我想使用该包biblatex-chicago
进行引用。
我有一个包含以下内容的文件:
\documentclass[11pt]{report}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\bibliography{myBibliography}
\begin{document}
\noindent
\textcite{doe:2013}\\
\parencite[see][p.\ 2]{doe:2013}
\printbibliography
\end{document}
这是该文件的内容myBibliography.bib
:
@article{doe:2013,
author = {Doe, John},
month = {5},
title = {The Title},
yournaltitle = {The Journal},
year = {2013},
}
排版产量
Doe(2013)
(渗透2)
然而,我们应该得到
Doe (2013)
(参见 Doe 2013,第 2 页)
有人能重现这个结果吗?
这是由于biblatex-chicago
软件包中有错误吗?
答案1
根据biblatex-chicago
文档,这实际上是预期和打算的行为,可以使用前导选项进行关闭noibid
。
诺伊比德应早期测试人员的要求,我添加了此选项,以便您全局关闭
biblatex-chicago-authordate
默认使用的 ibidem 机制。此机制实际上并不打印“Ibid”,而是仅包含引文中的后注信息,即它将打印 (224) 而不是 (Author 2000, 224)。设置此选项意味着这些缩短的引文都不会自动出现。
来自 § 5.4.3,第 108 页,“noibid”
biblatex-chicago
文档
不过,它看起来确实很奇怪,尤其是前后注在一起的时候。在这种情况下,可以修改宏cite:ibid
以在前后注之间添加一个空格:
\makeatletter
\renewbibmacro*{cite:ibid}{%
\iftoggle{cms@noibid}%
{\blx@ibidreset%
\usebibmacro{cite}}%
{\ifthenelse{\iffieldundef{prenote}\AND%
\iffieldundef{postnote}}%
{\blx@ibidreset%
\usebibmacro{cite}%
\PackageWarning{biblatex-chicago}%
{Empty Ibidem citation}}%
{\ifboolexpr{not (test {\iffieldundef{prenote}} or test {\iffieldundef{postnote}})}{\addspace}{}\toggletrue{cms@inlineibid}}}}% <--- modify here
\makeatother
如果你想要或多或少正确的同上,请使用这个重新定义
\makeatletter
\renewbibmacro*{cite:ibid}{%
\iftoggle{cms@noibid}%
{\blx@ibidreset\usebibmacro{cite}}%
{\printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}}}
\makeatother
比较以下文档的输出。
标准\usepackage[authordate,backend=biber,bibencoding=utf8]{biblatex-chicago}
,无修改。
\documentclass[american, ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[autopunct=true]{csquotes}
\usepackage[authordate,backend=biber,bibencoding=utf8]{biblatex-chicago}
\usepackage{filecontents}
\addbibresource{\jobname.bib}
\begin{filecontents*}{\jobname.bib}
@book{testbook,
author = {Walter Ordsmith},
editor = {Eddie Ditor},
title = {The Work},
subtitle = {Subtitle},
date = {1983},
}
\end{filecontents*}
\begin{document}
\textcite{testbook}
\parencite{testbook}
\parencite[see][p.\ 2]{testbook}
\parencite[see][1]{testbook}
\parencite[2]{testbook}
\parencite[see][]{testbook}
\nocite{*}
\printbibliography
\end{document}
与上文相同noibid
:\usepackage[noibid,authordate,backend=biber,bibencoding=utf8]{biblatex-chicago}
。
与上述修改相同,但cite:ibid
添加空格。
与上文相同,但进行了修改cite:ibid
。