
ich folgteNatbib-Referenzblattund \citet
funktioniert 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
\citenumfont
es als Schriftartdeklaration oder -befehl wie\itshape
oder [...]\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 numbers
Option 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@nmfmt
an 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@nmfmt
Makro 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}
Antwort3
Von Seite 15 des natbib
Handbuchs:
Numerische Zitate können in einer anderen Schriftart gedruckt werden. Definieren Sie es
\citenumfont
als eine Schriftartdeklaration wie\itshape
oder 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 \citenumfont
hat 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 natbib
Pakets 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 .bst
Datei zu erstellen: man könnte stattdessen das \NAT@nmfmt
Makro 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.tex
Programm diese Präferenz auch einfach mitteilen und damit wäre die Sache ein für alle Mal erledigt, oder?