Citer avec En Dash
Parfois, j'ai besoin d'écrire un estimateur de Newey – West (1987) plutôt que de l' estimateur de Newey et West (1987) comme suit.
\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}
De cette façon, puis-je citer un article avec des noms d'auteurs connectés via un tiret?
Réponses
Si votre style de bibliographie prend en charge un délimiteur de nom personnalisable, ce serait aussi simple que de changer localement ce délimiteur. Malheureusement, tous les .bstfichiers ne prennent pas en charge un séparateur de nom personnalisable, beaucoup codent simplement en dur le "et".
L'étape 1 consiste à apalikeutiliser un délimiteur personnalisable dans les citations. À cette fin
Localisez
apalike.bstsur votre machine. Vous pouvez le faire en tapantkpsewhich apalike.bstdans la ligne de commande / le terminal. Vous pouvez également obtenir une copie du fichier auprès du CTANhttp://mirrors.ctan.org/biblio/bibtex/base/apalike.bstCopiez le fichier dans un emplacement où TeX peut le trouver. Le répertoire de documents fera l'affaire. Voir égalementhttps://texfaq.org/FAQ-inst-wlcf
Renommez le fichier en
apalike-namedelim.bst, par exemple (la licence deapalike.bstvous oblige à changer le nom si vous modifiez le fichier)Recherchez
FUNCTION {format.lab.names}(ll. 841-587) et remplacez la définition complète de la fonction parFUNCTION {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$ }Ajoutez un commentaire avec votre nom, la date actuelle et une brève description des modifications en haut du fichier.
Utilisez
\bibliographystyle{apalike-namedelim}plutôt que\bibliographystyle{apalike}dans votre document.
Comme alternative pour les étapes 1 à 5, vous pouvez obtenir la version corrigée du fichier à l'adresse https://gist.github.com/moewew/1808df0569958a79ce5058b133495260
L'étape 2 consiste à utiliser la macro personnalisable dans les nouvelles commandes que nous définissons dans le but de citer avec des tirets. Nous copions simplement les définitions de \citetet \citeauthorde natbib.styet injectons du code à modifier \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}
Ce genre de choses est un peu plus simple avec 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}
Puisque vous utilisez le natbibprogiciel de gestion des citations, vous pouvez utiliser ses macros \defcitealiaset \citetaliaspour atteindre votre objectif de formatage.
\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}