如何使用“/”(斜线)而不是逗号分隔作者姓名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}