Natbib 斜体标题钩子

Natbib 斜体标题钩子

相同标题内的引用 => 避免斜体 (biblatex)仅适用于 natbib:标题是斜体,我怎样才能强制\cite{ref}标题表现得像斜体\textup{\cite{ref}}(除了用后者替换前者的每一个这样的出现)?

是否有类似\AtEveryCitenatbib 的钩子(我不想破解宏\cite,不知道为什么,很高兴听到为什么这也是一个可行的解决方案)?

答案1

添加\upshape\cite命令:

\documentclass{article}

\usepackage{natbib}

\makeatletter
\DeclareRobustCommand\cite
    {\begingroup\upshape\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
      \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
\makeatother

\begin{document}

\itshape

normal text \cite{knuth:ct:c} normal text

\bibliographystyle{plainnat}
\bibliography{biblatex-examples}

\end{document} 

相关内容