[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.