我使用包的默认设置,并在类型为 的文档开头fancyhdr
调用。由于我有一些大图表和表格,我想隐藏文档中各个页面的页眉。为此,我尝试在包含图表之前立即调用,但是,这似乎没有任何效果。另一方面,调用确实有效;然后文档其余部分的页眉就会消失。我花了很长时间试图解决这个问题,我遗漏了什么?\pagestyle{fancy}
report
\thispagestyle{plain}
\pagestyle{plain}
编辑:该问题似乎仅出现在包含表格或图形(即浮动对象)的页面上。我在这里发现了一个可能的重复问题:
添加定义
\lhead{\iffloatpage{}{\small\normalfont\TheTitle}}
\fancyfoot{}
\fancyhead[RO,LE]{\iffloatpage{}{\thepage}}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
序言似乎解决了这个问题,虽然我不太明白这里发生了什么......
编辑:另一个重复的是
它floatpag
针对这种情况推荐了该套件。
解决方案:我尝试了这个floatpag
包,但它似乎导致我的表格中的行距发生变化,所以我决定使用已接受答案中的方法。因此,我在序言中定义了一种自定义的花式样式:
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\thechapter. #1 }}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection~#1}{}}
\fancyhf{}
\fancyhead[RO]{\iffloatpage{}{\bfseries\rightmark}}
\fancyhead[LE]{\iffloatpage{}{\bfseries\leftmark}}
\fancyfoot[C]{\iffloatpage{}{\thepage}}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.5pt}}
\renewcommand{\footrulewidth}{\iffloatpage{0pt}{0pt}}
\addtolength{\headheight}{0.5pt}
答案1
你可以使用\iffloatpage
为非浮动页面指定一种行为,并为浮动页面指定不同的行为;语法是
\iffloatpage{value for float page}{value for other pages}
例如,使用
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
您要声明非浮动页面中主规则的厚度0.4pt
为 ,以及浮动页面的厚度为0pt
(即无规则)。
完整示例:
\documentclass{article}
\usepackage[a6paper]{geometry}% just for the example
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
\renewcommand{\footrulewidth}{\iffloatpage{0pt}{0.4pt}}
\fancyhead[C]{\iffloatpage{}{Top header}}
\fancyfoot[C]{\iffloatpage{}{Bottom header}}
\begin{document}
Text
\begin{figure}[p]% [p] was used for the example only
\centering
A
\caption{A test figure in a float page}
\end{figure}
\end{document}
还请注意,我使用了更现代的语法\fancyhead[<options>]
,而不是\fancyfoot[<options>]
“旧”的语法\Xhead
。\Xfoot
答案2
这是一个有效的例子
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\chead{Top header}
\cfoot{Bottom header}
\begin{document}
\thispagestyle{empty}
Empyt first page
\pagebreak
Decorated second page
\end{document}
那么问题是:你做了什么不同的事情?当然,当我们看到你的 MnonWE 时,我们可能就会知道。;)