我正在写一篇论文,其中大部分参考文献都是标准格式text [XX]
(或text^XX
,取决于引用格式),通过 实现\cite{ThingThatGivesXX}
。但是,对于几个引用,我需要改编我合著的论文,并包括短语Adapted from Ref. YY
(不带括号),并希望使用类似的东西来实现它,\cite[special_option]{ThingThatGivesYY}
但一直没能找到[special_option]
。注意:XX 和 YY 是数字。
编辑:澄清问题。
答案:看起来我需要的是Ref. \citealp{ThingThatGivesYY}
针对Ref. YY
这个特定的特殊用例。
感谢 natbib 的参考
答案1
您可以通过在文档顶部添加以下命令来创建自己的命令:
\newcommand{\newCommandName}{Adapted from Ref. }
请注意“Ref.”后面的空格——这样可以使后面的引用不至于太拥挤。
您可以随意命名新命令,但请确保所选名称未被使用。为方便起见,您可以选择较小的名称,这样可以节省时间,而不必每次都写出“改编自参考文献”。这也意味着,如果您决定将“改编自参考文献”更改为其他名称,则只需更改文档顶部的这一小段文本即可。有关此方法的更多信息,请参见此处:在 LaTeX 中定义变量
然后,您可以使用除 -- 之外的命令来更改引用的样式,\cite
例如:\citeauthor
下面列出了用于更改引用显示方式的不同命令:引文参考表
这是一个工作示例,将自定义命令定义为\adapted
:
\documentclass{article}
\usepackage{natbib}
\bibliographystyle{abbrvnat}
\setcitestyle{authoryear,open={(},close={)}}
\newcommand{\adapted}{Adapted from Ref. }
\begin{document}
This is a sentence with a normal citation (\citeauthor{bookname}).
This is another bit of text. \adapted\citet{bookname}
\bibliographystyle{plainnat}
\bibliography{refs}
\end{document}
其结果如下:
此方法不会特别提供给您\cite{ThingThatGivesXX}
,但它可以实现您似乎正在寻找的功能。如果您想要与上图所示的不同的引用样式,则引用参考表链接应该会为您提供更多选项。
答案2
在我的宏集合中,我拥有以下宏,我称之为\citenumns
。我总是使用数字引用样式,如果可以选择,我会使用上标样式,但对于类似情况,我需要裸引用编号。我喜欢将“改编自”文本保留在引用宏之外,因为有各种相关短语可能需要根据文本而不是引用进行更改(例如,当审阅者询问如何改编时,扩展为“...遵循参考文献 XX 中的方法,但另外考虑到...”)。
\makeatletter
\newcommand*{\citenumns}[2][]{%
\begingroup
\let\NAT@mbox=\mbox
\let\@cite\NAT@citenum
\let\NAT@space\NAT@spacechar
\let\NAT@super@kern\relax
\renewcommand\NAT@open{}%
\renewcommand\NAT@close{}%
\cite[#1]{#2}%
\endgroup
}
\makeatother
从那时起我就没怎么用过它切换到 biblatex (相当于 Q)其中很可能只有很少一部分是属于我自己的。