![标题内的引用 => 避免斜体 (biblatex)](https://linux22.com/image/252643/%E6%A0%87%E9%A2%98%E5%86%85%E7%9A%84%E5%BC%95%E7%94%A8%20%3D%3E%20%E9%81%BF%E5%85%8D%E6%96%9C%E4%BD%93%20(biblatex).png)
在我的文档中,标题设置为斜体。我使用自定义的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}}