apalike 中的第一个名字后面的第一个作者

apalike 中的第一个名字后面的第一个作者

我使用apalike修改来显示参考文献中的名字。此版本运行良好,但我想先找到第一个作者之后的所有作者的名字。例如,我想在参考文献中使用Doe, John and Jane Doe而不是Doe, John and Doe, Jane。我可以更改apalike第二和第三作者的命名顺序吗?这是 MWE。

\documentclass{article}
\begin{document}
\bibliographystyle{apalike}
\cite{asdf}
\bibliography{asdf}
\end{document}

asdf.bib包含如下信息。

@article{asdf,
    title={asdf},
    author={Doe, John and Doe, Jane},
    journal={asdf},
    volume={1},
    number={1},
    pages={1--2},
    year={1111}
}

答案1

修改后的文件中要更改的相关函数.bst是函数

FUNCTION {format.names}

位于原始.bst文件的第 209 行。在您修改的版本中,您可能会看到以下格式方案,即把全名放在第一位,放在最后。

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

将其更改为:

s nameptr 
    duplicate$ #1 > 
        { "{ff~}{vv~}{ll}{, jj}" }
        { "{vv~}{ll}{, jj}{, ff}" }
    if$
    format.name$ 't :=   % last name first

它将把所有非首字母名字的全名放在第一位。

与对.bst文件的任何修改一样,请确保重命名它并在原始文件的副本上进行操作(从您的问题中我假设您已经在这样做了。)

这是包含更改后的文件的示例文档.bst

\documentclass{article}
\begin{filecontents}{\jobname.bib}

@article{BerwickPietroskiYankama2011,
    Author = {Robert Berwick and Paul Pietroski and Beracah Yankama and Noam Chomsky},
    Journal = {Cognitive Science},
    Pages = {1207-1242},
    Title = {Poverty of the stimulus revisited},
    Volume = {35},
    Year = {2011}}

@article{Chomsky1977,
    Author = {Noam Chomsky and Howard Lasnik},
    Journal = {Linguistic Inquiry},
    Pages = {425-504},
    Title = {Filters and Control},
    Volume = {8},
    Year = {1977}}

@article{HauserChomskyFitch2002,
    Author = {Hauser, Marc and Chomsky, Noam and Fitch, W. Tecumseh},
    Journal = {Science},
    Number = {5598},
    Pages = {1569--1579},
    Title = {The Faculty of Language: What Is It, Who Has It, and How Did It Evolve?},
    Volume = {298},
    Year = {2002}}
\end{filecontents}

\usepackage{natbib}
\bibliographystyle{apalike-lastname}
\begin{document}
\cite{BerwickPietroskiYankama2011,Chomsky1977,HauserChomskyFitch2002}
\bibliography{\jobname}
\end{document}

代码输出

相关内容