Re: 2段組のときのページ番号について:(約100行)

名前: 本田
日時: 2001-07-03 00:44:39
IPアドレス: 210.130.110.*

>\shipoutあたりを細工することになるでしょうか ということで,かなり強引にマクロで細工してみましたが 私のレベルではすっきりはかけません. 無責任なお遊びですがご笑覧ください \documentclass[b5j]{jbook} \makeatletter \newbox\oddpagebox \newif\ifPageSeparateRule \PageSeparateRuletrue%%%%trueにするとページの間に罫線が入ります \let\org@shipout\shipout \def\shipout\vbox#1{% \ifodd\count\z@\global\setbox\oddpagebox=\vbox{#1}\else \org@shipout\vbox{\hsize2\paperwidth \hskip-\oddsidemargin\hskip-1in% \hbox to\paperwidth{\hss\copy\oddpagebox\hss}% \ifPageSeparateRule% \smash{\hbox to\z@{\hss\vrule\@height\paperheight\@depth\paperheight\hss}}% \else\fi% \hskip-\evensidemargin\hskip-1in% \hbox to\paperwidth{\hss\vbox{#1}}\hss}% \fi} \def\@outputpage{%%%%オリジナルから\aftergroupの処理を抜いたもの \begingroup % the \endgroup is put in by \aftergroup \iftdir \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@ \fi \let \protect \noexpand \@resetactivechars \@parboxrestore \shipout\vbox{\yoko \set@typeset@protect \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% \fi \if@twoside \ifodd\count\z@ \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 }% }% \endgroup\set@typeset@protect \global \@colht \textheight \stepcounter{page}% \let\firstmark\botmark} \makeatother \begin{document} \chapter{マクロで袋とじもどき} ここは1ページ目の最初.\clearpage 2ページ目の最初ですけども,印刷は1枚目の右\clearpage 3ページ目の最初で,2枚目の左\clearpage 4ページ目の最初で,2枚目の右\clearpage 問題は奇数ページで終わる場合で,自動化は \verb+\enddocument+を書き換えないとだめでしょう. 暫定的に最後が偶数ページになるように 手動で細工していますが,その細工を \verb+\enddocument+に適切に加えればなんとかなりそうです. この細工をしないと,奇数ページが最後になると そのページが消えてしまいます.\par あとは,\verb+\aftergroup+で処理していたものを とりあえず,直接指定するようにしましたが, これによる不具合があるかもしれません. なお,ちょっといじればなんとかなるかと思いますが トンボは考慮していません.\clearpage \thispagestyle{empty}\hbox{}%%%奇数ページ終わりのときの細工 \end{document}

この書き込みへの返事:

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