Ссылка на подрисунки без использования подзаголовков или аналогичных пакетов

Ссылка на подрисунки без использования подзаголовков или аналогичных пакетов

Я работаю над книгой и использую пакет subcaption для ссылок на некоторые рисунки. Однако я обнаружил, что в некоторых случаях мне проще просто добавить текст подписи (a), (b) и т. д. непосредственно на рисунок. Чтобы все усложнить, многие из этих рисунков созданы с помощью tikz, для чего я также использую внешний tikz (таким образом, рисунки компилируются по отдельности. По моему опыту, использование ссылок внутри рисунков, которые компилируются с помощью внешнего, по какой-то причине не отображает метки.

Из-за всего этого проблема в том, что теперь сложно ссылаться на подфигуры. Мне удалось использовать команды \refи \hyperrefследующим образом:

Figure~\ref{fig:some_figure}\hyperref[fig:some_figure]{a}

Тем не менее, это решение не идеально, потому что при наведении курсора у меня появляются две отдельные гиперссылки. Есть ли более простой и лучший способ добиться того, чего я хочу, не используя subacaption или аналогичные пакеты?

Возможно, если существует макрос, который я могу использовать для получения номера рисунка из метки рисунка, то я мог бы прикрепить метку к тексту (a) в подписи к рисунку, а затем ссылаться на нее следующим образом:

Figure~\hyperref[fig:some_figure_a]{\getFigureNumber{fig:some_figure}a}

решение1

Я использую \subfig, \subcaptionпакеты, когда в моей статье есть несколько подрисунков. Я не уверен, что это то, что вы ищете, но, пожалуйста, посмотрите ниже мой подход. Я использовал файл latex.svg.png в качестве справочного изображения (найдено в сети).

\documentclass[12pt, a4paper]{article}
\usepackage{subfig}
\usepackage{subcaption}
\usepackage{float}
\usepackage{adjustbox}
\usepackage{hyperref}
\begin{document}
\begin{figure}[!htbp]
\centering
\subfloat[Sample]{\label{a}\includegraphics[width=.4\linewidth]{LaTeX_logo.svg.png}}\hfill
\subfloat[Sample]{\label{b}\includegraphics[width=.4\linewidth]{LaTeX_logo.svg.png}}\hfill
\subfloat[Sample]{\label{c}\includegraphics[width=.4\linewidth]{LaTeX_logo.svg.png}}\hfill
\subfloat[Sample]{\label{d}\includegraphics[width=.4\linewidth]{LaTeX_logo.svg.png}}
\caption{Sample Output.}
\end{figure}

\vspace{5em}
\huge Figures~\ref{a} to~\ref{d} are shown above. %Used \huge just for illustration purpose. 

\end{document}

Я получил:

введите описание изображения здесь

решение2

Документация пакета subcaption содержит раздел "Подписи внутри подрисунков" по этой теме. В частности, подразделы "Ссылки на подрисунки без подрисунков" и "Использование пакета tikz" могут быть вам интересны.

решение3

Возможно \phantomlabel(из пакета subcaption) и затем в сочетании с Figure~\hyperref[fig:some_figure_a]{\ref{fig:some_figure}a}может сделать то, что вы хотите.

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