Hacer referencia a subfiguras sin utilizar subtítulos o paquetes similares

Hacer referencia a subfiguras sin utilizar subtítulos o paquetes similares

Estoy trabajando en un libro y uso el paquete de subtítulos para referirme a algunas figuras. Sin embargo, descubrí que en algunos casos me resulta más fácil simplemente agregar el texto del título (a), (b), etc. directamente en la figura. Para complicar más las cosas, muchas de estas figuras se crean usando tikz, para lo cual también uso tikz externo (por lo tanto, las figuras se compilan individualmente. En mi experiencia, al usar referencias dentro de figuras que se compilan usando externo no se muestran las etiquetas para algunas razón.

Por todo esto, el problema es que ahora es complicado hacer referencia a subfiguras. Logré usar los comandos \refy \hyperrefde la siguiente manera:

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

Aún así, esta solución no es perfecta porque cuando paso el cursor sobre tengo dos hipervínculos separados. ¿Existe una forma mejor y más sencilla de lograr lo que quiero sin utilizar subacaption o paquetes similares?

Quizás si hay una macro que pueda usar para obtener el número de figura a partir de una etiqueta de figura, entonces podría adjuntar una etiqueta al texto (a) en el título de la figura y luego hacer referencia a ella como:

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

Respuesta1

Utilizo \subfigpaquetes \subcaptioncuando tengo varias subfiguras en mi artículo. No estoy seguro de si esto es lo que estás buscando, pero mira a continuación mi enfoque. Utilicé el latexarchivo .svg.png como imagen de referencia (que se encuentra en línea).

\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}

Yo obtengo:

ingrese la descripción de la imagen aquí

Respuesta2

La documentación del paquete de subtítulos contiene una sección "Títulos dentro de subtítulos" sobre este tema. En particular, las subsecciones "Hacer referencia a subfiguras sin subtítulos" y "Usar el paquete tikz" podrían resultarle de interés.

Respuesta3

Quizás \phantomlabel(del paquete subcaption) y luego combinado con Figure~\hyperref[fig:some_figure_a]{\ref{fig:some_figure}a}puede hacer lo que quieras.

información relacionada