Como citar autores em letras minúsculas com \citet?

Como citar autores em letras minúsculas com \citet?

eu seguiFolha de referência do Natbibe \citetfunciona conforme o esperado. Gostaria que o nome do autor aparecesse em versalete, como posso fazer isso?

Acho que deveria fazer:

Defina \citenumfontcomo uma declaração de fonte ou comando como \itshapeou [...] \textit.

mas não tenho ideia do que isso significa.

Antes de votar positivamente na resposta do lockstep: não funciona, o nome do autor não está em letras minúsculas, o comando de renovação não tem efeito. Seu código de exemplo não compila como é agora.

ATUALIZAR:Aqui está um exemplo mínimo de trabalho.

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}

manequim.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}
}

Responder1

Com a numbersopção o patch é um pouco mais complicado:

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

Aparentementenatbibo autor esqueceu de se inscrever \NAT@nmfmtno local relevante de\NAT@test

Para entrar et al.no 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

Responder2

Para citar autores em versalete, énãonecessário criar um novo .bstarquivo - em vez disso, redefina a \NAT@nmfmtmacro responsável pela formatação do nome do autor. (Veresseresposta para outras áreas de aplicação 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}

insira a descrição da imagem aqui

Responder3

Da pág. 15 do natbibmanual:

As citações numéricas podem ser impressas em uma fonte diferente. Definir \citenumfontcomo uma declaração de fonte \itshapeou até mesmo um comando com argumentos como \textit.[O comando] \renewcommand{\citenumfont}[1]{\textit{#1}}... é melhor do \itshapeque adicionar automaticamente a correção de itálico.

Portanto, a alteração \citenumfontnão afetará a fonte usada pelo LaTeX para a composição dos nomes dos autores nas citações ou na bibliografia. Para isso, é necessário criar um arquivo de estilo bibliográfico (extensão .bst), provavelmente do zero. Dê uma olhada no arquivomakebst.tex(criado pelo autor do natbibpacote, aliás). Ele pode ser executado em TeX ou LaTeX; quando você executá-lo, ele fará muitas perguntas (com opções predefinidas de respostas) sobre o estilo de bibliografia desejado - incluindo algumas sobre fontes especiais para nomes de autores - e então criará um arquivo .bst com essas informações.

Termo aditivo: Como @lockstep observa em sua resposta e em um comentário à minha resposta, se você quiser usar apenas letras maiúsculas para os nomes dos autores/editores emcitações, não é estritamente necessário criar um novo .bstarquivo: pode-se, em vez disso, redefinir a \NAT@nmfmtmacro. No entanto, você ainda deve criar um novo arquivo .bst se quiser que os nomes dos autores e editores sejam digitados em letras minúsculas noseção de bibliografiatambém --maisvocê terá que se lembrar de inserir instruções como

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

de agora em diante, no preâmbulo de cada documento que você escrever que apresente esse formato de citação. Você também pode simplesmente informar ao makebst.texprograma sobre essa preferência e acabar com isso de uma vez por todas, certo?

informação relacionada