自定义计数器在原处正确打印,但在 nameref 引用中打印不正确

自定义计数器在原处正确打印,但在 nameref 引用中打印不正确

我提交的期刊有一个 LaTeX 模板(耶!),但模板建议手动标记补充图。由于我太懒了,所以我想创建一个新的计数器和一个可以跟踪它的新命令。然而,在引用这些补充图时,计数器显示为 0。

举一个简单的例子,

\documentclass[10pt,letterpaper]{article}

\newcounter{SFig}
\newcommand{\figsupp}[2]{\refstepcounter{SFig} \paragraph*{S\theSFig\ Fig.}\label{#1} {\bf #2}}

\usepackage{hyperref}

\begin{document}
\section{Journal Article}
Lorem Ipsum  (\nameref{Supp:Supp1}).  Dolor sic amet (\nameref{Supp:Supp2}).

\section{Supplemental Information}
\figsupp{Supp:Supp1}{ I did some extra stuff}
\figsupp{Supp:Supp2} {I did even more extra stuff}

\end{document}

尽管补充部分的输出没有问题,但在参考文献中却给出全 0。

补充图片在补充部分编号正确,但在正文的参考文献中编号不正确

答案1

这里使用了错误的信息——我建议直接\label创建\@currentlabel和内容,然后再应用。\@currentlabelname\label

\documentclass[10pt,letterpaper]{article}

\usepackage{hyperref}

\newcounter{SFig}
\makeatletter
\newcommand{\figsupp}[2]{%
  \begingroup
  \refstepcounter{SFig}%
  \paragraph*{S\theSFig\ Fig.} {\bfseries{#2}}\phantomsection
  \protected@edef\@currentlabel{\theSFig}
  \protected@edef\@currentlabelname{S\theSFig\ Fig.}
  \label{#1}
  \endgroup
}
\makeatother

\begin{document}
\section{Journal Article}
Lorem Ipsum  (\nameref{Supp:Supp1}).  Dolor sic amet (\nameref{Supp:Supp2}).

\clearpage
\section{Supplemental Information}
\figsupp{Supp:Supp1}{I did some extra stuff}
\figsupp{Supp:Supp2}{I did even more extra stuff}

\end{document}

在此处输入图片描述

相关内容