
Ich verwende eine modifizierte Version von apalike2.
Im Moment sieht die Ausgabe folgendermaßen aus:
Oneal, John R., Russett, Bruce und Berbaum, Michael L. (2003), Ursachen des Friedens: Demokratie, Interdependenz und internationale Organisationen, 1885-1992,Vierteljahresschrift für Internationale Studien, 47(1), 371–393.
Ich möchte es allerdings so haben:
Oneal, John R., Bruce Russett und Michael L. Berbaum (2003), Ursachen des Friedens: Demokratie, Interdependenz und internationale Organisationen, 1885-1992,Vierteljahresschrift für Internationale Studien, 47(1), 371–393.
Wie ändere ich in diesem Sonderfall die Reihenfolge vv/ll/jj/ff für den zweiten und dritten (usw.) Autor?
Hier ist die Funktion format.names:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := % last name first
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " \& " * t * } % changed from " and " for names -- BJR 10/5/89
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Antwort1
Ich schlage vor, dass Sie (i) eine Kopie von erstellen apalike2.bst
und die Kopie (sagen wir) benennen myapalike2.bst
und (ii) die gesamte names.format
Funktion durch den folgenden Code ersetzen:
FUNCTION {format.names}
{ duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
duplicate$ #1 >
{ "{ff~}{vv~}{ll}{, jj}" }
{ "{vv~}{ll}{, jj}{, ff}" }
if$
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$
} if$
}
Die vollständigen Details des neuen Codes sind mühsam zu erklären, aber der Hauptunterschied besteht darin, dass die einzelne Zeile
s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
in der alten Funktion wurde ersetzt durch
{ namesleft #0 > }
{ s nameptr
duplicate$ #1 >
{ "{ff~}{vv~}{ll}{, jj}" }
{ "{vv~}{ll}{, jj}{, ff}" }
if$
format.name$
't :=
Das Ergebnis ist, dass zwei verschiedene Formatierungsregeln bereitgestellt werden, je nachdem, ob der Name des allerersten Autors oder der Name eines späteren Autors formatiert wird.
Speichern Sie die Datei myapalike2.bst
entweder im selben Verzeichnis wie Ihre Haupt-Tex-Datei oder in einem Verzeichnis, das von BibTeX durchsucht wird. Wenn Sie sich für die zweite Methode entscheiden, aktualisieren Sie unbedingt die Dateinamendatenbank Ihrer TeX-Distribution entsprechend.
Beginnen Sie mit der Verwendung des neuen Bibliografiestils, indem Sie die Anweisung eingeben \bibliographystyle{myapalike2}
. Führen Sie LaTeX, BibTeX und LaTeX unbedingt noch zweimal aus, damit alle Änderungen vollständig übernommen werden.
Viel Spaß beim BibTeXen!
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{oneal:2003,
author = "Oneal, John R. and Russett, Bruce and Berbaum, Michael L.",
year = 2003,
title = "Causes of Peace: {Democracy}, Interdependence, and International Organizations, 1885--1992",
journal = "International Studies Quarterly",
volume = 47,
number = 1,
pages = "371-393",
}
\end{filecontents*}
\usepackage{natbib} % citation management package
\begin{document}
\cite{oneal:2003}
\bibliographystyle{myapalike2} % the new bibliography style
\bibliography{\jobname}
\end{document}