问题\headheight与fancyhdr

问题\headheight与fancyhdr

当我使用 setspace 包时,文本与页码之间的垂直距离会发生变化。这种情况只发生在带有节标题的页面上。在此页之后,页脚与文本之间的距离恢复正常。有人知道如何修复垂直距离吗?

http://imgur.com/a/bMnK2

我正在使用以下代码:

您必须在 noindent 后插入两页的文本。

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[left=1.00in, right=1.00in, top=1.00in, bottom=1.00in, footskip=0.5in]{geometry}
\usepackage[onehalfspacing]{setspace}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{\itshape\nouppercase\leftmark}
\fancyhead[R]{}
\fancyhead[L]{}
\renewcommand{\headrulewidth}{0pt}

\begin{document}

\pagenumbering{arabic}

\section{}

    \subsection{}

        \noindent 

\end{document}

答案1

问题\headheightfancyhdr

有一个警告fancyhdr

Package Fancyhdr Warning: \headheight is too small (12.0pt):
 Make it at least 14.49998pt.
 We now make it that large for the rest of the document.
 This may cause the page layout to be inconsistent, however.

由于使用了包geometry,可以通过附加选项解决这个问题:

\usepackage[..., headheight=14.5pt]{geometry}

这是一个相当常见的问题,例如:

底部文字有问题

class 的默认值article是使用\raggedbottom(它不是一本有两页对开的书,其中默认值是\flushbottom通过选项来实现的twoside。以下示例使用\flushbottom。然后 TeX 尝试在页面上的灵活垂直空间元素之间分配可用空间,以将最后一行文本推到底部。\raggedright使用自然垂直空间并将可用空间放在底部。

\documentclass[12pt,a4paper]{article}
\usepackage[left=1.00in, right=1.00in, top=1.00in, bottom=1.00in,
footskip=0.5in, headheight=14.5pt, showframe]{geometry}
\usepackage[onehalfspacing]{setspace}

\usepackage{lipsum}

\flushbottom

\begin{document}

\section{First section}

\subsection{Subsection}

\lipsum

\end{document}

结果

相关内容