这似乎是一个奇怪的想法,也可能不是一个奇怪的想法,但我想在我的所有页面上都有一个自定义的页眉,除了每个章节的第一个页面、目录等......此外,我想在每一页的页码上方有一个简单行形式的页脚,甚至在章节的第一页、目录等...
好吧,我是 LaTeX 新手,我以为如果我在页眉后插入 \fancypagestyle{plain} 命令,它可能会起作用,所以它可能不适用于页眉,但适用于页脚。好吧,那没有用。
有人知道怎么做吗?有可能吗?
非常感谢您提前提供的任何建议!
\documentclass[10pt,a4paper, twoside]{report}
\usepackage[latin1]{inputenc}
\usepackage{fancyhdr}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\pagestyle{fancy}
\begin{document}
\lhead[Contents]{\includegraphics[height=22pt]{Figures/WHM.eps}}
\rhead[{\includegraphics[height=22pt]{Figures/WHM.eps}}]{Contents}
\fancypagestyle{plain}{
\renewcommand{\footrulewidth}{0.4pt}}
\tableofcontents
\end{document}
答案1
我不完全确定我是否理解你想要什么,但是下面的代码:
- 每页都有页脚,页脚右侧有一行和页码
- 有页眉(除“首页”外)
fancyhdr
我直接定义页眉和页脚,而不是使用etc。当您输入时,如果存在命令,\pagestyle{mine}
latex 将执行该命令\ps@mine
。实际的页眉和页脚存储在 、 中\@oddhead
,因此您只需适当地设置它们即可。还有一个命令用于清除所有当前页眉和页脚。\@evenhead
\@oddfoot
\@evenfoot
\ps@empty
无论如何,这是我所做的:
\documentclass[10pt,a4paper,twoside]{report}
\usepackage{mwe}
\usepackage{tcolorbox}
\usepackage[foot=4em]{geometry}% need to make the footer bigger
\makeatletter
\def\my@foot{\hbox to \textwidth{\rlap{\rule[2ex]{\textwidth}{0.4pt}}\hfill\thepage}}
\def\ps@mine{\ps@empty% clear all current headings and footings
\let\@oddfoot\my@foot\let\@evenfoot\my@foot
\def\@oddhead{Contents\hfill\includegraphics[height=22pt]{example-image-a}}
\def\@evenhead{\includegraphics[height=22pt]{example-image-a}\hfill Contents}
}
\def\ps@plain{% this seems to be the "first" page for report.cls
\ps@empty\let\@oddfoot\my@foot\let\@evenfoot\my@foot
}
\makeatother
\pagestyle{mine}
\begin{document}
\tableofcontents
\section{A}\lipsum \section{B}\lipsum \section{C}\lipsum \section{D}\lipsum
\end{document}
也许这个游戏中最痛苦的部分是弄清楚哪种页面样式控制章节等的第一页。对于report.cls
这个似乎是\ps@plain
,所以我已经更改了它,以便让你的行也出现在“第一”页的页脚中。(对于amsart
和朋友,我认为是\ps@firstpage
...)。
如果这不是您想要的,那么请清楚地解释问题是什么,我会尝试进行微调。
答案2
评论太长:
我仍然不知道你想要在标题中添加什么。你使用了内容,所以我猜你想要\headmark
。完全没有理由手动设置。
另一种方法fancyhdr
是使用 moden 包scrlayer-scrpage
。为什么不使用相应的 KOMA 类呢?
\documentclass[10pt,a4paper, twoside]{scrreprt}
\usepackage[automark,footsepline,plainfootsepline]{scrlayer-scrpage}
\usepackage{graphicx}
\pagestyle{scrheadings}
\clearscrheadfoot
\ihead{\includegraphics[height=22pt]{example-image-1x1}}
\ohead{\headmark}
\cfoot[\pagemark]{\pagemark}
\usepackage{blindtext}
%\usepackage{showframe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\end{document}
解决方案采用fancyhdr
。
\documentclass[10pt,a4paper, twoside]{report}
\usepackage{fancyhdr}
\usepackage[demo]{graphicx}
\pagestyle{fancy}
\lhead{\includegraphics[height=22pt]{Figures/WHM.eps}}
\rhead{\rightmark}
\addtolength{\headheight}{1.2\baselineskip}
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyfoot[C]{\thepage}%
\renewcommand{\headrulewidth}{0.0pt}
\renewcommand{\footrulewidth}{0.4pt}}
\usepackage{blindtext}
\usepackage{showframe}
\begin{document}
\tableofcontents
\blinddocument
\end{document}