In a two-sided document, the margins are mirrored. This is good if the document is intended to be read as a book, where the combination of a verso and recto page is seen as a whole. Traditionally the inner margin is smaller, so that the white space in the middle (the combined inner margins) is in harmony with the outer margins.
If we first set the recto (odd) page with some margins, then we can figure out how much the type area on a verso (even) page needs to move.
Then, the idea is to insert an \hoffset-adjusting macro in the output routine before it does anything else.
In plain LuaTeX we could have this document:
% Undo 1 inch origin (personal preference)
\pdfvariable horigin 0pt
\pdfvariable vorigin 0pt
% A5 paper
\pagewidth=148.5mm
\pageheight=210mm
% Inner margin
\hoffset=0.111\pagewidth
% Top margin
\voffset=0.111\pageheight
% Type area width
\hsize=0.666\pagewidth
%Type area height
\vsize=\topskip
\advance\vsize by 32\baselineskip
\tolerance=9999 % Not important for testing
Then a spread would look like this:
Ok, so then we figure out how much a verso should move and insert that into the output routine:
% How much verso pages should move
\newdimen\shiftoffset
\shiftoffset = \pagewidth
\advance \shiftoffset by -\hsize
\advance \shiftoffset by -2\hoffset
% \hoffset-adjusting macro...
\def\beforeoutput{%
\ifodd\pageno
\else
\advance \hoffset by \shiftoffset
\fi
}
% ...inserted before the regular output routine
\output{\beforeoutput \plainoutput}
And then we get:
Caveat: if you have your coordinate origin somewhere else, like 1 inch in from the left and top, or some other setup, you may have to account for that in the macros.
No worries, I’m not a native speaker either. I think I know what you mean :) And, I would do the same. In one of his books, Tschichold points out that the center white “column” should be optically the same width as the outer margins, i.e. when you open the book or binder, however it is bound or put together, it’s the visual impression that matters, not the millimeters on a loose page. Very few books open completely flat.
For that reason the page usually has a binding correction distance, which is added to the inner margin. If the binding “steals” 1cm, one must add that to the margin, at least. And to the page width if you are trimming the page after printing.
If you fold the papers into folded bundles or signatures, then there’s also a tiny amount of creep that can be adjusted, because the outer layers of the bundle/signature will have a rounded shape at the spine while the innermost has a crisp fold. But that’s maybe being pedantic. I have a macro for creep correction but honestly I’ve never actually used it.