定制哈佛书目样式 apsr

定制哈佛书目样式 apsr

apsr 风格几乎就是我所需要的,以符合我们完全独特的哈佛风格大学参考要求。我需要进行以下自定义:

为了显示作者,apsr 的指定格式是

FUNCTION {format.authors}
{ author empty$
    { "" }
    { author #1 "{vv~}{ll}{, jj}{, f}" format.name$           
      "{ff }{vv~}{ll}{, jj}" author format.rem.names
    }
  if$
}

我需要所有作者都遵循“{vv~}{ll}{, jj}{, f}”的风格。当我尝试将该行更改为时,"{ff }{vv~}{ll}{, jj}" author format.rem.names没有"{vv~}{ll}{, jj}{, f}" author format.rem.names得到任何变化 :( 。我是否也应该更改另一个函数?

bibtex 示例:

    @article{wang2015cyber
,   author  = {Wang, Lihui and T\"orngren, Martin and Onori, Mauro}
,   title   = {Current status and advancement of cyber-physical systems in manufacturing}
,   journal = {Journal of Manufacturing Systems}
,   year    = {2015}
,   publisher   = {Elsevier}
}

输出 在此处输入图片描述

我想要它:

WANG, L., TORNGEREN M. 和 ONORI M. 2015. 等...

我是新来的,而且似乎我大学里唯一一个使用 latex 的人,每个人都在使用 MS WORD。我正在尝试为研究生建立一个模板。

这是原文的链接 apsr.bst

答案1

许可证apsr.bst要求

如果您确实做出了更改,请将其命名为 btxbst.doc、plain.bst、unsrt.bst、alpha.bst、abbrv.bst、agsm.bst、dcu.bst 或 kluwer.bst、jmr.bst、apsr.bst 以外的其他名称。

此限制有助于确保所有标准样式相同。

因此,如果您打算更改它,则应将文件重命名为其他名称。按照您的建议,我们将其命名为apsrTUT.bst

我复制了原始文件并将其重命名为(在类 UNIX 环境中):

cp `kpsewhich apsr.bst` apsrTUT.bst

kpsewhich在 texlive 树中找到该文件,这样我就不必寻找它;它实际上位于$TEXDIR/texmf-dist/bibtex/bst/harvard/apsr.bst

然后我应用了你提到的更改;以下是diff原始更改apsr.bst与新更改的比较apsrTUT.bst

201c201
<       "{ff }{vv~}{ll}{, jj}" author format.rem.names
---
>       "{vv~}{ll}{, jj}{, f}" author format.rem.names

然后我们必须将新的样式文件传递给bibliographystyle文件中的调用

\bibliographystyle{apsrTUT}

如果您已完成此操作但仍然不起作用,请确保在再次编译文档之前删除外部辅助文件(,,,).aux.bbl.blg.log


这是一个 MWE(包含您在评论中提到的软件包):

此处使用的环境filecontents允许在文档中传送外部文件(此处为书目数据库\jobname.bib)。此处仅用于提供完全可编译的示例。

\begin{filecontents}{\jobname.bib}
  @article{wang2015cyber,
    author = {Wang, Lihui and T\"orngren, Martin and Onori, Mauro},
    title = {Current status and advancement of cyber-physical systems in manufacturing},
    journal = {Journal of Manufacturing Systems},
    year = {2015},
    publisher = {Elsevier},
  }
\end{filecontents}
\documentclass{article}
\usepackage{natbib}
\usepackage{har2nat}
\begin{document}
\cite{wang2015cyber}
\bibliographystyle{apsrTUT}
\bibliography{\jobname.bib}
\end{document}

输出结果如下:

mwe 样本

相关内容