我正在使用书目工具“apalike”,我想更改引文输出。给定一个引文
\cite[p.1]{citekey}
到目前为止给出的是“(作者,年份,第 1 页)”,我想要的是“作者(年份,第 1 页)”之类的东西。这可以通过
\citeauthor{citekey} (\citeyear{citekey}, p.3)
然而,一定有更好的方法。
答案1
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{citekey,
address = {Nowhere land},
author = {Nowhere Man},
publisher = {University of Void Press},
title = {On the Nothing of Nothingness},
year = {9999}
}
\end{filecontents*}
\newif\ifnatbib
\natbibtrue
\documentclass{article}
\ifnatbib
\usepackage{natbib}
\else
\usepackage[style=numeric,backend=bibtex]{biblatex}
\addbibresource{\jobname.bib}
\fi
\makeatletter
\providecommand\citet[2][]{%
\edef\@tempa{#1}
\citeauthor{#2} (%
\citeyear{#2}%
\ifx\@empty\@tempa\else,~#1\fi
)
}
\makeatother
\begin{document}
As first example citation here is \cite[p.1]{citekey}.
Here is another example citation \citet[p.1]{citekey}.
\ifnatbib
\bibliographystyle{apalike}
\bibliography{\jobname}
\else
\printbibliography
\fi
\end{document}
答案2
正如 Moewe 评论的那样:
\citet[p.1]{citekey}