为什么第一个脚注显示为第二个?

为什么第一个脚注显示为第二个?

我正在使用 Springer LNCS 格式撰写文章,并在图表标题中添加了脚注:

\documentclass[runningheads]{llncs}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{appendix}

\begin{document}
\title{TITLE}
\author{AUTHOR}
\institute{INSTITUTE} \\
\maketitle 
\begin{figure}
\includegraphics[width=\textwidth]{Beta.eps}
\caption{When $m=k=6$, and $500$ samples of $\mathbf{X}$ are generated from the bimodal distribution, $Beta(0.5,0.5)$, $\mathcal{L}_{co}$ fluctuates so drastically that in about half of the $20$ simulations, the MDL approach would miss the causality between $\mathbf{X}$ and $Y$ and leads to the wrong conclusion. $(\mathbf{X},Y)$ purely confounded by $Beta$ sources, on the other hand, work well with the CoCa model.\footnotemark} 
\label{Fig.2}
\end{figure}
\footnotetext{https://github.com/PawinData/CoCa}
\end{document}

这是文章中唯一的脚注,但不知何故它在 pdf 输出中显示为第二个。这是为什么?我该如何修复它?


问题已由@UlrikeFischer 解决

答案1

由于您仅提供了代码片段,我们没有关于您的文档的信息(以重现您的问题的小型完整文档的形式),因此我们无法对其进行测试并查看可能存在的问题。

但是,您的代码片段存在一些问题:

  • 图形标签必须位于之后\caption{...}
  • \footnotemark必须受到“保护”:\caption{abcdefg\protect\footnotemark}

编辑(1): 考虑到前面提到的MWE(最小工作示例)可以和llncs文档类是:

\documentclass[runningheads]{llncs}
\usepackage[demo]{graphicx} % in real document remove option "demo"

\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\begin{figure}[ht]
\includegraphics[width=\textwidth]{Beta.eps}
\caption{abcdefg\protect\footnotemark}  % <---
\label{Fig.2}                           % <---
\end{figure}
\footnotetext{https://github/com}
\end{document}

(仍然) 给出正确的结果:

在此处输入图片描述

编辑2footnotemark显然,您在标题中 有一个 between和\footnotetext一个 more \footnotemark(或),这导致了您的问题。 可以通过在下一个(或文本中的 }之前立即\footnote插入来消除它。\footnotetextfigure\footnotemark\footnote

答案2

该类定义了自己的字幕处理机制。以下是设置实际字幕的部分:

\long\def\@makecaption#1#2{%
  \small
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\bfseries #1.} #2}%
  \ifdim \wd\@tempboxa >\hsize
    {\bfseries #1.} #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

它通过以下方式在框中设置标题

\sbox\@tempboxa{{\bfseries #1.} #2}%

然后测量此框是否比当前允许的框宽度更宽。如果是,则重置以允许适当的换行。此双重设置会增加强制参数中使用的计数器\caption[<ToC>]{<main>}。您会在以下最小示例中注意到这一点:

\documentclass{llncs}

\begin{document}

\begin{figure}
  \caption[short caption]{%
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.\footnotemark\space
    %Nunc id nulla at dui facilisis pharetra non scelerisque mi.% <- Uncomment
  } 
\end{figure}

\footnotetext{https://github.com/PawinData/CoCa}
\end{document}

如果添加的第二行,它的\caption跨度比更宽\textwidth,则处理两次,因此footnote递增两次。一种干净方便的应对方法是在环境footnote中步进计数器figure并使用固定的\footnotemark[<mark>]

\documentclass{llncs}

\begin{document}

\begin{figure}
  \stepcounter{footnote}% Increment footnote counter
  \caption[short caption]{%
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.\footnotemark[\thefootnote]\space
    %Nunc id nulla at dui facilisis pharetra non scelerisque mi.
  } 
\end{figure}

\footnotetext{https://github.com/PawinData/CoCa}
\end{document}

相关内容