标题中的脚注与常规文本中的脚注不在同一个位置?

标题中的脚注与常规文本中的脚注不在同一个位置?

我想给图片标题添加脚注。

我正在使用svjour3文档类。

\RequirePackage{amsmath}
\documentclass[natbib]{svjour3}
\usepackage{appendix}
\usepackage{graphicx}
\usepackage{rotating}

\setlength{\rotFPtop}{0pt plus 1fil}% <- add this line after loading rotating
\setlength{\rotFPbot}{0pt plus 1fil}% <- maybe its better to add this line too

\usepackage{caption}
\usepackage{amsmath}
\usepackage{lineno}
\usepackage{booktabs,makecell, multirow}
\usepackage{tikz-qtree,ulem}
\usepackage{subfigure}
\usepackage{float}
\usepackage{tablefootnote}
%\usepackage[utf8x]{inputenc}
\usepackage{color, colortbl}
\definecolor{Gray}{gray}{0.90}

\newcommand*\patchAmsMathEnvironmentForLineno[1]{%
\expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
\expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname
\renewenvironment{#1}%
{\linenomath\csname old#1\endcsname}%
{\csname oldend#1\endcsname\endlinenomath}}% 
\newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{%
\patchAmsMathEnvironmentForLineno{#1}%
\patchAmsMathEnvironmentForLineno{#1*}}%
\AtBeginDocument{%
\patchBothAmsMathEnvironmentsForLineno{equation}%
\patchBothAmsMathEnvironmentsForLineno{align}%
\patchBothAmsMathEnvironmentsForLineno{flalign}%
\patchBothAmsMathEnvironmentsForLineno{alignat}%
\patchBothAmsMathEnvironmentsForLineno{gather}%
\patchBothAmsMathEnvironmentsForLineno{multline}%
}

\newcommand*{\affaddr}[1]{#1} % No op here. Customize it for different styles.
\newcommand*{\affmark}[1][*]{\textsuperscript{#1}}

\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{floatpag}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{color, colortbl}
\definecolor{Gray}{gray}{0.90}

\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\usepackage[margin=2cm]{geometry}


\begin{document}

    \begin{figure}
      \begin{minipage}{\textwidth}
        ...
        \caption[Compact Routing Example]%
        {Compact Routing\footnote{something} Example}
      \end{minipage}
    \end{figure}

\end{document}

标题显示在页面中间,脚注上a标显示在图的底部。但是,我在文本中也有脚注,它们显示在页面底部。我希望图和常规文本脚注位于同一位置(页面底部)。

我怎样才能实现这个目标?

答案1

我的建议是将\footnotemark\footnotetext在源代码中放在彼此靠近的位置,希望内容(图形和附带的脚注文本)位于同一页面上。

在此处输入图片描述

\documentclass{svjour3}

\usepackage{graphicx,lipsum}

\begin{document}

\begin{figure}
  \centering
  \includegraphics[width = .5\linewidth]{example-image}
  \caption[Compact Routing Example]%
    {Compact Routing\footnotemark{} Example}
\end{figure}

\footnotetext[\value{footnote}]{Figure footnote.}%
Here is another footnote\footnote{Text footnote.}.
\lipsum[1-3]

\end{document}

答案2

期望在 中有一个脚注minipage。您应该认为这种类型的框只是特殊的(微型)页面,因此它们有自己的脚注。

另一方面,\caption对于脚注来说,这是一个最糟糕的地方,因为没有可选参数将是强制性的(尝试删除(“[紧凑路由示例]”),而且,它位于浮动内:没有小页面,您将获得数字标记,但没有脚注文本。

至少有两个技巧可以使标题看起来像“正常脚注”:

1)\footnotemark\ 在标题内、\footnotetext{text}浮动外使用。

2)使用footnote包装,将浮标包裹在savenotes环境中。

带有两个解决方案注释的最小工作示例,请尝试取消注释其中一个或另一个:

\documentclass{article}
\usepackage{footnote}
\usepackage{lipsum}
\begin{document}
\title{footnotes everywhere}
\maketitle
\lipsum*[1]\footnote{text foonote}
%\begin{savenotes}
\begin{figure}[h]
\centering\fbox{\begin{minipage}{8cm}
%\caption[CRE]{Compact Routing\footnotemark\ Example}  % without savenotes
%\caption[CRE]{Compact Routing\footnote{caption footnote} Example} % with savenotes
\end{minipage}}
\end{figure}
%\end{savenotes}
\footnotetext{caption footnotetext} % without savenotes
\lipsum[2-6]
\end{document}

但请记住:浮动元素是浮动的。如果浮动元素加载到一页中,但移动到另一页,则标记将位于该页中,而脚注文本将位于另一页中。只需尝试在图形环境中将[h]选项更改为。然后[t]你也会漂浮,乔治

相关内容