我想要实现的是,我的文档的前几个部分和包含的页码应该是英文的,roman
而文档的其余部分应该以arabic
数字形式显示。
像这样:
我 ....
二....
1 ....
2 ....
3 ....
现在一切正常,页码和章节都按我想要的方式编号。但我有以下问题:如果我单击目录中“阿拉伯语部分”的第一部分,它会跳转到第一个“罗马语部分”。这种情况发生在“罗马语部分”的数量上。如果我单击第三个“阿拉伯语部分”,它就没问题了。
如果我在目录中单击它,我只想跳转到正确的部分。
这就是我所拥有的:
\documentclass[12pt, a4paper, ngerman, oneside, bibtotoc, liststotoc, bibtotocnumbered, toctotoc]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\newcommand{\sectionnumbering}[1]{%
\setcounter{section}{0}%
\renewcommand{\thesection}{\csname #1\endcsname{section}}}
\begin{document}
\section{Deckblatt}
...
\pagenumbering{roman}
\sectionnumbering{Roman}
\pagestyle{empty}
\section{Erklaerung}
\section{Sperrvermerk}
\tableofcontents
\newpage
\listoffigures
\clearpage
\pagenumbering{arabic}
\sectionnumbering{arabic}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}{}}
\section{KapitelEinleitung}
\section{...}
\end{document}
我尝试使用\newcounter{}
和尝试了一些建议的解决方案\setcounter{}{}
,但没有成功。
答案1
OP 描述的这种行为的原因是重置了部分计数器,因此造成混淆hyperref
。使用hypertexnames=false
作为选项hyperref
将生成唯一的页面锚链接名称。
\documentclass[12pt, a4paper, ngerman, oneside, bibtotoc, liststotoc, bibtotocnumbered, toctotoc]{scrartcl}
\usepackage{fancyhdr}
\usepackage[utf8x]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[unicode,hypertexnames=false]{hyperref}
\usepackage{bookmark}
\PrerenderUnicode{ä}
\pagestyle{fancy}
\fancyhf{}
\newcommand{\sectionnumbering}[1]{%
\setcounter{section}{0}%
\renewcommand{\thesection}{\csname #1\endcsname{section}}%
}%
\begin{document}
\section{Deckblatt}
\pagenumbering{roman}
\sectionnumbering{Roman}
\pagestyle{empty}
\section{Erklärung}
\section{Sperrvermerk}
\clearpage
\tableofcontents
\newpage
\listoffigures
\clearpage
\pagenumbering{arabic}
\sectionnumbering{arabic}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}{}}
\section{KapitelEinleitung}
\section{...}
\end{document}
答案2
我不得不欺骗 hyperref,让它以为你正在使用章节。
\documentclass[12pt, a4paper, ngerman, oneside, bibtotoc, liststotoc, bibtotocnumbered, toctotoc]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{fancyhdr}
\newcounter{chapter}% causes hyperref to use chapter numbers
\usepackage{hyperref}
\pagestyle{fancy}
\fancyhf{}
\newcommand{\sectionnumbering}[1]{%
\stepcounter{chapter}% used by hyperref only
\setcounter{section}{0}% not automatic
\renewcommand{\thesection}{\csname #1\endcsname{section}}}
\begin{document}
\section{Deckblatt}
...
\pagenumbering{roman}
\sectionnumbering{Roman}
\pagestyle{empty}
\section{Erklaerung}
\section{Sperrvermerk}
\tableofcontents
\newpage
\listoffigures
\clearpage
\pagenumbering{arabic}
\sectionnumbering{arabic}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}{}}
\section{KapitelEinleitung}
\section{...}
\end{document}