在 \citeasnoun 之前使用 eg

在 \citeasnoun 之前使用 eg

我尝试在使用 a 之前添加一个 eg,\citeasnoun但没有效果。

如果我这样使用,\citeasnoun[e.g.][]{Hernandez2009}它会在 pdf 中显示为 Hernandez et al. (例如 2009)。

尽管如此,如果我只使用,\cite它就可以完美地工作。例如,\cite[e.g.][]{Hernandez2009}=\cite[e.g.][]{Hernandez2009}

我该怎么办?谢谢

答案1

我假设您正在使用harvard引文管理包及其一些宏来生成引文标注。(仅针对可能更熟悉引文管理包的本文读者natbib:宏和natbib的等效项分别是和。)harvard\cite\citeasnoun\citep\citet

在我看来,试图让第一个可选参数\citeasnoun非空是没有什么好处的。(\citet顺便说一句,同样适用于。)如果你真的需要在文本样式的引用标注前添加一些前缀,只需写

... e.g., \citeasnoun{herandez2009}, ...

即放置字符串“eg”,及外部\citeasnoun

MWE:

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{hernandez2009,
  author = "Ana Hernandez and A. BCD and E. FGH",
  title  = "Deep Thoughts",
  year   = "2009",
}
\end{filecontents}
\documentclass{article}
\usepackage{natbib,har2nat} % 'har2nat' translates harvard macros to natbib speak
\bibliographystyle{agsm} % just a guess...
\begin{document}
good:

\cite[e.g.,][p.~29]{hernandez2009}

\citep[e.g.,][p.~29]{hernandez2009}

\bigskip
bad:

\dots, \citeasnoun[e.g.,][p.~29]{hernandez2009}, \dots

\dots, \citet[e.g.,][p.~29]{hernandez2009}, \dots

\bigskip
do this instead:

\dots, e.g., \citeasnoun[p.~29]{hernandez2009}, \dots

\dots, e.g., \citet[p.~29]{hernandez2009}, \dots

\bibliography{mybib}
\end{document}

相关内容