使用 \ref 发布或预先说明

使用 \ref 发布或预先说明

我打算包含在 latex 文件中的图有时会被拆分成子图并进行相应的标记(例如,有 (a)、(b) 等标记),但仍然是单个图。这使我更容易正确对齐它们(将 (a) 和 (b) 标记在同一高度等)。当我在文本中引用它们时,我使用类似\ref{fig:my_face}(a)。使用该hyperref包,链接的文本当然只包含图号,而不包含 (a)。有没有办法像命令一样包含后记或预注cite(例如,\cite[p. 99]{myRef}也链接 p.99)?

下面的代码

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[bookmarks=true,colorlinks=true,linkcolor=red]{hyperref}

\begin{document}

\begin{figure}
\includegraphics{fig.pdf}
\caption{
Some caption.
}
\label{fig:test}
\end{figure}

\ref{fig:test}(a)

\end{document}

产生输出

在此处输入图片描述

我喜欢让 (a) 也链接到图像,所以它也应该以红色显示。

答案1

您可以将手册\hyperref和组合起来使用\ref*,并将其包装在宏中:

在此处输入图片描述

\documentclass{scrreprt}
\usepackage{graphicx}
\usepackage[colorlinks=true,linkcolor=red]{hyperref}

\newcommand{\myref}[2][]{\hyperref[#2]{\ref*{#2}#1}}

\begin{document}

\begin{figure}
  \centering
  \includegraphics[width=.3\linewidth]{example-image-a}\quad
  \includegraphics[width=.3\linewidth]{example-image-b}
  \caption{Some caption.}
  \label{fig:test}
\end{figure}

See Figure~\myref[(a)]{fig:test}.

\end{document}

相关内容