Я размещаю заголовки на внешних полях, где они не должны занимать вертикальное пространство. Я думал, что смогу добиться этого с помощью \vbox to 0pt{...}
, но fancyhdr
не покупаю. Вот сообщение об ошибке:
Package Fancyhdr Warning: \headheight is too small (12.0pt):
Make it at least 15.60004pt.
We now make it that large for the rest of the document.
This may cause the page layout to be inconsistent, however.
Я понятия не имею, откуда взялась эта цифра 15.60004pt или как написать заголовок таким образом, чтобы он не занимал вертикального пространства. MWE прилагается; ключевой макрос — \nrlefthead
. (Пример не совсем минимальный, но замена всех именованных длин буквенными длинами затруднит его чтение.)
\documentclass[twoside]{book}
\newdimen\blockwidth
\newdimen\blockheight
\blockwidth=120mm
\blockheight=220mm
\usepackage{etex}
\usepackage[twoside,top=10mm,body={\blockwidth,\blockheight}]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[EL]{\nrlefthead}
\renewcommand\headrulewidth{0pt}
\newdimen\nrheaddrop
\nrheaddrop=1.5in
\newdimen\nrleftheadrightmargin
\setlength\nrleftheadrightmargin{-20mm}
\newdimen\myheadwidth
\setlength{\myheadwidth}{180pt}
\newcommand\nrlefthead{%
\vbox to 0pt{\vspace*{\nrheaddrop}%
\llap{\parbox{\myheadwidth}%
{\raggedright\noindent\itshape
\nouppercase{\leftmark}}%
\hspace*{\nrleftheadrightmargin}}%
\vss}}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\usepackage{lipsum}
\begin{document}
\chapter{An innocuous title}
\lipsum[23-30]
\end{document}
решение1
Избегайте \vbox
, если вы о нем не знаете.
\documentclass[twoside]{book}
\newdimen\blockwidth
\newdimen\blockheight
\blockwidth=120mm
\blockheight=220mm
\usepackage[twoside,top=10mm,body={\blockwidth,\blockheight}]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[EL]{\nrlefthead}
\renewcommand\headrulewidth{0pt}
\newdimen\nrheaddrop
\nrheaddrop=1.5in
\newdimen\nrleftheadrightmargin
\setlength\nrleftheadrightmargin{-20mm}
\newdimen\myheadwidth
\setlength{\myheadwidth}{180pt}
\newcommand\nrlefthead{%
\parbox[t][0pt]{\textwidth}{%
\vspace*{\nrheaddrop}%
\llap{%
\parbox[b]{\myheadwidth}{%
\raggedright\noindent\itshape
\nouppercase{\leftmark}%
}%
\hspace*{\nrleftheadrightmargin}%
}%
}%
}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\usepackage{lipsum}
\begin{document}
\chapter{An innocuous title}
\lipsum[23-50]
\end{document}