Problem mit natbibapa und \shortcite

Problem mit natbibapa und \shortcite
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\documentclass{article}
\usepackage[natbibapa]{apacite}
\begin{document}
\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{mybib}
\end{document} 

In meiner Abschlussarbeit muss ich den Namen und das Jahr der Autoren zitieren, also verwende ich natbib. Bei mehr als zwei Autoren möchte ich jedoch, dass nur der Vorname gefolgt von et.al. angezeigt wird. Da ich jedoch natbib verwende, kann \shortcite nicht verwendet werden. Gibt es andere Möglichkeiten, dieses Problem zu lösen?

Antwort1

Die Aussage,

Ich muss den Namen und das Jahr der Autoren angeben, also verwende ich [die Option natbibapa].

enthält einunlogisch: Man kann leicht Zitationshinweise im Autor-Jahr-Stil erstellenohneAngabe der natbibapaOption. Verwenden Sie einfach \citeAanstelle von \citetund \citeanstelle von . Weitere Informationen \citepfinden Sie im Abschnitt 4.1 „Die ‚klassischen‘ Apacite-Befehle“ des Benutzerhandbuchs des Pakets.apacite

Mit diesem Setup ist die Verwendung von \shortciteAund \shortcitezum Generieren von Zitationshinweisen im Text- und Klammerstil mit gekürzten Autorenlisten überhaupt kein Problem.


Bildbeschreibung hier eingeben

\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\usepackage{apacite}
\bibliographystyle{apacite}

\begin{document}
\shortciteA{c} says something.
\bibliography{mybib}
\end{document}

Antwort2

Eine Besonderheit des APA-Stils (6. Auflage, die ihn apaciteumsetzt) ​​besteht darin, dass Listen mit drei bis fünf Autoren bei der ersten Zitierung vollständig angegeben werden und in nachfolgenden Zitierungen nur als erster Autor + „et al.“.

Für einmalige Vorkommnisse apacitewerden Befehle zum Überschreiben definiert, wie z . B. \shortcite.


apaciteWenn Sie mit verwenden, natbibapageben Sie apaciteeinen Teil der Kontrolle über die Zitierbefehle an ab. natbibDas bedeutet, dass einige der speziellen Zitierbefehle, die apacitenormalerweise definiert werden, nicht mehr verfügbar sind. Einer davon ist \shortcite.

DerapaciteDokumentationsagt (§4.2Verwendung natbibfür Zitate, S. 15)

Die vollständige Autorenliste erhalten Sie, indem Sie nach dem Befehl einen Stern hinzufügen, zum Beispiel \citet*{key}. Für die kurze Autorenliste gibt es keinen eigenen Befehl, sie kann aber mit der Konstruktion erhalten werden \shortcites{key}\citet{key}.

Eine Möglichkeit wäre also zu sagen:

\shortcites{c}\citet{c}

beim ersten Zitieren c. Nachfolgende Zitate werden ohnehin mit Erstautor + „et al.“ abgekürzt. Aber das ist natürlich extrem mühsam, fehleranfällig und fühlt sich insgesamt nicht richtig an.

Aber der Abschnitt aus dem apaciteHandbuch, den wir oben zitiert haben, enthält mehr Informationen

Mit der natbibapaOption werden mit den Optionen und apacitegeladen .natbiblongnamesfirstsort

Dank der Option erhalten wir also natbibapadie lange Autorenliste bei der ersten Zitierung longnamesfirst. Wenn wir diese Option deaktivieren können, sind wir wieder im Geschäft.

Leider natbibbietet keine Schnittstelle, um diese Option zu deaktivieren. Sobald natbibes geladen ist, longnamesfirstgibt es keine Möglichkeit, es wieder zu deaktivieren. Wir müssen also auf interne Befehle zurückgreifen. Die Option setzt einen internen Boolean-Wert namens NAT@longnamestrue, also setzen wir ihn auf false.

\documentclass{article}
\usepackage[natbibapa]{apacite}
\makeatletter
\NAT@longnamesfalse
\makeatother

\begin{filecontents}{\jobname.bib}
@article{c,
  author  = {Anne Author and Bert Buthor and Carla Cuthor},
  title   = {Final Thoughts},
  journal = {Circularity Today},
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = {11--12},
}
\end{filecontents}


\begin{document}
\citet{c} says something.

\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document} 

Autor et al. (3009) sagt etwas.//Autor et al. (3009) sagt etwas.


Wenn Sie nach der Antwort auf dasselbe Problem suchen, aber ohne die Option natbibapa(also mit apaciteclassic), war die einfachste Antwort, die ich finden konnte,

\let\cite\shortcite
\let\citeA\shortciteA
\let\citeNP\shortciteNP
\let\citeauthor\shortciteauthor
\let\citeauthorNP\shortciteauthorNP

\let\maskcite\maskshortcite
\let\maskciteA\maskshortciteA
\let\maskciteNP\maskshortciteNP
\let\maskciteauthor\maskshortciteauthor
\let\maskciteauthorNP\maskshortciteauthorNP

verwandte Informationen