LaTeX
我目前在使用和软件包排版的 PDF 文档中遇到了超链接放置问题hyperref
。我尝试了各种方法,但都无法获得所需的结果。
我的文档分为多个部分和章节,并附有附录和分析索引。我遇到的问题与生成的 PDF 中超链接的排列有关。
我所追求的结构如下:
书:
- 第1部分
- 第 1 部分第 1 章
- 第 1 部分第 2 章
- 第 1 部分第 3 章
- 第2部分
- 第 2 部分第 1 章
- 第 2 部分第 2 章
- 第 2 部分第 3 章
- 附录1
- 附录 2
- 分析指标
但是,PDF 中的超链接分组不正确,排列如下:
书:
- 第1部分
- 第 1 部分第 1 章
- 第 1 部分第 2 章
- 第 1 部分第 3 章
- 第2部分
- 第 2 部分第 1 章
- 第 2 部分第 2 章
- 第 2 部分第 3 章
- 附录1
- 附录 2
- 分析指标
\phantomsection
我之前曾尝试使用\addcontentsline
附录和分析索引,但问题仍然存在。
我的hyperref
设置如下:
\usepackage{hyperref}
\hypersetup{bookmarksnumbered}
\hypersetup{hidelinks}
\hypersetup{pdfauthor={My Name}, pdftitle={My Title}}
如果您需要有关我的LaTeX
代码或设置的更多信息,请告诉我。
编辑:按照我的建议做例子(很抱歉我现在才回复,因为我休假了一段时间)
\documentclass[a4paper,twoside,12pt,italian,notitlepage]{book}
\usepackage[UTF8]{inputenc}
\usepackage[italian]{babel}
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage{txfonts}
\usepackage{booktabs}
\renewcommand{\thesection}{\thechapter.1.}
\usepackage{tabularx}
\usepackage{subfig}
\usepackage{appendix}
\usepackage{graphicx}
\graphicspath{{./files/}}
\usepackage{emptypage}
\usepackage{booktabs}
\usepackage{marvosym}
\usepackage{textcomp}
\usepackage{verbatim}
\usepackage{imakeidx} %indice analitico
\makeindex
\usepackage{enumitem}
\usepackage{colortbl}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{caption}
\usepackage[maxdepth=6]{gitinfo2}
\captionsetup{tableposition=top,figureposition=bottom,font=small}
\captionsetup{format=hang,labelfont={bf}}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
%============= LISTINGS ======================
\usepackage{listings}
\definecolor{mGreen}{rgb}{0,0.6,0}
\definecolor{mGray}{rgb}{0.5,0.5,0.5}
\definecolor{mPurple}{rgb}{0.58,0,0.82}
\definecolor{backgroundColour}{rgb}{0.95,0.95,0.92}
\definecolor{backgroundColourC++}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{C}{
backgroundcolor=\color{backgroundColour},
commentstyle=\color{mGreen},
keywordstyle=\color{magenta},
numberstyle=\tiny\color{mGray},
stringstyle=\color{mPurple},
basicstyle=\footnotesize\ttfamily,
% breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
% numbers=left,
% numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
breakatwhitespace=true,
language=C
}
\lstdefinestyle{C++}{
language=C++,
backgroundcolor=\color{backgroundColourC++},
basicstyle=\footnotesize\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{green}\ttfamily,
morecomment=[l][\color{magenta}]{\#},
captionpos=b,
showspaces=false,
keepspaces=true,
breakatwhitespace=true,
breaklines=true
}
\lstset{basicstyle=\small\ttfamily,columns=fullflexible}
\addto\captionsitalian{\renewcommand{\lstlistingname}{Codice}}
\addto\captionsitalian{\renewcommand{\lstlistlistingname}{Elenco dei listati}}
%==============FANCY==============
\usepackage{fancyhdr}
\pagestyle{fancy}
%\fancyhead{}
\fancyfoot{}
\fancyhead[RO,LE]{\fontsize{10}{12} C e C++}
\fancyhead[LO,RE]{}
\cfoot{}
\fancyfoot[LE,RO]{\fontsize{10}{12} \thepage}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
%=================================
\usepackage{hyperref}
\hypersetup{
bookmarksnumbered,
bookmarksopen=false,
hidelinks,
hypertexnames=false,
pdfauthor={Micky Mouse},
pdftitle={My title}
}
\usepackage{imakeidx}
\makeindex
\makeindex[columns=2, title=Indice analitico]
\usepackage{bookmark}
\setcounter{secnumdepth}{4}
\renewcommand{\thesection}{\arabic{section}}
\author{Micky Mouse}
\title{My Title }
\date{MyDate}
\begin{document}
\pagestyle{empty}
\maketitle
\begin{center}
Rev.~\gitCommitterIsoDate\\
Hash:~\gitHash\\
\end{center}
\pagestyle{empty}
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\newpage
\section*{Premessa}
Some text as introduction of the book
\pagestyle{fancy}
\part{First part}
\include{A}
\include{B}
\part{Second part}
\include{C}
\include{D}
\appendix
\cleardoublepage
\phantomsection
\include{Apendix 1}
\phantomsection
\addcontentsline{toc}{part}{\indexname}
\printindex
\cleardoublepage
\end{document}
答案1
添加\bookmarksetup{startatroot}
(从bookmark
包中)以结束新章节(或附录)之前的部分。