我想给图片标题添加脚注。
我正在使用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]
你也会漂浮,乔治。