使用“apalike”书目样式在作者年份引文中的年份字段中添加斜线

使用“apalike”书目样式在作者年份引文中的年份字段中添加斜线

我使用 natbib 包(带有默认的 authoryear 选项)和 apalike 书目样式来编写参考书目。

我想引用以下 bibtex 条目:

@article{Lake2010/11,
Author = {Lake, David A.},
Journal = {International Security},
Number = {3},
Pages = {7-52},
Title = {Two Cheers for Bargaining Theory: Assessing Rationalist Explanations of the Iraq War},
Volume = {35},
Year = {2010/11}}

当我使用时,\citep{Lake2010/11}我会在我的参考书目中获得正确的输出

Lake, David A. (2010/11),为讨价还价理论欢呼:评估对伊拉克战争的理性主义解释,国际安全,35(3),7-52。

但是,文中的引用标注是错误的:应为 (Lake, 1011),而不是 (Lake, 2010/11)

问题似乎是年份截断所以我改变了以下行

年份字段.or.null purify$ #-1 #4 子字符串$

年份字段.or.null purify$ #-1 #14 子字符串$

现在我在文本中得到以下输出:(Lake,201011)——缺少斜线(/)。

为什么?

答案1

假设字段中没有真正奇怪的字符year,即,如果字段仅包含数字和偶尔出现的/(“斜线”)字符,则只需更改行即可

year field.or.null purify$ #-1 #4 substring$

在文件apalike.bst

year field.or.null #-1 #14 substring$

实际上,你应该把这个改变变成复制文件apalike.bst;不要直接编辑 TeX 发行版的原始文件。

主要变化是取消了 BibTeX 内置函数purify$。(您可能已经猜到了,该函数purify$会清除字段中的所有非数字字符。在本例中,这被证明是好事多磨。)

将文件myapalike.bst(或您可能命名的文件)保存在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果您选择第二种方法,请确保适当更新 TeX 发行版的文件名数据库。

这是完整 MWE 的结果。(请注意,您应该将“伊拉克战争”括在一对额外的花括号中,以防止 BibTeX 将字母“I”和“W”小写。)

在此处输入图片描述

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{Lake201011,
Author = {Lake, David A.},
Journal = {International Security},
Number = {3},
Pages = {7-52},
Title = {Two Cheers for Bargaining Theory: Assessing Rationalist Explanations of the {Iraq War}},
Volume = {35},
Year = {2010/11},
}
\end{filecontents*}
\usepackage{natbib}
\bibliographystyle{myapalike}
\begin{document}
\citep{Lake201011}
\bibliography{\jobname}
\end{document}

相关内容