Citando com En Dash
Às vezes, preciso escrever um estimador de Newey-West (1987) em vez do estimador de Newey e West (1987) como segue.
\documentclass{article}
\usepackage{filecontents,natbib}
\begin{filecontents}{z.bib}
@article{newey1987simple,
title={A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation},
author={Newey, Whitney K and West, Kenneth D},
journal={Econometrica},
volume={55},
number={3},
pages={703--708},
year={1987}
}
\end{filecontents}
\bibliographystyle{apalike}
\begin{document}
\citeauthor{newey1987simple}'s \citeyearpar{newey1987simple} estimator.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Newey--West (1987) estimator.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliography{z}
\end{document}
Dessa forma, posso citar um artigo com nomes de autores conectados por meio de um travessão?
Respostas
Se o estilo da sua bibliografia suportar um delimitador de nome personalizável, isso seria tão fácil quanto alterar esse delimitador localmente. Infelizmente, nem todos os .bstarquivos suportam um delimitador de nome personalizável, muitos apenas codificam o "e".
O passo 1 é apalikeusar um delimitador personalizável nas citações. Para este fim
Localize
apalike.bstem sua máquina. Você pode fazer isso digitandokpsewhich apalike.bstna linha de comando / terminal. Alternativamente, obtenha uma cópia do arquivo do CTANhttp://mirrors.ctan.org/biblio/bibtex/base/apalike.bstCopie o arquivo para um local onde o TeX possa encontrá-lo. O diretório de documentos funcionará bem. Veja tambémhttps://texfaq.org/FAQ-inst-wlcf
Renomeie o arquivo para
apalike-namedelim.bst, digamos (a licença deapalike.bstexige que você altere o nome se você modificar o arquivo)Encontre
FUNCTION {format.lab.names}(ll. 841-587) e substitua a definição completa da função porFUNCTION {format.lab.names} { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " et~al." * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " et~al." * } { "\finalnamedelim " * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ }Adicione um comentário com seu nome, a data atual e uma breve descrição das alterações na parte superior do arquivo.
Use em
\bibliographystyle{apalike-namedelim}vez de\bibliographystyle{apalike}em seu documento.
Como alternativa para as etapas 1 a 5, você pode obter a versão corrigida do arquivo em https://gist.github.com/moewew/1808df0569958a79ce5058b133495260
O passo 2 é fazer uso da macro personalizável em novos comandos que definimos com o propósito de citar com travessões. Apenas copiamos as definições de \citete \citeauthorde natbib.stye injetamos algum código para alterar \finalnamedelim.
\documentclass{article}
\usepackage{natbib}
\bibliographystyle{apalike-namedelim}
\newcommand*{\finalnamedelim}{}
\DeclareRobustCommand*{\finalnamedelim}{ and }
\makeatletter
\newcommand*{\citetattr}{}
\DeclareRobustCommand\citetattr
{\begingroup
\DeclareRobustCommand*{\finalnamedelim}{--}%
\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
\@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
\newcommand*{\citeauthorattr}{}
\DeclareRobustCommand\citeauthorattr
{\begingroup
\DeclareRobustCommand*{\finalnamedelim}{--}%
\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse
\@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
\newcommand*{\Citetattr}{}
\DeclareRobustCommand\Citetattr
{\begingroup
\DeclareRobustCommand*{\finalnamedelim}{--}%
\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
\let\NAT@up\NAT@Up
\@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
\makeatother
\begin{filecontents}{\jobname.bib}
@article{newey1987simple,
title = {A Simple, Positive Semi-Definite, Heteroskedasticity
and Autocorrelation Consistent Covariance Matrix},
author = {Newey, Whitney K. and West, Kenneth D.},
journal = {Econometrica},
volume = 55,
number = 3,
pages = {703--708},
year = 1987,
}
\end{filecontents}
\begin{document}
\citeauthor{newey1987simple}'s \citeyearpar{newey1987simple} estimator.
\citetattr{newey1987simple} --- with citation alias
\bibliography{\jobname}
\end{document}
Esse tipo de coisa é um pouco mais simples com biblatex.
\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\newcommand*{\textattrcite}{%
\AtNextCite{\AtEachCitekey{\delimcontext{textattrcite}}}%
\textcite}
\DeclareDelimFormat[textattrcite]{multinamedelim}{\textendash}
\DeclareDelimAlias[textattrcite]{finalnamedelim}[textattrcite]{multinamedelim}
\begin{filecontents}{\jobname.bib}
@article{newey1987simple,
title = {A Simple, Positive Semi-Definite, Heteroskedasticity
and Autocorrelation Consistent Covariance Matrix},
author = {Newey, Whitney K. and West, Kenneth D.},
journal = {Econometrica},
volume = 55,
number = 3,
pages = {703--708},
year = 1987,
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citeauthor{newey1987simple}'s \parencite*{newey1987simple} estimator.
\textattrcite{newey1987simple} --- with citation alias
\printbibliography
\end{document}
Uma vez que você emprega o natbibpacote de gerenciamento de citações, você pode empregar suas macros \defcitealiase \citetaliaspara atingir seu objetivo de formatação.
\documentclass{article}
\begin{filecontents}[overwrite]{z.bib}
@article{newey1987simple,
title ={A Simple, Positive Semi-Definite, Heteroskedasticity
and Autocorrelation Consistent Covariance Matrix},
author ={Newey, Whitney K. and West, Kenneth D.},
journal={Econometrica},
volume =55,
number =3,
pages ={703--708},
year =1987,
}
\end{filecontents}
\usepackage{natbib}
\defcitealias{newey1987simple}{Newey--West (1987)}
\bibliographystyle{apalike}
\begin{document}
\setlength\parindent{0pt} % just for this example
\citeauthor{newey1987simple}'s \citeyearpar{newey1987simple} estimator.
\citetalias{newey1987simple} --- with citation alias
Newey--West (1987) --- brute force
\bibliography{z}
\end{document}