名前: しっぽ愛好家 日時: 2004-08-08 15:31:55 IPアドレス: 210.224.215.*
>>30748 %%% 私の手元にも(LaTeX2e の <1998/06/01> 版ほど)古い環境は %%% ありませんので,(古い環境において)以下の変更で %%% うまくいくかは存じません. とりあえず,\@schapter の定義中の \chaptermark を削除すると 問題はなくなるというのでしたら,適当なフラグを導入して 目次中で用いられた \chapter* の場合に限り \chaptermark を用いるのを 取り止めると,どうでしょうか. e.g. \newif\if@in@toc \global\@in@tocfalse \def\tableofcontents{\@tableofcontents\contentsname{toc}} \def\listoftables{\@tableofcontents\listtablename{lot}} \def\listoffigures{\@tableofcontents\listfigurename{lof}} \def\@tableofcontents#1#2{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \global\@in@toctrue \chapter*{#1}% \@mkboth{#1}{#1}% \@starttoc{#2}% \global\@in@tocfalse \if@restonecol\twocolumn\fi} \def\@schapter#1{% \if@in@toc\else \chaptermark{#1}\fi \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}\@afterheading \fi} また,(標準配布のクラスファイル等における)\tableofcontents の 定義中の \chapter* などの引数に \@mkboth を入れている, というのは \chapter* では \chaptermark による \mark の設定が 行われない,ということへの対処でした. したがって,\@schapter に \chaptermark を追加した場合にはもはや \tableofcontets 等の定義中の \chapter* の引数に \@mkboth を追加する 必要はなくなるわけです. そこで,次の例のごとく単に \@mkboth を削除する, という対処法も考えられるでしょう. \def\tableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname}% \@starttoc{toc}% \if@restonecol\twocolumn\fi} %%% \listoftables/\listoffigures に関しても同様です. %%% ただし,こうすると,\tableofcontents などは \mainmatter 部分以外に %%% 記述しておく必要が生じます.また,こうした場合の奇数ページのヘッダは %%% (本文中の \chapter の場合と同様に設定されたものではありますが) %%% 意図どおりのものではないかもしれません.
この書き込みへの返事: