結論
preface
最近、フューチャーアーキテクト、というか多分ほぼ渋川さんから素晴らしいドキュメントが公開されました。
これでTypeScriptにちゃんと入門しようと思って、Kidle Oasis にPDF入れて読んでいたんですが、目次タイトルや章題ページだけ、なんかページ番号の位置が違うしフォントも違う?
原因
SphinxでreStructuredTextから生成されているので、原因特定が比較的容易でした。ちゃんと触ってたの4、5年前だけど。
章題ページだけヘッダを取るくらいならデザインかな、という感じだけどページ番号の位置は大抵は揃えてなんぼなのでSphinxというかLaTeXのどっかでpagestyleが上書きされているのかな、と
あたりをつけて調べることに。
sphinxmanual は現在のデフォではjsbookをロードして拡張してるっぽいので、jsbookの chapter を見ると、\plainifnotempty なるものが呼ばれてるので、まあコレだろうということで、
どうにかする方法を考えます。jsclassesも最近使ってなかったし、使ってたときは中身読んでなかったのでこういう不都合がでたのは最近かもしれないし以前からかもしれません。
修正
chapter を再定義するのが正しい気もしますが、Sphinxのベースで将来的に弄ったらそれを更に〜というのはグチャグチャになっていきそうなので、お行儀悪く \plainnotempty で定義されるページスタイルを
書き換えてみます。一応、fancyhdrがあって、chapterがあってという状態で、\plainifnotemptyが存在する場合のみ再定義するようにしたので他のクラスで使ってもパッケージのロード時間が僅かに増える程度で害はないかと思います。
chapterfoot ページスタイルを新たに用意しているのは、\thispagestyle{normal} だとヘッダも他のページと同じになってしまうのでどちらの動作が正しいか判断がつかなかったため。
使い方
Gistの方にも書きましたが。
コピーして、conf.pyの
latex_additional_files でビルド時コピーできる場所に置いて設定し、
latex_elements = { 'preamble': '''
\\usepackage{sphinx-jsbook-mod}
'''}
としましょう。