提问于:
浏览数:
2935
twocolumn文档选项 或者 multicol宏包都会出现这样的问题![](https://wenda.latexstudio.net/data/attach/190925/cpVSNhvS.png)
```tex
\documentclass[a4paper,landscape,twocolumn]{ctexart}
\usepackage{graphicx}
%\usepackage{multicol}
\usepackage{zhlipsum}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}%clear all fields
\fancyhead[L]{\includegraphics[width=3cm]{Logo.png}}
\fancyfoot[C]{~\thepage~}
\raggedbottom
\begin{document}
%\begin{multicols}{2}
\zhlipsum[1][name=zhufu]
\pagebreak
\zhlipsum[5-14][name=zhufu]
\zhlipsum[1-8][name=zhufu]
%\end{multicols}
\end{document}
```
页眉插图代码是网上搜来的,也不知道是不是最好的处理办法。
辛苦了,在此先谢过,多谢多谢!
1 回答
2
log 里有警告,(因为图片较高导致)`\headheight` 太「矮」了,页眉被撑下来了。
log 警告:
```
Package Fancyhdr Warning: \headheight is too small (12.0pt):
Make it at least 67.61833pt.
We now make it that large for the rest of the document.
This may cause the page layout to be inconsistent, however.
```
可以根据警告里的提示把 `\headheight` 改得足够大,也可以用 `\smash` 忽视图片的高度。
```tex
\fancyhead[L]{\smash{\usebox{\mygraphic}}}
```
------
一些解释
1) 如果不用 `fancyhdr`,每页页眉中的图片都会下伸,当图片够高时就会和版心文字重合。示例如下
```tex
\documentclass{article}
\usepackage[pass, showframe]{geometry}
\usepackage{mwe}
\makeatletter
\def\@oddhead{\includegraphics[width=3cm]{example-image}}
\makeatother
\begin{document}
\lipsum[1]
\newpage
\lipsum[1]
\end{document}
```
2) 用了 `fancyhdr` 后,它会在第一次遇到「页眉实际高度大于 `\headheight`」后,修改 `\headheight` 的值。但此时第一页的页眉已经输出,这就造成第一页和后续页的不一致。这种不一致,在 log 警告信息中也提到了。
示例如下
```tex
\documentclass{article}
\usepackage[pass, showframe]{geometry}
\usepackage{mwe}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[L]{\includegraphics[width=3cm]{example-image}}
\begin{document}
\lipsum[1]
\newpage
\lipsum[1]
\end{document}
```
3) 整个问题和「双栏」无关。
-
非常感谢! – 沈阳-为啥不长草 2019-09-25 14:17 回复
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。