名前: しっぽ愛好家 日時: 2002-02-08 10:36:08 IPアドレス: 202.224.196.*
>>6365 その現象は ``\chaptermark がどのように定義されているか'' の問題です. 多くの場合 \chaptermark 等は (クラスファイル等の中で初期化され,) ページスタイル(の設定に用いられる \ps@...)で再定義されます(*). そして,今の場合には \chapter の番号を含むような定義がなされていた, ということです. (*) したがって,\chaptermark 等を用いると(一般的には)ページスタイルに 応じた処理がなされる,というわけだったのですが. 確かに,そのままでは \chapter* の場合には都合が悪いので, ``* 付き'' であるか否かを区別するフラグでも導入して次のような 処理を提案すべきでした. \newif\if@omit@number \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\chaptermark##1{\markboth{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \if@omit@number\else%%% 追加 \@chapapp\thechapter\@chappos\hskip1zw \fi%%% 追加 \fi \fi ##1}{}}% \def\sectionmark##1{\markright{% \ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi ##1}}}% \newcommand{\chapter}{% \if@openright\cleardoublepage\else\clearpage\fi \plainifnotempty % 元: \thispagestyle{plain} \global\@topnum\z@ \secdef {\@omit@numberfalse\@chapter}% {\@omit@numbertrue\@schapter}} %%% クラスファイル等の挙動について何か言うときは %%% 充分よく調べてからにしないといけませんね(自戒).
この書き込みへの返事: