答案1
使用\hrulefill
,您将获得一条横跨所有可用空间的水平线。因此,\hrulefill\thepage\hrulefill
您将获得横跨整个文本区域宽度的“行页码行”。您可以使用 将其设置为页脚\fancyfoot[C]
。您想稍微调整一下外观:
- 这些线不应该直接连接到页码,因此您需要在页码的左侧和右侧添加相同的水平空间,例如
\quad
。 - 默认情况下,该线绘制在页码的基线上,但在您的示例中,它是垂直居中在页码周围。因此,您需要使用类似 的命令来降低页码
\raisebox{-3pt}
。
标题和标题也有可能,只需进行相同的“调整”。还有一些需要考虑的事情:
- 您可以使用
\markboth{\@title}{\@title}
(也许添加一些文本格式宏)将您设置的标题\title
也用于标题。请确保在之后\title
但在之前调用它\maketitle
。 - 您需要重新定义
\chaptermark
、\sectionmark
等,以确保您不会用书名覆盖左标记,而只将章节标题(以及,如果适用的话,章节标题等)插入到右标记。
作为开发页眉和页脚样式的起点,下面是一个最小示例。
\documentclass{book}
\usepackage{lipsum}
\title{My Book}
\author{Me}
\makeatletter
\markboth{\textsc{\@title}}{\textsc{\@title}}
\makeatother
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[C]{\hrulefill\quad\raisebox{-3pt}{\thepage}\quad\hrulefill}
\fancyhead[CO]{\hrulefill\quad\raisebox{-3pt}{\leftmark}\quad\hrulefill}
\fancyhead[CE]{\hrulefill\quad\raisebox{-3pt}{\rightmark}\quad\hrulefill}
\renewcommand{\headrulewidth}{0pt}
}
\pagestyle{plain}
\renewcommand{\chaptermark}[1]{\markright{\textsc{#1}}}
\renewcommand{\sectionmark}[1]{}
\renewcommand{\subsectionmark}[1]{}
\begin{document}
\maketitle
\chapter{My Chapter}
\lipsum
\end{document}