![更改每章起点的相对位置(如果有的话,也包括前言、参考文献、索引)](https://linux22.com/image/320556/%E6%9B%B4%E6%94%B9%E6%AF%8F%E7%AB%A0%E8%B5%B7%E7%82%B9%E7%9A%84%E7%9B%B8%E5%AF%B9%E4%BD%8D%E7%BD%AE%EF%BC%88%E5%A6%82%E6%9E%9C%E6%9C%89%E7%9A%84%E8%AF%9D%EF%BC%8C%E4%B9%9F%E5%8C%85%E6%8B%AC%E5%89%8D%E8%A8%80%E3%80%81%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E3%80%81%E7%B4%A2%E5%BC%95%EF%BC%89.png)
我希望每章(如果有的话,还有前言、参考文献、索引)第一页的起点位于页面文本高度的 1/3 位置(从页面顶部开始)。换句话说,在以下文档中,我希望单词Chapter 1
从页面顶部开始,刚好位于页面高度的 1/3 之后。
\documentclass{book}
\begin{document}
\chapter{one}
\end{document}
答案1
第一个解决方案:使用titlesec
包
\documentclass{book}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter} {0pt}{.33\textheight}{40pt}
\begin{document}
\chapter*{one}
\end{document}
第二种解决方案:使用etoolbox
包
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\vspace*{50\p@}}{\vspace*{.33\textheight}}{}{\errmessage{fail in patching \noexpand\@makechapterhead command}}
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{\vspace*{.33\textheight}}{}{\errmessage{fail in patching \noexpand\@makeschapterhead command}}
\makeatother
\begin{document}
\chapter{one}
\end{document}