这里是 Overleaf 上的 Springer Nature 模板,这里是下载版本。
我可以从附录中引用表格,并且显示的名称是正确的(例如表 A1),但是超链接是错误的并将我引导至表 1 而不是表 A1。
MWE 使用 Springer Nature 模板:
\documentclass[pdflatex,sn-mathphys]{sn-jnl}
\begin{document}
\section{Test references}\label{sec_intro}
Table \ref{tab} in Section \ref{sec_tables}. Table \ref{tab-test} in Appendix \ref{secA1}.
\newpage
\section{Normal section}\label{sec_tables}
\begin{table}[h]
\caption{Caption text}\label{tab}%
X
\end{table}
\newpage
\begin{appendices}
\section{Appendix}\label{secA1}
\begin{table}[h]
\caption{Caption text}\label{tab-test}%
X
\end{table}
\end{appendices}
\end{document}
我很感谢任何提示。我认为这是问题所在,sn-jnl.cls
但我一点也不确定。
答案1
我认为这是一个问题
sn-jnl.cls
。
正确的。
有问题的 Springer 模板似乎修改了计数器的外观section
,并在进入环境时将部分、方程式、表格和图形的计数器重置为零appendices
。但是,该模板显然未能充分通知hyperref
包(顺便说一下,包是由文档类自动加载的)有关此更改的信息。
解决方法?插入指令
\renewcommand\theHtable{AABB\arabic{table}}
紧跟在 之后\begin{appendices}
。此处,“AABB” 只是任何唯一字符串。请参阅用户指南的第 5.2 节“目的地名称选项”超链接包以获取有关此主题的更多信息。
此外,如果你还有figure
附录中的环境,并希望在文档的其他地方交叉引用它们,请务必运行
\renewcommand\theHfigure{AABB\arabic{figure}}
也一样。
\documentclass[pdflatex,sn-mathphys]{sn-jnl}
\begin{document}
\section{Test references}\label{sec_intro}
Table \ref{tab} in Section \ref{sec_tables}.
Table \ref{tab-testA} in Appendix \ref{sec:AppA}.
\newpage
\section{Normal section}\label{sec_tables}
\begin{table}[h] \caption{Caption text}\label{tab} XYZ \end{table}
\newpage
\begin{appendices}
%% For use with 'hyperref': Choose a unique identifier, e.g.,
%% the string 'AABB', to redefine the '\theHtable' macro
\renewcommand\theHtable{AABB\arabic{table}} % <-- new
\section{Supplemental Material}\label{sec:AppA}
\begin{table}[h] \caption{Caption text}\label{tab-testA} UVW \end{table}
\end{appendices}
\end{document}