Fancyhdr: центрированный заголовок и номер страницы между правилом

Fancyhdr: центрированный заголовок и номер страницы между правилом
\documentclass[10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{fancyhdr}


\title{My Book}
\author{Me}
\begin{document}
\maketitle

\chapter{My Chapter}
\lipsum
\end{document}

Как можно расположить чередующиеся названия книг и глав вверху по центру между линейками, а также номер страницы внизу по центру между линейками? (Идею см. на изображении ниже.)

введите описание изображения здесь

решение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}

введите описание изображения здесь

Связанный контент