引用子圖而不使用子標題或類似的包

引用子圖而不使用子標題或類似的包

我正在寫一本書,我使用 subcaption 套件來引用一些數字。然而,我發現在某些情況下,直接在圖中添加標題文字(a)、(b)等對我來說更容易。為了使事情變得更複雜,其中許多圖形是使用tikz 創建的,為此我也使用tikz external(因此這些圖形是單獨編譯的。根據我的經驗,使用使用外部編譯的圖形中的參考並沒有顯示某些標籤原因。

由於這一切,問題是現在很難引用子圖。我設法使用\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}可能會做你想要的。

相關內容