我正在尝试使用 生成参考书目bibtex
。我的问题是关键字and
没有生成到逗号。我还想将名字放在姓氏后面。(我使用 Gummi 作为 LaTeX 编辑器)。
文档:
\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage{polski}
\usepackage[polish]{babel}
\usepackage[T1]{fontenc}
\usepackage{tgtermes}
\usepackage{sectsty}
\usepackage{datetime}
\usepackage[a4paper, left=25mm, right=25mm, top=25mm, bottom=25mm]{geometry}
\usepackage{lipsum}
\selectlanguage{polish}
\title{\textbf{Title}}
\author{Author}
\date{\today}
\begin{document}
\bibliographystyle{plain}
\maketitle
\begin{abstract}
\lipsum[1-3]
\end{abstract}
\tableofcontents
\lipsum
\cite{programowanie}
\bibliography{praca-dyplomowa.bib}
\end{document}
BibTeX:
@Book{programowanie,
author = "Van Roy, P. and Haridi, S.",
title = "Programowanie. Koncepcje, techniki i modele",
publisher = "Wydawnictwo Helion",
year = "2005",
address = "Gliwice"
}
答案1
定制标准的书目样式并不容易。通常你必须修改 bst 文件的代码。这种特殊语言在在线文档中有简短的介绍驯服野兽也可以通过 viatexdoc
获得。除了下面的解决方案,我推荐biblatex
更灵活的包。标准样式也有贡献 如何使用 biblatex 尽可能地模拟传统的 BibTeX 样式(plain、abbrv、unsrt、alpha)?
我会尽快改进风格
plain
您正在使用文件中定义的样式plain.bst
。可以通过终端命令找到文件的位置kpsewhich plain.bst
。在我的情况下,它是:
/usr/local/texlive/2012/texmf-dist/bibtex/bst/base/plain.bst
永远不要碰原始文件。所以我们需要plain.bst
在工作目录中复制一份。我将其命名为myplain.bst
。现在我们可以编辑该文件。找到该函数FUNCTION {format.names}
并用以下代码替换它:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ll}{, jj}{, ff}{~vv}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ ",~" * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
在您的文档中您必须使用\bibliographystyle{myplain}
并且您将获得输出: