texlive[76136] Master/texmf-dist: leporello (24aug25)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 24 22:50:49 CEST 2025


Revision: 76136
          https://tug.org/svn/texlive?view=revision&revision=76136
Author:   karl
Date:     2025-08-24 22:50:49 +0200 (Sun, 24 Aug 2025)
Log Message:
-----------
leporello (24aug25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/leporello/README.md
    trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.pdf
    trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.tex
    trunk/Master/texmf-dist/tex/latex/leporello/leporello.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf
    trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.svg

Modified: trunk/Master/texmf-dist/doc/latex/leporello/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leporello/README.md	2025-08-24 20:50:37 UTC (rev 76135)
+++ trunk/Master/texmf-dist/doc/latex/leporello/README.md	2025-08-24 20:50:49 UTC (rev 76136)
@@ -1,5 +1,7 @@
-![Version 0.9.2](https://img.shields.io/badge/version-0.9.2-blue)
+![Version 0.9.5](https://img.shields.io/badge/version-0.9.5-blue)
 
+![leporello](https://github.com/user-attachments/assets/51cf990a-7894-4e56-a4de-87e3be7ad592)
+
 # The `leporello` class
 
 A simple LaTeX document class to create folded leaflets with the following key features:
@@ -11,4 +13,4 @@
 
 ---
 
-This package including all files is subject to the LPPL 1.3c license. Copyright 2025 Jasper Habicht (mail(at)jasperhabicht.de).
\ No newline at end of file
+This package including all files is subject to the LPPL 1.3c license. Copyright 2025 Jasper Habicht (mail(at)jasperhabicht.de).

Added: trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf	2025-08-24 20:50:37 UTC (rev 76135)
+++ trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf	2025-08-24 20:50:49 UTC (rev 76136)

Property changes on: trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.svg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.svg	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/leporello/doc/leporello.svg	2025-08-24 20:50:49 UTC (rev 76136)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg
+   width="205"
+   height="160"
+   viewBox="0 0 205 160"
+   version="1.1"
+   xmlns="http://www.w3.org/2000/svg">
+  <g
+     style="stroke-linejoin:round"
+     id="g27"
+     transform="translate(-29,-29)">
+    <circle
+       style="fill:#ee8888;stroke:none"
+       cx="109.07056"
+       cy="108.88927"
+       r="79.098022"
+       id="circle1" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 179.48105,111.71287 c 0,0 9.98011,-6.27782 15.2921,-6.27782 5.312,0 6.43879,3.86327 4.34618,4.50715 -2.0926,0.64388 -4.99005,2.41455 -4.99005,2.41455 0.4953,1.95197 0.61916,3.77812 -1.6097,4.34617 -2.27115,0.57883 -13.36047,6.59975 -13.36047,6.59975 z"
+       id="path1" />
+    <path
+       style="fill:#aabbee;stroke:#000000;stroke-width:1"
+       d="m 195.578,103.66439 28.81355,-5.955875 5.15103,14.970165 -33.3207,5.95588 z"
+       id="path2" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 196.22188,118.63456 3.7023,12.95805 26.39901,-8.04848 3.21939,-10.86545 z"
+       id="path3" />
+    <path
+       style="fill:#aabbee;stroke:#000000;stroke-width:1"
+       d="m 199.92418,131.59261 -3.78278,9.57768 33.48166,-6.11684 -3.29987,-11.50932 z"
+       id="path4" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 196.1414,141.17029 33.48166,-6.11684 -3.46084,8.07256 -25.99659,6.59975 z"
+       id="path5" />
+    <path
+       style="fill:#aabbee;stroke:#000000;stroke-width:1"
+       d="m 200.16563,149.72576 25.99659,-6.59975 4.7486,8.85332 -32.19391,5.39248 z"
+       id="path6" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 198.71691,157.37181 32.19391,-5.39248 -2.89745,8.26585 -29.21598,5.07055 z"
+       id="path7" />
+    <path
+       style="fill:#aabbee;stroke:#000000;stroke-width:1"
+       d="m 198.79739,165.31573 29.21598,-5.07055 4.1852,9.25575 -36.54008,4.18521 z"
+       id="path8" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 195.65849,173.68614 36.54008,-4.18521 -7.7972,11.36328 -21.45557,1.99189 z"
+       id="path9" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 194.12928,112.35675 c 0,0 7.8875,-0.32194 8.04847,2.0926 0.16097,2.41454 -7.4046,1.60969 -9.65817,2.25357"
+       id="path10" />
+    <path
+       style="fill:#3355aa;stroke:#000000;stroke-width:1"
+       d="m 103.42314,106.56197 c 0,0 -36.9428,24.30639 -43.220613,31.55001 -5.201013,6.00116 -8.809738,14.88192 -10.119279,23.47454 a 79.098022,79.098022 0 0 0 58.987102,26.40097 79.098022,79.098022 0 0 0 30.20487,-5.99446 c 0.2551,-2.45283 1.50837,-8.06774 7.04608,-18.12603 7.88751,-14.32629 34.93017,-30.90612 34.93017,-30.90612 0,0 0.96611,-2.73667 2.09289,-10.94611 1.12679,-8.20945 -2.73678,-13.68236 -2.73678,-13.68236 0,0 -38.31028,13.68236 -51.99269,13.68236 -13.68241,0 -25.19175,-15.4528 -25.19175,-15.4528 z"
+       id="path11" />
+    <path
+       style="fill:#333366;stroke:#000000;stroke-width:1"
+       d="m 101.18834,103.4648 c 0,0 20.03279,12.74814 19.00839,21.17101 -1.02441,8.42288 -3.07321,12.74814 -3.07321,12.74814 0,0 -0.84361,-2.85159 -4.78055,-2.16263 -4.55291,0.79676 -8.992,6.82936 -8.992,6.82936 0,0 13.96882,6.94437 10.69934,7.39847 -4.09762,0.56912 -13.20344,2.73175 -16.276645,11.49609 -3.073212,8.76435 -10.130216,-0.79676 -10.130216,-0.79676 0,0 -7.770862,-14.15125 -10.471687,-21.85395 -2.548802,-7.26913 -9.56648,1.726 -10.016394,0.11383 -3.447993,-12.35515 34.032972,-34.94356 34.032972,-34.94356 z"
+       id="path12" />
+    <path
+       style="fill:#aabbee;stroke:#000000;stroke-width:1"
+       d="m 91.618479,123.61317 c 0,0 -8.154823,4.05304 -7.993853,9.0431 0.16097,4.99006 4.562388,2.83057 4.562388,2.83057 0,0 -9.572541,9.21628 -2.328912,12.59664 4.055547,1.89259 1.58861,7.2119 1.669093,8.62038 0.175443,3.07031 6.851462,-10.11584 11.19764,-13.4962 4.346175,-3.38036 16.045065,-14.25626 15.417365,-23.93258 -0.30858,-4.75698 -13.25454,-9.81579 -13.25454,-9.81579 z"
+       id="path13" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 120.65202,157.98585 c 0,0 3.98379,-3.07321 6.71553,-3.41468 2.73175,-0.34147 5.12203,-0.68294 4.55291,0.79676 -0.56911,1.4797 -5.69113,3.86997 -5.69113,3.86997 0,0 9.20465,-0.3679 11.82257,-2.53053 2.61792,-2.16263 4.05191,-3.1415 4.93866,-2.13948 0.88674,1.00202 -1.47195,6.54226 -5.37897,9.33674 -6.84791,4.89793 -17.52868,5.46349 -17.52868,5.46349 z"
+       id="path14" />
+    <path
+       style="fill:#3355aa;stroke:#000000;stroke-width:1"
+       d="m 74.528901,154.69174 c 0,0 12.631914,4.74229 25.916099,5.15103 10.46302,0.32193 21.24798,-3.86328 21.24798,-3.86328 0,0 0.96582,9.49721 1.77066,13.03854 0.80485,3.54133 2.09261,7.8875 2.09261,7.8875 0,0 -18.35053,7.08266 -22.85768,11.1069"
+       id="path15" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 76.21912,75.253288 -9.254215,3.983736 c 0,0 -3.091783,4.60604 -2.705261,7.311698 0.386524,2.705661 2.576586,7.762834 2.576586,7.762834 0,0 -2.216416,-2.03195 -4.735111,-0.966349 -3.349863,1.417249 -4.154799,6.828823 -0.547253,9.792163 0.741224,0.60887 1.527147,0.99294 2.308386,1.21957 -0.775078,0.77848 -0.895583,2.39321 -0.895574,3.16005 -0.01412,2.04302 1.545873,3.19014 3.831274,3.1209 -0.236951,0.53835 -0.790295,2.20447 -0.250268,4.36366 0.540027,2.1592 3.584855,3.96486 8.175006,3.96475 3.030841,-10.07703 3.650566,-30.102691 1.49643,-43.713012 z"
+       id="path16" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 71.893239,108.99942 c 0,0 -0.128842,5.73343 1.288407,9.21213 1.417251,3.47871 4.122912,8.89002 11.660105,10.24286 7.537193,1.35283 15.783009,0.70862 19.648239,-4.63828 3.86523,-5.3469 9.0414,-15.90316 9.0414,-15.90316 L 108.2319,75.252147 c -11.358295,-0.270692 -21.789068,0.07953 -32.93342,1.660329 0,0 -4.56481,7.510543 -4.113867,11.955553 0.450943,4.445013 0.547574,10.95148 0.547574,10.95148 z"
+       id="path17" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1"
+       d="m 73.729222,86.130161 c 0,0 0.497928,-1.302758 2.415765,-1.771563 2.898922,-0.708626 5.765633,1.449459 5.765633,1.449459"
+       id="path18" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1"
+       d="m 87.257518,84.294177 c 0,0 0.225472,2.222507 2.029244,2.125874 1.427593,-0.07648 3.414285,-2.222505 5.31469,-1.674931 1.481128,0.426765 3.671964,3.382073 3.671964,3.382073"
+       id="path19" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 77.98097,90.929485 c -1.707142,-0.305997 -3.961857,1.900404 -3.671964,3.704178 0.289891,1.80377 1.642721,3.446494 1.642721,3.446494 l 3.543126,-1.28841 1.707142,-3.543125 c 0,0 -1.513883,-2.01314 -3.221025,-2.319137 z"
+       id="path20" />
+    <ellipse
+       style="fill:#000000;stroke:#000000;stroke-width:1"
+       cx="78.128212"
+       cy="94.617554"
+       rx="0.90188652"
+       ry="1.2400939"
+       id="ellipse20" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 91.283797,91.251586 c -3.027762,-0.209366 -4.834179,2.848079 -3.543124,5.346899 0.998516,1.932615 5.346897,1.739353 6.409834,-0.03221 1.06294,-1.771563 0.161052,-5.105322 -2.86671,-5.314689 z"
+       id="path21" />
+    <ellipse
+       style="fill:#000000;stroke:#000000;stroke-width:1"
+       cx="91.595337"
+       cy="95.285667"
+       rx="0.90188652"
+       ry="1.2400939"
+       id="ellipse21" />
+    <path
+       style="fill:#772222;stroke:#000000;stroke-width:1"
+       d="m 78.335284,113.25117 c 0,0 2.567865,1.34653 5.346899,1.03073 2.834499,-0.3221 7.988136,-3.8008 7.988136,-3.8008 0,0 -2.193654,8.14456 -5.926683,8.5035 -6.699727,0.6442 -7.408352,-5.73343 -7.408352,-5.73343 z"
+       id="path22" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 80.912101,91.219376 c 0,0 -0.25768,5.024797 -2.8345,5.540161 -2.576816,0.515363 -10.436113,2.963341 -9.66307,7.601613 0.773047,4.63827 4.767115,8.37466 7.601617,7.47278 2.8345,-0.90189 5.282478,-4.12291 6.442046,-4.12291 1.159568,0 1.417248,1.03072 3.221021,0 1.803773,-1.03073 2.995552,-4.63827 2.641242,-5.6368 -0.823141,-2.319788 -2.73787,-0.16105 -2.73787,-0.16105"
+       id="path23" />
+    <path
+       style="fill:#ffcc99;stroke:#000000;stroke-width:1"
+       d="m 79.816954,122.33446 c 0,0 -2.576817,4.12291 -0.708626,5.9911 1.868194,1.8682 6.506469,2.77008 10.629379,1.8682 4.122909,-0.90189 7.730455,-3.92965 8.052556,-7.15067"
+       id="path24" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1"
+       d="m 110.51573,76.885746 c -3.02368,0.09696 -5.56348,0.689364 -5.56348,0.689364 0,0 -1.27573,3.781092 -0.45579,5.967594 0.85147,2.270581 1.77664,3.05201 1.77664,3.05201 0,0 -2.49671,1.954569 -0.31884,6.377389 1.33359,2.70826 2.32337,2.733166 2.32337,2.733166 0,0 -2.23077,1.630632 -1.13895,5.146971 1.13203,3.64587 3.04275,6.51021 5.33352,8.25583 l -2.30115,4.53047 c 0,0 -0.47225,4.54479 4.04627,5.86166 4.80066,1.39909 7.07387,-0.24716 8.08581,-1.43195 0.7275,-0.85175 2.14509,-3.36776 2.14509,-3.36776 0,0 3.9633,-1.59458 4.73769,-5.05654 0.77439,-3.46197 0.78681,-5.02027 -0.77463,-6.51381 -1.0477,-1.00215 -2.91506,-0.68316 -2.91506,-0.68316 0,0 5.50343,-4.065171 4.87412,-7.744233 -0.59218,-3.461963 -3.37102,-4.464168 -5.42086,-4.555278 -1.98257,-0.08812 -3.23391,0.957048 -3.23391,0.957048 0,0 2.91531,-6.149551 -2.73317,-11.934672 -1.93532,-1.982144 -5.44298,-2.381053 -8.46667,-2.284099 z"
+       id="path25" />
+    <path
+       style="fill:#333366;stroke:#000000;stroke-width:1"
+       d="m 90.175163,77.016809 c 7.666036,-0.257681 30.159147,4.144584 33.369797,4.509431 5.66901,0.644207 20.35687,-5.282478 18.42426,-9.663067 -1.93262,-4.380593 -12.13951,-1.219642 -20.66909,-9.55399 -5.08847,-4.972002 -13.04939,-20.364299 -20.97025,-19.345901 -9.018861,1.159569 -11.733216,11.867593 -11.733216,11.867593 0,0 0.559313,-10.58598 -4.326842,-10.920651 -9.405389,-0.644205 -14.390018,12.725349 -19.380678,17.91205 -5.812728,6.041061 -13.696613,8.554173 -13.881622,11.329306 -0.257682,3.865229 9.79191,8.761183 15.074389,7.601616 5.353944,-1.175256 16.427216,-3.478706 24.093252,-3.736387 z"
+       id="path26" />
+    <path
+       style="fill:#3355aa;stroke:#000000;stroke-width:1"
+       d="m 84.64858,42.517301 c -4.913446,-0.610053 -9.950741,4.344276 -12.285038,7.025923 -3.515182,4.038251 -6.478283,8.805437 -8.973613,11.398788 -6.065809,6.304084 -13.781636,9.779041 -13.013676,11.672155 0.76796,1.893114 11.558927,-5.425436 15.525668,-10.383862 4.12291,-5.153639 11.477033,-18.812838 17.071826,-17.457849 8.245818,1.997035 0.450779,17.973231 4.122746,17.844389 3.671966,-0.128841 3.88061,-19.139715 12.562023,-18.424199 9.395564,0.774375 13.818914,12.671303 20.840744,19.564294 6.78879,6.664222 19.89723,10.068898 20.72118,6.990009 0.42622,-3.692 -10.11674,-0.507053 -18.40925,-9.053498 -5.27506,-5.255934 -12.93124,-19.246545 -21.68455,-20.49442 -4.957987,-0.706812 -10.24038,4.253001 -11.582235,9.564312 -0.01892,-2.813359 -1.109191,-7.775929 -4.895825,-8.246042 z"
+       id="path27" />
+  </g>
+</svg>

Modified: trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.tex	2025-08-24 20:50:37 UTC (rev 76135)
+++ trunk/Master/texmf-dist/doc/latex/leporello/leporello-doc.tex	2025-08-24 20:50:49 UTC (rev 76136)
@@ -11,8 +11,8 @@
 % This work has the LPPL maintenance status `maintained'.
 %
 \documentclass[a4paper]{article}
-\def\leporellofileversion{0.9.2}
-\def\leporellofiledate{18 August 2025}
+\def\leporellofileversion{0.9.5}
+\def\leporellofiledate{25 August 2025}
 
 \usepackage[T1]{fontenc}
 \usepackage{Alegreya}
@@ -259,7 +259,7 @@
   [The leporello package]
   {The \titlemacro{leporello} class}
   {A simple LaTeX document class to create folded leaflets using columns and boxes}
-  {Jasper Habicht}[E-mail: \href{mailto:mail at jasperhabicht.de}{mail at jasperhabicht.de}.]
+  {Jasper Habicht}[E-mail: \href{mailto:mail at jasperhabicht.de}{mail at jasperhabicht.de}. Title image: \textcopyright{} 2025 Hannah Klöber.]
   {Version \leporellofileversion, released on \leporellofiledate}
 
 \changes{v0.7.0}{2025/08/08}{First public beta release.}
@@ -266,8 +266,15 @@
 \changes{v0.8.0}{2025/08/12}{Added box attachment mechanism and option to place arbitrary code to box background.}
 \changes{v0.9.0}{2025/08/15}{Box attachment mechanism and flow mechanism use box name instead of ID. Enhanced pagination settings. Support for right-to-left and vertical typesetting.}
 \changes{v0.9.2}{2025/08/18}{Various improvements and bug fixes.}
+\changes{v0.9.3}{2025/08/22}{Stretch mechanism fixed.}
+\changes{v0.9.5}{2025/08/25}{Improved alignment mechanism.}
 
 \begin{document}
+\vspace*{-2.5em}
+\noindent\hspace{-10pt}
+\includegraphics[width=80mm]{doc/leporello.pdf}
+\bigskip
+
 \printdoctitle
 \bigskip
 
@@ -422,7 +429,6 @@
   \macro{r}    & right edge of the box        \\
   \macro{t}    & top edge of the box          \\
   \macro{vc}   & vertical center of the box   \\
-  \macro{B}    & baseline of the box          \\
   \macro{b}    & bottom edge of the box       \\
   \bottomrule
 \end{longtable}
@@ -452,8 +458,6 @@
 \end{macrodef}
 If set, the box is stretched until its relevant edge (the bottom edge if aligned at the top, the top edge if aligned at the bottom, in vertical typesetting the left or right edge) meets the edge of the parent column. This key does not expect a value.
 
-\warning In the current version of the package, the \macro{stretch} key does not work in combination with attaching the box to another box (other than the column box).
-
 \begin{macrodef}
 |padding left|={<dimension>}
 |padding right|={<dimension>}

Modified: trunk/Master/texmf-dist/tex/latex/leporello/leporello.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/leporello/leporello.cls	2025-08-24 20:50:37 UTC (rev 76135)
+++ trunk/Master/texmf-dist/tex/latex/leporello/leporello.cls	2025-08-24 20:50:49 UTC (rev 76136)
@@ -11,7 +11,7 @@
 % This work has the LPPL maintenance status `maintained'.
 %
 \ProvidesExplClass{leporello}
-  {2025/08/18} {0.9.2} {Document class for typesetting folded leaflets}
+  {2025/08/25} {0.9.5} {Document class for typesetting folded leaflets}
 
 \cs_generate_variant:Nn \clist_item:Nn { NV }
 \cs_generate_variant:Nn \coffin_attach:NnnNnnnn { cencennn , ceeceeee }
@@ -57,9 +57,11 @@
 
 \bool_new:N \l_leporello_continuous_pagination_bool
 \bool_new:N \l_leporello_auto_typeset_bool
-\clist_new:N \g_leporello_auto_typeset_clist
-\int_new:N \l_leporello_auto_typeset_int
 
+\clist_new:N \g__leporello_auto_typeset_clist
+\clist_new:N \l__leporello_auto_typeset_temp_clist
+\int_new:N \l__leporello_auto_typeset_int
+
 \keys_define:nn { leporello / global } {
   columns           .code:n       = {
     \clist_set:Nn \l_leporello_columns_clist {#1}
@@ -140,14 +142,14 @@
 \int_new:N \l_leporello_current_page_int
 \int_new:N \l_leporello_current_column_int
 \str_new:N \l_leporello_current_column_str
-\dim_new:N \l_leporello_current_column_offset_dim
-\coffin_new:N \l_leporello_current_column_coffin
-
-\int_new:N \g_leporello_box_int
 \int_new:N \l_leporello_current_box_int
-\clist_new:N \g_leporello_parent_boxes_clist
-\prop_new:N \g_leporello_box_names_prop
 
+\coffin_new:N \l__leporello_current_column_coffin
+\dim_new:N \l__leporello_current_column_offset_dim
+\int_new:N \g__leporello_box_int
+\clist_new:N \g__leporello_child_boxes_clist
+\prop_new:N \g__leporello_box_names_prop
+
 \clist_new:N \l__leporello_box_align_parent_clist
 \clist_new:N \l__leporello_box_align_self_clist
 \fp_new:N \l__leporello_box_offset_fp
@@ -164,43 +166,45 @@
 \clist_new:N \l__leporello_box_bleed_clist
 
 \str_new:N \l_leporello_box_flow_into_str
-\box_new:N \g_leporello_box_flow_temp_box
+\box_new:N \g__leporello_box_flow_temp_box
 
-\dim_new:N \l_leporello_typeset_box_width_inner_dim
-\dim_new:N \l_leporello_typeset_box_width_dim
-\dim_new:N \l_leporello_typeset_box_height_dim
-\dim_new:N \l__leporello_typeset_box_bleed_left_dim
-\dim_new:N \l__leporello_typeset_box_bleed_top_dim
+\dim_new:N \l__leporello_typeset_box_width_inner_dim
+\dim_new:N \l__leporello_typeset_box_width_dim
+\dim_new:N \l__leporello_typeset_box_height_dim
 \dim_new:N \l__leporello_typeset_box_bleed_x_dim
 \dim_new:N \l__leporello_typeset_box_bleed_y_dim
+\dim_new:N \l__leporello_typeset_box_stretch_x_dim
+\dim_new:N \l__leporello_typeset_box_stretch_y_dim
 \int_new:N \l__leporello_typeset_coffin_attach_align_int
-\box_new:N \l_leporello_typeset_column_box
-\coffin_new:N \l_leporello_typeset_mark_coffin
+\box_new:N \l__leporello_typeset_column_box
+\coffin_new:N \l__leporello_typeset_mark_coffin
 \coffin_new:N \l__leporello_typeset_mark_temp_coffin
 
 \keys_define:nn { leporello / box } {
   name               .code:n      = {
-    \prop_gput:NnV \g_leporello_box_names_prop {#1} \g_leporello_box_int
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:NnV \g__leporello_box_names_prop {#1} \g__leporello_box_int
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { name } {#1}
   } ,
   flow ~ into        .code:n      = {
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { flow ~ into } {#1}
   } ,
   parent             .code:n      = {
-    \prop_if_in:NnTF \g_leporello_box_names_prop {#1} {
+    \prop_if_in:NnTF \g__leporello_box_names_prop {#1} {
       \clist_if_exist:cF {
-        g_leporello_box_ \prop_item:Nn \g_leporello_box_names_prop {#1} _children_clist
+        g__leporello_box_ \prop_item:Nn \g__leporello_box_names_prop {#1} _children_clist
       } {
         \clist_new:c {
-          g_leporello_box_ \prop_item:Nn \g_leporello_box_names_prop {#1} _children_clist
+          g__leporello_box_ \prop_item:Nn \g__leporello_box_names_prop {#1} _children_clist
         }
       }
       \clist_gput_right:cV {
-        g_leporello_box_ \prop_item:Nn \g_leporello_box_names_prop {#1} _children_clist
-      } \g_leporello_box_int
-      \clist_gput_right:NV \g_leporello_parent_boxes_clist \g_leporello_box_int
+        g__leporello_box_ \prop_item:Nn \g__leporello_box_names_prop {#1} _children_clist
+      } \g__leporello_box_int
+      \clist_gput_right:NV \g__leporello_child_boxes_clist \g__leporello_box_int
+      \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
+        { parent ~ id } { \prop_item:Nn \g__leporello_box_names_prop {#1} }
     } {
       \msg_error:nnn { leporello } { parent-box-undefined } {#1}
     }
@@ -212,11 +216,11 @@
   offset             .fp_set:N    = \l__leporello_box_offset_fp ,
   offset             .initial:n   = { 0mm , 0mm } ,
   width              .code:n      = {
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { width } {#1}
   } ,
   height             .code:n      = {
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { height } {#1}
   } ,
   stretch            .bool_set:N  = \l__leporello_box_stretch_bool ,
@@ -271,46 +275,46 @@
 }
 
 \bool_new:N \l_leporello_image_fill_bleed_bool
-\bool_new:N \l_leporello_image_width_bool
-\bool_new:N \l_leporello_image_height_bool
-\bool_new:N \l_leporello_image_clip_width_bool
-\bool_new:N \l_leporello_image_clip_height_bool
 \dim_new:N \l_leporello_image_width_dim
 \dim_new:N \l_leporello_image_height_dim
 \dim_new:N \l_leporello_image_clip_width_dim
 \dim_new:N \l_leporello_image_clip_height_dim
-\dim_new:N \l_leporello_image_offset_x_dim
-\dim_new:N \l_leporello_image_offset_y_dim
-\dim_new:N \l_leporello_image_outer_offset_left_dim
-\dim_new:N \l_leporello_image_outer_offset_right_dim
-\dim_new:N \l_leporello_image_outer_offset_top_dim
-\dim_new:N \l_leporello_image_outer_offset_bottom_dim
 \fp_new:N \l_leporello_image_scale_fp
-\clist_new:N \l_leporello_image_options_clist
+
+\bool_new:N \l__leporello_image_width_bool
+\bool_new:N \l__leporello_image_height_bool
+\bool_new:N \l__leporello_image_clip_width_bool
+\bool_new:N \l__leporello_image_clip_height_bool
+\dim_new:N \l__leporello_image_offset_x_dim
+\dim_new:N \l__leporello_image_offset_y_dim
+\dim_new:N \l__leporello_image_outer_offset_left_dim
+\dim_new:N \l__leporello_image_outer_offset_right_dim
+\dim_new:N \l__leporello_image_outer_offset_top_dim
+\dim_new:N \l__leporello_image_outer_offset_bottom_dim
 \box_new:N \l__leporello_image_original_box
 
 \keys_define:nn { leporello / image } {
   width              .code:n      = {
-    \bool_set_true:N \l_leporello_image_width_bool
+    \bool_set_true:N \l__leporello_image_width_bool
     \dim_set:Nn \l_leporello_image_width_dim {#1}
   } ,
   height             .code:n      = {
-    \bool_set_true:N \l_leporello_image_height_bool
+    \bool_set_true:N \l__leporello_image_height_bool
     \dim_set:Nn \l_leporello_image_height_dim {#1}
   } ,
   clip ~ width       .code:n      = {
-    \bool_set_true:N \l_leporello_image_clip_width_bool
+    \bool_set_true:N \l__leporello_image_clip_width_bool
     \dim_set:Nn \l_leporello_image_clip_width_dim {#1}
   } ,
   clip ~ height      .code:n      = {
-    \bool_set_true:N \l_leporello_image_clip_height_bool
+    \bool_set_true:N \l__leporello_image_clip_height_bool
     \dim_set:Nn \l_leporello_image_clip_height_dim {#1}
   } ,
   offset             .code:n      = {
-    \dim_set:Nn \l_leporello_image_offset_x_dim { 
+    \dim_set:Nn \l__leporello_image_offset_x_dim {
       \leporello_fp_tuple_use_i:n {#1}
     }
-    \dim_set:Nn \l_leporello_image_offset_y_dim { 
+    \dim_set:Nn \l__leporello_image_offset_y_dim {
       - \leporello_fp_tuple_use_ii:n {#1}
     }
   } ,
@@ -345,7 +349,7 @@
         \tex_bodydir:D TLT
         \tex_pardir:D TLT
         \tex_textdir:D TLT
-        \tex_relax:D
+        \scan_stop:
         \hook_gput_code:nnn { leporello / box / begin } {
           . / layout
         } {
@@ -352,7 +356,7 @@
           \tex_bodydir:D TRT
           \tex_pardir:D TRT
           \tex_textdir:D TRT
-          \tex_relax:D
+          \scan_stop:
         }
       }
       { 2 } {
@@ -361,7 +365,7 @@
         \tex_bodydir:D TLT
         \tex_pardir:D TLT
         \tex_textdir:D TLT
-        \tex_relax:D
+        \scan_stop:
         \hook_gput_code:nnn { leporello / box / begin } {
           . / layout
         } {
@@ -368,7 +372,7 @@
           \tex_bodydir:D LTL
           \tex_pardir:D LTL
           \tex_textdir:D LTL
-          \tex_relax:D
+          \scan_stop:
         }
       }
       { 3 } {
@@ -380,7 +384,7 @@
         \tex_bodydir:D TLT
         \tex_pardir:D TLT
         \tex_textdir:D TLT
-        \tex_relax:D
+        \scan_stop:
         \hook_gput_code:nnn { leporello / box / begin } {
           . / layout
         } {
@@ -387,7 +391,7 @@
           \tex_bodydir:D RTT
           \tex_pardir:D RTT
           \tex_textdir:D RTT
-          \tex_relax:D
+          \scan_stop:
         }
       }
     } {
@@ -422,7 +426,7 @@
     #2
   \draw_end:
   \tex_par:D
-  \tex_vfil:D
+  \skip_vertical:n { 0pt plus 1fill }
   \tex_penalty:D -10000
 }
 
@@ -501,7 +505,7 @@
       \leoprello_graphics_use:nn { } {#2}
     }
 
-    \bool_if:NF \l_leporello_image_clip_width_bool {
+    \bool_if:NF \l__leporello_image_clip_width_bool {
       \dim_set:Nn \l_leporello_image_clip_width_dim {
         \fp_to_dim:n {
           \l_leporello_image_scale_fp *
@@ -509,7 +513,7 @@
         }
       }
     }
-    \bool_if:NF \l_leporello_image_clip_height_bool {
+    \bool_if:NF \l__leporello_image_clip_height_bool {
       \dim_set:Nn \l_leporello_image_clip_height_dim {
         \fp_to_dim:n {
           \l_leporello_image_scale_fp *
@@ -517,13 +521,13 @@
         }
       }
     }
-    \bool_if:NT \l_leporello_image_width_bool {
+    \bool_if:NT \l__leporello_image_width_bool {
       \fp_set:Nn \l_leporello_image_scale_fp {
         \l_leporello_image_width_dim /
         \box_wd:N \l__leporello_image_original_box
       }
     }
-    \bool_if:NT \l_leporello_image_height_bool {
+    \bool_if:NT \l__leporello_image_height_bool {
       \fp_set:Nn \l_leporello_image_scale_fp {
         \l_leporello_image_height_dim /
         \box_ht:N \l__leporello_image_original_box
@@ -531,50 +535,50 @@
     }
 
     \clist_if_in:NnT \l_leporello_image_ignore_padding_clist { l } {
-      \dim_add:Nn \l_leporello_image_outer_offset_left_dim {
+      \dim_add:Nn \l__leporello_image_outer_offset_left_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ left }
       }
       \dim_add:Nn \l_leporello_image_clip_width_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ left }
       }
-      \skip_add:Nn \tex_hfuzz:D {
+      \dim_add:Nn \tex_hfuzz:D {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ left }
       }
     }
     \clist_if_in:NnT \l_leporello_image_ignore_padding_clist { r } {
-      \dim_add:Nn \l_leporello_image_outer_offset_right_dim {
+      \dim_add:Nn \l__leporello_image_outer_offset_right_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ right }
       }
       \dim_add:Nn \l_leporello_image_clip_width_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ right }
       }
-      \skip_add:Nn \tex_hfuzz:D {
+      \dim_add:Nn \tex_hfuzz:D {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ right }
       }
     }
     \clist_if_in:NnT \l_leporello_image_ignore_padding_clist { t } {
-      \dim_add:Nn \l_leporello_image_outer_offset_top_dim {
+      \dim_add:Nn \l__leporello_image_outer_offset_top_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ top }
       }
     }
     \clist_if_in:NnT \l_leporello_image_ignore_padding_clist { b } {
-      \dim_add:Nn \l_leporello_image_outer_offset_bottom_dim {
+      \dim_add:Nn \l__leporello_image_outer_offset_bottom_dim {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { padding ~ bottom }
       }
     }
@@ -585,10 +589,10 @@
       } = { 1 } {
         \clist_if_in:enT {
           \prop_item:cn {
-            g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+            g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
           } { bleed }
         } { l } {
-          \dim_add:Nn \l_leporello_image_outer_offset_left_dim {
+          \dim_add:Nn \l__leporello_image_outer_offset_left_dim {
             \l_leporello_bleed_dim
           }
           \dim_add:Nn \l_leporello_image_clip_width_dim {
@@ -601,10 +605,10 @@
       } = { \l_leporello_column_count_int } {
         \clist_if_in:enT {
           \prop_item:cn {
-            g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+            g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
           } { bleed }
         } { r } {
-          \dim_add:Nn \l_leporello_image_outer_offset_right_dim {
+          \dim_add:Nn \l__leporello_image_outer_offset_right_dim {
             \l_leporello_bleed_dim
           }
           \dim_add:Nn \l_leporello_image_clip_width_dim {
@@ -614,10 +618,10 @@
       }
       \clist_if_in:enT {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { bleed }
       } { t } {
-        \dim_add:Nn \l_leporello_image_outer_offset_top_dim {
+        \dim_add:Nn \l__leporello_image_outer_offset_top_dim {
           \l_leporello_bleed_dim
         }
         \dim_add:Nn \l_leporello_image_clip_height_dim {
@@ -626,10 +630,10 @@
       }
       \clist_if_in:enT {
         \prop_item:cn {
-          g_leporello_box_ \int_use:N \l_leporello_current_box_int _prop
+          g__leporello_box_ \int_use:N \l_leporello_current_box_int _prop
         } { bleed }
       } { b } {
-        \dim_add:Nn \l_leporello_image_outer_offset_bottom_dim {
+        \dim_add:Nn \l__leporello_image_outer_offset_bottom_dim {
           \l_leporello_bleed_dim
         }
         \dim_add:Nn \l_leporello_image_clip_height_dim {
@@ -638,7 +642,7 @@
       }
     }
 
-    \dim_add:Nn \l_leporello_image_offset_y_dim {
+    \dim_add:Nn \l__leporello_image_offset_y_dim {
       \fp_to_dim:n {
         \l_leporello_image_scale_fp *
         \box_ht:N \l__leporello_image_original_box -
@@ -646,8 +650,8 @@
       }
     }
 
-    \skip_vertical:n { - \l_leporello_image_outer_offset_top_dim }
-    \skip_horizontal:n { - \l_leporello_image_outer_offset_left_dim }
+    \skip_vertical:n { - \l__leporello_image_outer_offset_top_dim }
+    \skip_horizontal:n { - \l__leporello_image_outer_offset_left_dim }
     \leoprello_graphics_use:nn {
       scale = \fp_to_decimal:N \l_leporello_image_scale_fp ,
       clip ,
@@ -654,13 +658,13 @@
       viewport =
         \dim_to_decimal_in_bp:n {
           \fp_to_dim:n {
-            \l_leporello_image_offset_x_dim /
+            \l__leporello_image_offset_x_dim /
             \l_leporello_image_scale_fp
           }
         } ~
         \dim_to_decimal_in_bp:n {
           \fp_to_dim:n {
-            \l_leporello_image_offset_y_dim /
+            \l__leporello_image_offset_y_dim /
             \l_leporello_image_scale_fp
           }
         } ~
@@ -668,7 +672,7 @@
           \fp_to_dim:n {
             (
               \l_leporello_image_clip_width_dim +
-              \l_leporello_image_offset_x_dim
+              \l__leporello_image_offset_x_dim
             ) / \l_leporello_image_scale_fp
           }
         } ~
@@ -676,17 +680,17 @@
           \fp_to_dim:n {
             (
               \l_leporello_image_clip_height_dim +
-              \l_leporello_image_offset_y_dim
+              \l__leporello_image_offset_y_dim
             ) / \l_leporello_image_scale_fp
           }
         }
     } {#2}
-    \skip_horizontal:n { - \l_leporello_image_outer_offset_right_dim }
-    \skip_vertical:n { - \l_leporello_image_outer_offset_bottom_dim }
+    \skip_horizontal:n { - \l__leporello_image_outer_offset_right_dim }
+    \skip_vertical:n { - \l__leporello_image_outer_offset_bottom_dim }
   \group_end:
 }
 
-\cs_new:Npn \__leporello_flow_split_use_i:w 
+\cs_new:Npn \__leporello_flow_split_use_i:w
   #1 \leporelloboxbreak #2 \q_stop {#1}
 \cs_new:Npn \__leporello_flow_split_use_i:n #1 {
   \__leporello_flow_split_use_i:w #1 \q_stop
@@ -693,7 +697,7 @@
 }
 \cs_generate_variant:Nn \__leporello_flow_split_use_i:n { e }
 
-\cs_new:Npn \__leporello_flow_split_use_ii:w 
+\cs_new:Npn \__leporello_flow_split_use_ii:w
   #1 \leporelloboxbreak #2 \q_stop {#2}
 \cs_new:Npn \__leporello_flow_split_use_ii:n #1 {
   \__leporello_flow_split_use_ii:w #1 \q_stop
@@ -701,36 +705,36 @@
 \cs_generate_variant:Nn \__leporello_flow_split_use_ii:n { e }
 
 \cs_new_protected:Npn \__leporello_box_break_flow:n #1 {
-  \prop_if_in:cnT { g_leporello_box_ #1 _prop } { name } {
+  \prop_if_in:cnT { g__leporello_box_ #1 _prop } { name } {
     \tl_if_exist:cT {
-      g_leporello_box_ \prop_item:cn { g_leporello_box_ #1 _prop } { name } _tl
+      g__leporello_box_ \prop_item:cn { g__leporello_box_ #1 _prop } { name } _tl
     } {
-      \tl_gput_left:cn { g_leporello_box_ #1 _tl } {
+      \tl_gput_left:cn { g__leporello_box_ #1 _tl } {
         \tl_use:c {
-          g_leporello_box_ \prop_item:cn { g_leporello_box_ #1 _prop } { name } _tl
+          g__leporello_box_ \prop_item:cn { g__leporello_box_ #1 _prop } { name } _tl
         }
       }
     }
   }
-  \prop_if_in:cnT { g_leporello_box_ #1 _prop } { flow ~ into } {
+  \prop_if_in:cnT { g__leporello_box_ #1 _prop } { flow ~ into } {
     \str_set:Ne \l_leporello_box_flow_into_str {
-      \prop_item:cn { g_leporello_box_ #1 _prop } { flow ~ into }
+      \prop_item:cn { g__leporello_box_ #1 _prop } { flow ~ into }
     }
 
     \box_new:c {
-      g_leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
+      g__leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
     }
-    \tl_if_exist:cF { g_leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
-      \tl_new:c { g_leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl }
+    \tl_if_exist:cF { g__leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
+      \tl_new:c { g__leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl }
     }
 
-    \tl_if_in:cnTF { g_leporello_box_ #1 _tl } {
+    \tl_if_in:cnTF { g__leporello_box_ #1 _tl } {
       \leporelloboxbreak
     } {
-      \vbox_gset_top:Nn \g_leporello_box_flow_temp_box {
-        \prop_item:cn { g_leporello_box_ #1 _prop } { pre }
+      \vbox_gset_top:Nn \g__leporello_box_flow_temp_box {
+        \prop_item:cn { g__leporello_box_ #1 _prop } { pre }
         \__leporello_flow_split_use_i:e {
-          \tl_use:c { g_leporello_box_ #1 _tl }
+          \tl_use:c { g__leporello_box_ #1 _tl }
         }
         \group_begin:
           \skip_zero:N \tex_parfillskip:D
@@ -737,26 +741,26 @@
           \tex_par:D
         \group_end:
       }
-      \tl_gput_left:ce { g_leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
-        \prop_item:cn { g_leporello_box_ #1 _prop } { pre }
+      \tl_gput_left:ce { g__leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
+        \prop_item:cn { g__leporello_box_ #1 _prop } { pre }
         \tex_noindent:D
         \__leporello_flow_split_use_ii:e {
-          \tl_use:c { g_leporello_box_ #1 _tl }
+          \tl_use:c { g__leporello_box_ #1 _tl }
         }
         \tex_par:D
       }
-      \tl_gclear:c { g_leporello_box_ #1 _tl }
+      \tl_gclear:c { g__leporello_box_ #1 _tl }
     } {
       \vbox_gset_top:cn {
-        g_leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
+        g__leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
       } {
-        \tl_use:c { g_leporello_box_ #1 _tl }
+        \tl_use:c { g__leporello_box_ #1 _tl }
       }
-      \tl_clear:c { g_leporello_box_ #1 _tl }
+      \tl_clear:c { g__leporello_box_ #1 _tl }
       \group_begin:
         \skip_zero:N \tex_splittopskip:D
-        \vbox_gset_split_to_ht:Ncn \g_leporello_box_flow_temp_box {
-          g_leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
+        \vbox_gset_split_to_ht:Ncn \g__leporello_box_flow_temp_box {
+          g__leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
         } {
           \bool_lazy_or:nnTF {
             \l_leporello_layout_vertical_ltr_bool
@@ -763,71 +767,124 @@
           } {
             \l_leporello_layout_vertical_rtl_bool
           } {
-            \prop_if_in:cnTF { g_leporello_box_ #1 _prop } { width } {
-              \prop_item:cn { g_leporello_box_ #1 _prop } { width }
+            \prop_if_in:cnTF { g__leporello_box_ #1 _prop } { width } {
+              \prop_item:cn { g__leporello_box_ #1 _prop } { width }
             } {
               \clist_item:Nn \l_leporello_columns_clist {
                 \int_use:N \l_leporello_current_column_int
               }
             } -
-            \prop_item:cn { g_leporello_box_ #1 _prop } { padding ~ left } -
-            \prop_item:cn { g_leporello_box_ #1 _prop } { padding ~ right }
+            \prop_item:cn { g__leporello_box_ #1 _prop } { padding ~ left } -
+            \prop_item:cn { g__leporello_box_ #1 _prop } { padding ~ right }
           } {
-            \prop_if_in:cnTF { g_leporello_box_ #1 _prop } { height } {
-              \prop_item:cn { g_leporello_box_ #1 _prop } { height }
+            \prop_if_in:cnTF { g__leporello_box_ #1 _prop } { height } {
+              \prop_item:cn { g__leporello_box_ #1 _prop } { height }
             } {
               \l_leporello_layout_height_dim
             } -
-            \prop_item:cn { g_leporello_box_ #1 _prop } { padding ~ top } -
-            \prop_item:cn { g_leporello_box_ #1 _prop } { padding ~ bottom }
+            \prop_item:cn { g__leporello_box_ #1 _prop } { padding ~ top } -
+            \prop_item:cn { g__leporello_box_ #1 _prop } { padding ~ bottom }
           }
         }
       \group_end:
-      \tl_gput_left:ce { g_leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
+      \tl_gput_left:ce { g__leporello_box_ \str_use:N \l_leporello_box_flow_into_str _tl } {
         \exp_not:N \box_use_drop:c {
-          g_leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
+          g__leporello_box_flow_ \str_use:N \l_leporello_box_flow_into_str _box
         }
       }
     }
     \vbox_top:n {
-      \vbox_unpack_drop:N \g_leporello_box_flow_temp_box
+      \vbox_unpack_drop:N \g__leporello_box_flow_temp_box
     }
   }
 }
 
+\cs_new_protected:Npn \__leporello_box_update_poles:nnn #1#2#3 {
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
+  } { l } {
+    \int_compare:nNnT {#2} = { 1 } {
+      \coffin_gset_vertical_pole:cnn {
+        g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+      } { l } {
+        \l_leporello_bleed_dim
+      }
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
+  } { r } {
+    \int_compare:nNnT {#2} = { \l_leporello_column_count_int } {
+      \coffin_gset_vertical_pole:cnn {
+        g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+      } { r } {
+        \coffin_wd:c {
+          g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+        } -
+        \l_leporello_bleed_dim
+      }
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
+  } { t } {
+    \coffin_gset_horizontal_pole:cnn {
+      g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+    } { t } {
+      \coffin_ht:c {
+        g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+      } -
+      \l_leporello_bleed_dim
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
+  } { b } {
+    \coffin_gset_horizontal_pole:cnn {
+      g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+    } { b } {
+      - \coffin_dp:c {
+        g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+      } +
+      \l_leporello_bleed_dim
+    }
+  }
+}
+\cs_generate_variant:Nn \__leporello_box_update_poles:nnn { VVn }
+
 \cs_new_protected:Npn \__leporello_box_construct:nnn #1#2#3 {
-  \coffin_if_exist:cF { g_leporello_box_ #1 _ #2 _ #3 _outer_coffin } {
-    \dim_set:Nn \l_leporello_typeset_box_width_inner_dim {
+  \coffin_if_exist:cF { g__leporello_box_ #1 _ #2 _ #3 _outer_coffin } {
+    \dim_set:Nn \l__leporello_typeset_box_width_inner_dim {
       \bool_lazy_or:nnTF {
         \l_leporello_layout_vertical_ltr_bool
       } {
         \l_leporello_layout_vertical_rtl_bool
       } {
-        \prop_if_in:cnTF { g_leporello_box_ #3 _prop } { height } {
-          \prop_item:cn { g_leporello_box_ #3 _prop } { height }
+        \prop_if_in:cnTF { g__leporello_box_ #3 _prop } { height } {
+          \prop_item:cn { g__leporello_box_ #3 _prop } { height }
         } {
           \l_leporello_layout_height_dim
         } -
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ top } -
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ bottom }
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ top } -
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ bottom }
       } {
-        \prop_if_in:cnTF { g_leporello_box_ #3 _prop } { width } {
-          \prop_item:cn { g_leporello_box_ #3 _prop } { width }
+        \prop_if_in:cnTF { g__leporello_box_ #3 _prop } { width } {
+          \prop_item:cn { g__leporello_box_ #3 _prop } { width }
         } {
           \clist_item:Nn \l_leporello_columns_clist {#2}
         } -
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ left } -
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ right }
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ left } -
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ right }
       }
     }
 
     \coffin_new:c {
-      g_leporello_box_ #1 _ #2 _ #3 _inner_coffin
+      g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
     }
     \vcoffin_gset:cnn {
-      g_leporello_box_ #1 _ #2 _ #3 _inner_coffin
+      g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
     } {
-      \l_leporello_typeset_box_width_inner_dim
+      \l__leporello_typeset_box_width_inner_dim
     } {
       \draw_suspend_begin:
         \int_set:Nn \l_leporello_current_box_int {#3}
@@ -834,15 +891,15 @@
         \hook_use:n { leporello / box / begin }
           \__leporello_box_break_flow:n {#3}
           \vbox_top:n {
-            \tl_use:c { g_leporello_box_ #3 _tl }
+            \tl_use:c { g__leporello_box_ #3 _tl }
           }
         \hook_use:n { leporello / box / end }
       \draw_suspend_end:
     }
 
-    \dim_set:Nn \l_leporello_typeset_box_width_dim {
-      \prop_if_in:cnTF { g_leporello_box_ #3 _prop } { width } {
-        \prop_item:cn { g_leporello_box_ #3 _prop } { width }
+    \dim_set:Nn \l__leporello_typeset_box_width_dim {
+      \prop_if_in:cnTF { g__leporello_box_ #3 _prop } { width } {
+        \prop_item:cn { g__leporello_box_ #3 _prop } { width }
       } {
         \bool_lazy_or:nnTF {
           \l_leporello_layout_vertical_ltr_bool
@@ -850,10 +907,10 @@
           \l_leporello_layout_vertical_rtl_bool
         } {
           \coffin_wd:c {
-            g_leporello_box_ #1 _ #2 _ #3 _inner_coffin
+            g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
           } +
-          \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ left } +
-          \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ right }
+          \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ left } +
+          \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ right }
         } {
           \clist_item:Nn \l_leporello_columns_clist {#2}
         }
@@ -860,48 +917,58 @@
       }
     }
 
-    \dim_set:Nn \l_leporello_typeset_box_height_dim {
-      \prop_if_in:cnTF { g_leporello_box_ #3 _prop } { height } {
-        \prop_item:cn { g_leporello_box_ #3 _prop } { height }
+    \dim_set:Nn \l__leporello_typeset_box_height_dim {
+      \prop_if_in:cnTF { g__leporello_box_ #3 _prop } { height } {
+        \prop_item:cn { g__leporello_box_ #3 _prop } { height }
       } {
         \coffin_ht:c {
-          g_leporello_box_ #1 _ #2 _ #3 _inner_coffin
+          g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
         } +
         \coffin_dp:c {
-          g_leporello_box_ #1 _ #2 _ #3 _inner_coffin
+          g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
         } +
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ top } +
-        \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ bottom }
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ top } +
+        \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ bottom }
       }
     }
 
-    \bool_if:nT { \prop_item:cn { g_leporello_box_ #3 _prop } { stretch } } {
+    \bool_if:nT { \prop_item:cn { g__leporello_box_ #3 _prop } { stretch } } {
       \bool_lazy_or:nnTF {
         \l_leporello_layout_vertical_ltr_bool
       } {
         \l_leporello_layout_vertical_rtl_bool
       } {
-        \dim_set:Nn \l_leporello_typeset_box_width_dim {
+        \__leporello_box_calculate_stretch_x:Nn
+          \l__leporello_typeset_box_stretch_x_dim {#3}
+        \dim_set:Nn \l__leporello_typeset_box_width_dim {
           \fp_to_dim:n {
             \clist_item:Nn \l_leporello_columns_clist {#2} -
             (
               \leporello_fp_tuple_use_i:e {
-                \prop_item:cn { g_leporello_box_ #3 _prop } { offset }
+                \prop_item:cn { g__leporello_box_ #3 _prop } { offset }
               }
             )
           }
         }
+        \dim_add:Nn \l__leporello_typeset_box_width_dim {
+          \l__leporello_typeset_box_stretch_x_dim
+        }
       } {
-        \dim_set:Nn \l_leporello_typeset_box_height_dim {
+        \__leporello_box_calculate_stretch_y:Nn
+          \l__leporello_typeset_box_stretch_y_dim {#3}
+        \dim_set:Nn \l__leporello_typeset_box_height_dim {
           \fp_to_dim:n {
             \l_leporello_layout_height_dim -
             (
               \leporello_fp_tuple_use_ii:e {
-                \prop_item:cn { g_leporello_box_ #3 _prop } { offset }
+                \prop_item:cn { g__leporello_box_ #3 _prop } { offset }
               }
             )
           }
         }
+        \dim_add:Nn \l__leporello_typeset_box_height_dim {
+          \l__leporello_typeset_box_stretch_y_dim
+        }
       }
     }
 
@@ -910,7 +977,7 @@
 
     \int_compare:nNnT {#2} = { 1 } {
       \clist_if_in:enT {
-        \prop_item:cn { g_leporello_box_ #3 _prop } { bleed }
+        \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
       } { l } {
         \dim_add:Nn \l__leporello_typeset_box_bleed_x_dim { \l_leporello_bleed_dim }
       }
@@ -917,57 +984,60 @@
     }
     \int_compare:nNnT {#2} = { \l_leporello_column_count_int } {
       \clist_if_in:enT {
-        \prop_item:cn { g_leporello_box_ #3 _prop } { bleed }
+        \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
       } { r } {
         \dim_add:Nn \l__leporello_typeset_box_bleed_x_dim { \l_leporello_bleed_dim }
       }
     }
-    \skip_set:Nn \tex_hfuzz:D { \l__leporello_typeset_box_bleed_x_dim }
+    \dim_add:Nn \tex_hfuzz:D { \l__leporello_typeset_box_bleed_x_dim }
 
     \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #3 _prop } { bleed }
+      \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
     } { t } {
       \dim_add:Nn \l__leporello_typeset_box_bleed_y_dim { \l_leporello_bleed_dim }
     }
     \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #3 _prop } { bleed }
+      \prop_item:cn { g__leporello_box_ #3 _prop } { bleed }
     } { b } {
       \dim_add:Nn \l__leporello_typeset_box_bleed_y_dim { \l_leporello_bleed_dim }
     }
-    \skip_set:Nn \tex_vfuzz:D { \l__leporello_typeset_box_bleed_y_dim }
+    \dim_add:Nn \tex_vfuzz:D { \l__leporello_typeset_box_bleed_y_dim }
 
     \coffin_new:c {
-      g_leporello_box_ #1 _ #2 _ #3 _outer_coffin
+      g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
     }
     \vcoffin_gset:cnn {
-      g_leporello_box_ #1 _ #2 _ #3 _outer_coffin
-    } { \l_leporello_typeset_box_width_dim } {
+      g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
+    } {
+      \l__leporello_typeset_box_width_dim +
+      \l__leporello_typeset_box_bleed_x_dim
+    } {
       \draw_suspend_begin:
         \draw_begin:
           \draw_path_rectangle:nn { 0mm , 0mm } {
-            \l_leporello_typeset_box_width_dim +
+            \l__leporello_typeset_box_width_dim +
             \l__leporello_typeset_box_bleed_x_dim ,
-            \l_leporello_typeset_box_height_dim +
+            \l__leporello_typeset_box_height_dim +
             \l__leporello_typeset_box_bleed_y_dim
           }
           \str_if_eq:enF {
-            \prop_item:cn { g_leporello_box_ #3 _prop } { background ~ color }
+            \prop_item:cn { g__leporello_box_ #3 _prop } { background ~ color }
           } { none } {
             \group_begin:
               \color_select:e {
-                \prop_item:cn { g_leporello_box_ #3 _prop } { background ~ color }
+                \prop_item:cn { g__leporello_box_ #3 _prop } { background ~ color }
               }
               \draw_path_use:n { fill }
             \group_end:
           }
           \draw_path_use_clear:n { clip }
-          \prop_if_in:cnT { g_leporello_box_ #3 _prop } { background ~ code } {
+          \prop_if_in:cnT { g__leporello_box_ #3 _prop } { background ~ code } {
             \vbox_set_top:Ne \l__leporello_box_background_box {
-              \prop_item:cn { g_leporello_box_ #3 _prop } { background ~ code }
+              \prop_item:cn { g__leporello_box_ #3 _prop } { background ~ code }
             }
             \draw_box_use:Nn \l__leporello_box_background_box {
               0mm ,
-              \l_leporello_typeset_box_height_dim +
+              \l__leporello_typeset_box_height_dim +
               \l__leporello_typeset_box_bleed_y_dim -
               \box_ht:N \l__leporello_box_background_box
             }
@@ -976,157 +1046,287 @@
       \draw_suspend_end:
     }
 
-    \tl_if_exist:cT { c_leporello_box_ #3 _store_width_tl } {
+    \__leporello_box_update_poles:nnn {#1} {#2} {#3}
+
+    \tl_if_exist:cT { c__leporello_box_ #3 _store_width_tl } {
       \exp_args:NNo \exp_args:No
-        \dim_set_eq:NN { \use:c { c_leporello_box_ #3 _store_width_tl } }
-          \l_leporello_typeset_box_width_dim
+        \dim_set_eq:NN { \use:c { c__leporello_box_ #3 _store_width_tl } }
+          \l__leporello_typeset_box_width_dim
     }
-    \tl_if_exist:cT { c_leporello_box_ #3 _store_height_tl } {
+    \tl_if_exist:cT { c__leporello_box_ #3 _store_height_tl } {
       \exp_args:NNo \exp_args:No
-        \dim_set_eq:NN { \use:c { c_leporello_box_ #3 _store_height_tl } }
-          \l_leporello_typeset_box_height_dim
+        \dim_set_eq:NN { \use:c { c__leporello_box_ #3 _store_height_tl } }
+          \l__leporello_typeset_box_height_dim
     }
 
     \bool_if:NT \l_leporello_show_id_bool {
-      \hcoffin_set:Nn \l_leporello_typeset_mark_coffin {
+      \hcoffin_set:Nn \l__leporello_typeset_mark_coffin {
         \__leporello_id_mark:n { #3 }
       }
       \coffin_attach:cnnNnnnn {
-        g_leporello_box_
-          \int_use:N \l_leporello_current_page_int _
-          \int_use:N \l_leporello_current_column_int _
-          #3 _inner_coffin
-        } { hc } { vc }
-        \l_leporello_typeset_mark_coffin
+        g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
+      } { hc } { vc }
+        \l__leporello_typeset_mark_coffin
         { hc } { vc } { 0pt } { 0pt }
     }
 
-    \__leporello_box_set_bleed:n {#3}
-
     \coffin_attach:cencennn {
-      g_leporello_box_
-        \int_use:N \l_leporello_current_page_int _
-        \int_use:N \l_leporello_current_column_int _
-        #3 _outer_coffin
+      g__leporello_box_ #1 _ #2 _ #3 _outer_coffin
     } {
       \bool_if:NTF \l_leporello_layout_vertical_rtl_bool { r } { l }
     } { t } {
-      g_leporello_box_
-        \int_use:N \l_leporello_current_page_int _
-        \int_use:N \l_leporello_current_column_int _
-        #3 _inner_coffin
+      g__leporello_box_ #1 _ #2 _ #3 _inner_coffin
     } {
       \bool_if:NTF \l_leporello_layout_vertical_rtl_bool { r } { l }
     } { t } {
       \bool_if:NTF \l_leporello_layout_vertical_rtl_bool {
-        \fp_to_dim:n {
-          (
-            \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ right } +
-            \l__leporello_typeset_box_bleed_left_dim
-          ) * -1
+        \dim_eval:n {
+          - \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ right }
         }
       } {
-        \fp_to_dim:n {
-          \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ left } +
-          \l__leporello_typeset_box_bleed_left_dim
+        \dim_eval:n {
+          \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ left }
         }
       }
     } {
-      \fp_to_dim:n {
-        (
-          \prop_item:cn { g_leporello_box_ #3 _prop } { padding ~ top } +
-          \l__leporello_typeset_box_bleed_top_dim
-        ) * -1
+      \dim_eval:n {
+        - \prop_item:cn { g__leporello_box_ #3 _prop } { padding ~ top }
       }
     }
+
+    \__leporello_box_update_poles:nnn {#1} {#2} {#3}
   }
 }
 \cs_generate_variant:Nn \__leporello_box_construct:nnn { VVn }
 
-\cs_new:Npn \__leporello_box_set_bleed:n #1 {
-  \dim_zero:N \l__leporello_typeset_box_bleed_left_dim
-  \dim_zero:N \l__leporello_typeset_box_bleed_top_dim
+\cs_new_protected:Npn \__leporello_box_calculate_stretch_x_aux:Nn #1#2 {
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+  } { hc } {
+    \dim_add:Nn #1 {
+      \box_wd:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+  } { r } {
+    \dim_add:Nn #1 {
+      \box_wd:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      }
+    }
+  }
 
-  \int_compare:nNnT {
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
+  } { hc } {
+    \dim_sub:Nn #1 {
+      \box_wd:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
+  } { r } {
+    \dim_sub:Nn #1 {
+      \box_wd:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      }
+    }
+  }
+
+  \int_compare:nNnF {
     \l_leporello_current_column_int
   } = { 1 } {
     \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #1 _prop } { bleed }
+      \prop_item:cn { g__leporello_box_
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+      _prop } { bleed }
     } { l } {
-      \dim_add:Nn \l__leporello_typeset_box_bleed_left_dim { \l_leporello_bleed_dim }
+      \clist_if_in:enF {
+        \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+      } { l } {
+        \dim_add:Nn #1 { \l_leporello_bleed_dim }
+      }
     }
   }
-  \clist_if_in:enT {
-    \prop_item:cn { g_leporello_box_ #1 _prop } { bleed }
-  } { t } {
-    \dim_add:Nn \l__leporello_typeset_box_bleed_top_dim { \l_leporello_bleed_dim }
+  \int_compare:nNnF {
+    \l_leporello_current_column_int
+  } = { \l_leporello_column_count_int } {
+    \clist_if_in:enT {
+      \prop_item:cn { g__leporello_box_
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+      _prop } { bleed }
+    } { r } {
+      \clist_if_in:enF {
+        \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+      } { r } {
+        \dim_add:Nn #1 { \l_leporello_bleed_dim }
+      }
+    }
   }
+
+  \dim_add:Nn #1 {
+    \fp_to_dim:n {
+      \leporello_fp_tuple_use_i:e {
+        \prop_item:cn { g__leporello_box_
+          \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+        _prop } { offset }
+      }
+    }
+  }
 }
 
-\cs_new_protected:Npn \__leporello_boxes_attach:nn #1#2 {
-  \clist_if_in:enTF {
-    \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ self }
+\cs_new_protected:Npn \__leporello_box_calculate_stretch_y_aux:Nn #1#2 {
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+  } { vc } {
+    \dim_sub:Nn #1 {
+      \box_ht:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2 +
+      \box_dp:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
   } { b } {
-    \int_set:Nn \l__leporello_typeset_coffin_attach_align_int { 1 }
-    \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { bleed }
-    } { b } {
-      \dim_add:Nn \l__leporello_typeset_box_bleed_top_dim {
-        \l_leporello_bleed_dim
+    \dim_sub:Nn #1 {
+      \box_ht:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } +
+      \box_dp:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
       }
     }
-    \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { bleed }
-    } { t } {
-      \dim_sub:Nn \l__leporello_typeset_box_bleed_top_dim {
-        \l_leporello_bleed_dim
+  }
+
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
+  } { vc } {
+    \dim_sub:Nn #1 {
+      \box_ht:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2 +
+      \box_dp:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } / 2
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
+  } { b } {
+    \dim_sub:Nn #1 {
+      \box_ht:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
+      } +
+      \box_dp:c { g__leporello_box_
+        \int_use:N \l_leporello_current_page_int _
+        \int_use:N \l_leporello_current_column_int _
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id } _outer_coffin
       }
     }
-  } {
-    \int_set:Nn \l__leporello_typeset_coffin_attach_align_int { -1 }
   }
 
-  \prop_if_exist:cT { g_leporello_box_ #1 _prop } {
-    \int_compare:nNnT {
-      \l_leporello_current_column_int
-    } = { 1 } {
-      \clist_if_in:enT {
-        \prop_item:cn { g_leporello_box_ #1 _prop } { bleed }
-      } { l } {
-        \dim_sub:Nn \l__leporello_typeset_box_bleed_left_dim {
-          \l_leporello_bleed_dim
-        }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_
+      \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+    _prop } { bleed }
+  } { t } {
+    \clist_if_in:enF {
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+    } { t } {
+      \dim_add:Nn #1 { \l_leporello_bleed_dim }
+    }
+  }
+  \clist_if_in:enT {
+    \prop_item:cn { g__leporello_box_
+      \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+    _prop } { bleed }
+  } { b } {
+    \clist_if_in:enF {
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
+    } { b } {
+      \dim_add:Nn #1 { \l_leporello_bleed_dim }
+    }
+  }
+
+  \dim_add:Nn #1 {
+    \fp_to_dim:n {
+      \leporello_fp_tuple_use_ii:e {
+        \prop_item:cn { g__leporello_box_
+          \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
+        _prop } { offset }
       }
     }
-    \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ parent }
-    } { t } {
-      \clist_if_in:enT {
-        \prop_item:cn { g_leporello_box_ #1 _prop } { bleed }
-      } { t } {
-        \dim_add:Nn \l__leporello_typeset_box_bleed_top_dim {
-          \l_leporello_bleed_dim
-        }
+  }
+}
+
+\cs_new_protected:Npn \__leporello_box_calculate_stretch_x:Nn #1#2 {
+  \clist_if_in:NnT \g__leporello_child_boxes_clist {#2} {
+    \__leporello_box_calculate_stretch_x:Ne #1 {
+      \prop_item:Nn \g__leporello_box_names_prop {
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
       }
     }
-    \clist_if_in:enT {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ parent }
-    } { b } {
-      \clist_if_in:enT {
-        \prop_item:cn { g_leporello_box_ #1 _prop } { bleed }
-      } { b } {
-        \dim_add:Nn \l__leporello_typeset_box_bleed_top_dim {
-          \l_leporello_bleed_dim
-        }
+    \__leporello_box_calculate_stretch_x_aux:Nn #1 {#2}
+  }
+}
+\cs_generate_variant:Nn \__leporello_box_calculate_stretch_x:Nn { Ne }
+
+\cs_new_protected:Npn \__leporello_box_calculate_stretch_y:Nn #1#2 {
+  \clist_if_in:NnT \g__leporello_child_boxes_clist {#2} {
+    \__leporello_box_calculate_stretch_y:Ne #1 {
+      \prop_item:Nn \g__leporello_box_names_prop {
+        \prop_item:cn { g__leporello_box_ #2 _prop } { parent ~ id }
       }
     }
+    \__leporello_box_calculate_stretch_y_aux:Nn #1 {#2}
   }
+}
+\cs_generate_variant:Nn \__leporello_box_calculate_stretch_y:Nn { Ne }
 
+\cs_new_protected:Npn \__leporello_boxes_attach:nn #1#2 {
+  \clist_if_in:enTF {
+    \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
+  } { b } {
+    \int_set:Nn \l__leporello_typeset_coffin_attach_align_int { 1 }
+  } {
+    \int_set:Nn \l__leporello_typeset_coffin_attach_align_int { -1 }
+  }
+
   \coffin_attach:ceeceeee {
     \int_compare:nNnTF {#1} = { 0 } {
-      l_leporello_current_column_coffin
+      l__leporello_current_column_coffin
     } {
-      g_leporello_box_
+      g__leporello_box_
         \int_use:N \l_leporello_current_page_int _
         \int_use:N \l_leporello_current_column_int _
         #1 _outer_coffin
@@ -1133,47 +1333,52 @@
     }
   } {
     \clist_item:en {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ parent }
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
     } { 1 }
   } {
     \clist_item:en {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ parent }
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ parent }
     } { 2 }
   } {
-    g_leporello_box_
+    g__leporello_box_
       \int_use:N \l_leporello_current_page_int _
       \int_use:N \l_leporello_current_column_int _
       #2 _outer_coffin
   } {
     \clist_item:en {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ self }
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
     } { 1 }
   } {
     \clist_item:en {
-      \prop_item:cn { g_leporello_box_ #2 _prop } { align ~ self }
+      \prop_item:cn { g__leporello_box_ #2 _prop } { align ~ self }
     } { 2 }
   } {
     \fp_to_dim:n {
       \leporello_fp_tuple_use_i:e {
-        \prop_item:cn { g_leporello_box_ #2 _prop } { offset }
-      } -
-      \l__leporello_typeset_box_bleed_left_dim
+        \prop_item:cn { g__leporello_box_ #2 _prop } { offset }
+      }
     }
   } {
     \fp_to_dim:n {
       (
         \leporello_fp_tuple_use_ii:e {
-          \prop_item:cn { g_leporello_box_ #2 _prop } { offset }
-        } -
-        \l__leporello_typeset_box_bleed_top_dim
+          \prop_item:cn { g__leporello_box_ #2 _prop } { offset }
+        }
       ) * \l__leporello_typeset_coffin_attach_align_int
     }
   }
+
+  \int_compare:nNnF {#1} = { 0 } {
+    \__leporello_box_update_poles:VVn
+      \l_leporello_current_page_int
+      \l_leporello_current_column_int
+      {#1}
+  }
 }
 
 \cs_new_protected:Npn \__leporello_box_attach_children:n #1 {
-  \clist_if_exist:cT { g_leporello_box_ #1 _children_clist } {
-    \clist_map_inline:cn { g_leporello_box_ #1 _children_clist } {
+  \clist_if_exist:cT { g__leporello_box_ #1 _children_clist } {
+    \clist_map_inline:cn { g__leporello_box_ #1 _children_clist } {
       \__leporello_box_construct:VVn
         \l_leporello_current_page_int
         \l_leporello_current_column_int
@@ -1180,8 +1385,7 @@
         {##1}
       \__leporello_box_attach_children:n {##1}
     }
-    \clist_map_inline:cn { g_leporello_box_ #1 _children_clist } {
-      \__leporello_box_set_bleed:n {##1}
+    \clist_map_inline:cn { g__leporello_box_ #1 _children_clist } {
       \__leporello_boxes_attach:nn {#1} {##1}
     }
   }
@@ -1188,12 +1392,12 @@
 }
 
 \cs_new_protected:Npn \__leporello_box_store:nn #1#2 {
-  \tl_if_exist:cF { g_leporello_box_ #1 _tl } {
-    \tl_new:c { g_leporello_box_ #1 _tl }
+  \tl_if_exist:cF { g__leporello_box_ #1 _tl } {
+    \tl_new:c { g__leporello_box_ #1 _tl }
   }
-  \tl_gput_right:cn { g_leporello_box_ #1 _tl } {
+  \tl_gput_right:cn { g__leporello_box_ #1 _tl } {
     \int_set:Nn \l_leporello_current_box_int {#1}
-    \prop_item:cn { g_leporello_box_ #1 _prop } { pre }
+    \prop_item:cn { g__leporello_box_ #1 _prop } { pre }
     #2
   }
 }
@@ -1220,19 +1424,19 @@
       \int_set:Nn \l_leporello_current_column_int {
         \l_leporello_column_count_int
       }
-      \dim_zero:N \l_leporello_current_column_offset_dim
+      \dim_zero:N \l__leporello_current_column_offset_dim
       \clist_map_inline:Nn \l_leporello_columns_clist {
-        \dim_add:Nn \l_leporello_current_column_offset_dim {##1}
+        \dim_add:Nn \l__leporello_current_column_offset_dim {##1}
       }
     } {
       \int_zero:N \l_leporello_current_column_int
-      \dim_zero:N \l_leporello_current_column_offset_dim
+      \dim_zero:N \l__leporello_current_column_offset_dim
     }
 
     \leporello_draw_absolute:nn { 0mm , 0mm } {
       \clist_map_inline:nn {#2} {
         \bool_if:NTF \l_leporello_reverse_order_bool {
-          \dim_sub:Nn \l_leporello_current_column_offset_dim {
+          \dim_sub:Nn \l__leporello_current_column_offset_dim {
             \clist_item:NV \l_leporello_columns_clist
               \l_leporello_current_column_int
           }
@@ -1297,7 +1501,7 @@
           }
         }
 
-        \vcoffin_set:Nnn \l_leporello_current_column_coffin {
+        \vcoffin_set:Nnn \l__leporello_current_column_coffin {
           \clist_item:NV \l_leporello_columns_clist
             \l_leporello_current_column_int
         } {
@@ -1310,7 +1514,7 @@
               }
               \draw_path_use_clear:n { clip }
               \str_if_eq:nnF {##1} { . } {
-                \vbox_set_top:Nn \l_leporello_typeset_column_box {
+                \vbox_set_top:Nn \l__leporello_typeset_column_box {
                   \draw_suspend_begin:
                     \str_set:Nn \l_leporello_current_column_str {##1}
                     \hook_use:n { leporello / column / begin }
@@ -1318,7 +1522,7 @@
                     \hook_use:n { leporello / column / end }
                   \draw_suspend_end:
                 }
-                \draw_box_use:N \l_leporello_typeset_column_box
+                \draw_box_use:N \l__leporello_typeset_column_box
               }
             \draw_end:
           \draw_suspend_end:
@@ -1333,20 +1537,19 @@
             \__leporello_box_attach_children:n {####1}
           }
           \clist_map_inline:cn { g_leporello_column_ ##1 _boxes_clist } {
-            \clist_if_in:NnF \g_leporello_parent_boxes_clist {####1} {
-              \__leporello_box_set_bleed:n {####1}
+            \clist_if_in:NnF \g__leporello_child_boxes_clist {####1} {
               \__leporello_boxes_attach:nn { 0 } {####1}
             }
           }
         }
 
-        \draw_coffin_use:Nnnn \l_leporello_current_column_coffin
-          { l } { t } { \l_leporello_current_column_offset_dim , 0mm }
+        \draw_coffin_use:Nnnn \l__leporello_current_column_coffin
+          { l } { t } { \l__leporello_current_column_offset_dim , 0mm }
 
         \bool_if:NTF \l_leporello_reverse_order_bool {
           \int_decr:N \l_leporello_current_column_int
         } {
-          \dim_add:Nn \l_leporello_current_column_offset_dim {
+          \dim_add:Nn \l__leporello_current_column_offset_dim {
             \clist_item:NV \l_leporello_columns_clist
               \l_leporello_current_column_int
           }
@@ -1355,17 +1558,17 @@
 
       \bool_if:NT \l_leporello_show_frames_bool {
         \int_zero:N \l_leporello_current_column_int
-        \dim_zero:N \l_leporello_current_column_offset_dim
+        \dim_zero:N \l__leporello_current_column_offset_dim
         \clist_map_inline:Nn \l_leporello_columns_clist {
           \int_incr:N \l_leporello_current_column_int
           \draw_path_rectangle:nn {
-            \l_leporello_current_column_offset_dim , 0mm
+            \l__leporello_current_column_offset_dim , 0mm
           } {
             ##1 ,
             - \l_leporello_layout_height_dim
           }
           \draw_path_use_clear:n { stroke }
-          \dim_add:Nn \l_leporello_current_column_offset_dim {
+          \dim_add:Nn \l__leporello_current_column_offset_dim {
             ##1
           }
         }
@@ -1396,15 +1599,15 @@
     }
     \hook_gput_code:nnn { shipout / foreground } { . } {
       \__leporello_cropmarks:
-      \dim_set:Nn \l_leporello_current_column_offset_dim {
+      \dim_set:Nn \l__leporello_current_column_offset_dim {
         \l_leporello_info_area_dim
       }
-      \__leporello_cropmarks:n { \l_leporello_current_column_offset_dim }
+      \__leporello_cropmarks:n { \l__leporello_current_column_offset_dim }
       \clist_map_inline:Nn \l_leporello_columns_clist {
-        \dim_add:Nn \l_leporello_current_column_offset_dim {
+        \dim_add:Nn \l__leporello_current_column_offset_dim {
           #1
         }
-        \__leporello_cropmarks:n { \l_leporello_current_column_offset_dim }
+        \__leporello_cropmarks:n { \l__leporello_current_column_offset_dim }
       }
     }
   } {
@@ -1414,33 +1617,31 @@
       margin = 0pt
     }
   }
-  \dim_set:Nn \tex_topskip:D { 0pt }
-  \dim_set:Nn \tex_parindent:D { 0pt }
+  \skip_zero:N \tex_topskip:D
+  \dim_zero:N \tex_parindent:D
 }
 
-\clist_new:N \l_leporello_auto_typeset_temp_clist
-
 \hook_gput_code:nnn { enddocument } { . } {
   \bool_if:NT \l_leporello_auto_typeset_bool {
-    \int_zero:N \l_leporello_auto_typeset_int
-    \clist_clear:N \l_leporello_auto_typeset_temp_clist
-    \clist_map_inline:Nn \g_leporello_auto_typeset_clist {
+    \int_zero:N \l__leporello_auto_typeset_int
+    \clist_clear:N \l__leporello_auto_typeset_temp_clist
+    \clist_map_inline:Nn \g__leporello_auto_typeset_clist {
       \int_compare:nNnTF {
-        \l_leporello_auto_typeset_int
+        \l__leporello_auto_typeset_int
       } < {
         \l_leporello_column_count_int
       } {
-        \clist_put_right:Nn \l_leporello_auto_typeset_temp_clist {#1}
+        \clist_put_right:Nn \l__leporello_auto_typeset_temp_clist {#1}
       } {
-        \leporello_typeset_columns:nV { } \l_leporello_auto_typeset_temp_clist
-        \clist_clear:N \l_leporello_auto_typeset_temp_clist
-        \int_zero:N \l_leporello_auto_typeset_int
-        \clist_put_right:Nn \l_leporello_auto_typeset_temp_clist {#1}
+        \leporello_typeset_columns:nV { } \l__leporello_auto_typeset_temp_clist
+        \clist_clear:N \l__leporello_auto_typeset_temp_clist
+        \int_zero:N \l__leporello_auto_typeset_int
+        \clist_put_right:Nn \l__leporello_auto_typeset_temp_clist {#1}
       }
-      \int_incr:N \l_leporello_auto_typeset_int
+      \int_incr:N \l__leporello_auto_typeset_int
     }
-    \clist_if_empty:NF \l_leporello_auto_typeset_temp_clist {
-      \leporello_typeset_columns:nV { } \l_leporello_auto_typeset_temp_clist
+    \clist_if_empty:NF \l__leporello_auto_typeset_temp_clist {
+      \leporello_typeset_columns:nV { } \l__leporello_auto_typeset_temp_clist
     }
   }
 }
@@ -1455,64 +1656,64 @@
     #2
   }
   \bool_if:NT \l_leporello_auto_typeset_bool {
-    \clist_gput_right:Nn \g_leporello_auto_typeset_clist {#1}
+    \clist_gput_right:Nn \g__leporello_auto_typeset_clist {#1}
   }
 } { }
 
 \NewDocumentEnvironment { leporellobox } { O{} +b } {
   \group_begin:
-    \int_gincr:N \g_leporello_box_int
+    \int_gincr:N \g__leporello_box_int
 
     \str_if_empty:NT \l_leporello_current_column_str {
       \msg_error:nnV { leporello } { box-outside-column }
-        \g_leporello_box_int
+        \g__leporello_box_int
     }
 
     \clist_gput_right:cV {
       g_leporello_column_ \str_use:N \l_leporello_current_column_str _boxes_clist
-    } \g_leporello_box_int
+    } \g__leporello_box_int
 
-    \prop_new:c { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_new:c { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
     \keys_set:nn { leporello / box } {#1}
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { align ~ parent }
       { \clist_use:Nn \l__leporello_box_align_parent_clist { , } }
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { align ~ self }
       { \clist_use:Nn \l__leporello_box_align_self_clist { , } }
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { offset }
       \l__leporello_box_offset_fp
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { stretch }
       { \bool_if_p:N \l__leporello_box_stretch_bool }
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { padding ~ left }
       \l__leporello_box_padding_left_dim
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { padding ~ right }
       \l__leporello_box_padding_right_dim
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { padding ~ top }
       \l__leporello_box_padding_top_dim
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { padding ~ bottom }
       \l__leporello_box_padding_bottom_dim
-    \prop_gput:cno { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cno { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { pre }
       { \l__leporello_box_pre_tl }
-    \prop_gput:cnV { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cnV { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { background ~ color }
       \l__leporello_box_background_color_tl
-    \prop_gput:cno { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cno { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { background ~ code }
       { \l__leporello_box_background_code_tl }
-    \prop_gput:cne { g_leporello_box_ \int_use:N \g_leporello_box_int _prop }
+    \prop_gput:cne { g__leporello_box_ \int_use:N \g__leporello_box_int _prop }
       { bleed }
       { \clist_use:Nn \l__leporello_box_bleed_clist { , } }
 
     \tl_if_empty:NF \l__leporello_box_store_width_tl {
-      \tl_const:co { c_leporello_box_ \int_use:N \g_leporello_box_int _store_width_tl } {
+      \tl_const:co { c__leporello_box_ \int_use:N \g__leporello_box_int _store_width_tl } {
         \l__leporello_box_store_width_tl
       }
       \exp_args:No \tl_if_empty:NF { \l__leporello_box_store_width_tl } {
@@ -1520,7 +1721,7 @@
       }
     }
     \tl_if_empty:NF \l__leporello_box_store_height_tl {
-      \tl_const:co { c_leporello_box_ \int_use:N \g_leporello_box_int _store_height_tl } {
+      \tl_const:co { c__leporello_box_ \int_use:N \g__leporello_box_int _store_height_tl } {
         \l__leporello_box_store_height_tl
       }
       \exp_args:No \tl_if_empty:NF { \l__leporello_box_store_height_tl } {
@@ -1528,7 +1729,7 @@
       }
     }
 
-    \__leporello_box_store:Vn \g_leporello_box_int {#2}
+    \__leporello_box_store:Vn \g__leporello_box_int {#2}
   \group_end:
 } { }
 
@@ -1543,7 +1744,7 @@
 }
 
 \NewDocumentCommand { \leporelloboxwidth } { } {
-  \dim_use:N \l_leporello_typeset_box_width_dim
+  \dim_use:N \l__leporello_typeset_box_width_dim
 }
 
 \NewDocumentCommand { \leporellobleed } { } {
@@ -1550,8 +1751,9 @@
   \dim_use:N \l_leporello_bleed_dim
 }
 
+\scan_new:N \s_leporello_split
 \NewDocumentCommand { \leporelloboxbreak } { } {
-  \tex_relax:D
+  \s_leporello_split
 }
 
 \NewDocumentCommand { \leporellojustified } { } {



More information about the tex-live-commits mailing list.