使用与 \label 和 \ref 兼容的方式用符号对图形进行编号

使用与 \label 和 \ref 兼容的方式用符号对图形进行编号

在一篇长论文中,像往常一样充满了带标签的图表,其中有两个图表我想单独列出并用符号标记。例如,我想将它们标记为Figure $\dag$和。我希望以一种与和Figure $\ddag$兼容的方式执行此操作,这样当我引用} 和 时,我得到的是。我还希望图表在图表列表中使用此标签显示。有什么方法可以做到这一点吗?\label\refFigure $\dag$ \label{dagfig\ref{dagfig}$\dag$

答案1

您可以\thefigure在本地重新定义并降低figure计数器:

\documentclass{article}

\begin{document}

\listoffigures

\begin{figure}
\renewcommand\thefigure{$\dag$}
\caption{Figure dag}
\label{fig:dag}
\addtocounter{figure}{-1}
\end{figure}

\begin{figure}
\renewcommand\thefigure{$\ddag$}
\caption{Figure ddag}
\label{fig:ddag}
\addtocounter{figure}{-1}
\end{figure}

Figures~\ref{fig:dag}, and~\ref{fig:ddag}...

\begin{figure}
\caption{Regular figure}
\label{fig:fig}
\end{figure}

\end{document}

在此处输入图片描述

埃格尔建议使用新命令来改进上述解决方案:

\documentclass{article}

\makeatletter
\newcommand\specialcaption[1]{%
  \@namedef{the\@captype}{#1}%
  \addtocounter{\@captype}{-1}\caption}
\makeatother

\begin{document}

\begin{figure}
\specialcaption{$\dag$}{Figure dag}
\label{fig:dag}
\end{figure}

\begin{figure}
\specialcaption{$\ddag$}{Figure ddag}
\label{fig:ddag}
\end{figure}

Figures~\ref{fig:dag}, and~\ref{fig:ddag}...

\begin{figure}
\caption{Regular figure}
\label{fig:fig}
\end{figure}

\end{document}

\specialcaption也承认可选参数,如

\specialcaption{$\dag$}[short]{long}

并且,由于它使用\@captype,因此此命令也可在环境中使用table。使用脆弱命令的常见预防措施也适用于\specialcaption

相关内容