为什么我的报告标题中会出现源代码?

为什么我的报告标题中会出现源代码?

我的标题是源代码,但其中不应该有任何内容。主要文件:

\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}

结果如下:

pdf 第一页

第三页:

在此处输入图片描述

我想那应该是你想要的结果。

如果您选择,-50pt您将获得第 1 页(我仅显示页面的顶部):

错误-50pt第一页

对于第三页(请参见用红色箭头标记的标题行底部):

在此处输入图片描述

希望这能帮助您了解您的误解......

答案2

将该行更改\titlespacing{\chapter}{0pt}{-50pt}{40pt}\titlespacing{\chapter}{0pt}{-30pt}{40pt}并运行代码,您将获得所需的结果。

相关内容