
Estou trabalhando em um livro e uso o pacote subcaption para me referir a algumas figuras. No entanto, descobri que em alguns casos é mais fácil apenas adicionar o texto da legenda (a), (b), etc. Para complicar as coisas, muitas dessas figuras são criadas usando tikz, para o qual também uso o tikz externo (portanto, as figuras são compiladas individualmente. Na minha experiência, usando referência em figuras compiladas usando externo, não estão mostrando os rótulos de alguns razão.
Por tudo isso, o problema é que agora é difícil referir-se a subfiguras. Consegui usar os comandos \ref
e \hyperref
da seguinte maneira:
Figure~\ref{fig:some_figure}\hyperref[fig:some_figure]{a}
Ainda assim, esta solução não é perfeita porque, quando passo o mouse, tenho dois hiperlinks separados. Existe uma maneira melhor e mais simples de realizar o que desejo sem usar subcaption ou pacotes semelhantes?
Talvez se houver uma macro que eu possa usar para obter o número da figura a partir de um rótulo de figura, eu poderia anexar um rótulo ao texto (a) na legenda da figura e depois consultá-lo como:
Figure~\hyperref[fig:some_figure_a]{\getFigureNumber{fig:some_figure}a}
Responder1
Eu uso \subfig
pacotes \subcaption
quando tenho várias subfiguras em meu artigo. Não tenho certeza se é isso que você está procurando, mas veja abaixo minha abordagem. Usei o latex
arquivo .svg.png como imagem de referência (encontrado online).
\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}
Eu recebo:
Responder2
A documentação do pacote subcaption contém uma seção "Legendas dentro de subfiguras" referente a este tópico. Particularmente as subseções "Referenciando subfiguras sem sublegendas" e "Usando o pacote tikz" podem ser do seu interesse.
Responder3
Talvez \phantomlabel
(de package subcaption
) e então combinado com Figure~\hyperref[fig:some_figure_a]{\ref{fig:some_figure}a}
possa fazer o que quiser.