我的子标题引用无效
\documentclass{article}
\usepackage{mwe}
\usepackage{subcaption}
\usepackage{cleveref}
\begin{document}
\section{Section}
\begin{center}
\captionsetup{type=figure}
\begin{subfigure}{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-a.pdf}
\caption*{Text 0}
\end{subfigure}
\begin{subfigure}{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-b.pdf}
\caption*{Text 1\label{here}}
\end{subfigure}
\captionof{figure}{Description}
\end{center}
Look at \Cref{here}.
\end{document}
也许还会看到这里
更新:
它应该产生Look at Text 1
实际上,它始终是相同的文本,因此我非常希望有一个解决方案,让我的计数器位于0,1, ...
标题的顶部。或者(也许与\caption{\empty}
我的计数器所在的位置一起使用Text 0, Text 1, ...
答案1
由于计数器被重置为零,因此您无法使用\refstepcounter
它来设置\label
。另一方面,您需要\refstepcounter
cleverref 和 hyperref。因此我先生成标签,\refstepcounter
然后再重置\@currentlabel
。
我看到\subcaption
定义了 skip=6pt,但我不知道 skip 在哪里使用。另外,\caption
不知何故知道它是在顶部还是底部。我不得不\mycaption
只设置底部。
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{hyperref}
\newcounter{subfig}[figure]
\makeatletter
\newcommand{\mycaption}{\edef\@templabel{Text \thesubfig}%
\refstepcounter{subfig}%
\let\@currentlabel=\@templabel% \global?
\vspace{6pt}%
\makebox[\textwidth]{\@currentlabel}}
\makeatother
\newcommand{\topanchor}[1]% #1 = counter
{\refstepcounter{#1}\addtocounter{#1}{-1}\par}
\begin{document}
\section{Section}
\begin{center}
\topanchor{figure}%
\begin{minipage}{0.4\textwidth}
\topanchor{subfig}%
\includegraphics[width=\textwidth]{example-image-a.pdf}
\mycaption
\end{minipage}
\begin{minipage}{0.4\textwidth}
\topanchor{subfig}%
\includegraphics[width=\textwidth]{example-image-b.pdf}
\mycaption\label{here}
\end{minipage}
\captionof{figure}{Description}\label{there}
\end{center}
Look at \ref{here}.
Hyperlink test \ref{there}.
\end{document}
答案2
你可以使用这个包nameref
来实现这一点。它会帮你找到标题文本。
输出
代码
\documentclass{article}
\usepackage{mwe}
\usepackage[labelformat=empty]{subcaption}
\usepackage{nameref}
\begin{document}
\section{Section}
\begin{figure}[hbt]
\centering
\begin{subfigure}{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-a.pdf}
\caption{Text 1}
\end{subfigure}\hspace{\columnsep}%
\begin{subfigure}{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-b.pdf}
\caption{Text 2}\label{fig:here}
\end{subfigure}
\caption{Description}
\end{figure}
Look at ``\nameref{fig:here}''.
\end{document}