En Dash ile Alıntı
Bazen yazmak gerekir Newey-West (1987) tahmincisi yerine Newey ve batının (1987) tahmin edicisi aşağıdaki gibi.
\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}
Bu şekilde, yazar adlarının kısa çizgi ile bağlantılı olduğu bir makaleden alıntı yapabilir miyim?
Yanıtlar
Kaynakça stiliniz özelleştirilebilir bir ad sınırlayıcıyı destekliyorsa, bu sınırlayıcıyı yerel olarak değiştirmek kadar kolay olacaktır. Ne yazık ki, tüm .bstdosyalar özelleştirilebilir bir ad sınırlayıcıyı desteklemez, çoğu yalnızca "ve" yi sabit kodlar.
Adım 1, apalikealıntılarda özelleştirilebilir bir sınırlayıcı kullanmaktır. Bu amaçla
apalike.bstMakinenizde bulun . Bunukpsewhich apalike.bstkomut satırına / terminale yazarak yapabilirsiniz . Alternatif olarak, CTAN'dan dosyanın bir kopyasını alınhttp://mirrors.ctan.org/biblio/bibtex/base/apalike.bstDosyayı TeX'in bulabileceği bir konuma kopyalayın. Belge dizini iyi olacak. Ayrıca bakınızhttps://texfaq.org/FAQ-inst-wlcf
Dosyayı şu şekilde yeniden adlandırın
apalike-namedelim.bst(lisansıapalike.bst, dosyayı değiştirirseniz adı değiştirmenizi gerektirir)FUNCTION {format.lab.names}(841-587. Satırlar) öğesini bulun ve tam işlev tanımını şununla değiştirin:FUNCTION {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$ }Dosyanın üst kısmına adınız, geçerli tarih ve değişikliklerin kısa bir açıklamasını içeren bir yorum ekleyin.
Belgenizde
\bibliographystyle{apalike-namedelim}yerine kullanın\bibliographystyle{apalike}.
1'den 5'e kadar olan adımlara alternatif olarak dosyanın yamalı sürümünü şu adresten edinebilirsiniz: https://gist.github.com/moewew/1808df0569958a79ce5058b133495260
Adım 2, özelleştirilebilir makroyu, tireler ile alıntı yapmak amacıyla tanımladığımız yeni komutlarda kullanmaktır. Biz sadece tanımlarını kopyalamak \citetve \citeauthorgelen natbib.styve değişikliğe karşı kod enjekte \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}
Bu tür şeyler biraz daha basit 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}
Eğer istihdam yana natbibatıf yönetim paketi, onun kullanabilir \defcitealiasve \citetaliassizin biçimlendirme hedefe ulaşmak için makro.
\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}