Re: 目次,図目次,表目次間の改ページ

名前: しっぽ愛好家
日時: 2003-02-09 20:48:35
IPアドレス: 211.4.36.*

>>16326 >\tableofcontents >\listoffigures >\listoftables >各目次の間で改ページされてしまい, >ページ数がもったいないので改ページしないで, >連続で目次を出力したいのですが とのことですが,お使いのクラスファイルは何でしょうか? %%% \tabelofcontents などが改ページを伴うか否かは %%% お使いのクラスファイルに依存します. とりあえず,jbook.cls あたりをお使いであるものとして考えます. この場合,\tableofcontents などの見出しが \chapter* を用いて 出力されていて,かつ,\chapter* の際に改ページが行われているので, 目次ごとに改ページがなされるわけです. %%% さらに,目次部分は(本文部分が 2 段組であっても)1 段組で %%% 出力されるようになっているので,段数の切り換えに伴う改ページが %%% 生じることもあります. したがって,本来ならば,\tableofcontents などの見出し部分の出力に \chapter を用いないように再定義しなければなりません. %%% もちろん,\onecolumn などを不用意に実行しないように注意する %%% 必要もあります. 例えば,次のようにするところでしょうか. %%% 必要があれば,\makeatletter,\makeatother で囲んでください. \def\tableofcontents{% \@makeschapterhead{\contentsname}% \@mkboth{\contentsname}{\contentsname}% \@starttoc{toc}} \def\listoffigures{% \@makeschapterhead{\listfigurename}% \@mkboth{\listfigurename}{\listfigurename}% \@starttoc{lof}} \def\listoftables{% \@makeschapterhead{\listtablename}% \@mkboth{\listtablename}{\listtablename}% \@starttoc{lot}} 要は,見出しの出力部分に \chapter* ではなく,\chapter* の 見出し作成処理そのものを行うマクロ \@makeschapterhead を直接用いた, ということです. なお,``3 種の目次の全体'' の前後で改ページを行う必要がある場合には, 一連の目次の前後に適宜 \clearpage を入れてください(段数の切り換えを 行う場合も同様です). [蛇足] 手を抜くのであれば, \begingroup \let\clearpage\relax \let\cleardoublepage\relax %%% 一時的に \clearpage/\cleardoublepage を無視させます. \tableofcontents \listoffigures \listoftables \endgroup くらいの記述でも,とりあえずはどうにかなるでしょう.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)