![如何在 `enumitem` 项目编号中保留句号,但将其从 `\autoref` 标签中删除](https://linux22.com/image/475488/%E5%A6%82%E4%BD%95%E5%9C%A8%20%60enumitem%60%20%E9%A1%B9%E7%9B%AE%E7%BC%96%E5%8F%B7%E4%B8%AD%E4%BF%9D%E7%95%99%E5%8F%A5%E5%8F%B7%EF%BC%8C%E4%BD%86%E5%B0%86%E5%85%B6%E4%BB%8E%20%60%5Cautoref%60%20%E6%A0%87%E7%AD%BE%E4%B8%AD%E5%88%A0%E9%99%A4.png)
我正在使用hyperref
包的\autoref
命令,以便我可以引用编号enumitem
的项目标签编号。我遇到一个问题,我希望数字有一个句号(1.
),但没有§1
标签,如 MWE 输出所示:
我可以删除两个数字的句号,方法是删除最后一个括号前的句号}
\setlist[enumerate,1]{label=\textbf{\arabic*}.}
但是我希望项目编号最好有一个句号。我不确定这是不是个enumitem
问题hyperref
,如果是的话hyperref
,我不知道该如何解决它。请问如何实现?
我没有承诺\autoref
,但我只是想要一些带有§符号的东西能够链接到列表中的不同项目,我愿意接受任何可行的解决方案。
\documentclass{article}
\usepackage{enumitem}
\usepackage{hyperref}
\makeatletter
\renewcommand{\Itemautorefname}{\S\@gobble}
\makeatother
\setlist[enumerate,1]{label=\textbf{\arabic*}.}
\begin{document}
\begin{enumerate}
\item Foo \label{intro:one}
\item Bar \label{intro:two}
\item Baz see \autoref{intro:one} or \autoref{intro:two}
\end{enumerate}
\end{document}
答案1
我在这里看不出 autoref 有什么意义:
\documentclass{article}
\usepackage{enumitem}
\usepackage{hyperref}
\setlist[enumerate,1]{label=\textbf{\arabic*}.,ref=\S\arabic*}
\begin{document}
\begin{enumerate}
\item Foo \label{intro:one}
\item Bar \label{intro:two}
\item Baz see \ref{intro:one} or \ref{intro:two}
\end{enumerate}
\end{document}
就我个人而言,我确实发现引用起来相当令人困惑1.
,$1
而且我根本不会这么做。