使用 natbib(在 LaTeX 中)将作者姓名用 /(斜线)而不是逗号分隔

使用 natbib(在 LaTeX 中)将作者姓名用 /(斜线)而不是逗号分隔

如何使用“/”(斜线)而不是逗号分隔作者姓名natbib(在 LaTeX 中)?我的问题与引文(在脚注中)以及参考书目有关。我必须在\setcitestyle或中配置它吗\bibpunct

理解的一个例子:就像现在这样:

姓氏 1、姓氏 2 和姓氏 3(年份),第 XY 页

应该是:

姓氏 1 / 姓氏 2 / 姓氏 3 (年份),第 XY 页

% Begin preamble
\documentclass[12pt, a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[english, german]{babel}
\usepackage[textwidth = 160mm, top = 25mm, bottom = 20mm]{geometry}
\usepackage[round]{natbib}
\bibliographystyle{abbrvnat}


\title{Some Thesis}
\author{Onyx}
\date{March 2019}
% End preamble 
\begin{document}
%\tableofcontents
\begin{titlepage}
\maketitle
\end{titlepage}
% Plots the preamble
%\citep or \citet* for citation


\input{chapters/abstract}

\bibliographystyle{plainnat}
\bibliography{sources}

\end{document}

答案1

如果您想使用/(“斜线”)符号作为格式化参考书目中使用的名称分隔符,我建议您按以下步骤操作:

  • 在您的 TeX 发行版中找到该文件plainnat.bst。复制此文件并将副本命名为plainnat-slash.bst

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

  • 在文件中plainnat-slash.bst找到函数format.names。(在我的此文件副本中,该函数从第 216 行开始。)

  • 在函数中format.names,更改行

               { ", " * t * }
    

               { "\slash " * t * }
    

    接下来,更改行

                  { "," * }
    

                  { "\slash " * }
    

    你可能想知道为什么我不建议将这一行改为

                 { "/" * }
    

    原因是 之后允许换行\slash,但 之后不允许/

    最后,改变线条

                   { " et~al." * }
                   { " and " * t * }
    

                   { "et~al." * }
                   { "" * t * }
    
  • 将文件保存plainnat-slash.bst在主 tex 文件所在的文件夹中,或保存在 TeX 发行版搜索到的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。

  • 在你的主 tex 文件中,更改指令

    \bibliographystyle{plainnat}
    

    \bibliographystyle{plainnat-slash}
    

    在你这样做的同时,你还应该删除以下行

    \bibliographystyle{abbrvnat}
    
  • 更改参数后,请务必再重新运行 LaTeX、BibTeX 和 LaTeX 两次\bibliographystyle

祝您 BibTeX 愉快!

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{sources.bib}
@misc{lll,  
    author = "First1 M1. Last1 and First2 M2. Last2 and First3 M3. Last3",
    title  = "Thoughts",
    year   = 2019,
}
\end{filecontents}

\documentclass[12pt, a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[english, german]{babel}
\usepackage[textwidth = 160mm, top = 25mm, bottom = 20mm]{geometry}
\usepackage[round]{natbib}
%\bibliographystyle{abbrvnat} % Never allow more than one \bibliographystyle directive
\bibliographystyle{plainnat-slash}

\begin{document}
\citet{lll}
\bibliography{sourcesx}
\end{document}

答案2

我建议biblatex像这样与 Biber 一起使用:

\usepackage[
backend=biber,
style=authoryear,
sorting=ynt,
dashed=true, 
maxbibnames=99,
maxcitenames=3
]{biblatex}
\addbibresource{test.bib}

\DeclareDelimFormat{multinamedelim}{\space\slash\space}

相关内容