我正在使用包\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
計數器將命令的行為更改為類似上述的行為,即對於所有未編號的部分(我從不引用帶星號的部分 line \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}