[solved] plain TeX: different margins for odd and even pages
Rodolfo Medina <[email protected]> Sat, 25 Oct 2025 21:55:55 +0000
| Newsgroups | gmane.comp.tex.texhax |
|---|---|
| Message-ID | <87h5vm63ys.fsf_-_@lenovo> |
"Philip Taylor (Hellenic Institute)" <[email protected]> writes: > On 24/10/2025 08:54, Rodolfo Medina wrote: > > [S]uppose I want to set different margins for [o]dd and even pages, say > 5mm > left and 10mm right for odd pages and the opposite for even pages: please > suggest whoever can a proper way to do it. > > Adjust \hoffset in your output routine, not in mainline code. For example > (untested, caveat lector) — > > \newdimen \oddpageoffset \oddpageoffset = \dimexpr 5 mm -1 true in \relax > \newdimen \evenpageoffset \oddpageoffset = \dimexpr 10 mm - 1 true in \relax > > \newtoks \Knuthput > \Knuthput = \output > \output = {\ifodd \pageno \advance \hoffset by \oddpageoffset \else \advance > \hoffset by \evenpageoffset \fi \the \Knuthput} > > Page 1\eject > Page 2\eject > Page 3\eject > > \end In `pure' plain TeX, for me it also works with, more simply: \hoffset=-1in \voffset=-1in \special{papersize=420mm,297mm} \hsize=365 true mm \vsize=297 true mm \advance\voffset by5mm \advance\vsize by-10mm \newtoks \Knuthput \Knuthput = \output \output = {\ifodd \pageno \advance \hoffset by5mm \else \advance \hoffset by50mm \fi \the \Knuthput} Thanks indeed, Rodolfo