如何获得多个图表的交叉引用?

如何获得多个图表的交叉引用?

在此处输入图片描述

我正在为一本期刊准备稿件,其中的图片采用以下可点击格式,例如“图 1”、“图 2 和 3”以及“图 4-6”。我尝试使用\hyperref现有代码由...提供海科·奥伯迪克,但没有得到所需的格式。请查看所附的屏幕截图以了解图形引用样式。MWE 是从现有代码

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{todonotes}
\usepackage{hyperref}

\newcommand*{\figref}[2][]{%
\hyperref[{fig:#2}]{%
Fig.~\ref*{fig:#2}%
\ifx\\#1\\%
\else
\,#1%
\fi
  }%
}
\begin{document}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 1.}
\label{fig:missing Figure1}
\end{figure}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 2.}
\label{fig:missing Figure2}
\end{figure}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 3.}
\label{fig:missing Figure3}
\end{figure}

The single figure should be like that \figref{missing Figure1}.
And two figures be like that \figref{missing Figure1} and \figref{missing Figure2}, 
moreover the combination of three figures like tha \figref{missing Figure1, 
missing Figure2,missing Figure3} as you can see in the attached journal's 
screenshot.

\end{document}

答案1

我认为,从印刷术的角度来说,将连词“and”、“to”、“ --”(破折号)等作为超链接的一部分是一个糟糕的想法。

以下对软件包的修改可能正是您所需要的。请注意,可以通过或 通过cleveref指定一系列交叉引用项。\Cref\Crefrange

在此处输入图片描述

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[colorlinks]{hyperref}
\usepackage[nameinlink]{cleveref}
\Crefname{figure}{Fig.}{Figs.}
\newcommand\crefrangeconjunction{--}

\begin{document}
\begin{figure}[t!]
\caption{Missing figure 1.}\label{fig:1}
\caption{Missing figure 2.}\label{fig:2}
\caption{Missing figure 3.}\label{fig:3}
\caption{Missing figure 4.}\label{fig:4}
\caption{Missing figure 5.}\label{fig:5}
\end{figure}

\obeylines % just for this example
Single figure: \Cref{fig:2}
Two figures: \Cref{fig:1,fig:3}
Range of consecutive figures: \Cref{fig:1,fig:2,fig:3}, \Crefrange{fig:1}{fig:5}
\end{document}

答案2

您可以使用cleveref包来实现这一点,以及hyperref和 的一些选项cleveref。对使用的引用命令进行微小的更改,即在适当的地方\figref\cref和替换\crefrange

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{todonotes}
\usepackage[colorlinks,linkcolor=blue]{hyperref}
\usepackage[nameinlink,capitalise]{cleveref}

\newcommand{\crefrangeconjunction}{--}

\begin{document}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 1.}
\label{fig:missing Figure1}
\end{figure}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 2.}
\label{fig:missing Figure2}
\end{figure}

\begin{figure}[t]
\missingfigure[figwidth=6cm]{- << Ciel, mon mari >> dit-elle !}
\caption{Missing figure 3.}
\label{fig:missing Figure3}
\end{figure}
The single figure should be like that \cref{fig:missing Figure1}. And two figures be like that \cref{fig:missing Figure1,fig:missing Figure2}, moreover the combination of three figures like the \crefrange{fig:missing Figure1}{fig:missing Figure3} as you can see in the attached journal's screenshot.

\end{document}

输出结果如下:

输出

答案3

您可以创建一个名为 multiref 的新命令,并为其提供第一个和最后一个数字

\newcommand{\multiref}[2]{\autoref{#1}-\ref{#2}} % from - to

用法:

\multiref{fig:startfiglabel}{fig:endfiglabel}

Figure 2-5如果您的图形位置是第二和第五个图形,则会出现这种情况。

相关内容