\footnote 画像キャプション内の相互参照

\footnote 画像キャプション内の相互参照

同じ脚注に複数の画像を参照したい。

これらは同じ脚注を共有する2つの画像です

\begin{figure}[!ht]
  \begin{center}
    \leavevmode
    \includegraphics[width=0.86\textwidth]{figures/bottleneck_resnet}
    \caption[Bottleneck Design of Residual Neural Networks]{Bottleneck Design of Residual Neural Networks\footnote{\label{fn:resnet}https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8}}
    \label{fig:bottleneck_arch}
  \end{center}
\end{figure}

\begin{figure}[!ht]
  \begin{center}
    \leavevmode
    \includegraphics[width=0.9\textwidth]{figures/resnet_archs}
    \caption[ResNet overall architecture for all network]{ResNet overall architecture for all network\footref{fn:resnet}}
    \label{fig:resnet_arch_table}
  \end{center}
\end{figure}

しかし、この方法では私の画像は参照されず、「??」が表示されます。\footnotemarkキャプション内で\footnotetextの代わりにと も試しましたfootnote。最初のものは前の脚注を参照し、2 番目も正しく参照しません。\footnote{\label{fn:resnet}https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8}を参照できるようにするには、 をどこに配置すればよいでしょうか?

よろしく

答え1

も も\footnoteフロート\footnotetext内では使用できませんが、\footnotemark問題ありません。 hyperref が ではなく脚注をターゲットにする方法はよくわかりません\footnotemarkが、実際にターゲットになっています。

脚注はフロートと同じページにならないことに注意してください。ただし、これが機能するには、他の脚注の\footnotetextすぐ後\footnotemark(前) に呼び出す必要があります。オプションの引数も使用できません。

\documentclass{article}
\usepackage{graphicx}
\usepackage{footmisc}
\usepackage{hyperref}

\begin{document}
\begin{figure}[ht]
  \centering
    \includegraphics[width=0.86\textwidth]{example-image-a}
    \caption[Bottleneck Design of Residual Neural Networks]{Bottleneck Design of Residual Neural Networks\footnotemark}
    \label{fig:bottleneck_arch}
\end{figure}

\footnotetext{\label{fn:resnet}%
  https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8}

\begin{figure}[ht]
  \centering
    \includegraphics[width=0.9\textwidth]{example-image-b}
    \caption[ResNet overall architecture for all network]{ResNet overall architecture for all network\footref{fn:resnet}}
    \label{fig:resnet_arch_table}
\end{figure}
\end{document}

このソリューションは、\footnotemarkオプションの引数を使用して\refstepcounter脚注内に配置することでプロセスをバイパスします。これは、(A) 各フロートで複数の脚注を処理できること、(B)\afterpageフロートと同じページに脚注を配置する (フロートにキャプションとラベルがあることを前提とします) という点で、より堅牢です。

唯一できないのは、[p] フロートと同じページに脚注を配置することです。

\documentclass{article}
\usepackage{graphicx}
\usepackage{footmisc}
\usepackage{afterpage}
\usepackage{hyperref}

\newcommand{\footpage}[2]% #1 = label for \pageref, #2 = \footnote arg
 {\ifnum\value{page}<\getpagerefnumber{#1}\relax
    \afterpage{\footpage{#1}{#2}}%
  \else
    \stepcounter{footnote}% cannot put \refstepcounter into optional argument of \footnotetext
    \footnotetext[\thefootnote]{\addtocounter{footnote}{-1}\refstepcounter{footnote}#2}%
  \fi}

\begin{document}
\footpage{fig:bottleneck_arch}{\label{fn:resnet}%
  https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8}

\begin{figure}[ht]
  \centering
    \includegraphics[width=0.86\textwidth]{example-image-a}
    \caption[Bottleneck Design of Residual Neural Networks]{Bottleneck Design of Residual Neural Networks\footref{fn:resnet}}
    \label{fig:bottleneck_arch}
\end{figure}


\begin{figure}[ht]
  \centering
    \includegraphics[width=0.9\textwidth]{example-image-b}
    \caption[ResNet overall architecture for all network]{ResNet overall architecture for all network\footref{fn:resnet}}
    \label{fig:resnet_arch_table}
\end{figure}
\end{document} 

関連情報