需要 BiBTeX 样式(设置)

需要 BiBTeX 样式(设置)

现在我正在努力写这本书,所以没有足够的时间深入研究技术细节。

简而言之:对于参考书目,我使用纳特比布使用选项 [square,numbers,longnamesfirst],除了引用列表的视图外,它按我想要的方式工作。我希望使引用看起来像:

  1. 第一作者 AB、第二作者 AB、[...]、最后作者 AB来源描述

也就是说,列出所有作者时不应使用“and”、“&”、“et al.”等类似词语,且作者姓名后不应有首字母缩写。

答案1

我认为你对plainnat书目样式格式化书目项目的方式感到满意除了列出作者姓名的方式。我猜你想列出姓氏首字母和中间字母,姓氏和相关首字母之间没有逗号,有逗号(但没有“和”连词)之间作者。

如果这个理解正确的话,我建议你按如下方式进行:

  • 在您的 TeX 发行版中找到该文件plainnat.bst。复制此文件并将副本命名为 。plainnat-mod.bst(不要直接从您的 TeX 发行版编辑原始文件。

  • 在文本编辑器中打开该文件plainnat-mod.bst。找到名为 的函数format.names。(它在我的文件副本中从第 216 行开始。)

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

        { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
    

    将此行更改为

        { s nameptr "{vv~}{ll}{, jj}{ f.}" format.name$ 't :=
    

    您大概可以猜到,这ff代表“完整名字”,而这f.代表“截断名字并附加句点(又名“句号”)。

  • 在 bst 文件中往下几行,找到以下一组行:

             { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " and " * t * }
              if$
    

    删除第一块四条指令,即将前一组改为

            { t "others" =
                { " et~al." * }
                { ", " * t * }
              if$
    
  • 将文件保存plainnat-mod.bst在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,您还应该适当更新 TeX 发行版的文件名数据库。

  • 在您的主 tex 文件中,将指令更改\bibliographystyle{plainnat}\bibliographystyle{plainnat-mod}。请务必重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。

祝您 BibTeX 愉快!


MWE(最小工作示例):

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{abc, 
  author = "Anna X. Author and Bertha Y. Buthor and Carla Z. Cuthor",
  title  = "Thoughts",
  journal= "Circularity Today",
  year   = 3000,
  volume = 1,
  number = 2,
  pages  = "3-4",
}
@article{ab, 
  author = "Anna X. Author and Bertha Y. Buthor",
  title  = "Deep Thoughts",
  journal= "Circularity Today",
  year   = 3005,
  volume = 6,
  number = 7,
  pages  = "8-9",
}
@article{a, 
  author = "Anna X. Author",
  title  = "Final Thoughts",
  journal= "Circularity Today",
  year   = 3010,
  volume = 11,
  number = 12,
  pages  = "13-14",
}
\end{filecontents}

\documentclass{article}
\usepackage[square,numbers]{natbib}
\bibliographystyle{plainnat-mod}

\begin{document}
\cite{a} \cite{ab} \cite{abc}
\bibliography{mybib}
\end{document}

相关内容