引文在括号内(作者在括号外)

引文在括号内(作者在括号外)

我正在使用书目工具“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}

相关内容