\titlespacing* 带有负数的 before-sep 使得 PDF 书签位置过低

\titlespacing* 带有负数的 before-sep 使得 PDF 书签位置过低

当我用\titlespacing*否定词九月之前为了让章节标题位置更高,单击 PDF 书签中的标题将导航到较低的位置。使用以下 MWE,标题将完全从视口中消失。

\documentclass{book}

\usepackage{titlesec}

\titleformat{\chapter}[block]
{\Huge\filcenter}
{\thechapter}
{0.5em}{}

\titlespacing*{\chapter}{0pt}{-50pt}{20pt}   % PDF bookmark misses the title
% \titlespacing*{\chapter}{0pt}{50pt}{20pt}  % this one feels correct

\usepackage{lipsum}
\usepackage{hyperref}

\begin{document}
\chapter{My Chapter}
\lipsum[1]
\end{document}

在我的计算机上,pdflatex 和 xelatex 都给出相同的结果(使用 titlesec v2.10.0 和 hyperref v6.83m)。请问如何修复此问题?谢谢!

答案1

这是时间问题。不要使用-50ptin ,而是删除和\titlespacing中的垂直空格。\@makechapterhead\@makeschapterhead

\documentclass{book}

\usepackage{titlesec,etoolbox}
\usepackage{showframe} % just for the example

\makeatletter
\patchcmd{\@makechapterhead}{50}{0}{}{}
\patchcmd{\@makeschapterhead}{50}{0}{}{}
\makeatother

\titleformat{\chapter}[block]
  {\Huge\filcenter}
  {\thechapter}
  {0.5em}
  {}

\titlespacing*{\chapter}{0pt}{0pt}{20pt}                                  

\usepackage{lipsum}
\usepackage{hyperref}

\begin{document}
\chapter{My Chapter}
\lipsum[1-16]
\section{A}
\lipsum
\end{document}

在此处输入图片描述

相关内容