暂时禁用引文中的上标

暂时禁用引文中的上标

我在 LaTeX 序言中使用上标引用样式\setcitestyle{super},这符合我的要求。但是,有几个区域,我需要暂时禁用上标。例如句子

此图转载自参考文献[1]

[1] 上标看起来不正确。

如何实现?有什么想法吗?谢谢。

答案1

下面的示例进行了\setcitestyle局部更改并将其放入宏中\citen\setcitestylenatbib(2010/09/13 8.31b)的宏定义开头的未注释行尾包含一个空格,使用技巧可以\romannumeral删除这个空格。

\documentclass{article}
\usepackage[square]{natbib}
\setcitestyle{super}

\newcommand*{\citen}[1]{%
  \begingroup
    \romannumeral-`\x % remove space at the beginning of \setcitestyle
    \setcitestyle{numbers}%
    \cite{#1}%
  \endgroup   
}

\begin{document}
Package \textsf{accsupp}\cite{oberdiek:accsupp}.
This figure is reproduce from reference~\citen{oberdiek:zref}.
\bibliographystyle{plainnat}
\raggedright
\bibliography{oberdiek-bundle}
\end{document}

结果

在移动参数(例如\caption)宏内,可以使用或使用定义来\citen保护:\protect\DeclareRobustCommand

\newcommand*{\citen}{}% generate error, if `\citen` is already in use
\DeclareRobustCommand*{\citen}[1]{%
  \begingroup
    \romannumeral-`\x % remove space at the beginning of \setcitestyle
    \setcitestyle{numbers}%
    \cite{#1}%
  \endgroup
}

相关内容