顶部边距 fancyhdr

顶部边距 fancyhdr

我现在已经开始使用该\fancyhdr包,使用下一个命令:

\newgeometry{left=1.5in,right=1.5cm,top=3cm,bottom=2.5cm,headheight=1cm}

\begin{document}输入标题页前后;3厘米的顶部边距是为了让页眉看起来好看,顶部不要太多)

\pagestyle{fancy}
%\fancyhf{}
\fancyheadoffset{0cm}
%\renewcommand{\headrulewidth}{0pt} 
\renewcommand{\footrulewidth}{0pt}
%\renewcommand{\headheight}{13.6pt}
\fancyfoot[R]{\thepage}
\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyfoot[R]{\thepage}
  \renewcommand{\headrulewidth}{0pt}
 \newgeometry{left=1.5in,right=1.5cm,top=2cm,bottom=2.5cm,headheight=1cm}
}

现在的问题是,您可能已经注意到,3 厘米的上边距对于带有页眉的页面来说是理想的。但是,对于采用普通样式的页面(例如,新章节标题页),3 厘米的空间就太大了。

我怎样才能轻松解决这个问题?

梅威瑟:

\documentclass[11pt]{report}
\usepackage{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}           %mooiere hoofding en voettekst
\begin{document}
\tableofcontents
\pagestyle{fancy}
\fancyheadoffset{0cm}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[R]{\thepage}
\fancypagestyle{plain}{%
    \fancyhf{}%
    \fancyfoot[R]{\thepage}
    \renewcommand{\headrulewidth}{0pt}
    \newgeometry{top=2cm}
}
\chapter{Inleiding}
\lipsum
\end{document}

答案1

不要用困难的方式去做这件事。\newgeometry这样使用是行不通的——至少,除非你现在使用比现在更多的技巧。(考虑到执行此操作的命令将开始另一个新页面,你打算如何恢复原始几何图形?)

看来你titlesec已经在使用。[不幸的是,它已连同其他一些有用且需要的东西一起从 MWE 中删除。但是,它仍然存在于修订历史中。最小化你自己的代码的一个好处是,你可以确保它真正展示了你想要帮助解决的问题。]

titleps如果您正在使用,您确实应该考虑使用titlesec。如果您稍等片刻,我希望 Bernard 会说明最佳做法。它与 的配合方式titlesecfancyhdr永远不会发生的,因为它是由不同的作者编写的。还请注意,这titletoc是三部曲中的第三个包。我倾向于避免使用它们,但如果您正在使用它们,您不妨充分利用它们。

据我所知,最好的方法是适当格式化章节标题。特别是,您可以在章节标题前使用负垂直空间来消除部分 3 厘米间隙。我在这里使用了 2 厘米 - 调整以适应。

您还应该最小化分段命令格式中的间距,并使用\titlespacing其可拉伸的快捷方式。或者您应该以老式的方式(即明确地)在垂直间距中包含拉伸。我在这里选择了少打字的方式。

我还删除了页脚中我认为是虚假的第二页码。显然,如果您真的想要两个,您可以将其放回去。

下面的代码是由问题中的 MWE 和您之前发布的极其非最小的代码拼凑而成的。

尽量将页面样式等保留在序言中。如果您需要其他样式,请在此处定义它,然后根据需要手动应用它。(通常不需要。)

在这种情况下,我只是坚持使用fancyplainplain通过删除指令,可以简化样式\newgeometry,正如我所说,这在这里不起作用。

这意味着您拥有适用于所有样式的页面的标准页面几何形状,但您的章节标题的样式我认为是您想要的。这也会捕获目录,并且应该捕获诸如参考书目或索引之类的内容。除非你在那里做的事情完全不同。这是因为\chapter\chapter*调用plainpagestyle 和诸如\tableofcontentsinvoke之类的命令\chapter*。同样,除非你明确要求不同的东西。

我简化了标题的代码,因为我没有您的字体,而且我看不出有任何特别的理由保留颜色以用于演示。但请注意,您应尽可能将格式和内容分开,因为这样可以轻松确保一致性,提供更大的灵活性,并且在出现问题时更容易排除故障。(当然,它们总是会出错。无论您编写的代码多么干净,这种情况都会发生。嗯,据我所知。整洁只是让您更容易找出 sod's law 在您这个特定场合的具体影响。)

使用 titlesec 凸起章节

\documentclass[11pt]{report}
\usepackage[left=1.5in,right=1.5cm,top=3cm,bottom=2.5cm,headheight=1cm]{geometry}
\usepackage{kantlipsum}% more philosophically sophisticated filler text
\usepackage{fancyhdr}
\pagestyle{fancy}% the default page style for the document
\fancyheadoffset{0cm}
\renewcommand{\footrulewidth}{0pt}
\fancyhf[cf]{}% unless you really want the page number in the footer twice...
\fancyfoot[R]{\thepage}
\fancypagestyle{plain}{% not a place to change the geometry of the page...
  \fancyhf{}%
  \fancyfoot[R]{\thepage}%
  \renewcommand{\headrulewidth}{0pt}%
}
\usepackage[explicit]{titlesec}
\titleformat{\chapter}[display]% where possible avoid spacing here which should be handled by \titlespacing and should include **strech**; remove code which does nothing; colour and fonts-I-don't-have removed for demo
  {\bfseries\Huge}% format applies to label and body of title
  {\filright\thechapter}% the label
  {1ex}% vertical separation
  {\titlerule\filleft #1}% code before body of title
  [\titlerule]% code after body of title
\titlespacing{\chapter}{0cm}{\dimexpr\topskip-20mm}{*6}[0pt]% spacing: change the 20mm if you want the titles of chapters raised by a different amount; note the *6 which includes stretch - may need adjusting as I just eye-balled something roughly like the output the original code produced
\begin{document}% no need to define page styles or change geometry etc. within the document itself
\tableofcontents
\chapter{Inleiding}
\kant[1-10]
\chapter{Next}
\kant[11-15]
\end{document}

答案2

我已编辑您的帖子,使其包含一个明显最小化的示例。您发布的 MWE 无法在我的计算机上编译,原因有很多,最主要的是我没有您的字体。一旦最小化,问题就会很快显现出来。由于我无法编译您提供的示例,我只能推测您的文档中没有其他内容会干扰此解决方案;但这就是 MWE 的意义所在:让您缩小问题,直到拥有最小的、可演示该问题的编译文档。

当您plain使用重新定义页面样式时fancyhdr,您说:

\newgeometry{...top=2cm...}

省略号表示您重置了其他各种参数。不过,我认为这是问题所在。如果您改为说:

\newgeometry{...top=0cm...}

我想你会得到你想要的。有了top=2cm,你会得到这个:

章节标题不符合要求

但是有了top=0cm,你就会得到这个:

章节标题根据需要

当然,您的其他格式不在这里出现,但不需要这样;我们正在尝试解决一个非常有限的问题。

希望有所帮助。

相关内容