![书签中缺少页码](https://linux22.com/image/297258/%E4%B9%A6%E7%AD%BE%E4%B8%AD%E7%BC%BA%E5%B0%91%E9%A1%B5%E7%A0%81.png)
书签中缺少“Inhaltsverzeichnis”的页码。
我手动添加了目录(TOC)
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
但它不打印页码。我用相同命令添加的 LOF 或 LOT 按照我的意愿显示。
当我添加
\pdfbookmark{Inhaltsverzeichnis}{Inhaltsverzeichnis}
而不是 \addcontentsline,我在书签中得到了我想要的内容,但是目录从目录中消失了。
如何修复?
更新
以下是 MWE
\documentclass[12pt,a4paper,oneside]{scrbook}
\usepackage[ngerman]{babel} % deutsche Worttrennung
\usepackage[T1]{fontenc} % Ausgabe von Sonderzeichen und Akzenten in PDF verbessert
\usepackage[utf8]{inputenc} % Eingabe von Sonderzeichen möglich
\usepackage{lipsum}
\setcounter{secnumdepth}{3} % subsubsections nummerieren
\setcounter{tocdepth}{3} % subsubsections in TOC
\usepackage[ %
pdfproducer={Texmaker}, %
pdfcreator={pdfLaTeX}, %
hidelinks, % versteckt die Boxen um die Links in der PDF
bookmarksnumbered, % nummereiert Lesezeichen
]{hyperref} % PDF Metainformationen hinzufügen
\begin{document}
\pagenumbering{gobble}
\chapter*{Sperrvermerk}
\addcontentsline{toc}{chapter}{Sperrvermerk}
\lipsum[1]
\clearpage
\chapter*{Vorwort}
\addcontentsline{toc}{chapter}{Vorwort}
\lipsum[2]
\clearpage
\pagenumbering{Roman}
\pagestyle{headings}
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
\tableofcontents
\chapter{One}
\lipsum[3]
\section{One.1}
\lipsum[4]
\section{One.2}
\lipsum[5]
\end{document}
答案1
只要没有 MWE,我假设book.cls
\documentclass{book}
\usepackage{hyperref}
\begin{document}
\phantomsection
\tableofcontents
\addcontentsline{toc}{chapter}{\contentsname}%
\chapter{First}
\section{First}
\end{document}
MWE 的另一种解决方案
\setuptoc{toc}{totoc}
在序言中使用并删除\addcontentsline
内容行。否则它将再次出现。
\documentclass[12pt,a4paper,oneside]{scrbook}
\setuptoc{toc}{totoc}
\usepackage[ngerman]{babel} % deutsche Worttrennung
\usepackage[T1]{fontenc} % Ausgabe von Sonderzeichen und Akzenten in PDF verbessert
\usepackage[utf8]{inputenc} % Eingabe von Sonderzeichen möglich
\usepackage{lipsum}
\setcounter{secnumdepth}{3} % subsubsections nummerieren
\setcounter{tocdepth}{3} % subsubsections in TOC
\usepackage[ %
pdfproducer={Texmaker}, %
pdfcreator={pdfLaTeX}, %
hidelinks, % versteckt die Boxen um die Links in der PDF
bookmarksnumbered, % nummereiert Lesezeichen
]{hyperref} % PDF Metainformationen hinzufügen
\begin{document}
\pagenumbering{gobble}
\chapter*{Sperrvermerk}
\addcontentsline{toc}{chapter}{Sperrvermerk}
\lipsum[1]
\clearpage
\chapter*{Vorwort}
\addcontentsline{toc}{chapter}{Vorwort}
\lipsum[2]
\clearpage
\pagenumbering{Roman}
\pagestyle{headings}
\tableofcontents
\chapter{One}
\lipsum[3]
\section{One.1}
\lipsum[4]
\section{One.2}
\lipsum[5]
\end{document}
答案2
假设你正在使用 KOMA-Book (scrbook),并且在提供了错误的解决方案(pdf 书签中的重复条目,请参阅我的第一个答案)后,我在 Google 上搜索了一下,找到了一个解决方案针对您的问题。\setuptoc{toc}{totoc}
是您所需要的。编译文档三次后,一切都应该没问题:
\documentclass{scrbook}
\setuptoc{toc}{totoc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{bookmark}
\begin{document}
\frontmatter
\title{foobar}
\maketitle
\chapter{Before TOC 1}
\Blindtext
\chapter{Before TOC 2}
\Blindtext
\tableofcontents
\mainmatter
\chapter{Chap 1}
\Blindtext
\chapter{Chap 2}
\Blindtext
\end{document}
答案3
只需同时使用\pdfbookmark
即可\addcontentsline
,如下所示:
% part before generating the TOC
\pdfbookmark[chapter]{\contentsname}{toc} %add TOC to bookmarks
\addcontentsline{toc}{chapter}{\contentsname} %add TOC to TOC
\tableofcontents
% part after generating the TOC