![如何获得多个图表的交叉引用?](https://linux22.com/image/355630/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%BE%97%E5%A4%9A%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%9A%84%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8%EF%BC%9F.png)
我正在为一本期刊准备稿件,其中的图片采用以下可点击格式,例如“图 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
如果您的图形位置是第二和第五个图形,则会出现这种情况。