I wish to print the actual running text* of part of a document only on the right-hand side pages of double spreads, while the left-hand side repeats the same every time because the reader will want to be able to refer to the information on the left-hand page frequently while reading the right-hand side, without having to flip the pages back and forth.

Here’s a mocked-up layout example of what I’d like:

example of the layout i want

How can I achieve this with LaTeX or LuaTeX? (I’m using the book document class, if that makes a difference.)

* Detail: it’s not actually running text but a Gregorio score, but hopefully that doesn’t make too much difference given that Gregorio, to my knowledge, uses the normal text and block and page wrapping of TeX.


You could override the \shipout primitive in LuaTeX. To get the correct margins, headers, and footers, a bit more work is required.



% Override the shipout primitive to also shipout infobox
    local box = token.scan_list()
    tex.setbox(255, box)
    tex.setbox(255, node.copy(tex.getbox("infobox")))


% Set infobox only after \begin{document}.  Otherwise fonts will not
%   be loaded.
\setbox\infobox=\vbox to \textheight{
  \Huge\input ward\par

\foreach \i in {1,...,20} {
  \input knuth\par


enter image description here

  • Apologies for my late reply to this answer. Shortly after I posted this question, I had to put my work the document I need this for aside for a while, so I haven’t been able to check this works for my needs yet. Hopefully I will get back to it this week and be able to accept your answer! – dpk Jan 13 at 21:22

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.