Re: 偶数ページ起こし(お礼コメント)

名前: .
日時: 2008-02-09 09:16:49
IPアドレス: 59.134.169.*

>>50912 あくまで「我流」に固執するということですか. 先に申しましたように「技術的にはどうとでもなる」ので, 「自力で」できるよう然るべき学習をなさってください. とりあえず,『The TeXbook』および『TeX by Topic』を精読したうえで ファイル latex.ltx の全コードの解析を済ませてから出直してくださいませんか. 実際,あなたの「願望」に他人が付き合うには,あなたの説明能力は貧弱に過ぎます. # 私が先に例示したコード(の後半)が「外れて」いるなどとおっしゃっていますが, # 「偶数ページ起こしにしたい」というタイトルの意味することを文字通りに # 解釈すればあのようなコードになるでしょう. # 今回のあなたの願望は最初から「奇数ページを見開きの左側に置きたい」とでも # 言ったほうがよほど他人に通じやすかったのではないのですか. ### あと,あなたはここでは「他人に教えを請う立場」だということは ### わきまえておいたほうがよろしいでしょう.「外す」なんて言葉は ### 「回答側が自分のコードに対して言及する際に」用いる分には構いませんが, ### 「質問側が他者の回答を評して」用いるような言葉ですか? あと,「物理ページ」をカウントさせて見開きの左右のどちらであるかの判定に 「物理ページ」を用いるには,次のようなことをすれば済みます. # もっとも,「奇数ページは右」という「お約束」があるのでこのようなマネは # なされていなかったとうだけのことです. # 「お約束」を疑うことも意味のないこととはしませんが,私に言わせれば, # 下記のようなマネをしたところで「メリット」はありません. \documentclass{jbook} \makeatletter \newcount\@physicalpage \global\@physicalpage\@ne %%% plcore.ltx の \@outputpage を変更. %%% オリジナルの LaTeX を用いる場合には,ファイル latex.ltx での %%% \@outputpage での定義にこの例と同様の変更を施せばよい. \def\@outputpage{% \begingroup % the \endgroup is put in by \aftergroup \iftdir \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@ \fi \let\protect\noexpand \@resetactivechars \global\let\@@if@newlist\if@newlist \global\@newlistfalse \@parboxrestore \shipout\vbox{\yoko \set@typeset@protect \aftergroup\endgroup \aftergroup\set@typeset@protect \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% \fi \if@twoside %%% ここのところは通常はノンブル(\count0)の偶奇によって分岐するが %%% 物理ページの偶奇によって分岐するように変更. \ifodd\@physicalpage \let\@thehead\@oddhead \let\@thefoot\@oddfoot \iftdir \let\@themargin\evensidemargin \else \let\@themargin\oddsidemargin \fi \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \iftdir \let\@themargin\oddsidemargin \else \let\@themargin\evensidemargin \fi \fi \fi \@@topmargin\topmargin \iftombow \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax \@@paperheight\paperheight \advance\@@paperheight 16mm\relax \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax \fi \reset@font \normalsize \normalsfcodes \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ \@begindvi \@outputtombow \vskip\@@topmargin \moveright\@themargin\vbox{% \setbox\@tempboxa \vbox to\headheight{% \vfil \color@hbox \normalcolor \hb@xt@\textwidth{\@thehead}% \color@endbox}% %% 22 Feb 87 \dp\@tempboxa\z@ \box\@tempboxa \vskip\headsep \box\@outputbox \baselineskip\footskip \color@hbox \normalcolor \hb@xt@\textwidth{\@thefoot}% \color@endbox}}% \global\let\if@newlist\@@if@newlist \global\@colht\textheight \stepcounter{page}% \global\advance\@physicalpage\@ne%%% ノンブルと同じタイミングで「物理ページ」をカウント \let\firstmark\botmark} \makeatother %%% 以下,テスト用の記述 \textwidth=.8\paperwidth %%% 左右を明確にしておきます. %%% ノド側マージン:紙幅の 3/20 %%% 小口側マージン:紙幅の 1/20 \oddsidemargin=.15\paperwidth \advance\oddsidemargin-1in \evensidemargin=.05\paperwidth \advance\evensidemargin-1in \def\Text{これは,意味のないサンプルテキストです.} \def\TEXT{\Text\Text\Text\Text\Text\Text\Text\Text\Text\Text} \def\LongText{\TEXT\TEXT\TEXT\TEXT\TEXT\par} \begin{document} \setcounter{page}{0} \thispagestyle{empty} 物理ページでは1ページ目のノンブルを偶数に初期化しておきます. そうすれば,以降,ノンブルが奇数のページは物理ページが偶数の (つまり左側の)ページに置かれるようになります. ただし,「\verb"\pagenumbering"」コマンドを用いる際には, その直前で必ず「\verb"\cleardoublepage"」を行うことになります. \chapter{偶数ページにわたる章} \LongText \newpage \LongText \chapter{奇数ページにわたる章} \LongText \newpage \LongText \newpage \LongText \chapter{最後の章} \LongText \end{document} この程度のことが自力で「コーヒーブレイク」程度でできないのであれば, こんなマネをせずにご自分が作成する教材の内容の吟味に時間を割いたほうが よほど有意義たと思いますが. # もちろん,「組版を仕事としている人間」が「仕事でやらされている」場合には # 話は別ですが.

この書き込みへの返事:

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