Re: jsbookとheadingsの組み合わせ

名前: 北見 けん
日時: 2011-05-06 22:46:42
IPアドレス: 211.128.71.*

>>55881 > %% この章が複数ページになる程度の量の文章を入れます この作業がちょっと面倒でしたがためしてみました。 私のところのものは Document Class: jsbook 2002/02/07 okumura とかなり古いのですが、ヘッダ部分は確かに「第0章」となりました。 中を見てみましたが、以下のようなことだと思われます。 book.cls や jbook.cls では、\pagestyle の設定にかかわらず \chapter* でマークなしになりますが、 jsbook.cls では、\pagestyle の設定に応じたマークをつけるようになっているようです。 ただし、\chapter と \chapter* とでまったく同じ形式のマークをつけるような実装になっているために、 \pagestyle の設定によって \chapter のマークの形式が章番号付きとされている場合には \chapter* のマークのほうも章番号付きとなってしまうようです。 \pagestyle の設定に応じつつも、章番号の有無についてだけは異なる形式のマークを用意して、 「*」の有無に応じて使い分ければよいと思います。 まじめにやるなら、次のものを \pagestyle{headings} の前に置くとよいでしょうか。 \makeatletter \def\ps@headings{% \let\@oddfoot\@empty \let\@evenfoot\@empty \def\@evenhead{\hss \underline{\hbox to \fullwidth{\autoxspacing \textbf{\thepage}\hfil\leftmark}}}% \def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing {\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\schaptermark##1{\markboth{##1}{}}%% この行を追加 \def\chaptermark##1{\markboth{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \@chapapp\thechapter\@chappos\hskip1zw \fi \fi ##1}{}}% \def\sectionmark##1{\markright{% \ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi ##1}}}% \def\@schapter#1{% \schaptermark{#1}%% s付きに変更 \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}\@afterheading \fi} \makeatother 横着するなら、次のようなものでもよいかもしれません。 \makeatletter \def\@schapter#1{% \schaptermark{#1}%% s付きに変更 \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}\@afterheading \fi} \def\schaptermark#1{{\@mainmatterfalse\chaptermark{#1}}}% 「*」用マーク新設 \makeatother

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)