2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

jsclasses と fancyhdrで章扉のヘッダ・フッタを統一

Posted at

結論

\fancypagestyle{plainhead}{}
\fancypagestyle{plainfoot}{}

ことはじめ

一般的に,LaTeX でヘッダ・フッタをカスタマイズしたいときには fancyhdr パッケージを使う.章扉についても同様であり,公式ドキュメントでは

To customize even such pages you must redefine the plain page style.

(Texdoc 3.2.1 における fancyhdr.pdf の P.11 より引用)

とある.訳すと,「そのようなページ(章扉など)をカスタマイズしたい場合には,plain スタイルを再定義しなければならない」ということだ.具体的には,

\fancypagestyle{plain}{
  \fancyhead[L]{左のヘッダ}
  \fancyfoot[C]{中央のフッタ}
}

とすれば,plain スタイルが上書きされる.あるいは,

\fancypagestyle{plain}{}

とすれば,ドキュメント全体に適用されているページスタイルを踏襲することになる.すなわち,文書全体でヘッダ・フッタのスタイルを統一できる.

問題

LaTeX で日本語の文書を作る場合,奥村先生の jsclasses を使わない人は殆どいないだろう.そこで,jsclasses でも plain スタイルを再定義すべく,上記コマンドを打ち込み,組版してみる.

すると,期待とは裏腹に,章扉のスタイルは全く変化しない.なぜだろうか?

原因

jsclasses の公式ドキュメントを覗いてみよう.すると,

章の最初のページスタイルは,全体が empty でなければ plain にします。
(中略)
\plainifnotempty

と書かれている.さらにこの \plainifnotempty を追ってみると

\def\plainifnotempty{%
  \ifx \@oddhead \@empty
    \ifx \@oddfoot \@empty
    \else
      \thispagestyle{plainfoot}%
    \fi
  \else
    \thispagestyle{plainhead}%
\fi}

と定義されている.ここで \thispagestyle{plain****} の部分に注目しよう.このページのスタイルは plainfoot もしくは plainhead になるというのである.すなわち,jsclasses の章扉は,plain スタイルではなく,plainfoot もしくは plainhead というスタイルになるのだ.

したがって,いくら plain スタイルを再定義しても暖簾に腕押しなのである.

解決

原因がわかれば解決も簡単で,plainfootplainhead を再定義してやればよい.

\fancypagestyle{plainhead}{}
\fancypagestyle{plainfoot}{}

余談

\plainifnotemptyjsclasses 独自のコマンドである.従来の \chapter コマンドでは同コマンドの代わりに

\thispagestyle{plain}

を用いている.なぜ独自のコマンドが必要になったのかは公式ドキュメントに記載されている.

従来の標準クラスでは,文書全体のページスタイルを empty にしても表題のあるペー ジだけ plain になってしまうことがありました。これは \maketitle の定義中に \thispagestyle{plain} が入っているためです。この問題を解決するために,「全体の ページスタイルが empty でないならこのページのスタイルを plain にする」という次の命令を作ることにします。

(Texdoc 3.2.1 における jsclasses.pdf の P.42 より引用)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?