Как сослаться на несуществующий подрисунок?

Как сослаться на несуществующий подрисунок?

Я нарисовал большую фигуру с несколькими подфигурами в ней, используяmatplotlib, потому что библиотека предоставляет много функций, которые трудно реализовать в tex (например, общая метка и общая ось). Однако я хотел бы, чтобы \refэти подфигуры были такими же, как subcaptionв tex. Есть ли какие-либо методы, которые могут сделать это?

Мое требование почти такое же, как и вопрос вНесколько этикеток для больших фигур с включенными подсюжетами.

Однако решение не работает при hyperrefимпорте. Поскольку ответ был опубликован 3 года назад и, похоже, он не получит никаких обновлений, я задал вопрос снова.

решение1

Я придумал обходной путь:

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

\makeatletter
\newcommand{\phantomlabel}[2]{
    \protected@write\@auxout{}{
        \string\newlabel{#2}{
            {\@currentlabel#1}{\thepage}
            {\@currentlabel#1}{#2}{}
        }
    }
    \hypertarget{#2}{}
}
\makeatother

\begin{document}
Figure~\ref{fig:a} consists of sub-figure~\ref{fig:a:left_plot},
sub-figure~\ref{fig:a:right_plot}, and
sub-figure~\ref{fig:a:somewhere else}.
\begin{figure}
  \includegraphics[width=\textwidth]{example-image-a}
  \caption{This plot has three parts.}\label{fig:a}
  \phantomlabel{a}{fig:a:left_plot}
  \phantomlabel{b}{fig:a:right_plot}
  \phantomlabel{c}{fig:a:somewhere else}
\end{figure}

Figure~\ref{fig:b} consists of sub-figure~\ref{fig:b:left_plot},
sub-figure~\ref{fig:b:right_plot}, and
sub-figure~\ref{fig:b:somewhere else}.
\begin{figure}
  \includegraphics[width=\textwidth]{example-image-b}
  \caption{This plot has three parts.}\label{fig:b}
  \phantomlabel{a}{fig:b:left_plot}
  \phantomlabel{b}{fig:b:right_plot}
  \phantomlabel{c}{fig:b:somewhere else}
\end{figure}
\end{document}

Код изменен из ответа, опубликованного @gernot в вопросе, на который я ссылался. Основная идея заключается в создании гипер-цели в соответствующей позиции фантомной метки без написания текста.

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