我在寻求两件事的帮助。(1)我想将文本写成“在图(1)和图(2a)中”,其 TEX 写法如下:
Shown in Fig. (\ref{fig:main}) and shown in Fig. (\ref{fig:2})'
\begin{figure*}[t]
\centering
\label{fig:main} \caption{main}
\subfloat[ 1]{\label{fig:1}\includegraphics[width=3.5cm]{11}}
\subfloat[ 2]{\label{fig:2}\includegraphics[width=4.1cm]{22}}
\subfloat[ 3]{\label{fig:3}\includegraphics[width=4.1cm]{33}}
\subfloat[ 4]{\label{fig:4}\includegraphics[width=4.1cm]{44}}
\subfloat[ 5]{\label{fig:5}\includegraphics[width=4.1cm]{55}}
\subfloat[ 6]{\label{fig:6}\includegraphics[width=4.1cm]{66}}
\subfloat[ 7]{\label{fig:7}\includegraphics[width=4.1cm]{77}}
\subfloat[ 8]{\label{fig:8}\includegraphics[width=4.1cm]{88}}
\end{figure*}
但输出没有链接到图(2a)。
(2)此外,使用此代码时标题位于图像上方,我们如何将它们移至图像下方,如下所示:
11 22 33 44
(a) 1 (b) 2 (c) 3 (d) 4
Fig. (1) main
其中,11、22……等等是图像。
使用的软件包:
\usepackage{caption}
\usepackage{subcaption}
有什么解决办法吗?或者还有其他方法吗?可以参考单个图像的标签吗?谢谢。
答案1
在浮点数内部,始终将其放在\label
后面\caption
(在图中,您将其放在相反的位置)。由于您使用的\ref{fig:2}
是用于标记第二个子图的字符串,因此您超链接到第二个子图,而不是第一个子图;要超链接到您需要的第一个子图\ref{fig:1}
(顺便说一句,尝试为您的引用选择更具描述性的字符串)。
使用
\captionsetup[subfloat]{position=bottom}
将子标题放在子图下方。
我添加了一些\hfill
s 来给子图之间留出一些间距:
\documentclass[twocolumn]{article}
\usepackage{subfig}
\usepackage[demo]{graphicx}
\usepackage{hyperref}
\captionsetup[subfloat]{position=bottom}
\begin{document}
Shown in Fig.~(\ref{fig:main}) and shown in Fig.~\ref{fig:2}
\begin{figure*}[t]
\centering
\caption{main}\label{fig:main}
\subfloat[ 1]{\label{fig:1}\includegraphics[width=3.5cm]{11}}\hfill
\subfloat[ 2\label{fig:2}]{\includegraphics[width=4.1cm]{22}}\hfill
\subfloat[ 3]{\label{fig:3}\includegraphics[width=4.1cm]{33}}\hfill
\subfloat[ 4]{\label{fig:4}\includegraphics[width=4.1cm]{44}}
\subfloat[ 5]{\label{fig:5}\includegraphics[width=4.1cm]{55}}\hfill
\subfloat[ 6]{\label{fig:6}\includegraphics[width=4.1cm]{66}}\hfill
\subfloat[ 7]{\label{fig:7}\includegraphics[width=4.1cm]{77}}\hfill
\subfloat[ 8]{\label{fig:8}\includegraphics[width=4.1cm]{88}}
\end{figure*}
\end{document}