如何自定义 autoref 标签

如何自定义 autoref 标签

在输出中,我得到

在第 1 节...第 1.1 项中

我想:

在第 1 节...在问题 1.1 中

这是我的脚本:

\documentclass[journal,comsoc]{IEEEtran}
\usepackage{enumitem}
\usepackage{hyperref}

\begin{document}
    
    \section{Listing}\label{sec:first}
    In \autoref{sec:first} ... In \autoref{question1} \par 
    
    \begin{enumerate}
        \item First
        \begin{enumerate}[label=\theenumi.\arabic*),leftmargin=*]
            \item First First \label{question1}
            \item First Second
        \end{enumerate}
        \item Second
        \begin{enumerate}[label=\theenumi.\arabic*),leftmargin=*]
            \item First First
            \item First Second
        \end{enumerate}
    \end{enumerate}
\end{document} 

答案1

\renewcommand*\Itemautorefname{question}在 之前添加\begin{document}。请参阅文档hyperref手动的,第 20 页。请注意,这会将标签的每个自动引用更改为列表项。

更新

为了使参考格式与标签格式不同,请使用包ref中的选项。enumitem

完整示例:

\documentclass[journal,comsoc]{IEEEtran}
\usepackage{enumitem}
\usepackage{hyperref}


\setlist[enumerate, 2]{
  label=\theenumi.\arabic*),
  ref=\theenumi.\arabic*,
  leftmargin=*}

\renewcommand*\Itemautorefname{question}

\begin{document}
    
    \section{Listing}\label{sec:first}
    In \autoref{sec:first} ... In \autoref{question1} \par 
    
    \begin{enumerate}
        \item First
        \begin{enumerate}%[label=\theenumi.\arabic*),leftmargin=*]
            \item First First \label{question1}
            \item First Second
        \end{enumerate}
        \item Second
        \begin{enumerate}%[label=\theenumi.\arabic*),leftmargin=*]
            \item First First
            \item First Second
        \end{enumerate}
    \end{enumerate}
\end{document} 

在此处输入图片描述

相关内容