\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}