나는 다음을 사용하여 여러 하위 그림이 포함된 큰 그림을 그렸습니다.matplotlib, 라이브러리는 tex에서 구현하기 어려운 많은 기능(예: 공유 레이블 및 공유 축)을 제공하기 때문입니다. 그러나 나는 tex에서 \ref
와 마찬가지로 이러한 하위 그림을 원합니다 . subcaption
트릭을 수행할 수 있는 방법이 있습니까?
내 요구 사항은 질문과 거의 동일합니다.하위 도표가 포함된 큰 그림에 대한 여러 레이블.
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이 게시한 답변에서 수정되었습니다. 기본 아이디어는 텍스트를 쓰지 않고 해당 팬텀 라벨 위치에 하이퍼 타겟을 생성하는 것입니다.