我的标题是源代码,但其中不应该有任何内容。主要文件:
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\usepackage{fancyhdr}
\usepackage{layout}
\usepackage[headheight=15pt]{geometry}
\usepackage{titlesec}
\titleformat{\chapter}{\normalfont\bfseries\Large}{\thechapter.\quad}{0pt}{}
\titlespacing{\chapter}{0pt}{-50pt}{40pt}
\setlength{\parindent}{0pt}
\begin{document}
\chapter{FirstChapter}
\lipsum[2] %Everything fine here.
\restoregeometry
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\fancyhead[L]{\leftmark \rightmark}
\chapter*{LastChapter}
\thispagestyle{fancy}
\lipsum[1]
\end{document}
当我包含LastChapter
(以及其他几个可以正常工作的)时,只有LastChapter
页眉会出现问题(顺便说一句:页脚是空的,没问题)。 的最后一行PreLastChapter
是\clearpage
。 这有关系吗?
这与我之前多次改变几何形状有关吗?
注意:我不想从这个源代码中抛出任何东西,除了一个小错误外,它运行良好。(我昨天更新了所有软件包,我使用 TeXnicCenter 和 MiKTeX)。
答案1
在我看来,这里似乎存在两个误解。第一个是缺乏有关结果输入区域的知识,第二个是对命令的误解\titlespacing
。
让我们从打字区域开始。我showframe
向包添加了选项geometry
以显示生成的打字区域、页眉、页脚和边距的区域。
该命令\titlespacing
定义如下(参见包的文档titlesec
,第 3.2 章间距):
%\titlespacing*{command}{left}{before-sep}{after-sep}[right-sep]
\titlespacing{\chapter}{0pt}{-50pt}{40pt} % <=================== your choice
\titlespacing{\chapter}{0pt}{-20pt}{40pt} % <=================== my suggestion
\titlespacing{\chapter}{0pt}{0pt}{40pt} % <=================== no negative distance
您的选择 ( -50pt
) 会导致章节标题向上移动到页眉的保留空间。您在第一页看不到此效果的原因是页眉中没有规则。在第二页上,章节标题写在页眉规则上方。
我的选择(-20pt
)只会使章节标题稍微向上移动一点,但不会移动到页眉(和第 2 页的页眉规则)。
我认为,没有负距离(0pt
)可以得到最好的结果,但这当然不是我的个人观点……
请现在查看我的 MWE
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\usepackage{fancyhdr}
\usepackage[%
headheight=15pt,
showframe % <===================== to visualize the typing area
]{geometry}
\usepackage{titlesec}
%\titleformat{command}[shape]{format}{label}{sep}{before-code}[after-code]
\titleformat{\chapter}{\normalfont\bfseries\Large}{\thechapter.\quad}{0pt}{}
%\titlespacing*{command}{left}{before-sep}{after-sep}[right-sep]
\titlespacing{\chapter}{0pt}{-20pt}{40pt} % <====================== -50pt
\setlength{\parindent}{0pt}
\begin{document}
\chapter{FirstChapter}
\lipsum[1-8] %Everything fine here.
\restoregeometry
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\fancyhead[L]{\leftmark \rightmark}
\chapter*{LastChapter}
\thispagestyle{fancy}
\lipsum[1]
\end{document}
结果如下:
第三页:
我想那应该是你想要的结果。
如果您选择,-50pt
您将获得第 1 页(我仅显示页面的顶部):
对于第三页(请参见用红色箭头标记的标题行底部):
希望这能帮助您了解您的误解......
答案2
将该行更改\titlespacing{\chapter}{0pt}{-50pt}{40pt}
为\titlespacing{\chapter}{0pt}{-30pt}{40pt}
并运行代码,您将获得所需的结果。