我的文本是德语的,但我使用了这种风格alpha
,并不是alphadin
因为我不喜欢后者的大写和词序。我唯一遇到的问题alpha
是它用“and”分隔名称:
[AZ10] Martin Aigner 和 Günter M. Ziegler。谎言之书。Springer,柏林,海德堡,2010 年。
我希望它用逗号分隔。
我的代码(以防万一相关):
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{Aigner2010,
AUTHOR = {Martin Aigner and G{\"u}nter M. Ziegler},
YEAR = {2010},
TITLE = {Das Buch der Beweise},
ISBN = {978-3-642-02259-3},
PUBLISHER = {Springer},
ADDRESS = {Berlin, Heidelberg},
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{alpha}
\bibliography{\jobname}
\end{document}
答案1
如果您想坚持使用 BibTeX,那么创建一个能够实现您的目标的文件的修改形式并不太困难alpha.bst
。
在您的 TeX 发行版中找到该文件
alpha.bst
。复制此文件并将其命名为alphacomma.bst
。(不要直接从 TeX 发行版编辑文件。)alphacomma.bst
在文本编辑器中打开该文件。查找字符串 的两个实例
" and "
。一个实例(最有可能)位于函数 的第 203 行format.names
,另一个位于函数 的第 482 行format.crossref.editor
。" and "
将的两个实例替换为", "
。注意逗号后面的空格。在函数的
format.names
第 198 行左右,找到以下行{ "," * }
(此行紧接着包含代码的行
{ numnames #2 >
。)将此行更改为
{ "" * }
如果您好奇的话:在 的原始版本中
alpha.bst
,如果一个条目有三位或更多作者,则在最后一位作者前插入一个逗号。由于我们现在使用,
逗号作为全部作者,不再需要在最后一位作者前插入逗号。将文件保存
alphacomma.bst
在主文件所在的目录/文件夹中.tex
,或保存在 BibTeX 搜索的目录/文件夹中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。按照说明开始使用新的书目文件
\bibliographystyle{alphacomma}
。再运行 LaTeX、BibTeX 和 LaTeX 两次以传播所有更改。
祝您 BibTeX 愉快!
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%%\usepackage[alpha]{natbib} % 'natbib' not really useful with alpha style
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOK{Aigner2010,
AUTHOR = {Martin Aigner and G{\"u}nter M. Ziegler},
YEAR = {2010},
TITLE = {Das Buch der Beweise},
ISBN = {978-3-642-02259-3},
PUBLISHER = {Springer},
ADDRESS = {Berlin, Heidelberg},
}
\end{filecontents*}
\begin{document}
\cite{Aigner2010}
\bibliographystyle{alphacomma}
\bibliography{\jobname}
\end{document}
答案2
以下是使用 的解决方案biblatex
。(如果您不想打印 ISBN,请biblatex
使用选项加载isbn=false
。)
\begin{filecontents*}{\jobname.bib}
@book{Aigner2010,
author = {Martin Aigner and G{\"u}nter M. Ziegler},
year = {2010},
title = {Das Buch der Beweise},
isbn = {978-3-642-02259-3},
publisher = {Springer},
address = {Berlin, Heidelberg},
}
\end{filecontents*}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[
backend=biber,
style=alphabetic,
%natbib=true, % not needed here but FYI
]{biblatex}
\renewcommand*{\finalnamedelim}{\addcomma\addspace}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}