7

Is it some packages to help users to create a leporello edition ? To regard the creases, the long size paper, etc. (leporello is an edition in accordeon) i.e.: example of leporello

3
  • I knew another Leporello! youtube.com/watch?v=INF9r5jju0A
    – egreg
    Apr 15, 2015 at 14:53
  • The leaflet document class (manual) might be of help. However, it seems it only supports up to six (virtual) pages and mostly the standard LaTeX page sizes.
    – doncherry
    Apr 15, 2015 at 15:02
  • 2
    Yes, this technique is a reference to the long list of dates of Don Juan, that Leporello presents to Donna Elvira on a long long paper sheet creased as an accordeon.
    – krshk
    Apr 15, 2015 at 15:03

2 Answers 2

6

By a curious coincidence, I just made the acquaintance of pgfpages.sty. As it turns out, with a little work it can do exactly this sort of layout -- and a good deal else besides. I read about this in the PGF manual and looked at pgfpages.sty for inspiration. This has been a very interesting exercise! My apologies for the length of the code. Clearly, this could be tailored easily to your exact needs.

I've added some comments in the code.

\documentclass{article}

\usepackage[papersize={7in,10in}]{geometry}
\usepackage{pgfpages}
\usepackage{tikz}
\usepackage{everypage}%% For fold marks

\pgfpagesdeclarelayout{Leporello16}
{
  \edef\pgfpageoptionheight{\the\paperheight} 
  \edef\pgfpageoptionwidth{\the\paperwidth}
  \edef\pgfpageoptionborder{0pt}
}
{
  \pgfpagesphysicalpageoptions
  {%
    logical pages=16,%
    physical height=\pgfpageoptionheight,%
    physical width=\pgfpageoptionwidth%
  }
  \pgfpageslogicalpageoptions{1}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.03125\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{2}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.09375\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{3}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.15625\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{4}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.21875\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{5}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.28125\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{6}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.34375\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{7}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.40625\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{8}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.46875\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{9}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.53125\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{10}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.59375\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{11}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.65625\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{12}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.71875\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{13}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.78125\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{14}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.84375\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{15}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.90625\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{16}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=.0625\pgfphysicalwidth,%
    resized height=\pgfphysicalheight,%
    center=\pgfpoint{.96875\pgfphysicalwidth}{.5\pgfphysicalheight}%
  }%
}

%% Comment-out the following line while you prepare the content.
%% Uncomment-out the following line when you want to create the Leporello document.
\pgfpagesuselayout{Leporello16}[physical paper height = 10in, physical paper width = 112in]

\pagestyle{empty}

%% From everypage.sty -- adds the fold marks:
\AddEverypageHook{\tikz[remember picture,overlay] \draw[thin] (current page.north east) -- ++(0,-1);}

\begin{document}

\centering

\foreach \i in {1,...,16}{%
\resizebox{!}{2in}{\Huge\i}%
\clearpage
}

\end{document}

This is the end result, greatly reduced:

Better illustration with fold marks.

Later

It occurred to me that this would be useless without fold marks. I have indicated, in a general sort of way, how to add them -- noted in the code. The first time you try this, you'll have to TeX it twice in order to see the fold marks.

Much later

The OP has asked for a vertical example. Here is a 4-page example:

\documentclass{article}

\usepackage[papersize={7in,10in}]{geometry}
\usepackage{pgfpages}
\usepackage{tikz}
\usepackage{everypage}%% For fold marks

\pgfpagesdeclarelayout{Leporello4v}
{
  \edef\pgfpageoptionheight{\the\paperheight} 
  \edef\pgfpageoptionwidth{\the\paperwidth}
  \edef\pgfpageoptionborder{0pt}
}
{
  \pgfpagesphysicalpageoptions
  {%
    logical pages=4,%
    physical height=\pgfpageoptionheight,%
    physical width=\pgfpageoptionwidth%
  }
  \pgfpageslogicalpageoptions{1}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=\pgfphysicalwidth,%
    resized height=0.25\pgfphysicalheight,%
    center=\pgfpoint{.5\pgfphysicalwidth}{.875\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{2}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=\pgfphysicalwidth,%
    resized height=0.25\pgfphysicalheight,%
    center=\pgfpoint{.5\pgfphysicalwidth}{.625\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{3}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=\pgfphysicalwidth,%
    resized height=0.25\pgfphysicalheight,%
    center=\pgfpoint{.5\pgfphysicalwidth}{.375\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{4}
  {%
    border shrink=\pgfpageoptionborder,%
    resized width=\pgfphysicalwidth,%
    resized height=0.25\pgfphysicalheight,%
    center=\pgfpoint{.5\pgfphysicalwidth}{.125\pgfphysicalheight}%
  }%
}


\pgfpagesuselayout{Leporello4v}[physical paper height = 40in, physical paper width = 7in]

\pagestyle{empty}

%% From everypage.sty:
\AddEverypageHook{%
    \tikz[remember picture,overlay] \draw[thin] (current page.south east) -- ++(-1,0);%
}

\begin{document}

\centering

\foreach \i in {1,...,4}{%
\resizebox{!}{2in}{\Huge\i}%
\clearpage
}

\end{document}

And it looks like this:

Vertical Leporello.

2
  • I will test your code. The main problem that I have is to translate it in vertical mode. I have to create a Leporello like yours but in the vertical mode.
    – krshk
    Apr 21, 2015 at 13:47
  • I have extended my response to include a vertical example.
    – sgmoye
    Apr 21, 2015 at 17:55
3

I do not know any package specifically designed for this purpose and closest thing that comes to my mind is what @doncherry mentioned in their comment. A not so elegant workaround can be achieved through the use of geometry and multicol packages. geometry package helps you to define your particular paper size while multicol allows you to create virtual (not in technical sense) pages. Here is a minimal example with \columnbreak and option for paper folds indicator:

\documentclass{article}
\usepackage{lipsum}
\usepackage[paperwidth=50cm, paperheight=15cm,margin=1cm]{geometry}
\usepackage{multicol}
\setlength{\columnseprule}{0.4pt}

\pagestyle{empty}
\begin{document}
\begin{multicols*}{4}{
    \lipsum[1-4]
    \columnbreak
    \lipsum[5-10]
}
\end{multicols*}
\end{document}

enter image description here click to enlarge

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .