[solved] plain TeX: different margins for odd and even pages
Rodolfo Medina
rodolfo.medina at gmail.com
Sat Oct 25 23:55:55 CEST 2025
"Philip Taylor (Hellenic Institute)" <elliniko.institouto at gmail.com> 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
More information about the texhax
mailing list.