标记子标题

标记子标题

我的子标题引用无效

\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。另一方面,您需要\refstepcountercleverref 和 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}

相关内容