\сноска перекрестная ссылка внутри подписи к изображению

\сноска перекрестная ссылка внутри подписи к изображению

Я хочу сослаться на несколько изображений в одной и той же сноске.

Это два изображения с одной и той же сноской.

\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. Первое будет ссылаться на предыдущую сноску, а второе тоже не ссылается правильно. Где мне следует разместить my, \footnote{\label{fn:resnet}https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8}чтобы иметь возможность ссылаться на него?

С уважением

решение1

Ни то, ни \footnoteдругое не \footnotetextможет использоваться внутри float, но \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} 

Связанный контент