为段落重新定义 \autoref

为段落重新定义 \autoref

我正在使用\autorefhyperref包来引用我的部分等等。

我目前的工作内容:

\documentclass[a4paper, 12pt, parskip]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[hidelinks]{hyperref}
\addto\extrasenglish{%
    \renewcommand{\chapterautorefname}{Chapter}%
    \renewcommand{\sectionautorefname}{Section}%
    \renewcommand{\subsectionautorefname}{Section}%
    \renewcommand{\subsubsectionautorefname}{Section}%
    \renewcommand{\paragraphautorefname}{Paragraph}%
}

由于我secnumdepth使用默认值,因此我的段落没有编号。因此,我目前使用

\autoref{example} (\nameref{example})

引用我的段落。我显然可以为此编写一个命令,但如果我重新构建文档(这在某种程度上违背了 的想法autoref),就必须更改它。

我想知道是否可以\autoref根据secnumdepth计数器将命令的行为更改为类似上面的行为,即对于所有未编号的部分(我从不引用带星号的部分行\section*)。

因为我不知道该怎么做,我唯一的想法就是\paragraphautorefname像这样重新定义命令

\def\paragraphautorefname~#1\null{%
  Section~#1 (<paragraphname>)\null
}

但我不知道如何访问那里的段落名称。

对此有什么想法吗?有没有我没看到的更简单的方法?

编辑:澄清我所期待的结果。

\documentclass[a4paper, 12pt, parskip]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[hidelinks]{hyperref}
\addto\extrasenglish{%
    \renewcommand{\chapterautorefname}{Chapter}%
    \renewcommand{\sectionautorefname}{Section}%
    \renewcommand{\subsectionautorefname}{Section}%
    \renewcommand{\subsubsectionautorefname}{Section}%
    \renewcommand{\paragraphautorefname}{Paragraph}%
}

\begin{document}

\chapter{Chapter 1}\label{cha:1}
\section{Section 1}\label{sec:1}
\subsection{Subsection 1}\label{sub:1}
\subsubsection{Subsubsection 1}\label{subsub:1}
\paragraph{Paragraph 1}\label{par:1}

\section{Another Section}
Here I can happily reference \autoref{cha:1}, \autoref{sec:1}, \autoref{sub:1}, and \autoref{subsub:1}.

If I'm trying to reference the paragraph, as expected, I will get the result of the next enclosing numbered section \autoref{par:1}.

I want that \verb|\autoref| applied to \texttt{par:1} outputs something like \verb|\nameref{par:1} (\autoref{par:1})| would, so: \nameref{par:1} (\autoref{par:1}), without me doing that manually.

\end{document}

上述 MWE 的输出

相关内容