删除参考书目中作者之间的“和”

删除参考书目中作者之间的“和”

我想删除参考书目中作者之间的“和”。目前,我列出的作者是author1, author2, and author3author1 and author2

期望输出:author1, author2, author3author1, author

这是我第一次使用 Latex,因此我相信此链接很有帮助,但我一直无法实现它。由于这也是我关于 Latex 的第一篇文章,因此我也愿意听取关于如何发布更具信息量的问题的反馈!

代码如下:

\documentclass[12pt]{article}
% --------------- 10 POINT FONT FOR CAPTIONS ------------------
\usepackage[font=footnotesize, skip=0pt]{caption}
% --------------- NY TIMES FONT -------------------------------
\usepackage{times}
% --------------- CITATIONS -------------------------------
\usepackage[super,sort&compress]{natbib}

\usepackage{paralist}
\let\olditem\item
\renewenvironment{thebibliography}[1]{%
  \section*{\refname}
  \let\par\relax\let\newblock\relax
  \renewcommand{\item}[1][]{\olditem}%
  \inparaenum}{\endinparaenum}

\begin{document}

\fontsize{11pt}{11pt}\selectfont
\bibliographystyle{unsrtnat}
\bibliography{refs}

\end{document}

并引用示例:

@article{boyd2011cultural,
  author="Boyd and Richerson and Henrich",
  journal={Proc. Natl. Acad. Sci.},
  year={2011},
  publisher={National Acad Sciences}
}

答案1

由于您使用的是unsrtnat参考书目样式,我建议您按如下方式进行。

  • 在你的 TeX 发行版中找到该文件unsrtnat.bst,复制一份,并将副本命名为 。unsrtnat-noand.bst(不要直接编辑 TeX 发行版中未重命名的原始文件。)

  • 在文本编辑器中打开文件unsrtnat-noand.bst。你用来编辑 tex 文件的程序就可以了。

  • 在 中unsrtnat-noand.bst找到函数format.names。在我的文件副本中,该函数从第 216 行开始。

  • 在此函数中,找到以下行(可能是 l.228):

                    'skip$
    

    将其更改为

                     { "," * }
    
  • 仍在此函数中,找到以下行(可能是 l.232):

                     { " and " * t * }
    

    将其更改为

                     { " " * t * } 
    

    即删除and,但在第一个字符串中留下一个空格。

  • 将文件保存unsrtnat-noand.bst在主 tex 文件所在的文件夹中,或保存在 BibTeX 搜索的文件夹中。如果选择第二个选项,请确保适当更新 TeX 发行版的文件名数据库。

  • 在您的主 tex 文件中,将指令更改\bibliographystyle{unsrtnat}\bibliographystyle{unsrtnat-noand}并执行完整的重新编译循环 - latex、bibtex 和 latex 两次以上 - 以完全传播 bib 样式文件中的更改。


这是一个 MWE(最小工作示例),演示了此练习的结果。

在此处输入图片描述

\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
   @misc{ab,author="A and B",title="Thoughts",year=3002}
   @misc{abc,author="A and B and C",title="Thoughts",year=3003}
   @article{boyd2011cultural,
      author="Boyd and Richerson and Henrich",
      journal={Proc.\ Natl.\ Acad.\ Sci.},
      year={2011},
      publisher={National Acad Sciences}
   }
\end{filecontents}

\usepackage[super,sort&compress]{natbib}
\bibliographystyle{unsrtnat-noand}

\begin{document}
aaa\cite{ab}, bbb\cite{abc}, ccc\cite{boyd2011cultural}
\bibliography{mybib}
\end{document}

答案2

and意思是说bibliography engine那些是不同的作者。你以示例为例来说明\setcitestyle{authoryear,open={((},close={))}}

\usepackage[super,sort&compress]{natbib}
\bibliographystyle{unsrtnat}
\setcitestyle{none,open={((},close={))}}

and要从参考书目编辑单词,请尝试使用\renewcommand{\harvardand}{,}\renewcommand{\betweenauthors}{,}

更多详情natbib可阅读手动的或者参考

相关内容