
SeguíHoja de referencia de Natbiby \citet
funciona como se esperaba. Me gustaría que el nombre del autor aparezca en versalitas, ¿cómo puedo hacerlo?
Supongo que debería hacer:
Defina
\citenumfont
como una declaración de fuente o un comando como\itshape
o [...]\textit
.
pero no tengo idea de lo que significa.
Antes de votar a favor de la respuesta de Lockstep: no funciona, el nombre del autor no está en minúscula, el comando de renovación no tiene ningún efecto. Su código de ejemplo no se compila como está ahora.
ACTUALIZAR:Aquí hay un ejemplo de trabajo mínimo.
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}
chupete.babero
@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}
}
Respuesta1
Con la numbers
opción el parche es un poco más complicado:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\NAT@test}{\else\NAT@nm}{\else\NAT@nmfmt{\NAT@nm}}{}{}
\let\NAT@up\scshape
\makeatother
AparentementenatbibEl autor olvidó presentar la solicitud \NAT@nmfmt
en el lugar correspondiente.\NAT@test
Para entrar et al.
en tipo romano,
\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
Respuesta2
Para citar autores en versalitas, esnonecesario crear un nuevo .bst
archivo; en su lugar, redefina la \NAT@nmfmt
macro que es responsable de formatear el nombre del autor. (Veresterespuesta para otras áreas de aplicación para \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}
Respuesta3
De la pág. 15 del natbib
manual:
Las citas numéricas pueden imprimirse en una fuente diferente. Definirlo
\citenumfont
como una declaración de fuente como\itshape
o incluso un comando que toma argumentos como\textit.
[El comando]\renewcommand{\citenumfont}[1]{\textit{#1}}
... es mejor\itshape
porque agrega automáticamente corrección en cursiva.
Por lo tanto, el cambio \citenumfont
no afectará la fuente utilizada por LaTeX para componer los nombres de los autores ni en las citas ni en la bibliografía. Para eso, necesita crear un archivo de estilo de bibliografía (extensión .bst
), probablemente desde cero. Échale un vistazo al archivomakebst.tex(creado por el autor del natbib
paquete, por cierto). Se puede ejecutar en TeX o LaTeX; cuando lo ejecute, le hará muchas preguntas (con opciones predefinidas para respuestas) sobre el estilo de bibliografía deseado, incluidas algunas sobre fuentes especiales para los nombres de los autores, y luego generará un archivo .bst con esta información.
Apéndice: Como señala @lockstep en su respuesta y en un comentario a mi respuesta, si solo desea usar versalitas para los nombres de los autores/editores encitas, no es estrictamente necesario crear un nuevo .bst
archivo: en su lugar, se podría redefinir la \NAT@nmfmt
macro. Sin embargo, aún debe crear un nuevo archivo .bst si desea que los nombres de los autores y editores se escriban en minúsculas en elsección de bibliografíatambién --másTendrás que recordar insertar instrucciones como
\makeatletter
\def\NAT@nmfmt#1{\textsc{#1}}
\makeatother
de ahora en adelante en el preámbulo de cada documento que escriba que presente este formato de cita. También podrías simplemente informarle al makebst.tex
programa sobre esta preferencia y terminar con esto de una vez por todas, ¿verdad?