¿Cómo citar autores en versalitas con \citet?

¿Cómo citar autores en versalitas con \citet?

SeguíHoja de referencia de Natbiby \citetfunciona como se esperaba. Me gustaría que el nombre del autor aparezca en versalitas, ¿cómo puedo hacerlo?

Supongo que debería hacer:

Defina \citenumfontcomo una declaración de fuente o un comando como \itshapeo [...] \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 numbersopció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@nmfmten 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 .bstarchivo; en su lugar, redefina la \NAT@nmfmtmacro 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}

ingrese la descripción de la imagen aquí

Respuesta3

De la pág. 15 del natbibmanual:

Las citas numéricas pueden imprimirse en una fuente diferente. Definirlo \citenumfontcomo una declaración de fuente como \itshapeo incluso un comando que toma argumentos como \textit.[El comando] \renewcommand{\citenumfont}[1]{\textit{#1}}... es mejor \itshapeporque agrega automáticamente corrección en cursiva.

Por lo tanto, el cambio \citenumfontno 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 natbibpaquete, 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 .bstarchivo: en su lugar, se podría redefinir la \NAT@nmfmtmacro. 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.texprograma sobre esta preferencia y terminar con esto de una vez por todas, ¿verdad?

información relacionada