使用 MWE:
\documentclass{sysbio}
\usepackage{hyperref}
\begin{document}
\section{Introduction}
Some thing in \ref{app::a}
Some thing in \autoref{app::a}
\appendix
\section{some appendix}
\label{app::a}
Some text
\end{document}
两者都没有\ref
按\autoref
我预期的那样工作:
\ref
给出空链接,而\autoref
只显示“部分”。我认为 sysbio 类可能存在问题,我怎么能用“附录 A”之类的东西来引用附录呢?示例 overleaf 项目的链接:这里
答案1
文档sysbio
类运行\setcounter{secnumdepth}{0}
。因此,默认情况下,节级标题(以及所有其他下级标题)均未编号。而且由于 LaTeX \label
-\ref
交叉引用机制要求对要交叉引用的对象进行编号,因此 和\ref
都\autoref
无法按预期运行。
补救措施?我建议您\setcounter{secnumdepth}{1}
在序言中运行 - 对文档中的所有节级标题进行编号 - 或在之后立即运行\appendix
,在这种情况下,只有文档附录部分的节级标题才会进行编号。
\documentclass{sysbio}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\begin{document}
\section{Introduction} % an unnumbered section header
Something in \ref{app::a}. Something in \autoref{app::a}.
\appendix
\setcounter{secnumdepth}{1} % either here or in the preamble
\section{An appendix} % % a numbered (lettered?) section header
\label{app::a}
Some text \dots
\end{document}