私はいくつかのサブ図を含む大きな図をプロットしましたマットプロット\ref
ライブラリには、Tex で実装するのが難しい多くの機能 (共有ラベルや共有軸など) が用意されているからです。ただし、これらのサブ図を Tex と同じように使用したいのですが、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 が投稿した回答から変更したものです。基本的な考え方は、テキストを書き込まずに、対応するファントム ラベルの位置にハイパーターゲットを作成することです。