
eu seguiFolha de referência do Natbibe \citet
funciona conforme o esperado. Gostaria que o nome do autor aparecesse em versalete, como posso fazer isso?
Acho que deveria fazer:
Defina
\citenumfont
como uma declaração de fonte ou comando como\itshape
ou [...]\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 numbers
opçã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@nmfmt
no 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 .bst
arquivo - em vez disso, redefina a \NAT@nmfmt
macro 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}
Responder3
Da pág. 15 do natbib
manual:
As citações numéricas podem ser impressas em uma fonte diferente. Definir
\citenumfont
como uma declaração de fonte\itshape
ou até mesmo um comando com argumentos como\textit.
[O comando]\renewcommand{\citenumfont}[1]{\textit{#1}}
... é melhor do\itshape
que adicionar automaticamente a correção de itálico.
Portanto, a alteração \citenumfont
nã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 natbib
pacote, 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 .bst
arquivo: pode-se, em vez disso, redefinir a \NAT@nmfmt
macro. 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.tex
programa sobre essa preferência e acabar com isso de uma vez por todas, certo?