如何使用 dcu 书目样式添加牛津/连续逗号?

如何使用 dcu 书目样式添加牛津/连续逗号?

我知道之前与我的问题相关的帖子数量,但我找不到适合我的情况的答案。

我的问题:我有一篇几乎完成的论文,使用了带有引文管理包和参考书目样式的puthesis模板的改编版本。参考书目(和文内引用)的所有内容看起来都很好,但有一件事除外:我无法在参考书目中作者超过两位的作品的最后一位作者前添加牛津/连续逗号。我尝试了不同版本的逗号,例如,但它们不断产生错误而不提供逗号。我该如何添加这些连续逗号?natbibdcu\AtBeginBibliography\AtBeginBibliography{\renewcommand\finalandcomma{}}

.bst我对 LaTeX 和使用 ShareLaTeX 写作还比较陌生,我认为这导致我无法在文件等的底层进行太多编辑(如果我错了,请纠正我)。

这是我的配置方式natbib

\usepackage{natbib}
\bibliographystyle{dcu}
\setcitestyle{authoryear,open={(},close={)}}

我的文档类似乎没有指定语言,并且添加该语言似乎没有提供逗号。但是,我不愿意改变这些事情,因为它可能会改变文档中的其他内容,而且这是我在完全完成之前需要修复的极少数事情之一,所以我自然不想造成混乱:

\documentclass[a4paper,hidelinks,12pt]{puthesis}

以下是两个条目的示例:

@article{RefWorks:55,   
author={Victor Lavy and M. D. Paserman and Analia Schlosser},   
year={2012},    
title={Inside the Black Box of Ability Peer Effects: Evidence 
   from Variation in the Proportion of Low Achievers in the Classroom}, 
journal={Economic Journal}, 
volume={122},   
number={559},   
pages={208-237}}

@book{RefWorks:128, 
editor={Michael O. Martin and Ina V. S. Mullis and Martin Hooper},  
year={2016},    
title={Methods and Procedures in {TIMSS} 2015}, 
publisher={TIMSS \& PIRLS International Study Center, 
           Lynch School of Education, Boston College},  
address={Chestnut Hill, MA}}

提前非常感谢您!

答案1

我建议您按如下方式进行。

  • 在您的 TeX 发行版中查找该文件dcu.bst。(如果您使用 ShareLaTeX 之类的东西,因此无法直接访问 TeX 发行版的文件,则应转到 CTAN 并找到该文件。您可能需要查看http://www.ctan.org/tex-archive/macros/latex/contrib/harvard/

  • 复制此文件并将副本命名为dcuox.bst。(不要直接编辑或以其他方式修改原始文件。)

  • 在文本编辑器中打开该文件dcuox.bst;您用于 tex 文件的编辑器就可以了。

  • 在文件中dcuox.bst找到函数format.names。(在我的文件副本中,该函数从第 171 行开始。)

  • 在此函数中,找到以下行:

            { t "others" =
    

    将此行更改为

            { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
    

    接下来,再往下几行,找到以下行:

            { ", \harvardand\ " * t * }
    

    将其更改为

            { " \harvardand\ " * t * }
    

    如果您好奇发生了什么:第一个代码块插入一个新测试,以检查条目中的名称数量是否大于 2;如果测试为真,则插入逗号。(如果作者数量为 1 或 2,则不执行任何操作。)在第二个代码块中,\harvardand删除了前面的逗号。这两项更改的最终结果是现在总是and只要条目有 2 位以上的作者,在结尾之前有一个逗号——“牛津逗号”:-) 。

  • 将文件保存dcuox.bst在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。由于您使用的是 ShareLaTeX,因此只有前一种选择可行。

  • 在您的主 tex 文件中,将指令更改\bibliographystyle{dcu}\bibliographystyle{dcuox}并执行完整的重新编译循环(latex-bibtex-latex-latex)。

祝您 BibTeX 愉快!

完整的 MWE:

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{ab,   
  author ={Anne Author and Brenda Buthor},   
  year   ={3001},    
  title  ={Thoughts}, 
  journal={Circularity Today}, 
  volume ={1},   
  number ={2},   
  pages  ={3-4},
}
@article{abc,   
  author ={Anne Author and Brenda Buthor and Carla Cuthor},   
  year   ={3005},    
  title  ={Further Thoughts}, 
  journal={Circularity Today}, 
  volume ={5},   
  number ={6},   
  pages  ={7-8},
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage{natbib}
\setcitestyle{authoryear,open={(},close={)}}
\bibliographystyle{dcuox}

\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}

相关内容