我提交的期刊有一个 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}