标题内的引用 => 避免斜体 (biblatex)

标题内的引用 => 避免斜体 (biblatex)

在我的文档中,标题设置为斜体。我使用自定义的biblatex作者/年份引用样式。

如果我\cite在标题中引用,则引用也会以斜体显示。我该如何避免这种情况?

答案1

biblatex提供\AtEveryCite钩子:

\documentclass{article}

\usepackage[style=authoryear]{biblatex}

\AtEveryCite{\normalfont}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\begin{figure}
\itshape
\centering
\rule{1cm}{1cm}
\caption{A figure \autocite{A01}}
\end{figure}

\printbibliography

\end{document}

在此处输入图片描述

答案2

标准乳胶cite有一个格式化钩子,\@cite@ofmt其他包可能会提供不同的接口来设置它,但类似

\makeatletter
\def\@cite@ofmt#1{\hbox{\reset@font #1}}
\makeatother

可能会做你想做的事。

答案3

不幸的是,David 的答案对我没有用。但根据他的解决方案,我添加了\reset@font对我有用的方法:

\DeclareCiteCommand{\cite}[\reset@font\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}

相关内容