Hyperref 忽略 \subsubsectionautorefname

Hyperref 忽略 \subsubsectionautorefname

在我的文档中,我使用\autoref引用,但LaTeX\subsubsection不会打印文本(如预期的那样),而是打印文本。这是一个最小工作示例:\subsubsectionautorefname\sectionautorefname

\documentclass[10pt, a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[pdfborder={0 0 0}]{hyperref}

\addto\extrasngerman{%
    \def\sectionautorefname{SECTION}%
    \def\subsectionautorefname{Sub-Abschnitt}%
    \def\subsubsectionautorefname{SubSub-Abschnitt}%
}

\newcommand*{\QuoteM}[1]{\frqq #1\flqq}

\newcommand*{\SeeS}[1]
{(siehe auch \autoref{#1} \QuoteM{\nameref{#1}} auf \autopageref{#1})}

\begin{document}

\chapter{chapter} \label{1}
\section{section} \label{2}
\subsection{subsection} \label{3}
\subsubsection{subsubsection} \label{4}

\section{section2}

\SeeS{1}\\
\SeeS{2}\\
\SeeS{3}\\
\SeeS{4}\\

\end{document}

因此我期望:

(siehe auch Kapitel 1 »chapter« auf Seite 1) 
(siehe auch SECTION 1.1 »section« auf Seite 1) 
(siehe auch Sub-Abschnitt 1.1.1 »subsection« auf Seite 1) 
(siehe auch SubSub-Abschnitt 1.1.1 »subsubsection« auf Seite 1) 

但我得到的却是:

(siehe auch Kapitel 1 »chapter« auf Seite 1) 
(siehe auch SECTION 1.1 »section« auf Seite 1) 
(siehe auch Sub-Abschnitt 1.1.1 »subsection« auf Seite 1) 
(siehe auch SECTION 1.1.1 »subsubsection« auf Seite 1) 

我如何将现有的行为改变为预期的行为?

答案1

为了获得正确的计数器名称而进行错误的自动引用名称扩展的原因是根本subsubsection没有编号,因此将secnumdepth计数器设置为3这里。

\autoref\newlabel使用命令中存储的超级锚点名称.aux。对于未编号的subsubsectionsection*.X写入文件,其中X用整数替换 --然后\autoref提取 section*并假定计数器section已参与。

从德国风格的角度来看,我不会写子断层休止符相反,\subsubsection确实没有合适的德语翻译。

也不要使用在宏\\之后\SeeS。每个宏之间的空行\SeeS{...}也会提供换行符。

\documentclass[10pt, a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[pdfborder={0 0 0}]{hyperref}


\addto\extrasngerman{%
    \def\sectionautorefname{SECTION}%
    \def\subsectionautorefname{Sub-Abschnitt}%
    \def\subsubsectionautorefname{SubSub-Abschnitt}%
}

\setcounter{secnumdepth}{3}

\newcommand*{\QuoteM}[1]{\frqq #1\flqq}

\newcommand*{\SeeS}[1]
{(siehe auch \autoref{#1} \QuoteM{\nameref{#1}} auf \autopageref{#1})}

\begin{document}

\chapter{chapter} \label{1}
\section{section} \label{2}
\subsection{subsection} \label{3}
\subsubsection{subsubsection}\label{4}

\section{section2}

\SeeS{1}

\SeeS{2}

\SeeS{3}

\SeeS{4}

\end{document}

在此处输入图片描述

相关内容