名前: みなも 日時: 2008-02-08 03:04:52 IPアドレス: 202.233.241.*
>>50893 > > 「空」ページを入れたくないし,目次のページ番号は分けたい,というのであれば > 《通常》とはかけ離れている(そんな形式の「本」は市販されていないと思います) > > 参考書や問題集ではあるんですよ。 > ただし、今調べたら、「奇数ページは右」というのは守られているようです。 少なくともまともな出版社のまともな本ではあり得ません。 私が言ったのは「空」ページが入るかどうかではなくて, 「奇数ページは右」という原則からはずれる本はないということです。 「空」ページの代わりにイラストを入れたり,目次のポイント数を変えてむりやり 収めたり,前書きを水増ししたりで,本文にはいるまでを偶数ページにしてなおかつ 空白ページを作らない工夫はいくらでもあります。 が,とにかく何らかの工夫をして,本文にはいるまでを偶数ページにするのは「鉄則」です。 (工夫をしたくなかったら素直に空白ページを入れると言うだけです。) この「鉄則」は,「本」を作る人が守るべきものですので,そこからはずれるのは ものすごくエネルギーがいるものである(そしてその努力は不毛である), という前提のもとで以下話します。 #すでに他の方も指摘されてるように,必要な空白ページを入れるのが正しい対処法です。 > latexが組み版してページができあがり、次のページになる、という これは TeX の \output というプリミティブで実現されています。 で,ページカウンタの加算も,\output の引数の中で行われています。 TeX のページカウンタの正体はレジスタ番号0番のカウンタです。 特別なものではありません。 特別な振る舞いをするのは \output の中で(LaTeX の場合正確には \output を使って 出力される \@outputpage の定義内部で)出力ページに連動するようプログラム されているからです。 したがって,\@outputpage の中にもう1つカウンタを持ち込めば,2つのカウンタを ページ出力に連動させられます。 ただ,\output の中味は,相当 (La)TeX についてわかっていないと,いじるのは危険です。 それに,カウンタを増やしても,結局は新しいカウンタにヘッダなどの定義を合わせないと いけないのであまり本質的な解決にはなりません。 前の発言で提案したのは,例えば次のようなことです。 \documentclass[twoside]{jbook} \makeatletter \newcounter{Page} \def\Pagenumbering#1{% \xdef\@PrePage{\the\c@page}% \gdef\thepage{% \c@Page=\c@page \advance\c@Page by -\@PrePage \advance\c@Page by \@ne \csname @#1\endcsname \c@Page}} \makeatother \begin{document} \Pagenumbering{roman} あああ \newpage いいい \newpage ううう \newpage \Pagenumbering{arabic} かかか \newpage ききき \newpage くくく \end{document} この程度のシンプルなものならうまくいきますが, ページ出力に関連するマクロはいっぱいありますので, 実用レベルになるまでマクロを修正しきるのは非常に大変だと思います。 (たとえば,上のような修正をするなら,内部で \thepage を再定義する すべてのマクロを探して修正しなければなりません。 まぁ,それ以前に \thepage 内部が複雑になるのが「いや」な感じですので, もっと別の方法でうまく切り抜けるべきかもしれませんが, 「不毛」とわかっていると時間を割く気になれませんので,この辺で勘弁を)
この書き込みへの返事: