Я работаю с \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}