如果我编译以下内容
\documentclass{beamer}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}% to embed the file `myreferences.bib` in your `.tex` file
\begin{filecontents*}{myreferences.bib}
@article{foo12,
year = {2012},
title = {Title},
author = {H Miller},
journal = {Journal}
}
\end{filecontents*}
\addbibresource{myreferences.bib}
\AtEveryCitekey{
\clearfield{pages}
\clearfield{issn}
\clearfield{doi}
\clearfield{address}
\clearfield{volume}
\clearfield{isbn}
\clearfield{series}
\clearfield{number}
\clearfield{note}
}
\begin{document}
\begin{frame}
Some text.\footnote{Some text in a footnote.} Some more text.\footcite{foo12}
\end{frame}
\begin{frame}
\printbibliography
\end{frame}
\end{document}
2
脚注标签和引文之间有很大的空白。如果我移除该\AtEveryCitekey
块,空白就会消失,并且两个脚注会对齐。这是一个错误吗?我怎样才能去除空白而保留\AtEveryCitekey
?
(示例改编自这里)
答案1
正如解释的那样行尾的百分号 (%) 有什么用?(为什么我的宏会产生额外的空间?),TeX 通常将行尾视为空格。行内\AtEveryCitekey
空格是相关的(本质上\AtEveryCitekey
就像是内部宏上的\newcommand
/ ,每次处理引用时都会调用这个宏),因此每个行尾最终都会在引用输出中给出一个空格。\renewcommand
biblatex
解决方法是使用 隐藏行尾%
。
\documentclass{beamer}
\usepackage[style=verbose]{biblatex}
\AtEveryCitekey{%
\clearfield{pages}%
\clearfield{issn}%
\clearfield{doi}%
\clearfield{address}%
\clearfield{volume}%
\clearfield{isbn}%
\clearfield{series}%
\clearfield{number}%
\clearfield{note}%
}
\begin{filecontents*}{\jobname.bib}
@article{foo12,
year = {2012},
title = {Title},
author = {H Miller},
journal = {Journal}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\begin{frame}
Some text.\footnote{Some text in a footnote.} Some more text.\footcite{foo12}
\end{frame}
\begin{frame}
\printbibliography
\end{frame}
\end{document}