我正在使用\autoref
该hyperref
包来引用我的部分等等。
我目前的工作内容:
\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}