Wie zitiere ich Autoren in Kapitälchen mit \citet?

Wie zitiere ich Autoren in Kapitälchen mit \citet?

ich folgteNatbib-Referenzblattund \citetfunktioniert wie erwartet. Ich möchte, dass der Name des Autors in Kapitälchen erscheint, wie kann ich das machen?

Ich denke, ich sollte Folgendes tun:

Definieren Sie \citenumfontes als Schriftartdeklaration oder -befehl wie \itshapeoder [...] \textit.

aber ich habe keine Ahnung, was es bedeutet.

Bevor Sie die Antwort von Lockstep positiv bewerten: es funktioniert nicht, der Name des Autors ist nicht in Kapitälchen geschrieben, der Befehl „renew“ hat keine Wirkung. Sein Beispielcode lässt sich in seiner jetzigen Form nicht kompilieren.

AKTUALISIEREN:Hier ist ein minimal funktionierendes Beispiel.

smallcap.tex

\documentclass[fleqn]{article}
\usepackage[numbers]{natbib}
\makeatletter
%\renewcommand*{\NAT@nmfmt}[1]{\textsc{#1}}
\def\NAT@nmfmt#1{\textsc{#1}}
\makeatother
\begin{document}
As mentioned in \citet{Biegler97}~\dots
\bibliographystyle{plainnat}
\bibliography{dummy}
\end{document}

dummy.bib

@BOOK{biegler97,
  AUTHOR = {Lorenz T. Biegler and Ignacio E. Grossmann and Arthur W. Westerberg},
  TITLE = {Systematic Methods of Chemical Process Design},
  YEAR = {1997},
  PUBLISHER = {Prentice Hall PTR, Upper Saddle River, NJ}
}

Antwort1

Mit der numbersOption Patch wird das Ganze etwas komplizierter:

\usepackage{etoolbox}
\makeatletter
\patchcmd{\NAT@test}{\else\NAT@nm}{\else\NAT@nmfmt{\NAT@nm}}{}{}
\let\NAT@up\scshape
\makeatother

ScheinbarAbonnierenDer Autor vergaß, \NAT@nmfmtan der entsprechenden Stelle zu beantragen\NAT@test

Um et al.in Antiqua-Schrift zu gelangen,

\usepackage{etoolbox,xstring}
\makeatletter
\patchcmd{\NAT@test}{\else\NAT@nm}{\else\NAT@nmfmt{\NAT@nm}}{}{}
\renewcommand{\NAT@nmfmt}{\expandafter\aliNAT@nmfmt\expandafter}
\newcommand\aliNAT@nmfmt[1]{{%
  \noexpandarg
  \def~{}%
  \edef\temp#1\edef\temp{\detokenize\expandafter{\temp}}%
  \begingroup\edef\x{\endgroup
    \noexpand\StrSubstitute{\temp}{\detokenize{etal}}}\x
    {\textnormal{et\nobreakspace al}}[\tempa]%
  \textsc{\tempa}}}
\makeatother

Antwort2

Autoren in Kapitälchen zu zitieren istnichtEs ist nicht notwendig, eine neue Datei zu erstellen .bst- definieren Sie stattdessen das \NAT@nmfmtMakro neu, das für die Formatierung des Autorennamens verantwortlich ist. (SieheDasAntwort für andere Anwendungsgebiete für \NAT@nmfmt.)

\documentclass{article}

\usepackage{natbib}

\makeatletter
\renewcommand*{\NAT@nmfmt}[1]{\textsc{#1}}
\makeatother

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journal = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\begin{document}

As mentioned in \citet[99]{Bli74}~\dots

\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

Bildbeschreibung hier eingeben

Antwort3

Von Seite 15 des natbibHandbuchs:

Numerische Zitate können in einer anderen Schriftart gedruckt werden. Definieren Sie es \citenumfontals eine Schriftartdeklaration wie \itshapeoder sogar als einen Befehl mit Argumenten wie \textit.[Der Befehl] \renewcommand{\citenumfont}[1]{\textit{#1}}... ist besser als \itshape, da er automatisch eine Kursivkorrektur hinzufügt.

Daher \citenumfonthat die Änderung keinen Einfluss auf die Schriftart, die LaTeX für den Satz der Autorennamen in Zitaten oder der Bibliographie verwendet. Dazu müssen Sie eine Bibliographie-Stildatei (Erweiterung .bst) erstellen, wahrscheinlich von Grund auf neu. Sehen Sie sich die Datei anmakebst.tex(übrigens vom Autor des natbibPakets erstellt). Es kann entweder unter TeX oder LaTeX ausgeführt werden. Wenn Sie es ausführen, werden Ihnen viele Fragen (mit vordefinierten Antwortmöglichkeiten) zum gewünschten Bibliografiestil gestellt – darunter auch einige zu speziellen Schriftarten für Autorennamen – und anschließend wird eine .bst-Datei mit diesen Informationen erstellt.

Nachtrag: Wie @lockstep in seiner Antwort und in einem Kommentar zu meiner Antwort bemerkt, wenn Sie nur Kapitälchen für die Namen der Autoren/Herausgeber verwenden wollen inZitateist es nicht unbedingt notwendig, eine neue .bstDatei zu erstellen: man könnte stattdessen das \NAT@nmfmtMakro neu definieren. Sie müssen jedoch trotzdem eine neue .bst-Datei erstellen, wenn Sie möchten, dass die Namen der Autoren und Herausgeber in Kapitälchen gesetzt werden.Bibliographiesowie --PlusSie müssen daran denken, Anweisungen einzufügen wie

\makeatletter
\def\NAT@nmfmt#1{\textsc{#1}}
\makeatother

von nun an in der Präambel jedes Dokuments, das Sie schreiben und das dieses Zitatformat verwendet. Sie können dem makebst.texProgramm diese Präferenz auch einfach mitteilen und damit wäre die Sache ein für alle Mal erledigt, oder?

verwandte Informationen