期望的结果在下面的代码中被标记为‘WANTED’。
附言:文档为了enumitem
。
\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage{hyperref}
\newlist{problem}{enumerate*}{1}
\setlist[problem]{
resume,
label=\emph{\arabic*)}
}
\newcommand{\problemautorefname}{Problem}
\begin{document}
Problems:
\begin{problem}
\item \lipsum[1][1]\label{pb:foo}
\end{problem}
We solve \autoref{pb:foo}, \dots% WANTED: Problem~1
\end{document}
答案1
我建议您使用cleveref
而不是hyperref
来创建交叉引用。我建议的主要原因是\cref
和\Cref
允许您一次创建对多个项目的交叉引用。
\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink]{cleveref}
\newlist{problem}{enumerate*}{1} % creates a counter called 'problemi'
\setlist[problem]{resume,left=0pt,
label=\emph{\arabic*)},
ref=\textup{\arabic*)}}
\crefname{problemi}{problem}{problems}
\begin{document}
Problems:
\begin{problem}
\item\label{pb:foo} \lipsum[1][1]
\item\label{pb:bar} \lipsum[1][2]
\end{problem}
\cref{pb:foo,pb:bar}
\Cref{pb:foo,pb:bar}
\end{document}