Entfernen Sie das Leerzeichen in der Referenz in „et al.“

Entfernen Sie das Leerzeichen in der Referenz in „et al.“

Ich verwende Sharelatex für meine Abschlussarbeit und möchte das natbibPaket und authordate3den Stil für meine Bibliografie verwenden. Aus irgendeinem Grund erscheint beim Verweisen auf einen Bibliografieeintrag mit mehreren Autoren ein Leerzeichen zwischen „et al.“ und dem Jahr.

Hier ist ein Minimalbeispiel:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\bibliographystyle{authordate3} 

\begin{filecontents}{biblio.bib}
@book{jon99,
    author          = "Tom Jones and
                        Jack Smith and
                        John Doe",
    title           = "Wonderful Book",
    year            = "1999"
}
\end{filecontents}

\begin{document}
\citep{jon99}

\bibliography{biblio.bib}

\end{document}

In Sharelatex ergibt dies:

hässlicher Raum

Nun habe ich mich umgesehen, aber die einzige Lösung, die zu funktionieren scheint, ist die Manipulation der authordate3.bstDatei (wie vorgeschlagenHier), auf das ich offensichtlich keinen Zugriff habe, da ich LaTeX nicht auf meinem Computer installiert habe.

Ich habe auch versucht, die Zeichensetzung zwischen Autor und Jahr durch \unskipdie Verwendung von zu ändern \setcitestyle{aysep={\unskip,}}, aber das hat leider nicht funktioniert. Durch einfaches Hinzufügen eines Leerzeichens (z. B. durch die Verwendung von \setcitestyle{aysep={\kern-ex1,}}) wird der Abstand bei Mehrfachverweisen korrigiert, bei Einzelverweisen wird das Komma jedoch über den Namen des Autors gesetzt.

Antwort1

Dies ist eine Art selbstgemachte Lösung, aber ich habe die authordate3.bstDatei in meinem Texteditor geöffnet und die drei Vorkommen von {\em et~al.\ }durch ersetzt {\em et~al.}. Meins authordate3.bstbefand sich hier /usr/local/texlive/2014/texmf-dist/bibtex/bst/beebe/authordate3.bst.

Nachdem ich das getan hatte, habe ich Ihren Code erneut ausgeführt und alles war in Ordnung (vielleicht habe ich ein schreckliches Problem verursacht, von dem ich nichts weiß?).

Das folgende Beispiel wurde mit dem oben bereitgestellten Code von Martim erstellt.

gleicher Code wie oben!

verwandte Informationen