在图中引用,仅显示未“初始化”时的密钥

在图中引用,仅显示未“初始化”时的密钥

我想在图片列表中打印我使用的图像的来源。因此我尝试将 \cite 命令添加到 \caption 的可选参数中。

这似乎工作正常,但如果所引用的来源没有在文档的其他任何地方引用(例如维基百科图像)那么它只会在图表列表中打印引用键而不是引用本身。

这是一个最小的工作示例。取消注释注释行,它将在图表列表中显示正确的引用。

我还附加了两张图片来展示这两个结果。

如果需要任何信息,请评论。

// 编辑以澄清问题

\documentclass{article}
\usepackage{filecontents}
\usepackage[demo]{graphicx}
\usepackage{url}

\usepackage[backend=biber,style=authoryear]{biblatex}

\begin{filecontents*}{test.bib}
    @misc{test.2016,
        author = {{Test Author}},
        title = {Test Title},
        year = {2016}
    }
\end{filecontents*}

\addbibresource{test.bib}

\begin{document}

% Comment out the following line and it breaks
% Test content \cite{test.2016}

\begin{figure}[h]
    \centering
    \includegraphics[width=\textwidth]{testimage}
    \caption[Source: \cite{test.2016}]{My Caption}
\end{figure}

\listoffigures

\end{document}

只有钥匙

正确引用(期望)

答案1

文档biblatex你会发现在§4.11.5浮标和 TOC/LOT/LOF 中的追踪器

如果在浮动体中给出引文(通常在图表或表格的标题中),学术反向引用(如“ibidem”)或基于页面跟踪器的反向引用将变得模棱两可,因为浮动体是(物理和逻辑上)位于文本流之外的对象,因此此类引用的逻辑不太适用于它们。为了避免任何此类歧义,所有浮动体中的引文和页面跟踪器都暂时禁用。此外,这些跟踪器以及反向引用跟踪器(backref)在目录、图表列表和表格列表中都暂时禁用。

显然,biblatex它甚至更进一步:通过设置citerequest为 false,它部分禁用了引用。如果您下次引用该项目,则这不是问题。

你可以用以下方法解决这个问题

\AtEndPreamble{%
  \addtocontents{toc}{%
    \booltrue{citerequest}\relax}%
  \addtocontents{lof}{%
    \booltrue{citerequest}\relax}%
  \addtocontents{lot}{%
    \booltrue{citerequest}\relax}}

请注意,如果您不希望 LOF/LOT/... 计算引用顺序,这可能会导致数字样式出现一些问题。它还可能导致其他严重依赖引用跟踪和顺序的样式出现问题。

数学家协会

\documentclass{article}
\usepackage{filecontents}
\usepackage[demo]{graphicx}
\usepackage{url}

\usepackage[backend=biber,style=authoryear]{biblatex}

\begin{filecontents*}{\jobname.bib}
    @misc{test.2016,
        author = {{Test Author}},
        title = {Test Title},
        year = {2016}
    }
\end{filecontents*}

\addbibresource{\jobname.bib}

\AtEndPreamble{%
  \addtocontents{toc}{%
    \booltrue{citerequest}\relax}%
  \addtocontents{lof}{%
    \booltrue{citerequest}\relax}%
  \addtocontents{lot}{%
    \booltrue{citerequest}\relax}}

\begin{document}
\begin{figure}[h]
    \centering
    \includegraphics[width=\textwidth]{testimage}
    \caption[Source: \cite{test.2016}]{My Caption}
\end{figure}
\listoffigures
\end{document}

给出

示例输出

相关内容