1
0
Fork 0
blog
LEdoian 9 months ago
parent 27fe9ed02e
commit d6bcb91587

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>
@ -57,7 +59,8 @@
<main> <main>
<div> <div>
<h1>Archive</h1> <h1>Archive</h1>
<ul> <li><a href="./cbz-to-pdf.html">How to convert CBZ to PDF</a> <ul> <li><a href="./mobius-print.html">Print your stuff on Möbius bands!</a>
<li><a href="./cbz-to-pdf.html">How to convert CBZ to PDF</a>
<li><a href="./forgetting-dns6.html">Do not forget about IPv6 DNS</a> <li><a href="./forgetting-dns6.html">Do not forget about IPv6 DNS</a>
<li><a href="./about-blog.html">About this blog</a> <li><a href="./about-blog.html">About this blog</a>
<li><a href="./smrst2023-cs.html">Smršť 2023 (CZ)</a> <li><a href="./smrst2023-cs.html">Smršť 2023 (CZ)</a>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>
@ -57,7 +59,8 @@
<main> <main>
<div> <div>
<h1>Category: technology</h1> <h1>Category: technology</h1>
<ul> <li><a href="../about-blog.html">About this blog</a> <ul> <li><a href="../mobius-print.html">Print your stuff on Möbius bands!</a>
<li><a href="../about-blog.html">About this blog</a>
</ul> </ul>
</div> </div>
</main> </main>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>
@ -277,6 +279,50 @@ we could possibly have, so now we get our hands dirty. A simple <tt class="docut
wl_keyboard src/</tt> tells us that the keyboard handling occurs in the file wl_keyboard src/</tt> tells us that the keyboard handling occurs in the file
<tt class="docutils literal"><span class="pre">hw/xwayland/xwayland-input.c</span></tt> in functions <tt class="docutils literal">keyboard_handle_*</tt>, which look <tt class="docutils literal"><span class="pre">hw/xwayland/xwayland-input.c</span></tt> in functions <tt class="docutils literal">keyboard_handle_*</tt>, which look
like the libwayland-client handlers we have seen in <tt class="docutils literal">wev</tt>.</p> like the libwayland-client handlers we have seen in <tt class="docutils literal">wev</tt>.</p>
<p>However, the fun ends here. I found the generic code of Xorg (which these
handlers quickly call) rather hard to make sense of <a class="footnote-reference" href="#me-lost" id="footnote-reference-2">[2]</a> (though ctags,
<tt class="docutils literal">printf(3)</tt>, debug build and gdb might help) and the implementation of XKB is
rather massive: about 20 000 loc just in the <tt class="docutils literal">xkb/</tt> directory. And touching
this code in a bad way might break something somewhere for somebody.</p>
<p>We can get creative though. We know that this issue is only present in
XWayland, which (by a quick <tt class="docutils literal">grep <span class="pre">-l</span></tt>) seems to live in <tt class="docutils literal">hw/xwayland</tt>. Yay,
only about 12 000 loc to sift through :-) This code is safe(r) to destroy,
though, since other stuff will supposedly not be influenced.</p>
<p>This is about a month since I begun exploring the issue (I attend to this
mostly on my commute or during free time in some evenings, so it goes slowly).
Because of that, I became too fixated on a task of &quot;getting <tt class="docutils literal">xev</tt> not to show
group 2 instead of group 1&quot; (in the state bits). What I needed to remember was
that my task could also be &quot;getting XWayland's implementation of XKB group not
interfere with the compositor's one&quot;.</p>
<p>Can I have some fun, please? Imagine a <a class="reference external" href="TODO">James Veitch's style of lines appearing here</a></p>
<pre class="literal-block">
static void
keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
uint32_t serial, uint32_t mods_depressed,
uint32_t mods_latched, uint32_t mods_locked,
uint32_t group)
{
/*lol*/group = 0;
// the rest of function…
</pre>
<p>Okay, <tt class="docutils literal">xev</tt> tells me this is actually the way. Can I have more fun?</p>
<pre class="literal-block">
/*rofl*/return;
</pre>
<!-- Could we make the line above correctly indented? -->
<p>Oh yes I can! Even with this piece of heresy <tt class="docutils literal">xev</tt> resolves state correctly,
even with combination with other modifiers like control and shift, three
groups, …</p>
<p>This seems to be a sensible way, because the Wayland protocol seems to promise
to send wl_keyboard::key before wl_keyboard::modifiers:</p>
<blockquote>
If this event [wl_keyboard::key] produces a change in modifiers, then the
resulting wl_keyboard.modifiers event must be sent after this event.</blockquote>
<p>My hypothesis is that XWayland's XKB updates its state when receiving the ::key
events and the following ::modifiers event confuses it. However, I do not yet
know what that code is supposed to do.</p>
<!-- TODO: test group changing/locking, not momentary. -->
<!-- TODO: understand the reasoning behind the "dead" code -->
<!-- TO-MENTION: <!-- TO-MENTION:
- nested compositor issues - nested compositor issues
- the IM resolves compose? (I could bisect it, but too lazy) - the IM resolves compose? (I could bisect it, but too lazy)
@ -293,6 +339,20 @@ sopass and write the dissectors and dumping from sopass to a pcap file in a
future. However, this gets put on hold now.</td></tr> future. However, this gets put on hold now.</td></tr>
</tbody> </tbody>
</table> </table>
<!-- Before my browser crashes: https://rawgit.com/CoreSecurity/pcapy/master/pcapy.html https://libpcap.readthedocs.io/en/latest/
also, wireshark can import hexdumps -->
<table class="docutils footnote" frame="void" id="me-lost" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-2">[2]</a></td><td>I tried to track how a wl_keyboard::key gets processed to a
KeyPress, but I ended up at it being processed in <tt class="docutils literal">mieq</tt>, where it gets
enqueued without group/state info and then it gets too generic. I have no
idea how XKB is tied into that, but I chickened out relatively quickly when
I realized that I should not really be touching the general code. I didn't
get to use gdb in the end, though I was very close to wanting to see
backtraces I backed out just before trying this approach.</td></tr>
</tbody>
</table>
</div> </div>
</div> </div>

@ -1,5 +1,189 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>LEdoian's Blog</title><link href="https://blog.ledoian.cz/" rel="alternate"></link><link href="https://blog.ledoian.cz/feeds/all.atom.xml" rel="self"></link><id>https://blog.ledoian.cz/</id><updated>2024-02-17T16:55:00+01:00</updated><entry><title>How to convert CBZ to PDF</title><link href="https://blog.ledoian.cz/cbz-to-pdf.html" rel="alternate"></link><published>2024-02-17T16:55:00+01:00</published><updated>2024-02-17T16:55:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-02-17:/cbz-to-pdf.html</id><summary type="html">&lt;ol class="arabic simple"&gt; <feed xmlns="http://www.w3.org/2005/Atom"><title>LEdoian's Blog</title><link href="https://blog.ledoian.cz/" rel="alternate"></link><link href="https://blog.ledoian.cz/feeds/all.atom.xml" rel="self"></link><id>https://blog.ledoian.cz/</id><updated>2024-03-02T18:07:00+01:00</updated><entry><title>Print your stuff on Möbius bands!</title><link href="https://blog.ledoian.cz/mobius-print.html" rel="alternate"></link><published>2024-03-02T18:07:00+01:00</published><updated>2024-03-02T18:07:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-03-02:/mobius-print.html</id><summary type="html">&lt;p&gt;I found a fun and useful way of printing stuff to ~~both~~all sides of a paper.
I just need to find the right printer!&lt;/p&gt;
&lt;div class="section" id="quick-recap-how-to-conventionally-print-stuff-two-sided"&gt;
&lt;h2&gt;Quick recap: how to conventionally print stuff two-sided&lt;/h2&gt;
&lt;p&gt;A typical way is just sending the page to get printed two-sided (with setting
the correct way …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;I found a fun and useful way of printing stuff to ~~both~~all sides of a paper.
I just need to find the right printer!&lt;/p&gt;
&lt;div class="section" id="quick-recap-how-to-conventionally-print-stuff-two-sided"&gt;
&lt;h2&gt;Quick recap: how to conventionally print stuff two-sided&lt;/h2&gt;
&lt;p&gt;A typical way is just sending the page to get printed two-sided (with setting
the correct way of flipping pages). That is, on the other side of page 1 is
page 2, next sheet contains pages 3,4, then 5 &amp;amp; 6, …&lt;/p&gt;
&lt;p&gt;This is usually trivial to print on duplex printers, a bit hard to simulate on
one-sided printers (but some drivers can do that) and has drawbacks when you
need to look at stuff on other pages at the same time you need to flip the
sheet often, as you only can put half of the pairs of pages next to each other
(even one and the following odd one).&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/twoside.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;Ordinary two-sided printing. Red arrows show sheet flips between consecutive
pages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;A slight improvement hack is putting two pages on the same side of the paper
(works well with A-series of papers, I don't know for Letters &amp;amp;co.) you can
put up to four pages of the original document next to each other, if they are
the right ones, but there are still pairs of pages that need turning sheets.
Also only works if the original pages do not have too tiny features on them.
&lt;a class="footnote-reference" href="#illustrations" id="footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Booklets are fun and approachable, but still suffer from the same issues as the
conventional duplex print. They might be a bit hard to print, but programs like
&lt;tt class="docutils literal"&gt;pdfbook&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; make it easy to prepare for the classic duplex
printing. Also, it is maybe hard to tell which page ends up where, as the order
is: last+first, second+penultimate, third-from-end+third, … until the pages
meet in the middle.&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/booklet.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;The most common booklet order with two pages per side for landscape
orientation. (Note that we show more pages, and thus more sheet-flips; the
number of sheet-flips is in fact the same as for two-sided printing.)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="the-improvement-for-seeing-multiple-consecutive-pages"&gt;
&lt;h2&gt;The improvement for seeing multiple consecutive pages&lt;/h2&gt;
&lt;p&gt;In order to be able to look simultaneously at many consecutive pages of the
original, I think the order of first+first-past-half, second+second-past-half,
… middle+last is much better (or maybe even the best). Since consecutive pages
end up on different sheets (whenever there are at least three pages), if the
original has e.g. figures on different page or long code listing, you can see
it all!&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/mobius.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;The &amp;quot;Möbius order&amp;quot; of pages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;And this is really easy to use: You read a page and when you don't need it
anymore, you flip it and put to the end of the page stack &lt;a class="footnote-reference" href="#ordering" id="footnote-reference-2"&gt;[2]&lt;/a&gt;. If you
need to look at several pages, just rotate them in the same order as they go the
first time. &lt;a class="footnote-reference" href="#mistake" id="footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Need to print this? For one-sided printers this is rather easy, too: just print
the first half (the bigger one) on the sheets, then put them back into the tray
and print the rest on them. You might need to experiment which side the sheets
should be put in and whether you need to print the rest in reverse order, but
that is it.&lt;/p&gt;
&lt;p&gt;Got the pages shuffled? Sort them by the first half, as if the print was
one-sided.&lt;/p&gt;
&lt;p&gt;The only annoying thing for me is that there is not much software that could
reorder the pages for two-sided printing, so that you don't need to re-insert
the sheets back in the tray. So I &lt;a class="reference external" href="https://blog.ledoian.cz/images/mobius-print/interleave.patch"&gt;patched&lt;/a&gt; &lt;a class="reference external" href="https://mj.ucw.cz/sw/paperjam/"&gt;paperjam&lt;/a&gt; to enable this. &lt;a class="footnote-reference" href="#multi-mobius" id="footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And the best part? If you would try to glue consecutive pages side-to-side,
you'd end up with a Möbius band! So if you get a Möbius paper, you can just
print this one-sided (duh :-D)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="honorable-mention-leporello"&gt;
&lt;h2&gt;Honorable mention: leporello&lt;/h2&gt;
&lt;p&gt;Printing leporellos (aka concertina folded) also has many of the same benefits,
since there is only one pair of consecutive pages that need a page flip. The
order is first+last, second+penultimate, … and the original pages can be
shuffled this way with &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; or simply using the other order for the
second side printing, than for the Möbius band. But there is a bit of fun
topology missing here :-)&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/leporello.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;A leporello order is also quite good, with only one sheet-flip in the entire
document.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="is-this-the-best-order"&gt;
&lt;h2&gt;Is this the best order?&lt;/h2&gt;
&lt;p&gt;Yes, if &amp;quot;best&amp;quot; means &amp;quot;the minimum difference of numbers of pages that get put
on the same sheet is as big as possible&amp;quot;. The proof is left as an exercise for
the reader.&lt;/p&gt;
&lt;!-- Hint: you cannot pair the middle page to anything else to get a better
result. --&gt;
&lt;p&gt;Of course, this holds for a set of pages with no additional assumptions. In
ordinary print, having a sheet-turn between chapters is fine and under similar
guarantees other approaches may yield better results.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="cheat-sheet-paperjam-commands"&gt;
&lt;h2&gt;Cheat sheet: paperjam commands&lt;/h2&gt;
&lt;table border="1" class="docutils"&gt;
&lt;caption&gt;Various commands for ordering pages for duplex printing with paperjam.&lt;/caption&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;Order&lt;/th&gt;
&lt;th class="head"&gt;Command&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;Classic two-sided&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;null&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Two pages per side&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;nup(2)&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Booklet&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;book&lt;/tt&gt; (follow with &lt;tt class="docutils literal"&gt;nup(2)&lt;/tt&gt; for actual booklet print)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Leporello&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(2) {1 2} modulo(1,half) {1 &lt;span class="pre"&gt;-1}&lt;/span&gt;&lt;/tt&gt; (The first &lt;tt class="docutils literal"&gt;modulo&lt;/tt&gt; just adds blank pages to the end.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Möbius (with patch)&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;interleave(2)&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Möbius (known page count)&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;select &lt;span class="pre"&gt;{1..5&lt;/span&gt; &lt;span class="pre"&gt;10..6}&lt;/span&gt; modulo(1,half) &lt;span class="pre"&gt;{1,-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Multiple Möbius bands, odd-even&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(4) {1 3 2 4}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Multiple bands, &amp;quot;modulo 3&amp;quot;&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(6) {1 4 2 5 3 6}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Second half (smaller) of pages in reverse order&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(1,half) &lt;span class="pre"&gt;{-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Second half (smaller) of pages in normal order&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(1,half) &lt;span class="pre"&gt;{-1}&lt;/span&gt; modulo(1) &lt;span class="pre"&gt;{-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;First half (bigger) of pages&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(2) {1 2} modulo(1,half) {1}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I might create more patches for avoiding the weird &lt;tt class="docutils literal"&gt;modulo&lt;/tt&gt; commands…&lt;/p&gt;
&lt;hr class="docutils" /&gt;
&lt;table class="docutils footnote" frame="void" id="illustrations" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Most of the figures in this article are drawn with a single
page per a side of a sheet. I consider putting more pages on a single side
of paper to be an implementation detail, because it is not always possible
(e.g. with too small font) and sometimes you could put more than two pages
on a single side of paper, which leads to the fact that if you put
everything on one side of the paper, you can see everything at once and save
the other side. Not very useful though… My only exception is the booklet
printing below, because that one seems to be rather common.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="ordering" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;See how this neatly puts the first-past-half page right after
the half of the stack? Awesome!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="mistake" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Also, if you flip the page around the wrong edge, you can just
rotate the rest of the stack and end up with the correct orientation.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="multi-mobius" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;A slight variation for which I can generate the order
with upstream &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; is using this order on small subsets of pages.
For example, if you only want to be able to see any two consecutive pages,
you can do this for just four pages the order is then 1+3, 2+4, 5+7, 6+8,…
Since each sheet either contains two odd or two even pages, the following
page is on different sheet than the previous one. And you can do this
&amp;quot;modulo 3&amp;quot; to see three pages: 1+4, 2+5, 3+6, 7+10, … This &amp;quot;simulates&amp;quot;
multiple smaller Möbius bands, but will be probably harder to use.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
</content><category term="technology"></category><category term="lifehack"></category><category term="print"></category></entry><entry><title>How to convert CBZ to PDF</title><link href="https://blog.ledoian.cz/cbz-to-pdf.html" rel="alternate"></link><published>2024-02-17T16:55:00+01:00</published><updated>2024-02-17T16:55:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-02-17:/cbz-to-pdf.html</id><summary type="html">&lt;ol class="arabic simple"&gt;
&lt;li&gt;Extract the archive (cbz is just a zip, cbr is a rar, …)&lt;/li&gt; &lt;li&gt;Extract the archive (cbz is just a zip, cbr is a rar, …)&lt;/li&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt; &lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Convert individual pictures to PDF using &lt;tt class="docutils literal"&gt;img2pdf&lt;/tt&gt;&lt;/dt&gt; &lt;dt&gt;Convert individual pictures to PDF using &lt;tt class="docutils literal"&gt;img2pdf&lt;/tt&gt;&lt;/dt&gt;

@ -1,5 +1,189 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>LEdoian's Blog - technology</title><link href="https://blog.ledoian.cz/" rel="alternate"></link><link href="https://blog.ledoian.cz/feeds/technology.atom.xml" rel="self"></link><id>https://blog.ledoian.cz/</id><updated>2024-01-10T16:47:00+01:00</updated><entry><title>About this blog</title><link href="https://blog.ledoian.cz/about-blog.html" rel="alternate"></link><published>2024-01-10T16:47:00+01:00</published><updated>2024-01-10T16:47:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-01-10:/about-blog.html</id><summary type="html">&lt;p&gt;This is my blog and this article describes its setup and other details about my <feed xmlns="http://www.w3.org/2005/Atom"><title>LEdoian's Blog - technology</title><link href="https://blog.ledoian.cz/" rel="alternate"></link><link href="https://blog.ledoian.cz/feeds/technology.atom.xml" rel="self"></link><id>https://blog.ledoian.cz/</id><updated>2024-03-02T18:07:00+01:00</updated><entry><title>Print your stuff on Möbius bands!</title><link href="https://blog.ledoian.cz/mobius-print.html" rel="alternate"></link><published>2024-03-02T18:07:00+01:00</published><updated>2024-03-02T18:07:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-03-02:/mobius-print.html</id><summary type="html">&lt;p&gt;I found a fun and useful way of printing stuff to ~~both~~all sides of a paper.
I just need to find the right printer!&lt;/p&gt;
&lt;div class="section" id="quick-recap-how-to-conventionally-print-stuff-two-sided"&gt;
&lt;h2&gt;Quick recap: how to conventionally print stuff two-sided&lt;/h2&gt;
&lt;p&gt;A typical way is just sending the page to get printed two-sided (with setting
the correct way …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;I found a fun and useful way of printing stuff to ~~both~~all sides of a paper.
I just need to find the right printer!&lt;/p&gt;
&lt;div class="section" id="quick-recap-how-to-conventionally-print-stuff-two-sided"&gt;
&lt;h2&gt;Quick recap: how to conventionally print stuff two-sided&lt;/h2&gt;
&lt;p&gt;A typical way is just sending the page to get printed two-sided (with setting
the correct way of flipping pages). That is, on the other side of page 1 is
page 2, next sheet contains pages 3,4, then 5 &amp;amp; 6, …&lt;/p&gt;
&lt;p&gt;This is usually trivial to print on duplex printers, a bit hard to simulate on
one-sided printers (but some drivers can do that) and has drawbacks when you
need to look at stuff on other pages at the same time you need to flip the
sheet often, as you only can put half of the pairs of pages next to each other
(even one and the following odd one).&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/twoside.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;Ordinary two-sided printing. Red arrows show sheet flips between consecutive
pages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;A slight improvement hack is putting two pages on the same side of the paper
(works well with A-series of papers, I don't know for Letters &amp;amp;co.) you can
put up to four pages of the original document next to each other, if they are
the right ones, but there are still pairs of pages that need turning sheets.
Also only works if the original pages do not have too tiny features on them.
&lt;a class="footnote-reference" href="#illustrations" id="footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Booklets are fun and approachable, but still suffer from the same issues as the
conventional duplex print. They might be a bit hard to print, but programs like
&lt;tt class="docutils literal"&gt;pdfbook&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; make it easy to prepare for the classic duplex
printing. Also, it is maybe hard to tell which page ends up where, as the order
is: last+first, second+penultimate, third-from-end+third, … until the pages
meet in the middle.&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/booklet.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;The most common booklet order with two pages per side for landscape
orientation. (Note that we show more pages, and thus more sheet-flips; the
number of sheet-flips is in fact the same as for two-sided printing.)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="the-improvement-for-seeing-multiple-consecutive-pages"&gt;
&lt;h2&gt;The improvement for seeing multiple consecutive pages&lt;/h2&gt;
&lt;p&gt;In order to be able to look simultaneously at many consecutive pages of the
original, I think the order of first+first-past-half, second+second-past-half,
… middle+last is much better (or maybe even the best). Since consecutive pages
end up on different sheets (whenever there are at least three pages), if the
original has e.g. figures on different page or long code listing, you can see
it all!&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/mobius.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;The &amp;quot;Möbius order&amp;quot; of pages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;And this is really easy to use: You read a page and when you don't need it
anymore, you flip it and put to the end of the page stack &lt;a class="footnote-reference" href="#ordering" id="footnote-reference-2"&gt;[2]&lt;/a&gt;. If you
need to look at several pages, just rotate them in the same order as they go the
first time. &lt;a class="footnote-reference" href="#mistake" id="footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Need to print this? For one-sided printers this is rather easy, too: just print
the first half (the bigger one) on the sheets, then put them back into the tray
and print the rest on them. You might need to experiment which side the sheets
should be put in and whether you need to print the rest in reverse order, but
that is it.&lt;/p&gt;
&lt;p&gt;Got the pages shuffled? Sort them by the first half, as if the print was
one-sided.&lt;/p&gt;
&lt;p&gt;The only annoying thing for me is that there is not much software that could
reorder the pages for two-sided printing, so that you don't need to re-insert
the sheets back in the tray. So I &lt;a class="reference external" href="https://blog.ledoian.cz/images/mobius-print/interleave.patch"&gt;patched&lt;/a&gt; &lt;a class="reference external" href="https://mj.ucw.cz/sw/paperjam/"&gt;paperjam&lt;/a&gt; to enable this. &lt;a class="footnote-reference" href="#multi-mobius" id="footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And the best part? If you would try to glue consecutive pages side-to-side,
you'd end up with a Möbius band! So if you get a Möbius paper, you can just
print this one-sided (duh :-D)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="honorable-mention-leporello"&gt;
&lt;h2&gt;Honorable mention: leporello&lt;/h2&gt;
&lt;p&gt;Printing leporellos (aka concertina folded) also has many of the same benefits,
since there is only one pair of consecutive pages that need a page flip. The
order is first+last, second+penultimate, … and the original pages can be
shuffled this way with &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; or simply using the other order for the
second side printing, than for the Möbius band. But there is a bit of fun
topology missing here :-)&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;object data="https://blog.ledoian.cz/images/mobius-print/leporello.svg" style="width: 66%;" type="image/svg+xml"&gt;&lt;/object&gt;
&lt;p class="caption"&gt;A leporello order is also quite good, with only one sheet-flip in the entire
document.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="is-this-the-best-order"&gt;
&lt;h2&gt;Is this the best order?&lt;/h2&gt;
&lt;p&gt;Yes, if &amp;quot;best&amp;quot; means &amp;quot;the minimum difference of numbers of pages that get put
on the same sheet is as big as possible&amp;quot;. The proof is left as an exercise for
the reader.&lt;/p&gt;
&lt;!-- Hint: you cannot pair the middle page to anything else to get a better
result. --&gt;
&lt;p&gt;Of course, this holds for a set of pages with no additional assumptions. In
ordinary print, having a sheet-turn between chapters is fine and under similar
guarantees other approaches may yield better results.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="cheat-sheet-paperjam-commands"&gt;
&lt;h2&gt;Cheat sheet: paperjam commands&lt;/h2&gt;
&lt;table border="1" class="docutils"&gt;
&lt;caption&gt;Various commands for ordering pages for duplex printing with paperjam.&lt;/caption&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;Order&lt;/th&gt;
&lt;th class="head"&gt;Command&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;Classic two-sided&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;null&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Two pages per side&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;nup(2)&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Booklet&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;book&lt;/tt&gt; (follow with &lt;tt class="docutils literal"&gt;nup(2)&lt;/tt&gt; for actual booklet print)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Leporello&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(2) {1 2} modulo(1,half) {1 &lt;span class="pre"&gt;-1}&lt;/span&gt;&lt;/tt&gt; (The first &lt;tt class="docutils literal"&gt;modulo&lt;/tt&gt; just adds blank pages to the end.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Möbius (with patch)&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;interleave(2)&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Möbius (known page count)&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;select &lt;span class="pre"&gt;{1..5&lt;/span&gt; &lt;span class="pre"&gt;10..6}&lt;/span&gt; modulo(1,half) &lt;span class="pre"&gt;{1,-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Multiple Möbius bands, odd-even&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(4) {1 3 2 4}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Multiple bands, &amp;quot;modulo 3&amp;quot;&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(6) {1 4 2 5 3 6}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Second half (smaller) of pages in reverse order&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(1,half) &lt;span class="pre"&gt;{-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Second half (smaller) of pages in normal order&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(1,half) &lt;span class="pre"&gt;{-1}&lt;/span&gt; modulo(1) &lt;span class="pre"&gt;{-1}&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;First half (bigger) of pages&lt;/td&gt;
&lt;td&gt;&lt;tt class="docutils literal"&gt;modulo(2) {1 2} modulo(1,half) {1}&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I might create more patches for avoiding the weird &lt;tt class="docutils literal"&gt;modulo&lt;/tt&gt; commands…&lt;/p&gt;
&lt;hr class="docutils" /&gt;
&lt;table class="docutils footnote" frame="void" id="illustrations" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Most of the figures in this article are drawn with a single
page per a side of a sheet. I consider putting more pages on a single side
of paper to be an implementation detail, because it is not always possible
(e.g. with too small font) and sometimes you could put more than two pages
on a single side of paper, which leads to the fact that if you put
everything on one side of the paper, you can see everything at once and save
the other side. Not very useful though… My only exception is the booklet
printing below, because that one seems to be rather common.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="ordering" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;See how this neatly puts the first-past-half page right after
the half of the stack? Awesome!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="mistake" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Also, if you flip the page around the wrong edge, you can just
rotate the rest of the stack and end up with the correct orientation.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="multi-mobius" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;A slight variation for which I can generate the order
with upstream &lt;tt class="docutils literal"&gt;paperjam&lt;/tt&gt; is using this order on small subsets of pages.
For example, if you only want to be able to see any two consecutive pages,
you can do this for just four pages the order is then 1+3, 2+4, 5+7, 6+8,…
Since each sheet either contains two odd or two even pages, the following
page is on different sheet than the previous one. And you can do this
&amp;quot;modulo 3&amp;quot; to see three pages: 1+4, 2+5, 3+6, 7+10, … This &amp;quot;simulates&amp;quot;
multiple smaller Möbius bands, but will be probably harder to use.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
</content><category term="technology"></category><category term="lifehack"></category><category term="print"></category></entry><entry><title>About this blog</title><link href="https://blog.ledoian.cz/about-blog.html" rel="alternate"></link><published>2024-01-10T16:47:00+01:00</published><updated>2024-01-10T16:47:00+01:00</updated><author><name>LEdoian</name></author><id>tag:blog.ledoian.cz,2024-01-10:/about-blog.html</id><summary type="html">&lt;p&gt;This is my blog and this article describes its setup and other details about my
intentions. The actual &lt;a class="reference internal" href="#the-setup"&gt;setup&lt;/a&gt; is probably the most intentions. The actual &lt;a class="reference internal" href="#the-setup"&gt;setup&lt;/a&gt; is probably the most
interesting tech-wise.&lt;/p&gt; interesting tech-wise.&lt;/p&gt;
&lt;div class="section" id="what-is-this"&gt; &lt;div class="section" id="what-is-this"&gt;

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -0,0 +1,6 @@
all: booklet.svg mobius.svg leporello.svg booklet.svg
%.svg: %.ipe
iperender -svg "$<" "$@"
.PHONY: all

@ -0,0 +1,398 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70218" creator="Ipe 7.2.28">
<info created="D:20240301185326" modified="D:20240301191312"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<anglesize name="22.5 deg" value="22.5"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="90 deg" value="90"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="blue" value="0 0 1"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="gray" value="0.745"/>
<color name="green" value="0 1 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<color name="navy" value="0 0 0.502"/>
<color name="orange" value="1 0.647 0"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="red" value="1 0 0"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="yellow" value="1 1 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<opacity name="10%" value="0.1"/>
<opacity name="30%" value="0.3"/>
<opacity name="50%" value="0.5"/>
<opacity name="75%" value="0.75"/>
<pen name="fat" value="1.2"/>
<pen name="heavier" value="0.8"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="Large" value="\Large"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="huge" value="\huge"/>
<textsize name="large" value="\large"/>
<textsize name="script" value="\scriptsize"/>
<textsize name="small" value="\small"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<text layer="alpha" matrix="1 0 0 1 0 8" transformations="translations" pos="96 736" stroke="black" type="label" width="40.966" height="9.963" depth="0" halign="center" valign="center" size="Large">Side A</text>
<text matrix="1 0 0 1 0 24" transformations="translations" pos="96 656" stroke="black" type="label" width="40.383" height="9.963" depth="0" halign="center" valign="center" size="Large">Side B</text>
<text matrix="1 0 0 1 -24 8" transformations="translations" pos="168 736" stroke="black" type="label" width="6.988" height="5.147" depth="0" halign="center" valign="center" size="large" style="math">n</text>
<text matrix="1 0 0 1 8 88" transformations="translations" pos="168 656" stroke="black" type="label" width="5.853" height="7.704" depth="0" halign="center" valign="center" size="large">1</text>
<text matrix="1 0 0 1 -56 24" transformations="translations" pos="232 656" stroke="black" type="label" width="27.452" height="7.711" depth="0.99" halign="center" valign="center" size="large" style="math">n-1</text>
<text matrix="1 0 0 1 -88 -56" transformations="translations" pos="232 736" stroke="black" type="label" width="5.853" height="7.704" depth="0" halign="center" valign="center" size="large">2</text>
<text matrix="1 0 0 1 24 16" transformations="translations" pos="272 696" stroke="black" type="label" width="30.218" height="2.032" depth="0" halign="center" valign="center" size="Huge">\dots</text>
<path stroke="black">
128 768 m
128 720 l
192 720 l
192 768 l
h
</path>
<path stroke="black">
128 704 m
128 656 l
192 656 l
192 704 l
h
</path>
<text matrix="1 0 0 1 56 8" transformations="translations" pos="168 736" stroke="black" type="label" width="27.452" height="7.711" depth="0.99" halign="center" valign="center" size="large" style="math">n-2</text>
<text matrix="1 0 0 1 88 88" transformations="translations" pos="168 656" stroke="black" type="label" width="5.853" height="7.704" depth="0" halign="center" valign="center" size="large">3</text>
<text matrix="1 0 0 1 24 24" transformations="translations" pos="232 656" stroke="black" type="label" width="27.452" height="7.711" depth="0.99" halign="center" valign="center" size="large" style="math">n-3</text>
<text matrix="1 0 0 1 -8 -56" transformations="translations" pos="232 736" stroke="black" type="label" width="5.853" height="7.704" depth="0" halign="center" valign="center" size="large">4</text>
<path matrix="1 0 0 1 80 0" stroke="black">
128 768 m
128 720 l
192 720 l
192 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 704 m
128 656 l
192 656 l
192 704 l
h
</path>
<text matrix="1 0 0 1 168 8" transformations="translations" pos="168 736" stroke="black" type="label" width="27.8" height="8.141" depth="4.12" halign="center" valign="center" size="large" style="math">\frac{n}{2}+2</text>
<text matrix="1 0 0 1 200 88" transformations="translations" pos="168 656" stroke="black" type="label" width="27.994" height="8.141" depth="4.12" halign="center" valign="center" size="large" style="math">\frac{n}{2}-1</text>
<text matrix="1 0 0 1 136 24" transformations="translations" pos="232 656" stroke="black" type="label" width="27.8" height="8.141" depth="4.12" halign="center" valign="center" size="large" style="math">\frac{n}{2}+1</text>
<text matrix="1 0 0 1 104 -56" transformations="translations" pos="232 736" stroke="black" type="label" width="7.529" height="8.141" depth="4.12" halign="center" valign="center" size="large" style="math">\frac{n}{2}</text>
<path matrix="1 0 0 1 192 0" stroke="black">
128 768 m
128 720 l
192 720 l
192 768 l
h
</path>
<path matrix="1 0 0 1 192 0" stroke="black">
128 704 m
128 656 l
192 656 l
192 704 l
h
</path>
<path stroke="red" arrow="normal/normal">
168 728 m
152 696 l
</path>
<path stroke="red" arrow="normal/normal">
168 696 m
152 728 l
</path>
<path matrix="1 0 0 1 80 0" stroke="red" arrow="normal/normal">
168 728 m
152 696 l
</path>
<path matrix="1 0 0 1 80 0" stroke="red" arrow="normal/normal">
168 696 m
152 728 l
</path>
<path matrix="1 0 0 1 192 0" stroke="red" arrow="normal/normal">
168 728 m
152 696 l
</path>
<path matrix="1 0 0 1 192 0" stroke="red" arrow="normal/normal">
168 696 m
152 728 l
</path>
</page>
</ipe>

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="310" height="113" viewBox="0 0 310 113">
<defs>
<g>
<g id="glyph-0-0">
<path d="M 2.984375 -5.984375 C 2.25 -6.171875 1.609375 -6.890625 1.609375 -7.796875 C 1.609375 -8.8125 2.40625 -9.703125 3.53125 -9.703125 C 5.875 -9.703125 6.203125 -7.390625 6.28125 -6.765625 C 6.3125 -6.59375 6.3125 -6.546875 6.453125 -6.546875 C 6.609375 -6.546875 6.609375 -6.609375 6.609375 -6.875 L 6.609375 -9.765625 C 6.609375 -10.03125 6.609375 -10.09375 6.46875 -10.09375 C 6.421875 -10.09375 6.375 -10.09375 6.265625 -9.90625 L 5.796875 -9.03125 C 5.109375 -9.921875 4.15625 -10.09375 3.53125 -10.09375 C 1.9375 -10.09375 0.78125 -8.828125 0.78125 -7.359375 C 0.78125 -6.671875 1.015625 -6.03125 1.546875 -5.46875 C 2.046875 -4.90625 2.546875 -4.78125 3.578125 -4.515625 C 4.078125 -4.40625 4.859375 -4.203125 5.0625 -4.109375 C 5.734375 -3.78125 6.1875 -3.015625 6.1875 -2.203125 C 6.1875 -1.140625 5.421875 -0.109375 4.234375 -0.109375 C 3.578125 -0.109375 2.703125 -0.265625 2 -0.890625 C 1.15625 -1.640625 1.109375 -2.671875 1.09375 -3.140625 C 1.078125 -3.25 0.96875 -3.25 0.9375 -3.25 C 0.78125 -3.25 0.78125 -3.1875 0.78125 -2.921875 L 0.78125 -0.03125 C 0.78125 0.234375 0.78125 0.296875 0.921875 0.296875 C 1 0.296875 1.015625 0.265625 1.125 0.09375 C 1.171875 -0.015625 1.484375 -0.546875 1.59375 -0.765625 C 2.109375 -0.1875 3.015625 0.296875 4.25 0.296875 C 5.859375 0.296875 7.015625 -1.0625 7.015625 -2.640625 C 7.015625 -3.515625 6.6875 -4.15625 6.296875 -4.640625 C 5.765625 -5.28125 5.125 -5.4375 4.5625 -5.578125 Z M 2.984375 -5.984375 "/>
</g>
<g id="glyph-0-1">
<path d="M 2.5 -8.828125 C 2.5 -9.203125 2.1875 -9.53125 1.796875 -9.53125 C 1.421875 -9.53125 1.109375 -9.234375 1.109375 -8.84375 C 1.109375 -8.421875 1.453125 -8.140625 1.796875 -8.140625 C 2.234375 -8.140625 2.5 -8.515625 2.5 -8.828125 Z M 0.515625 -6.171875 L 0.515625 -5.75 C 1.4375 -5.75 1.5625 -5.671875 1.5625 -4.96875 L 1.5625 -1.0625 C 1.5625 -0.421875 1.40625 -0.421875 0.46875 -0.421875 L 0.46875 0 C 0.875 -0.03125 1.5625 -0.03125 1.984375 -0.03125 C 2.140625 -0.03125 2.96875 -0.03125 3.453125 0 L 3.453125 -0.421875 C 2.53125 -0.421875 2.46875 -0.484375 2.46875 -1.046875 L 2.46875 -6.328125 Z M 0.515625 -6.171875 "/>
</g>
<g id="glyph-0-2">
<path d="M 4.296875 -9.796875 L 4.296875 -9.375 C 5.28125 -9.375 5.390625 -9.28125 5.390625 -8.578125 L 5.390625 -5.40625 C 5.09375 -5.828125 4.46875 -6.328125 3.59375 -6.328125 C 1.9375 -6.328125 0.5 -4.921875 0.5 -3.078125 C 0.5 -1.265625 1.859375 0.140625 3.4375 0.140625 C 4.53125 0.140625 5.15625 -0.578125 5.359375 -0.84375 L 5.359375 0.140625 L 7.390625 0 L 7.390625 -0.421875 C 6.40625 -0.421875 6.296875 -0.515625 6.296875 -1.21875 L 6.296875 -9.953125 Z M 5.359375 -1.671875 C 5.359375 -1.421875 5.359375 -1.375 5.15625 -1.0625 C 4.8125 -0.5625 4.234375 -0.140625 3.515625 -0.140625 C 3.140625 -0.140625 1.59375 -0.28125 1.59375 -3.0625 C 1.59375 -4.109375 1.765625 -4.671875 2.078125 -5.15625 C 2.359375 -5.59375 2.9375 -6.03125 3.65625 -6.03125 C 4.546875 -6.03125 5.046875 -5.390625 5.1875 -5.15625 C 5.359375 -4.921875 5.359375 -4.890625 5.359375 -4.640625 Z M 5.359375 -1.671875 "/>
</g>
<g id="glyph-0-3">
<path d="M 5.5 -3.328125 C 5.8125 -3.328125 5.84375 -3.328125 5.84375 -3.59375 C 5.84375 -5.046875 5.0625 -6.390625 3.328125 -6.390625 C 1.6875 -6.390625 0.4375 -4.921875 0.4375 -3.140625 C 0.4375 -1.25 1.890625 0.140625 3.484375 0.140625 C 5.1875 0.140625 5.84375 -1.40625 5.84375 -1.703125 C 5.84375 -1.796875 5.765625 -1.84375 5.6875 -1.84375 C 5.5625 -1.84375 5.53125 -1.78125 5.515625 -1.703125 C 5.140625 -0.5 4.171875 -0.171875 3.578125 -0.171875 C 2.96875 -0.171875 1.515625 -0.578125 1.515625 -3.0625 L 1.515625 -3.328125 Z M 1.53125 -3.59375 C 1.65625 -5.859375 2.90625 -6.109375 3.3125 -6.109375 C 4.84375 -6.109375 4.9375 -4.09375 4.953125 -3.59375 Z M 1.53125 -3.59375 "/>
</g>
<g id="glyph-0-4">
<path d="M 5.546875 -9.984375 C 5.5 -10.15625 5.46875 -10.234375 5.265625 -10.234375 C 5.0625 -10.234375 5.03125 -10.203125 4.96875 -9.96875 L 1.96875 -1.390625 C 1.765625 -0.796875 1.359375 -0.4375 0.4375 -0.421875 L 0.4375 0 C 1.3125 -0.03125 1.34375 -0.03125 1.828125 -0.03125 C 2.21875 -0.03125 2.90625 -0.03125 3.28125 0 L 3.28125 -0.421875 C 2.6875 -0.4375 2.328125 -0.734375 2.328125 -1.140625 C 2.328125 -1.21875 2.328125 -1.25 2.390625 -1.4375 L 3.0625 -3.34375 L 6.671875 -3.34375 L 7.453125 -1.09375 C 7.53125 -0.921875 7.53125 -0.890625 7.53125 -0.84375 C 7.53125 -0.421875 6.796875 -0.421875 6.4375 -0.421875 L 6.4375 0 C 6.765625 -0.03125 7.90625 -0.03125 8.3125 -0.03125 C 8.703125 -0.03125 9.734375 -0.03125 10.0625 0 L 10.0625 -0.421875 C 9.140625 -0.421875 8.875 -0.421875 8.671875 -1 Z M 4.859375 -8.53125 L 6.53125 -3.765625 L 3.203125 -3.765625 Z M 4.859375 -8.53125 "/>
</g>
<g id="glyph-0-5">
<path d="M 0.609375 -9.796875 L 0.609375 -9.375 L 0.90625 -9.375 C 1.9375 -9.375 1.984375 -9.234375 1.984375 -8.703125 L 1.984375 -1.09375 C 1.984375 -0.5625 1.9375 -0.421875 0.90625 -0.421875 L 0.609375 -0.421875 L 0.609375 0 L 6.015625 0 C 7.859375 0 9.15625 -1.25 9.15625 -2.625 C 9.15625 -3.78125 8.109375 -4.9375 6.390625 -5.125 C 7.765625 -5.375 8.75 -6.296875 8.75 -7.375 C 8.75 -8.609375 7.5 -9.796875 5.625 -9.796875 Z M 3.0625 -5.234375 L 3.0625 -8.8125 C 3.0625 -9.28125 3.09375 -9.375 3.734375 -9.375 L 5.53125 -9.375 C 6.96875 -9.375 7.484375 -8.140625 7.484375 -7.375 C 7.484375 -6.421875 6.734375 -5.234375 5.15625 -5.234375 Z M 3.734375 -0.421875 C 3.09375 -0.421875 3.0625 -0.515625 3.0625 -0.984375 L 3.0625 -4.953125 L 5.75 -4.953125 C 7.125 -4.953125 7.84375 -3.75 7.84375 -2.640625 C 7.84375 -1.484375 6.96875 -0.421875 5.5625 -0.421875 Z M 3.734375 -0.421875 "/>
</g>
<g id="glyph-1-0">
<path d="M 2.46875 -3.5 C 2.484375 -3.578125 2.78125 -4.171875 3.234375 -4.546875 C 3.53125 -4.84375 3.9375 -5.03125 4.40625 -5.03125 C 4.890625 -5.03125 5.0625 -4.671875 5.0625 -4.203125 C 5.0625 -3.515625 4.5625 -2.15625 4.328125 -1.5 C 4.21875 -1.21875 4.15625 -1.0625 4.15625 -0.84375 C 4.15625 -0.3125 4.53125 0.125 5.109375 0.125 C 6.21875 0.125 6.640625 -1.640625 6.640625 -1.703125 C 6.640625 -1.765625 6.59375 -1.8125 6.515625 -1.8125 C 6.40625 -1.8125 6.390625 -1.78125 6.328125 -1.578125 C 6.0625 -0.59375 5.609375 -0.125 5.140625 -0.125 C 5.015625 -0.125 4.828125 -0.125 4.828125 -0.515625 C 4.828125 -0.8125 4.953125 -1.171875 5.03125 -1.34375 C 5.265625 -2 5.765625 -3.328125 5.765625 -4.015625 C 5.765625 -4.734375 5.359375 -5.265625 4.453125 -5.265625 C 3.375 -5.265625 2.828125 -4.515625 2.609375 -4.21875 C 2.5625 -4.90625 2.078125 -5.265625 1.546875 -5.265625 C 1.171875 -5.265625 0.90625 -5.046875 0.703125 -4.640625 C 0.484375 -4.203125 0.328125 -3.484375 0.328125 -3.4375 C 0.328125 -3.390625 0.375 -3.328125 0.453125 -3.328125 C 0.546875 -3.328125 0.5625 -3.34375 0.640625 -3.625 C 0.828125 -4.34375 1.046875 -5.03125 1.515625 -5.03125 C 1.796875 -5.03125 1.890625 -4.84375 1.890625 -4.484375 C 1.890625 -4.21875 1.765625 -3.75 1.6875 -3.375 L 1.34375 -2.09375 C 1.296875 -1.859375 1.171875 -1.328125 1.109375 -1.109375 C 1.03125 -0.796875 0.890625 -0.234375 0.890625 -0.171875 C 0.890625 -0.015625 1.03125 0.125 1.203125 0.125 C 1.34375 0.125 1.515625 0.046875 1.609375 -0.125 C 1.640625 -0.1875 1.75 -0.609375 1.8125 -0.84375 L 2.0625 -1.921875 Z M 2.46875 -3.5 "/>
</g>
<g id="glyph-2-0">
<path d="M 3.4375 -7.65625 C 3.4375 -7.9375 3.4375 -7.953125 3.203125 -7.953125 C 2.921875 -7.625 2.3125 -7.1875 1.09375 -7.1875 L 1.09375 -6.84375 C 1.359375 -6.84375 1.953125 -6.84375 2.625 -7.140625 L 2.625 -0.921875 C 2.625 -0.484375 2.578125 -0.34375 1.53125 -0.34375 L 1.15625 -0.34375 L 1.15625 0 C 1.484375 -0.03125 2.640625 -0.03125 3.03125 -0.03125 C 3.4375 -0.03125 4.578125 -0.03125 4.90625 0 L 4.90625 -0.34375 L 4.53125 -0.34375 C 3.484375 -0.34375 3.4375 -0.484375 3.4375 -0.921875 Z M 3.4375 -7.65625 "/>
</g>
<g id="glyph-2-1">
<path d="M 5.265625 -2.015625 L 5 -2.015625 C 4.953125 -1.8125 4.859375 -1.140625 4.75 -0.953125 C 4.65625 -0.84375 3.984375 -0.84375 3.625 -0.84375 L 1.40625 -0.84375 C 1.734375 -1.125 2.46875 -1.890625 2.765625 -2.171875 C 4.59375 -3.84375 5.265625 -4.46875 5.265625 -5.65625 C 5.265625 -7.03125 4.171875 -7.953125 2.78125 -7.953125 C 1.40625 -7.953125 0.578125 -6.765625 0.578125 -5.734375 C 0.578125 -5.125 1.109375 -5.125 1.140625 -5.125 C 1.40625 -5.125 1.703125 -5.3125 1.703125 -5.6875 C 1.703125 -6.03125 1.484375 -6.25 1.140625 -6.25 C 1.046875 -6.25 1.015625 -6.25 0.984375 -6.234375 C 1.203125 -7.046875 1.859375 -7.609375 2.625 -7.609375 C 3.640625 -7.609375 4.265625 -6.75 4.265625 -5.65625 C 4.265625 -4.640625 3.6875 -3.75 3 -2.984375 L 0.578125 -0.28125 L 0.578125 0 L 4.953125 0 Z M 5.265625 -2.015625 "/>
</g>
<g id="glyph-2-2">
<path d="M 2.203125 -4.296875 C 2 -4.28125 1.953125 -4.265625 1.953125 -4.15625 C 1.953125 -4.046875 2.015625 -4.046875 2.21875 -4.046875 L 2.765625 -4.046875 C 3.796875 -4.046875 4.25 -3.203125 4.25 -2.0625 C 4.25 -0.484375 3.4375 -0.078125 2.84375 -0.078125 C 2.265625 -0.078125 1.296875 -0.34375 0.9375 -1.140625 C 1.328125 -1.078125 1.671875 -1.296875 1.671875 -1.71875 C 1.671875 -2.0625 1.421875 -2.3125 1.09375 -2.3125 C 0.796875 -2.3125 0.484375 -2.140625 0.484375 -1.6875 C 0.484375 -0.625 1.546875 0.25 2.875 0.25 C 4.296875 0.25 5.359375 -0.84375 5.359375 -2.046875 C 5.359375 -3.140625 4.46875 -4 3.328125 -4.203125 C 4.359375 -4.5 5.03125 -5.375 5.03125 -6.3125 C 5.03125 -7.25 4.046875 -7.953125 2.890625 -7.953125 C 1.703125 -7.953125 0.8125 -7.21875 0.8125 -6.34375 C 0.8125 -5.875 1.1875 -5.765625 1.359375 -5.765625 C 1.609375 -5.765625 1.90625 -5.953125 1.90625 -6.3125 C 1.90625 -6.6875 1.609375 -6.859375 1.34375 -6.859375 C 1.28125 -6.859375 1.25 -6.859375 1.21875 -6.84375 C 1.671875 -7.65625 2.796875 -7.65625 2.859375 -7.65625 C 3.25 -7.65625 4.03125 -7.484375 4.03125 -6.3125 C 4.03125 -6.078125 4 -5.421875 3.640625 -4.90625 C 3.28125 -4.375 2.875 -4.34375 2.5625 -4.328125 Z M 2.203125 -4.296875 "/>
</g>
<g id="glyph-2-3">
<path d="M 4.3125 -7.78125 C 4.3125 -8.015625 4.3125 -8.0625 4.140625 -8.0625 C 4.046875 -8.0625 4.015625 -8.0625 3.921875 -7.921875 L 0.328125 -2.34375 L 0.328125 -2 L 3.46875 -2 L 3.46875 -0.90625 C 3.46875 -0.46875 3.4375 -0.34375 2.5625 -0.34375 L 2.328125 -0.34375 L 2.328125 0 C 2.609375 -0.03125 3.546875 -0.03125 3.890625 -0.03125 C 4.21875 -0.03125 5.171875 -0.03125 5.453125 0 L 5.453125 -0.34375 L 5.21875 -0.34375 C 4.34375 -0.34375 4.3125 -0.46875 4.3125 -0.90625 L 4.3125 -2 L 5.515625 -2 L 5.515625 -2.34375 L 4.3125 -2.34375 Z M 3.53125 -6.84375 L 3.53125 -2.34375 L 0.625 -2.34375 Z M 3.53125 -6.84375 "/>
</g>
<g id="glyph-3-0">
<path d="M 2.46875 -3.5 C 2.484375 -3.578125 2.78125 -4.171875 3.234375 -4.546875 C 3.53125 -4.84375 3.9375 -5.03125 4.40625 -5.03125 C 4.890625 -5.03125 5.0625 -4.671875 5.0625 -4.203125 C 5.0625 -3.515625 4.5625 -2.15625 4.328125 -1.5 C 4.21875 -1.21875 4.15625 -1.0625 4.15625 -0.84375 C 4.15625 -0.3125 4.53125 0.125 5.109375 0.125 C 6.21875 0.125 6.640625 -1.640625 6.640625 -1.703125 C 6.640625 -1.765625 6.59375 -1.8125 6.515625 -1.8125 C 6.40625 -1.8125 6.390625 -1.78125 6.328125 -1.578125 C 6.0625 -0.59375 5.609375 -0.125 5.140625 -0.125 C 5.015625 -0.125 4.828125 -0.125 4.828125 -0.515625 C 4.828125 -0.8125 4.953125 -1.171875 5.03125 -1.34375 C 5.265625 -2 5.765625 -3.328125 5.765625 -4.015625 C 5.765625 -4.734375 5.359375 -5.265625 4.453125 -5.265625 C 3.375 -5.265625 2.828125 -4.515625 2.609375 -4.21875 C 2.5625 -4.90625 2.078125 -5.265625 1.546875 -5.265625 C 1.171875 -5.265625 0.90625 -5.046875 0.703125 -4.640625 C 0.484375 -4.203125 0.328125 -3.484375 0.328125 -3.4375 C 0.328125 -3.390625 0.375 -3.328125 0.453125 -3.328125 C 0.546875 -3.328125 0.5625 -3.34375 0.640625 -3.625 C 0.828125 -4.34375 1.046875 -5.03125 1.515625 -5.03125 C 1.796875 -5.03125 1.890625 -4.84375 1.890625 -4.484375 C 1.890625 -4.21875 1.765625 -3.75 1.6875 -3.375 L 1.34375 -2.09375 C 1.296875 -1.859375 1.171875 -1.328125 1.109375 -1.109375 C 1.03125 -0.796875 0.890625 -0.234375 0.890625 -0.171875 C 0.890625 -0.015625 1.03125 0.125 1.203125 0.125 C 1.34375 0.125 1.515625 0.046875 1.609375 -0.125 C 1.640625 -0.1875 1.75 -0.609375 1.8125 -0.84375 L 2.0625 -1.921875 Z M 2.46875 -3.5 "/>
</g>
<g id="glyph-4-0">
<path d="M 7.875 -2.75 C 8.078125 -2.75 8.296875 -2.75 8.296875 -2.984375 C 8.296875 -3.234375 8.078125 -3.234375 7.875 -3.234375 L 1.40625 -3.234375 C 1.203125 -3.234375 0.984375 -3.234375 0.984375 -2.984375 C 0.984375 -2.75 1.203125 -2.75 1.40625 -2.75 Z M 7.875 -2.75 "/>
</g>
<g id="glyph-5-0">
<path d="M 3.4375 -7.65625 C 3.4375 -7.9375 3.4375 -7.953125 3.203125 -7.953125 C 2.921875 -7.625 2.3125 -7.1875 1.09375 -7.1875 L 1.09375 -6.84375 C 1.359375 -6.84375 1.953125 -6.84375 2.625 -7.140625 L 2.625 -0.921875 C 2.625 -0.484375 2.578125 -0.34375 1.53125 -0.34375 L 1.15625 -0.34375 L 1.15625 0 C 1.484375 -0.03125 2.640625 -0.03125 3.03125 -0.03125 C 3.4375 -0.03125 4.578125 -0.03125 4.90625 0 L 4.90625 -0.34375 L 4.53125 -0.34375 C 3.484375 -0.34375 3.4375 -0.484375 3.4375 -0.921875 Z M 3.4375 -7.65625 "/>
</g>
<g id="glyph-5-1">
<path d="M 5.265625 -2.015625 L 5 -2.015625 C 4.953125 -1.8125 4.859375 -1.140625 4.75 -0.953125 C 4.65625 -0.84375 3.984375 -0.84375 3.625 -0.84375 L 1.40625 -0.84375 C 1.734375 -1.125 2.46875 -1.890625 2.765625 -2.171875 C 4.59375 -3.84375 5.265625 -4.46875 5.265625 -5.65625 C 5.265625 -7.03125 4.171875 -7.953125 2.78125 -7.953125 C 1.40625 -7.953125 0.578125 -6.765625 0.578125 -5.734375 C 0.578125 -5.125 1.109375 -5.125 1.140625 -5.125 C 1.40625 -5.125 1.703125 -5.3125 1.703125 -5.6875 C 1.703125 -6.03125 1.484375 -6.25 1.140625 -6.25 C 1.046875 -6.25 1.015625 -6.25 0.984375 -6.234375 C 1.203125 -7.046875 1.859375 -7.609375 2.625 -7.609375 C 3.640625 -7.609375 4.265625 -6.75 4.265625 -5.65625 C 4.265625 -4.640625 3.6875 -3.75 3 -2.984375 L 0.578125 -0.28125 L 0.578125 0 L 4.953125 0 Z M 5.265625 -2.015625 "/>
</g>
<g id="glyph-5-2">
<path d="M 2.203125 -4.296875 C 2 -4.28125 1.953125 -4.265625 1.953125 -4.15625 C 1.953125 -4.046875 2.015625 -4.046875 2.21875 -4.046875 L 2.765625 -4.046875 C 3.796875 -4.046875 4.25 -3.203125 4.25 -2.0625 C 4.25 -0.484375 3.4375 -0.078125 2.84375 -0.078125 C 2.265625 -0.078125 1.296875 -0.34375 0.9375 -1.140625 C 1.328125 -1.078125 1.671875 -1.296875 1.671875 -1.71875 C 1.671875 -2.0625 1.421875 -2.3125 1.09375 -2.3125 C 0.796875 -2.3125 0.484375 -2.140625 0.484375 -1.6875 C 0.484375 -0.625 1.546875 0.25 2.875 0.25 C 4.296875 0.25 5.359375 -0.84375 5.359375 -2.046875 C 5.359375 -3.140625 4.46875 -4 3.328125 -4.203125 C 4.359375 -4.5 5.03125 -5.375 5.03125 -6.3125 C 5.03125 -7.25 4.046875 -7.953125 2.890625 -7.953125 C 1.703125 -7.953125 0.8125 -7.21875 0.8125 -6.34375 C 0.8125 -5.875 1.1875 -5.765625 1.359375 -5.765625 C 1.609375 -5.765625 1.90625 -5.953125 1.90625 -6.3125 C 1.90625 -6.6875 1.609375 -6.859375 1.34375 -6.859375 C 1.28125 -6.859375 1.25 -6.859375 1.21875 -6.84375 C 1.671875 -7.65625 2.796875 -7.65625 2.859375 -7.65625 C 3.25 -7.65625 4.03125 -7.484375 4.03125 -6.3125 C 4.03125 -6.078125 4 -5.421875 3.640625 -4.90625 C 3.28125 -4.375 2.875 -4.34375 2.5625 -4.328125 Z M 2.203125 -4.296875 "/>
</g>
<g id="glyph-6-0">
<path d="M 4.109375 -1.015625 C 4.109375 -1.640625 3.625 -2.03125 3.09375 -2.03125 C 2.609375 -2.03125 2.078125 -1.640625 2.078125 -1.015625 C 2.078125 -0.390625 2.578125 0 3.09375 0 C 3.59375 0 4.109375 -0.390625 4.109375 -1.015625 Z M 4.109375 -1.015625 "/>
</g>
<g id="glyph-7-0">
<path d="M 1.59375 -1.3125 C 1.625 -1.421875 1.703125 -1.734375 1.71875 -1.84375 C 1.828125 -2.28125 1.828125 -2.28125 2.015625 -2.546875 C 2.28125 -2.9375 2.65625 -3.296875 3.1875 -3.296875 C 3.46875 -3.296875 3.640625 -3.125 3.640625 -2.75 C 3.640625 -2.3125 3.3125 -1.40625 3.15625 -1.015625 C 3.046875 -0.75 3.046875 -0.703125 3.046875 -0.59375 C 3.046875 -0.140625 3.421875 0.078125 3.765625 0.078125 C 4.546875 0.078125 4.875 -1.03125 4.875 -1.140625 C 4.875 -1.21875 4.8125 -1.25 4.75 -1.25 C 4.65625 -1.25 4.640625 -1.1875 4.625 -1.109375 C 4.4375 -0.453125 4.09375 -0.140625 3.796875 -0.140625 C 3.671875 -0.140625 3.609375 -0.21875 3.609375 -0.40625 C 3.609375 -0.59375 3.671875 -0.765625 3.75 -0.96875 C 3.859375 -1.265625 4.21875 -2.1875 4.21875 -2.625 C 4.21875 -3.234375 3.796875 -3.515625 3.234375 -3.515625 C 2.578125 -3.515625 2.171875 -3.125 1.9375 -2.828125 C 1.875 -3.265625 1.53125 -3.515625 1.125 -3.515625 C 0.84375 -3.515625 0.640625 -3.328125 0.515625 -3.078125 C 0.3125 -2.703125 0.234375 -2.3125 0.234375 -2.296875 C 0.234375 -2.21875 0.296875 -2.1875 0.359375 -2.1875 C 0.46875 -2.1875 0.46875 -2.21875 0.53125 -2.4375 C 0.625 -2.828125 0.765625 -3.296875 1.09375 -3.296875 C 1.3125 -3.296875 1.359375 -3.09375 1.359375 -2.921875 C 1.359375 -2.765625 1.3125 -2.625 1.25 -2.359375 C 1.234375 -2.296875 1.109375 -1.828125 1.078125 -1.71875 L 0.78125 -0.515625 C 0.75 -0.390625 0.703125 -0.203125 0.703125 -0.171875 C 0.703125 0.015625 0.859375 0.078125 0.96875 0.078125 C 1.109375 0.078125 1.234375 -0.015625 1.28125 -0.109375 C 1.3125 -0.15625 1.375 -0.4375 1.40625 -0.59375 Z M 1.59375 -1.3125 "/>
</g>
<g id="glyph-8-0">
<path d="M 2.25 -1.625 C 2.375 -1.75 2.703125 -2.015625 2.84375 -2.125 C 3.328125 -2.578125 3.796875 -3.015625 3.796875 -3.734375 C 3.796875 -4.6875 3 -5.296875 2.015625 -5.296875 C 1.046875 -5.296875 0.421875 -4.578125 0.421875 -3.859375 C 0.421875 -3.46875 0.734375 -3.421875 0.84375 -3.421875 C 1.015625 -3.421875 1.265625 -3.53125 1.265625 -3.84375 C 1.265625 -4.25 0.859375 -4.25 0.765625 -4.25 C 1 -4.84375 1.53125 -5.03125 1.921875 -5.03125 C 2.65625 -5.03125 3.046875 -4.40625 3.046875 -3.734375 C 3.046875 -2.90625 2.46875 -2.296875 1.515625 -1.34375 L 0.515625 -0.296875 C 0.421875 -0.21875 0.421875 -0.203125 0.421875 0 L 3.5625 0 L 3.796875 -1.421875 L 3.546875 -1.421875 C 3.53125 -1.265625 3.46875 -0.875 3.375 -0.71875 C 3.328125 -0.65625 2.71875 -0.65625 2.59375 -0.65625 L 1.171875 -0.65625 Z M 2.25 -1.625 "/>
</g>
<g id="glyph-9-0">
<path d="M 4.765625 -2.765625 L 8.0625 -2.765625 C 8.234375 -2.765625 8.453125 -2.765625 8.453125 -2.96875 C 8.453125 -3.203125 8.25 -3.203125 8.0625 -3.203125 L 4.765625 -3.203125 L 4.765625 -6.5 C 4.765625 -6.671875 4.765625 -6.890625 4.546875 -6.890625 C 4.328125 -6.890625 4.328125 -6.6875 4.328125 -6.5 L 4.328125 -3.203125 L 1.03125 -3.203125 C 0.859375 -3.203125 0.640625 -3.203125 0.640625 -2.984375 C 0.640625 -2.765625 0.84375 -2.765625 1.03125 -2.765625 L 4.328125 -2.765625 L 4.328125 0.53125 C 4.328125 0.703125 4.328125 0.921875 4.546875 0.921875 C 4.765625 0.921875 4.765625 0.71875 4.765625 0.53125 Z M 4.765625 -2.765625 "/>
</g>
<g id="glyph-9-1">
<path d="M 5.265625 -2.015625 L 5 -2.015625 C 4.953125 -1.8125 4.859375 -1.140625 4.75 -0.953125 C 4.65625 -0.84375 3.984375 -0.84375 3.625 -0.84375 L 1.40625 -0.84375 C 1.734375 -1.125 2.46875 -1.890625 2.765625 -2.171875 C 4.59375 -3.84375 5.265625 -4.46875 5.265625 -5.65625 C 5.265625 -7.03125 4.171875 -7.953125 2.78125 -7.953125 C 1.40625 -7.953125 0.578125 -6.765625 0.578125 -5.734375 C 0.578125 -5.125 1.109375 -5.125 1.140625 -5.125 C 1.40625 -5.125 1.703125 -5.3125 1.703125 -5.6875 C 1.703125 -6.03125 1.484375 -6.25 1.140625 -6.25 C 1.046875 -6.25 1.015625 -6.25 0.984375 -6.234375 C 1.203125 -7.046875 1.859375 -7.609375 2.625 -7.609375 C 3.640625 -7.609375 4.265625 -6.75 4.265625 -5.65625 C 4.265625 -4.640625 3.6875 -3.75 3 -2.984375 L 0.578125 -0.28125 L 0.578125 0 L 4.953125 0 Z M 5.265625 -2.015625 "/>
</g>
<g id="glyph-9-2">
<path d="M 3.4375 -7.65625 C 3.4375 -7.9375 3.4375 -7.953125 3.203125 -7.953125 C 2.921875 -7.625 2.3125 -7.1875 1.09375 -7.1875 L 1.09375 -6.84375 C 1.359375 -6.84375 1.953125 -6.84375 2.625 -7.140625 L 2.625 -0.921875 C 2.625 -0.484375 2.578125 -0.34375 1.53125 -0.34375 L 1.15625 -0.34375 L 1.15625 0 C 1.484375 -0.03125 2.640625 -0.03125 3.03125 -0.03125 C 3.4375 -0.03125 4.578125 -0.03125 4.90625 0 L 4.90625 -0.34375 L 4.53125 -0.34375 C 3.484375 -0.34375 3.4375 -0.484375 3.4375 -0.921875 Z M 3.4375 -7.65625 "/>
</g>
<g id="glyph-10-0">
<path d="M 7.875 -2.75 C 8.078125 -2.75 8.296875 -2.75 8.296875 -2.984375 C 8.296875 -3.234375 8.078125 -3.234375 7.875 -3.234375 L 1.40625 -3.234375 C 1.203125 -3.234375 0.984375 -3.234375 0.984375 -2.984375 C 0.984375 -2.75 1.203125 -2.75 1.40625 -2.75 Z M 7.875 -2.75 "/>
</g>
<g id="glyph-11-0">
<path d="M 3.4375 -7.65625 C 3.4375 -7.9375 3.4375 -7.953125 3.203125 -7.953125 C 2.921875 -7.625 2.3125 -7.1875 1.09375 -7.1875 L 1.09375 -6.84375 C 1.359375 -6.84375 1.953125 -6.84375 2.625 -7.140625 L 2.625 -0.921875 C 2.625 -0.484375 2.578125 -0.34375 1.53125 -0.34375 L 1.15625 -0.34375 L 1.15625 0 C 1.484375 -0.03125 2.640625 -0.03125 3.03125 -0.03125 C 3.4375 -0.03125 4.578125 -0.03125 4.90625 0 L 4.90625 -0.34375 L 4.53125 -0.34375 C 3.484375 -0.34375 3.4375 -0.484375 3.4375 -0.921875 Z M 3.4375 -7.65625 "/>
</g>
</g>
</defs>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.517" y="29.9815"/>
<use xlink:href="#glyph-0-1" x="9.321333" y="29.9815"/>
<use xlink:href="#glyph-0-2" x="13.223499" y="29.9815"/>
<use xlink:href="#glyph-0-3" x="21.027832" y="29.9815"/>
<use xlink:href="#glyph-0-4" x="31.94529" y="29.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.8085" y="93.9815"/>
<use xlink:href="#glyph-0-1" x="9.612833" y="93.9815"/>
<use xlink:href="#glyph-0-2" x="13.514999" y="93.9815"/>
<use xlink:href="#glyph-0-3" x="21.319332" y="93.9815"/>
<use xlink:href="#glyph-0-5" x="32.23679" y="93.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-0" x="66.506" y="27.5735"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="99.0735" y="28.852"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="88.274" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="97.918" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-0" x="109.873" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-1" x="67.0735" y="92.852"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-6-0" x="206.891" y="58.016"/>
<use xlink:href="#glyph-6-0" x="216.954563" y="58.016"/>
<use xlink:href="#glyph-6-0" x="227.018125" y="58.016"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 128 768 L 128 720 L 192 720 L 192 768 Z M 128 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 128 704 L 128 656 L 192 656 L 192 704 Z M 128 704 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="136.274" y="28.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="145.918" y="28.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-1" x="157.873" y="28.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-2" x="179.0735" y="28.852"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="168.274" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="177.918" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-2" x="189.873" y="92.3545"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-3" x="147.0735" y="92.852"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 768 L 208 720 L 272 720 L 272 768 Z M 208 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 704 L 208 656 L 272 656 L 272 704 Z M 208 704 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="249.296" y="22.3005"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.000875 -0.00003125 L 5.137594 -0.00003125 " transform="matrix(1, 0, 0, -1, 249.296, 24.0195)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="249.748" y="31.1305"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-9-0" x="258.286" y="27.0075"/>
<use xlink:href="#glyph-9-1" x="270.037962" y="27.0075"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="281.199" y="22.3005"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00021875 -0.00003125 L 5.136937 -0.00003125 " transform="matrix(1, 0, 0, -1, 281.199, 24.0195)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="281.651" y="31.1305"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-10-0" x="290.189" y="27.0075"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-11-0" x="302.144" y="27.0075"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="281.296" y="86.3005"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.000875 -0.00003125 L 5.137594 -0.00003125 " transform="matrix(1, 0, 0, -1, 281.296, 88.0195)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="281.748" y="95.1305"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-9-0" x="290.286" y="91.0075"/>
<use xlink:href="#glyph-9-2" x="302.037962" y="91.0075"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="259.4315" y="86.3005"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -0.0018125 -0.00003125 L 5.138812 -0.00003125 " transform="matrix(1, 0, 0, -1, 259.4315, 88.0195)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="259.8835" y="95.1305"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 768 L 320 720 L 384 720 L 384 768 Z M 320 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 704 L 320 656 L 384 656 L 384 704 Z M 320 704 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 168 728 L 152 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 152 696 L 157.214844 701.21875 L 153.046875 703.304688 Z M 152 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 168 696 L 152 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 152 728 L 153.046875 720.695312 L 157.214844 722.78125 Z M 152 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 248 728 L 232 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 232 696 L 237.214844 701.21875 L 233.046875 703.304688 Z M 232 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 248 696 L 232 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 232 728 L 233.046875 720.695312 L 237.214844 722.78125 Z M 232 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 360 728 L 344 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 696 L 349.214844 701.21875 L 345.046875 703.304688 Z M 344 696 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 360 696 L 344 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 728 L 345.046875 720.695312 L 349.214844 722.78125 Z M 344 728 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

@ -0,0 +1,99 @@
From b32e0a3e27142898e87e13464154d4f9d8c5e96e Mon Sep 17 00:00:00 2001
From: LEdoian <paperjam@pokemon.ledoian.cz>
Date: Sat, 2 Mar 2024 01:20:25 +0100
Subject: [PATCH] Implemented interleave
---
SPDX-License-Identifier: GPL-2.0-or-later
cmds.cc | 39 +++++++++++++++++++++++++++++++++++++++
paperjam.1.txt | 10 ++++++++++
2 files changed, 49 insertions(+)
diff --git a/cmds.cc b/cmds.cc
index a2ac331..49590a5 100644
--- a/cmds.cc
+++ b/cmds.cc
@@ -2,6 +2,7 @@
* PaperJam -- Commands
*
* (c) 2018--2022 Martin Mares <mj@ucw.cz>
+ * (c) 2024 LEdoian <paperjam@pokemon.ledoian.cz>
*/
#include <cassert>
@@ -1490,6 +1491,42 @@ static const arg_def slice_args[] = {
{ NULL, 0, NULL }
};
+/*** interleave ***/
+
+class interleave_cmd : public cmd_exec {
+ int n;
+public:
+ interleave_cmd(cmd *c)
+ {
+ n = c->arg("n")->as_int(0);
+ if (n <= 0)
+ err("The number of interleaving groups must be positive");
+ }
+ vector<page *> process(vector<page *> &pages) override;
+};
+
+vector<page *> interleave_cmd::process(vector<page *> &pages)
+{
+ vector<page *> in, out;
+
+ in = pages;
+ // The last page may be superfluous...
+ while (in.size() % n)
+ in.push_back(new empty_page(in[0]->width, in[0]->height));
+ int split = (int) in.size() / n;
+
+ for (int i=0; i<split; i++)
+ for (int j=0; j<n; j++)
+ out.push_back(in[j*split+i]);
+
+ return out;
+}
+
+static const arg_def interleave_args[] = {
+ { "n", AT_INT | AT_POSITIONAL | AT_MANDATORY, "Number of interleaving groups" },
+ { NULL, 0, NULL }
+};
+
/*** Command table ***/
template<typename T> cmd_exec *ctor(cmd *c) { return new T(c); }
@@ -1515,6 +1552,8 @@ const cmd_def cmd_table[] = {
"Fit image to a given paper" },
{ "flip", flip_args, 0, &ctor<flip_cmd>,
"Flip page horizontally and/or vertically" },
+ { "interleave", interleave_args, 0, &ctor<interleave_cmd>,
+ "Interleave pages from different parts of the document" },
{ "margins", margins_args, 0, &ctor<margins_cmd>,
"Define image box by dimensions of margins around it" },
{ "merge", no_args, 0, &ctor<merge_cmd>,
diff --git a/paperjam.1.txt b/paperjam.1.txt
index 94f3432..9bebcd4 100644
--- a/paperjam.1.txt
+++ b/paperjam.1.txt
@@ -255,6 +255,16 @@ Flip pages horizontally or vertically.
*v=*'switch'::
Flip vertically.
+interleave
+~~~~~~~~~~
+Splits the document into n groups of same size and interleaves them (first page
+from all groups, then second, ...).
+
+If the number of input pages is not divisible by n, blank pages are added.
+
+*n=*'number'::
+ Number of groups.
+
margins
~~~~~~~
Define a new image box by dimensions of margins around it. More technically,
--
2.43.0

@ -0,0 +1,372 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70218" creator="Ipe 7.2.28">
<info created="D:20240301185326" modified="D:20240301191349"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<anglesize name="22.5 deg" value="22.5"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="90 deg" value="90"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="blue" value="0 0 1"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="gray" value="0.745"/>
<color name="green" value="0 1 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<color name="navy" value="0 0 0.502"/>
<color name="orange" value="1 0.647 0"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="red" value="1 0 0"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="yellow" value="1 1 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<opacity name="10%" value="0.1"/>
<opacity name="30%" value="0.3"/>
<opacity name="50%" value="0.5"/>
<opacity name="75%" value="0.75"/>
<pen name="fat" value="1.2"/>
<pen name="heavier" value="0.8"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="Large" value="\Large"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="huge" value="\huge"/>
<textsize name="large" value="\large"/>
<textsize name="script" value="\scriptsize"/>
<textsize name="small" value="\small"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<path layer="alpha" matrix="1 0 0 1 80 0" stroke="black">
64 768 m
64 704 l
112 704 l
112 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
64 688 m
64 624 l
112 624 l
112 688 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text transformations="translations" pos="96 736" stroke="black" type="label" width="40.966" height="9.963" depth="0" halign="center" valign="center" size="Large">Side A</text>
<text transformations="translations" pos="96 656" stroke="black" type="label" width="40.383" height="9.963" depth="0" halign="center" valign="center" size="Large">Side B</text>
<text transformations="translations" pos="168 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">1</text>
<text transformations="translations" pos="168 656" stroke="black" type="label" width="12.077" height="8.896" depth="0" halign="center" valign="center" size="huge" style="math">n</text>
<text transformations="translations" pos="232 656" stroke="black" type="label" width="46.807" height="13.321" depth="1.72" halign="center" valign="center" size="huge" style="math">n-1</text>
<text transformations="translations" pos="232 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">2</text>
<text matrix="1 0 0 1 16 0" transformations="translations" pos="272 696" stroke="black" type="label" width="30.218" height="2.032" depth="0" halign="center" valign="center" size="Huge">\dots</text>
<path matrix="1 0 0 1 192 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 192 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 656" stroke="black" type="label" width="44.309" height="14.308" depth="7.13" halign="center" valign="center" size="huge" style="math">\frac{n}{2}+1</text>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 736" stroke="black" type="label" width="10.776" height="14.308" depth="7.13" halign="center" valign="center" size="huge" style="math">\frac{n}{2}</text>
<path stroke="red" arrow="normal/normal">
344 712 m
344 680 l
</path>
</page>
</ipe>

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="294" height="145" viewBox="0 0 294 145">
<defs>
<g>
<g id="glyph-0-0">
<path d="M 2.984375 -5.984375 C 2.25 -6.171875 1.609375 -6.890625 1.609375 -7.796875 C 1.609375 -8.8125 2.40625 -9.703125 3.53125 -9.703125 C 5.875 -9.703125 6.203125 -7.390625 6.28125 -6.765625 C 6.3125 -6.59375 6.3125 -6.546875 6.453125 -6.546875 C 6.609375 -6.546875 6.609375 -6.609375 6.609375 -6.875 L 6.609375 -9.765625 C 6.609375 -10.03125 6.609375 -10.09375 6.46875 -10.09375 C 6.421875 -10.09375 6.375 -10.09375 6.265625 -9.90625 L 5.796875 -9.03125 C 5.109375 -9.921875 4.15625 -10.09375 3.53125 -10.09375 C 1.9375 -10.09375 0.78125 -8.828125 0.78125 -7.359375 C 0.78125 -6.671875 1.015625 -6.03125 1.546875 -5.46875 C 2.046875 -4.90625 2.546875 -4.78125 3.578125 -4.515625 C 4.078125 -4.40625 4.859375 -4.203125 5.0625 -4.109375 C 5.734375 -3.78125 6.1875 -3.015625 6.1875 -2.203125 C 6.1875 -1.140625 5.421875 -0.109375 4.234375 -0.109375 C 3.578125 -0.109375 2.703125 -0.265625 2 -0.890625 C 1.15625 -1.640625 1.109375 -2.671875 1.09375 -3.140625 C 1.078125 -3.25 0.96875 -3.25 0.9375 -3.25 C 0.78125 -3.25 0.78125 -3.1875 0.78125 -2.921875 L 0.78125 -0.03125 C 0.78125 0.234375 0.78125 0.296875 0.921875 0.296875 C 1 0.296875 1.015625 0.265625 1.125 0.09375 C 1.171875 -0.015625 1.484375 -0.546875 1.59375 -0.765625 C 2.109375 -0.1875 3.015625 0.296875 4.25 0.296875 C 5.859375 0.296875 7.015625 -1.0625 7.015625 -2.640625 C 7.015625 -3.515625 6.6875 -4.15625 6.296875 -4.640625 C 5.765625 -5.28125 5.125 -5.4375 4.5625 -5.578125 Z M 2.984375 -5.984375 "/>
</g>
<g id="glyph-0-1">
<path d="M 2.5 -8.828125 C 2.5 -9.203125 2.1875 -9.53125 1.796875 -9.53125 C 1.421875 -9.53125 1.109375 -9.234375 1.109375 -8.84375 C 1.109375 -8.421875 1.453125 -8.140625 1.796875 -8.140625 C 2.234375 -8.140625 2.5 -8.515625 2.5 -8.828125 Z M 0.515625 -6.171875 L 0.515625 -5.75 C 1.4375 -5.75 1.5625 -5.671875 1.5625 -4.96875 L 1.5625 -1.0625 C 1.5625 -0.421875 1.40625 -0.421875 0.46875 -0.421875 L 0.46875 0 C 0.875 -0.03125 1.5625 -0.03125 1.984375 -0.03125 C 2.140625 -0.03125 2.96875 -0.03125 3.453125 0 L 3.453125 -0.421875 C 2.53125 -0.421875 2.46875 -0.484375 2.46875 -1.046875 L 2.46875 -6.328125 Z M 0.515625 -6.171875 "/>
</g>
<g id="glyph-0-2">
<path d="M 4.296875 -9.796875 L 4.296875 -9.375 C 5.28125 -9.375 5.390625 -9.28125 5.390625 -8.578125 L 5.390625 -5.40625 C 5.09375 -5.828125 4.46875 -6.328125 3.59375 -6.328125 C 1.9375 -6.328125 0.5 -4.921875 0.5 -3.078125 C 0.5 -1.265625 1.859375 0.140625 3.4375 0.140625 C 4.53125 0.140625 5.15625 -0.578125 5.359375 -0.84375 L 5.359375 0.140625 L 7.390625 0 L 7.390625 -0.421875 C 6.40625 -0.421875 6.296875 -0.515625 6.296875 -1.21875 L 6.296875 -9.953125 Z M 5.359375 -1.671875 C 5.359375 -1.421875 5.359375 -1.375 5.15625 -1.0625 C 4.8125 -0.5625 4.234375 -0.140625 3.515625 -0.140625 C 3.140625 -0.140625 1.59375 -0.28125 1.59375 -3.0625 C 1.59375 -4.109375 1.765625 -4.671875 2.078125 -5.15625 C 2.359375 -5.59375 2.9375 -6.03125 3.65625 -6.03125 C 4.546875 -6.03125 5.046875 -5.390625 5.1875 -5.15625 C 5.359375 -4.921875 5.359375 -4.890625 5.359375 -4.640625 Z M 5.359375 -1.671875 "/>
</g>
<g id="glyph-0-3">
<path d="M 5.5 -3.328125 C 5.8125 -3.328125 5.84375 -3.328125 5.84375 -3.59375 C 5.84375 -5.046875 5.0625 -6.390625 3.328125 -6.390625 C 1.6875 -6.390625 0.4375 -4.921875 0.4375 -3.140625 C 0.4375 -1.25 1.890625 0.140625 3.484375 0.140625 C 5.1875 0.140625 5.84375 -1.40625 5.84375 -1.703125 C 5.84375 -1.796875 5.765625 -1.84375 5.6875 -1.84375 C 5.5625 -1.84375 5.53125 -1.78125 5.515625 -1.703125 C 5.140625 -0.5 4.171875 -0.171875 3.578125 -0.171875 C 2.96875 -0.171875 1.515625 -0.578125 1.515625 -3.0625 L 1.515625 -3.328125 Z M 1.53125 -3.59375 C 1.65625 -5.859375 2.90625 -6.109375 3.3125 -6.109375 C 4.84375 -6.109375 4.9375 -4.09375 4.953125 -3.59375 Z M 1.53125 -3.59375 "/>
</g>
<g id="glyph-0-4">
<path d="M 5.546875 -9.984375 C 5.5 -10.15625 5.46875 -10.234375 5.265625 -10.234375 C 5.0625 -10.234375 5.03125 -10.203125 4.96875 -9.96875 L 1.96875 -1.390625 C 1.765625 -0.796875 1.359375 -0.4375 0.4375 -0.421875 L 0.4375 0 C 1.3125 -0.03125 1.34375 -0.03125 1.828125 -0.03125 C 2.21875 -0.03125 2.90625 -0.03125 3.28125 0 L 3.28125 -0.421875 C 2.6875 -0.4375 2.328125 -0.734375 2.328125 -1.140625 C 2.328125 -1.21875 2.328125 -1.25 2.390625 -1.4375 L 3.0625 -3.34375 L 6.671875 -3.34375 L 7.453125 -1.09375 C 7.53125 -0.921875 7.53125 -0.890625 7.53125 -0.84375 C 7.53125 -0.421875 6.796875 -0.421875 6.4375 -0.421875 L 6.4375 0 C 6.765625 -0.03125 7.90625 -0.03125 8.3125 -0.03125 C 8.703125 -0.03125 9.734375 -0.03125 10.0625 0 L 10.0625 -0.421875 C 9.140625 -0.421875 8.875 -0.421875 8.671875 -1 Z M 4.859375 -8.53125 L 6.53125 -3.765625 L 3.203125 -3.765625 Z M 4.859375 -8.53125 "/>
</g>
<g id="glyph-0-5">
<path d="M 0.609375 -9.796875 L 0.609375 -9.375 L 0.90625 -9.375 C 1.9375 -9.375 1.984375 -9.234375 1.984375 -8.703125 L 1.984375 -1.09375 C 1.984375 -0.5625 1.9375 -0.421875 0.90625 -0.421875 L 0.609375 -0.421875 L 0.609375 0 L 6.015625 0 C 7.859375 0 9.15625 -1.25 9.15625 -2.625 C 9.15625 -3.78125 8.109375 -4.9375 6.390625 -5.125 C 7.765625 -5.375 8.75 -6.296875 8.75 -7.375 C 8.75 -8.609375 7.5 -9.796875 5.625 -9.796875 Z M 3.0625 -5.234375 L 3.0625 -8.8125 C 3.0625 -9.28125 3.09375 -9.375 3.734375 -9.375 L 5.53125 -9.375 C 6.96875 -9.375 7.484375 -8.140625 7.484375 -7.375 C 7.484375 -6.421875 6.734375 -5.234375 5.15625 -5.234375 Z M 3.734375 -0.421875 C 3.09375 -0.421875 3.0625 -0.515625 3.0625 -0.984375 L 3.0625 -4.953125 L 5.75 -4.953125 C 7.125 -4.953125 7.84375 -3.75 7.84375 -2.640625 C 7.84375 -1.484375 6.96875 -0.421875 5.5625 -0.421875 Z M 3.734375 -0.421875 "/>
</g>
<g id="glyph-1-0">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
<g id="glyph-1-1">
<path d="M 8.609375 -3.203125 L 8.234375 -3.203125 C 8.03125 -1.734375 7.875 -1.484375 7.78125 -1.359375 C 7.6875 -1.203125 6.203125 -1.203125 5.90625 -1.203125 L 1.9375 -1.203125 C 2.6875 -2 4.125 -3.46875 5.890625 -5.171875 C 7.140625 -6.359375 8.609375 -7.765625 8.609375 -9.8125 C 8.609375 -12.25 6.671875 -13.65625 4.5 -13.65625 C 2.234375 -13.65625 0.84375 -11.65625 0.84375 -9.796875 C 0.84375 -8.984375 1.453125 -8.875 1.6875 -8.875 C 1.90625 -8.875 2.515625 -9 2.515625 -9.734375 C 2.515625 -10.375 1.984375 -10.5625 1.6875 -10.5625 C 1.5625 -10.5625 1.453125 -10.53125 1.359375 -10.5 C 1.75 -12.25 2.953125 -13.109375 4.21875 -13.109375 C 6.015625 -13.109375 7.1875 -11.6875 7.1875 -9.8125 C 7.1875 -8.015625 6.140625 -6.46875 4.953125 -5.125 L 0.84375 -0.46875 L 0.84375 0 L 8.125 0 Z M 8.609375 -3.203125 "/>
</g>
<g id="glyph-2-0">
<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/>
</g>
<g id="glyph-3-0">
<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/>
</g>
<g id="glyph-4-0">
<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/>
</g>
<g id="glyph-5-0">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
<g id="glyph-6-0">
<path d="M 4.109375 -1.015625 C 4.109375 -1.640625 3.625 -2.03125 3.09375 -2.03125 C 2.609375 -2.03125 2.078125 -1.640625 2.078125 -1.015625 C 2.078125 -0.390625 2.578125 0 3.09375 0 C 3.59375 0 4.109375 -0.390625 4.109375 -1.015625 Z M 4.109375 -1.015625 "/>
</g>
<g id="glyph-7-0">
<path d="M 2.953125 -4.203125 C 2.984375 -4.28125 3.34375 -5 3.875 -5.46875 C 4.25 -5.8125 4.734375 -6.03125 5.296875 -6.03125 C 5.859375 -6.03125 6.0625 -5.609375 6.0625 -5.03125 C 6.0625 -4.21875 5.484375 -2.578125 5.1875 -1.8125 C 5.0625 -1.46875 4.984375 -1.28125 4.984375 -1.015625 C 4.984375 -0.375 5.4375 0.140625 6.125 0.140625 C 7.453125 0.140625 7.953125 -1.96875 7.953125 -2.046875 C 7.953125 -2.125 7.90625 -2.1875 7.8125 -2.1875 C 7.6875 -2.1875 7.671875 -2.140625 7.609375 -1.890625 C 7.265625 -0.71875 6.734375 -0.140625 6.171875 -0.140625 C 6.03125 -0.140625 5.796875 -0.15625 5.796875 -0.609375 C 5.796875 -0.96875 5.953125 -1.40625 6.03125 -1.609375 C 6.328125 -2.390625 6.921875 -4 6.921875 -4.8125 C 6.921875 -5.6875 6.421875 -6.328125 5.328125 -6.328125 C 4.0625 -6.328125 3.390625 -5.421875 3.125 -5.0625 C 3.078125 -5.875 2.5 -6.328125 1.859375 -6.328125 C 1.40625 -6.328125 1.09375 -6.046875 0.84375 -5.5625 C 0.59375 -5.046875 0.390625 -4.1875 0.390625 -4.125 C 0.390625 -4.078125 0.4375 -4 0.546875 -4 C 0.65625 -4 0.671875 -4.015625 0.765625 -4.34375 C 0.984375 -5.21875 1.25 -6.03125 1.828125 -6.03125 C 2.15625 -6.03125 2.265625 -5.8125 2.265625 -5.375 C 2.265625 -5.0625 2.125 -4.5 2.015625 -4.0625 L 1.625 -2.515625 C 1.5625 -2.234375 1.40625 -1.59375 1.328125 -1.328125 C 1.234375 -0.96875 1.078125 -0.28125 1.078125 -0.21875 C 1.078125 -0.015625 1.234375 0.140625 1.453125 0.140625 C 1.625 0.140625 1.828125 0.0625 1.9375 -0.15625 C 1.96875 -0.234375 2.09375 -0.734375 2.171875 -1.015625 L 2.484375 -2.3125 Z M 2.953125 -4.203125 "/>
</g>
<g id="glyph-8-0">
<path d="M 6.3125 -2.40625 L 6 -2.40625 C 5.953125 -2.171875 5.84375 -1.375 5.6875 -1.140625 C 5.59375 -1.015625 4.78125 -1.015625 4.34375 -1.015625 L 1.6875 -1.015625 C 2.078125 -1.34375 2.953125 -2.265625 3.328125 -2.609375 C 5.515625 -4.625 6.3125 -5.359375 6.3125 -6.78125 C 6.3125 -8.4375 5 -9.53125 3.34375 -9.53125 C 1.671875 -9.53125 0.703125 -8.125 0.703125 -6.890625 C 0.703125 -6.15625 1.328125 -6.15625 1.375 -6.15625 C 1.671875 -6.15625 2.046875 -6.375 2.046875 -6.828125 C 2.046875 -7.234375 1.78125 -7.5 1.375 -7.5 C 1.25 -7.5 1.21875 -7.5 1.171875 -7.484375 C 1.453125 -8.46875 2.21875 -9.125 3.15625 -9.125 C 4.375 -9.125 5.125 -8.109375 5.125 -6.78125 C 5.125 -5.5625 4.421875 -4.5 3.59375 -3.578125 L 0.703125 -0.34375 L 0.703125 0 L 5.9375 0 Z M 6.3125 -2.40625 "/>
</g>
<g id="glyph-9-0">
<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/>
</g>
<g id="glyph-9-1">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
</g>
</defs>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 768 L 144 704 L 192 704 L 192 768 Z M 144 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 688 L 144 624 L 192 624 L 192 688 Z M 144 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 768 L 208 704 L 256 704 L 256 768 Z M 208 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 688 L 208 624 L 256 624 L 256 688 Z M 208 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.517" y="37.9815"/>
<use xlink:href="#glyph-0-1" x="9.321333" y="37.9815"/>
<use xlink:href="#glyph-0-2" x="13.223499" y="37.9815"/>
<use xlink:href="#glyph-0-3" x="21.027832" y="37.9815"/>
<use xlink:href="#glyph-0-4" x="31.94529" y="37.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.8085" y="117.9815"/>
<use xlink:href="#glyph-0-1" x="9.612833" y="117.9815"/>
<use xlink:href="#glyph-0-2" x="13.514999" y="117.9815"/>
<use xlink:href="#glyph-0-3" x="21.319332" y="117.9815"/>
<use xlink:href="#glyph-0-5" x="32.23679" y="117.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-0" x="89.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="87.9615" y="117.448"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="134.5965" y="118.7985"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="151.2655" y="118.7985"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-0" x="171.9275" y="118.7985"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-1" x="153.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-6-0" x="198.891" y="74.016"/>
<use xlink:href="#glyph-6-0" x="208.954563" y="74.016"/>
<use xlink:href="#glyph-6-0" x="219.018125" y="74.016"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 768 L 320 704 L 368 704 L 368 768 Z M 320 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 688 L 320 624 L 368 624 L 368 688 Z M 320 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="249.0415" y="108.458"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00146875 -0.0016875 L 8.384281 -0.0016875 " transform="matrix(1, 0, 0, -1, 249.0415, 111.428)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="249.7215" y="123.719"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-9-0" x="263.2135" y="116.594"/>
<use xlink:href="#glyph-9-1" x="282.656913" y="116.594"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="265.808" y="28.458"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00059375 -0.0016875 L 8.383406 -0.0016875 " transform="matrix(1, 0, 0, -1, 265.808, 31.428)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="266.488" y="43.719"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 712 L 344 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 680 L 346.332031 687 L 341.667969 687 Z M 344 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,368 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70218" creator="Ipe 7.2.28">
<info created="D:20240301185326" modified="D:20240301185923"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<anglesize name="22.5 deg" value="22.5"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="90 deg" value="90"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="blue" value="0 0 1"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="gray" value="0.745"/>
<color name="green" value="0 1 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<color name="navy" value="0 0 0.502"/>
<color name="orange" value="1 0.647 0"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="red" value="1 0 0"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="yellow" value="1 1 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<opacity name="10%" value="0.1"/>
<opacity name="30%" value="0.3"/>
<opacity name="50%" value="0.5"/>
<opacity name="75%" value="0.75"/>
<pen name="fat" value="1.2"/>
<pen name="heavier" value="0.8"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="Large" value="\Large"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="huge" value="\huge"/>
<textsize name="large" value="\large"/>
<textsize name="script" value="\scriptsize"/>
<textsize name="small" value="\small"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<path layer="alpha" matrix="1 0 0 1 80 0" stroke="black">
64 768 m
64 704 l
112 704 l
112 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
64 688 m
64 624 l
112 624 l
112 688 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text transformations="translations" pos="96 736" stroke="black" type="label" width="40.966" height="9.963" depth="0" halign="center" valign="center" size="Large">Side A</text>
<text transformations="translations" pos="96 656" stroke="black" type="label" width="40.383" height="9.963" depth="0" halign="center" valign="center" size="Large">Side B</text>
<text transformations="translations" pos="168 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">1</text>
<text transformations="translations" pos="168 656" stroke="black" type="label" width="44.309" height="14.308" depth="7.13" halign="center" valign="center" size="huge" style="math">\frac{n}{2}+ 1</text>
<text transformations="translations" pos="232 656" stroke="black" type="label" width="44.309" height="14.308" depth="7.13" halign="center" valign="center" size="huge" style="math">\frac{n}{2}+ 2</text>
<text transformations="translations" pos="232 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">2</text>
<text matrix="1 0 0 1 16 0" transformations="translations" pos="272 696" stroke="black" type="label" width="30.218" height="2.032" depth="0" halign="center" valign="center" size="Huge">\dots</text>
<path matrix="1 0 0 1 192 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 192 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 656" stroke="black" type="label" width="12.077" height="8.896" depth="0" halign="center" valign="center" size="huge" style="math">n</text>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 736" stroke="black" type="label" width="10.776" height="14.308" depth="7.13" halign="center" valign="center" size="huge" style="math">\frac{n}{2}</text>
</page>
</ipe>

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="294" height="145" viewBox="0 0 294 145">
<defs>
<g>
<g id="glyph-0-0">
<path d="M 2.984375 -5.984375 C 2.25 -6.171875 1.609375 -6.890625 1.609375 -7.796875 C 1.609375 -8.8125 2.40625 -9.703125 3.53125 -9.703125 C 5.875 -9.703125 6.203125 -7.390625 6.28125 -6.765625 C 6.3125 -6.59375 6.3125 -6.546875 6.453125 -6.546875 C 6.609375 -6.546875 6.609375 -6.609375 6.609375 -6.875 L 6.609375 -9.765625 C 6.609375 -10.03125 6.609375 -10.09375 6.46875 -10.09375 C 6.421875 -10.09375 6.375 -10.09375 6.265625 -9.90625 L 5.796875 -9.03125 C 5.109375 -9.921875 4.15625 -10.09375 3.53125 -10.09375 C 1.9375 -10.09375 0.78125 -8.828125 0.78125 -7.359375 C 0.78125 -6.671875 1.015625 -6.03125 1.546875 -5.46875 C 2.046875 -4.90625 2.546875 -4.78125 3.578125 -4.515625 C 4.078125 -4.40625 4.859375 -4.203125 5.0625 -4.109375 C 5.734375 -3.78125 6.1875 -3.015625 6.1875 -2.203125 C 6.1875 -1.140625 5.421875 -0.109375 4.234375 -0.109375 C 3.578125 -0.109375 2.703125 -0.265625 2 -0.890625 C 1.15625 -1.640625 1.109375 -2.671875 1.09375 -3.140625 C 1.078125 -3.25 0.96875 -3.25 0.9375 -3.25 C 0.78125 -3.25 0.78125 -3.1875 0.78125 -2.921875 L 0.78125 -0.03125 C 0.78125 0.234375 0.78125 0.296875 0.921875 0.296875 C 1 0.296875 1.015625 0.265625 1.125 0.09375 C 1.171875 -0.015625 1.484375 -0.546875 1.59375 -0.765625 C 2.109375 -0.1875 3.015625 0.296875 4.25 0.296875 C 5.859375 0.296875 7.015625 -1.0625 7.015625 -2.640625 C 7.015625 -3.515625 6.6875 -4.15625 6.296875 -4.640625 C 5.765625 -5.28125 5.125 -5.4375 4.5625 -5.578125 Z M 2.984375 -5.984375 "/>
</g>
<g id="glyph-0-1">
<path d="M 2.5 -8.828125 C 2.5 -9.203125 2.1875 -9.53125 1.796875 -9.53125 C 1.421875 -9.53125 1.109375 -9.234375 1.109375 -8.84375 C 1.109375 -8.421875 1.453125 -8.140625 1.796875 -8.140625 C 2.234375 -8.140625 2.5 -8.515625 2.5 -8.828125 Z M 0.515625 -6.171875 L 0.515625 -5.75 C 1.4375 -5.75 1.5625 -5.671875 1.5625 -4.96875 L 1.5625 -1.0625 C 1.5625 -0.421875 1.40625 -0.421875 0.46875 -0.421875 L 0.46875 0 C 0.875 -0.03125 1.5625 -0.03125 1.984375 -0.03125 C 2.140625 -0.03125 2.96875 -0.03125 3.453125 0 L 3.453125 -0.421875 C 2.53125 -0.421875 2.46875 -0.484375 2.46875 -1.046875 L 2.46875 -6.328125 Z M 0.515625 -6.171875 "/>
</g>
<g id="glyph-0-2">
<path d="M 4.296875 -9.796875 L 4.296875 -9.375 C 5.28125 -9.375 5.390625 -9.28125 5.390625 -8.578125 L 5.390625 -5.40625 C 5.09375 -5.828125 4.46875 -6.328125 3.59375 -6.328125 C 1.9375 -6.328125 0.5 -4.921875 0.5 -3.078125 C 0.5 -1.265625 1.859375 0.140625 3.4375 0.140625 C 4.53125 0.140625 5.15625 -0.578125 5.359375 -0.84375 L 5.359375 0.140625 L 7.390625 0 L 7.390625 -0.421875 C 6.40625 -0.421875 6.296875 -0.515625 6.296875 -1.21875 L 6.296875 -9.953125 Z M 5.359375 -1.671875 C 5.359375 -1.421875 5.359375 -1.375 5.15625 -1.0625 C 4.8125 -0.5625 4.234375 -0.140625 3.515625 -0.140625 C 3.140625 -0.140625 1.59375 -0.28125 1.59375 -3.0625 C 1.59375 -4.109375 1.765625 -4.671875 2.078125 -5.15625 C 2.359375 -5.59375 2.9375 -6.03125 3.65625 -6.03125 C 4.546875 -6.03125 5.046875 -5.390625 5.1875 -5.15625 C 5.359375 -4.921875 5.359375 -4.890625 5.359375 -4.640625 Z M 5.359375 -1.671875 "/>
</g>
<g id="glyph-0-3">
<path d="M 5.5 -3.328125 C 5.8125 -3.328125 5.84375 -3.328125 5.84375 -3.59375 C 5.84375 -5.046875 5.0625 -6.390625 3.328125 -6.390625 C 1.6875 -6.390625 0.4375 -4.921875 0.4375 -3.140625 C 0.4375 -1.25 1.890625 0.140625 3.484375 0.140625 C 5.1875 0.140625 5.84375 -1.40625 5.84375 -1.703125 C 5.84375 -1.796875 5.765625 -1.84375 5.6875 -1.84375 C 5.5625 -1.84375 5.53125 -1.78125 5.515625 -1.703125 C 5.140625 -0.5 4.171875 -0.171875 3.578125 -0.171875 C 2.96875 -0.171875 1.515625 -0.578125 1.515625 -3.0625 L 1.515625 -3.328125 Z M 1.53125 -3.59375 C 1.65625 -5.859375 2.90625 -6.109375 3.3125 -6.109375 C 4.84375 -6.109375 4.9375 -4.09375 4.953125 -3.59375 Z M 1.53125 -3.59375 "/>
</g>
<g id="glyph-0-4">
<path d="M 5.546875 -9.984375 C 5.5 -10.15625 5.46875 -10.234375 5.265625 -10.234375 C 5.0625 -10.234375 5.03125 -10.203125 4.96875 -9.96875 L 1.96875 -1.390625 C 1.765625 -0.796875 1.359375 -0.4375 0.4375 -0.421875 L 0.4375 0 C 1.3125 -0.03125 1.34375 -0.03125 1.828125 -0.03125 C 2.21875 -0.03125 2.90625 -0.03125 3.28125 0 L 3.28125 -0.421875 C 2.6875 -0.4375 2.328125 -0.734375 2.328125 -1.140625 C 2.328125 -1.21875 2.328125 -1.25 2.390625 -1.4375 L 3.0625 -3.34375 L 6.671875 -3.34375 L 7.453125 -1.09375 C 7.53125 -0.921875 7.53125 -0.890625 7.53125 -0.84375 C 7.53125 -0.421875 6.796875 -0.421875 6.4375 -0.421875 L 6.4375 0 C 6.765625 -0.03125 7.90625 -0.03125 8.3125 -0.03125 C 8.703125 -0.03125 9.734375 -0.03125 10.0625 0 L 10.0625 -0.421875 C 9.140625 -0.421875 8.875 -0.421875 8.671875 -1 Z M 4.859375 -8.53125 L 6.53125 -3.765625 L 3.203125 -3.765625 Z M 4.859375 -8.53125 "/>
</g>
<g id="glyph-0-5">
<path d="M 0.609375 -9.796875 L 0.609375 -9.375 L 0.90625 -9.375 C 1.9375 -9.375 1.984375 -9.234375 1.984375 -8.703125 L 1.984375 -1.09375 C 1.984375 -0.5625 1.9375 -0.421875 0.90625 -0.421875 L 0.609375 -0.421875 L 0.609375 0 L 6.015625 0 C 7.859375 0 9.15625 -1.25 9.15625 -2.625 C 9.15625 -3.78125 8.109375 -4.9375 6.390625 -5.125 C 7.765625 -5.375 8.75 -6.296875 8.75 -7.375 C 8.75 -8.609375 7.5 -9.796875 5.625 -9.796875 Z M 3.0625 -5.234375 L 3.0625 -8.8125 C 3.0625 -9.28125 3.09375 -9.375 3.734375 -9.375 L 5.53125 -9.375 C 6.96875 -9.375 7.484375 -8.140625 7.484375 -7.375 C 7.484375 -6.421875 6.734375 -5.234375 5.15625 -5.234375 Z M 3.734375 -0.421875 C 3.09375 -0.421875 3.0625 -0.515625 3.0625 -0.984375 L 3.0625 -4.953125 L 5.75 -4.953125 C 7.125 -4.953125 7.84375 -3.75 7.84375 -2.640625 C 7.84375 -1.484375 6.96875 -0.421875 5.5625 -0.421875 Z M 3.734375 -0.421875 "/>
</g>
<g id="glyph-1-0">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
<g id="glyph-1-1">
<path d="M 8.609375 -3.203125 L 8.234375 -3.203125 C 8.03125 -1.734375 7.875 -1.484375 7.78125 -1.359375 C 7.6875 -1.203125 6.203125 -1.203125 5.90625 -1.203125 L 1.9375 -1.203125 C 2.6875 -2 4.125 -3.46875 5.890625 -5.171875 C 7.140625 -6.359375 8.609375 -7.765625 8.609375 -9.8125 C 8.609375 -12.25 6.671875 -13.65625 4.5 -13.65625 C 2.234375 -13.65625 0.84375 -11.65625 0.84375 -9.796875 C 0.84375 -8.984375 1.453125 -8.875 1.6875 -8.875 C 1.90625 -8.875 2.515625 -9 2.515625 -9.734375 C 2.515625 -10.375 1.984375 -10.5625 1.6875 -10.5625 C 1.5625 -10.5625 1.453125 -10.53125 1.359375 -10.5 C 1.75 -12.25 2.953125 -13.109375 4.21875 -13.109375 C 6.015625 -13.109375 7.1875 -11.6875 7.1875 -9.8125 C 7.1875 -8.015625 6.140625 -6.46875 4.953125 -5.125 L 0.84375 -0.46875 L 0.84375 0 L 8.125 0 Z M 8.609375 -3.203125 "/>
</g>
<g id="glyph-2-0">
<path d="M 2.953125 -4.203125 C 2.984375 -4.28125 3.34375 -5 3.875 -5.46875 C 4.25 -5.8125 4.734375 -6.03125 5.296875 -6.03125 C 5.859375 -6.03125 6.0625 -5.609375 6.0625 -5.03125 C 6.0625 -4.21875 5.484375 -2.578125 5.1875 -1.8125 C 5.0625 -1.46875 4.984375 -1.28125 4.984375 -1.015625 C 4.984375 -0.375 5.4375 0.140625 6.125 0.140625 C 7.453125 0.140625 7.953125 -1.96875 7.953125 -2.046875 C 7.953125 -2.125 7.90625 -2.1875 7.8125 -2.1875 C 7.6875 -2.1875 7.671875 -2.140625 7.609375 -1.890625 C 7.265625 -0.71875 6.734375 -0.140625 6.171875 -0.140625 C 6.03125 -0.140625 5.796875 -0.15625 5.796875 -0.609375 C 5.796875 -0.96875 5.953125 -1.40625 6.03125 -1.609375 C 6.328125 -2.390625 6.921875 -4 6.921875 -4.8125 C 6.921875 -5.6875 6.421875 -6.328125 5.328125 -6.328125 C 4.0625 -6.328125 3.390625 -5.421875 3.125 -5.0625 C 3.078125 -5.875 2.5 -6.328125 1.859375 -6.328125 C 1.40625 -6.328125 1.09375 -6.046875 0.84375 -5.5625 C 0.59375 -5.046875 0.390625 -4.1875 0.390625 -4.125 C 0.390625 -4.078125 0.4375 -4 0.546875 -4 C 0.65625 -4 0.671875 -4.015625 0.765625 -4.34375 C 0.984375 -5.21875 1.25 -6.03125 1.828125 -6.03125 C 2.15625 -6.03125 2.265625 -5.8125 2.265625 -5.375 C 2.265625 -5.0625 2.125 -4.5 2.015625 -4.0625 L 1.625 -2.515625 C 1.5625 -2.234375 1.40625 -1.59375 1.328125 -1.328125 C 1.234375 -0.96875 1.078125 -0.28125 1.078125 -0.21875 C 1.078125 -0.015625 1.234375 0.140625 1.453125 0.140625 C 1.625 0.140625 1.828125 0.0625 1.9375 -0.15625 C 1.96875 -0.234375 2.09375 -0.734375 2.171875 -1.015625 L 2.484375 -2.3125 Z M 2.953125 -4.203125 "/>
</g>
<g id="glyph-3-0">
<path d="M 6.3125 -2.40625 L 6 -2.40625 C 5.953125 -2.171875 5.84375 -1.375 5.6875 -1.140625 C 5.59375 -1.015625 4.78125 -1.015625 4.34375 -1.015625 L 1.6875 -1.015625 C 2.078125 -1.34375 2.953125 -2.265625 3.328125 -2.609375 C 5.515625 -4.625 6.3125 -5.359375 6.3125 -6.78125 C 6.3125 -8.4375 5 -9.53125 3.34375 -9.53125 C 1.671875 -9.53125 0.703125 -8.125 0.703125 -6.890625 C 0.703125 -6.15625 1.328125 -6.15625 1.375 -6.15625 C 1.671875 -6.15625 2.046875 -6.375 2.046875 -6.828125 C 2.046875 -7.234375 1.78125 -7.5 1.375 -7.5 C 1.25 -7.5 1.21875 -7.5 1.171875 -7.484375 C 1.453125 -8.46875 2.21875 -9.125 3.15625 -9.125 C 4.375 -9.125 5.125 -8.109375 5.125 -6.78125 C 5.125 -5.5625 4.421875 -4.5 3.59375 -3.578125 L 0.703125 -0.34375 L 0.703125 0 L 5.9375 0 Z M 6.3125 -2.40625 "/>
</g>
<g id="glyph-4-0">
<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/>
</g>
<g id="glyph-4-1">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
<g id="glyph-4-2">
<path d="M 8.609375 -3.203125 L 8.234375 -3.203125 C 8.03125 -1.734375 7.875 -1.484375 7.78125 -1.359375 C 7.6875 -1.203125 6.203125 -1.203125 5.90625 -1.203125 L 1.9375 -1.203125 C 2.6875 -2 4.125 -3.46875 5.890625 -5.171875 C 7.140625 -6.359375 8.609375 -7.765625 8.609375 -9.8125 C 8.609375 -12.25 6.671875 -13.65625 4.5 -13.65625 C 2.234375 -13.65625 0.84375 -11.65625 0.84375 -9.796875 C 0.84375 -8.984375 1.453125 -8.875 1.6875 -8.875 C 1.90625 -8.875 2.515625 -9 2.515625 -9.734375 C 2.515625 -10.375 1.984375 -10.5625 1.6875 -10.5625 C 1.5625 -10.5625 1.453125 -10.53125 1.359375 -10.5 C 1.75 -12.25 2.953125 -13.109375 4.21875 -13.109375 C 6.015625 -13.109375 7.1875 -11.6875 7.1875 -9.8125 C 7.1875 -8.015625 6.140625 -6.46875 4.953125 -5.125 L 0.84375 -0.46875 L 0.84375 0 L 8.125 0 Z M 8.609375 -3.203125 "/>
</g>
<g id="glyph-5-0">
<path d="M 4.109375 -1.015625 C 4.109375 -1.640625 3.625 -2.03125 3.09375 -2.03125 C 2.609375 -2.03125 2.078125 -1.640625 2.078125 -1.015625 C 2.078125 -0.390625 2.578125 0 3.09375 0 C 3.59375 0 4.109375 -0.390625 4.109375 -1.015625 Z M 4.109375 -1.015625 "/>
</g>
<g id="glyph-6-0">
<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/>
</g>
</g>
</defs>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 768 L 144 704 L 192 704 L 192 768 Z M 144 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 688 L 144 624 L 192 624 L 192 688 Z M 144 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 768 L 208 704 L 256 704 L 256 768 Z M 208 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 688 L 208 624 L 256 624 L 256 688 Z M 208 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.517" y="37.9815"/>
<use xlink:href="#glyph-0-1" x="9.321333" y="37.9815"/>
<use xlink:href="#glyph-0-2" x="13.223499" y="37.9815"/>
<use xlink:href="#glyph-0-3" x="21.027832" y="37.9815"/>
<use xlink:href="#glyph-0-4" x="31.94529" y="37.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.8085" y="117.9815"/>
<use xlink:href="#glyph-0-1" x="9.612833" y="117.9815"/>
<use xlink:href="#glyph-0-2" x="13.514999" y="117.9815"/>
<use xlink:href="#glyph-0-3" x="21.319332" y="117.9815"/>
<use xlink:href="#glyph-0-5" x="32.23679" y="117.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-0" x="89.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="73.0415" y="108.458"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00146875 -0.0016875 L 8.384281 -0.0016875 " transform="matrix(1, 0, 0, -1, 73.0415, 111.428)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="73.7215" y="123.719"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="87.2135" y="116.594"/>
<use xlink:href="#glyph-4-1" x="106.656913" y="116.594"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="137.0415" y="108.458"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00146875 -0.0016875 L 8.384281 -0.0016875 " transform="matrix(1, 0, 0, -1, 137.0415, 111.428)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="137.7215" y="123.719"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="151.2135" y="116.594"/>
<use xlink:href="#glyph-4-2" x="170.656913" y="116.594"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-1" x="153.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-0" x="198.891" y="74.016"/>
<use xlink:href="#glyph-5-0" x="208.954563" y="74.016"/>
<use xlink:href="#glyph-5-0" x="219.018125" y="74.016"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 768 L 320 704 L 368 704 L 368 768 Z M 320 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 688 L 320 624 L 368 624 L 368 688 Z M 320 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-6-0" x="263.9615" y="117.448"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="265.808" y="28.458"/>
</g>
<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00059375 -0.0016875 L 8.383406 -0.0016875 " transform="matrix(1, 0, 0, -1, 265.808, 31.428)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="266.488" y="43.719"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

@ -0,0 +1,380 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70218" creator="Ipe 7.2.28">
<info created="D:20240301185326" modified="D:20240301191445"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<anglesize name="22.5 deg" value="22.5"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="90 deg" value="90"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="blue" value="0 0 1"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="gray" value="0.745"/>
<color name="green" value="0 1 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<color name="navy" value="0 0 0.502"/>
<color name="orange" value="1 0.647 0"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="red" value="1 0 0"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="yellow" value="1 1 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<opacity name="10%" value="0.1"/>
<opacity name="30%" value="0.3"/>
<opacity name="50%" value="0.5"/>
<opacity name="75%" value="0.75"/>
<pen name="fat" value="1.2"/>
<pen name="heavier" value="0.8"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="Large" value="\Large"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="huge" value="\huge"/>
<textsize name="large" value="\large"/>
<textsize name="script" value="\scriptsize"/>
<textsize name="small" value="\small"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<path layer="alpha" matrix="1 0 0 1 80 0" stroke="black">
64 768 m
64 704 l
112 704 l
112 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
64 688 m
64 624 l
112 624 l
112 688 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 80 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text transformations="translations" pos="96 736" stroke="black" type="label" width="40.966" height="9.963" depth="0" halign="center" valign="center" size="Large">Side A</text>
<text transformations="translations" pos="96 656" stroke="black" type="label" width="40.383" height="9.963" depth="0" halign="center" valign="center" size="Large">Side B</text>
<text transformations="translations" pos="168 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">1</text>
<text transformations="translations" pos="168 656" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">2</text>
<text transformations="translations" pos="232 656" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">4</text>
<text transformations="translations" pos="232 736" stroke="black" type="label" width="9.476" height="13.319" depth="0" halign="center" valign="center" size="huge">3</text>
<text matrix="1 0 0 1 16 0" transformations="translations" pos="272 696" stroke="black" type="label" width="30.218" height="2.032" depth="0" halign="center" valign="center" size="Huge">\dots</text>
<path matrix="1 0 0 1 192 0" stroke="black">
128 768 m
128 704 l
176 704 l
176 768 l
h
</path>
<path matrix="1 0 0 1 192 0" stroke="black">
128 688 m
128 624 l
176 624 l
176 688 l
h
</path>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 656" stroke="black" type="label" width="12.077" height="8.896" depth="0" halign="center" valign="center" size="huge" style="math">n</text>
<text matrix="1 0 0 1 112 0" transformations="translations" pos="232 736" stroke="black" type="label" width="46.807" height="13.321" depth="1.72" halign="center" valign="center" size="huge" style="math">n-1</text>
<path stroke="red" arrow="normal/normal">
168 712 m
168 680 l
</path>
<path matrix="1 0 0 1 64 0" stroke="red" arrow="normal/normal">
168 712 m
168 680 l
</path>
<path matrix="1 0 0 1 176 0" stroke="red" arrow="normal/normal">
168 712 m
168 680 l
</path>
</page>
</ipe>

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="294" height="145" viewBox="0 0 294 145">
<defs>
<g>
<g id="glyph-0-0">
<path d="M 2.984375 -5.984375 C 2.25 -6.171875 1.609375 -6.890625 1.609375 -7.796875 C 1.609375 -8.8125 2.40625 -9.703125 3.53125 -9.703125 C 5.875 -9.703125 6.203125 -7.390625 6.28125 -6.765625 C 6.3125 -6.59375 6.3125 -6.546875 6.453125 -6.546875 C 6.609375 -6.546875 6.609375 -6.609375 6.609375 -6.875 L 6.609375 -9.765625 C 6.609375 -10.03125 6.609375 -10.09375 6.46875 -10.09375 C 6.421875 -10.09375 6.375 -10.09375 6.265625 -9.90625 L 5.796875 -9.03125 C 5.109375 -9.921875 4.15625 -10.09375 3.53125 -10.09375 C 1.9375 -10.09375 0.78125 -8.828125 0.78125 -7.359375 C 0.78125 -6.671875 1.015625 -6.03125 1.546875 -5.46875 C 2.046875 -4.90625 2.546875 -4.78125 3.578125 -4.515625 C 4.078125 -4.40625 4.859375 -4.203125 5.0625 -4.109375 C 5.734375 -3.78125 6.1875 -3.015625 6.1875 -2.203125 C 6.1875 -1.140625 5.421875 -0.109375 4.234375 -0.109375 C 3.578125 -0.109375 2.703125 -0.265625 2 -0.890625 C 1.15625 -1.640625 1.109375 -2.671875 1.09375 -3.140625 C 1.078125 -3.25 0.96875 -3.25 0.9375 -3.25 C 0.78125 -3.25 0.78125 -3.1875 0.78125 -2.921875 L 0.78125 -0.03125 C 0.78125 0.234375 0.78125 0.296875 0.921875 0.296875 C 1 0.296875 1.015625 0.265625 1.125 0.09375 C 1.171875 -0.015625 1.484375 -0.546875 1.59375 -0.765625 C 2.109375 -0.1875 3.015625 0.296875 4.25 0.296875 C 5.859375 0.296875 7.015625 -1.0625 7.015625 -2.640625 C 7.015625 -3.515625 6.6875 -4.15625 6.296875 -4.640625 C 5.765625 -5.28125 5.125 -5.4375 4.5625 -5.578125 Z M 2.984375 -5.984375 "/>
</g>
<g id="glyph-0-1">
<path d="M 2.5 -8.828125 C 2.5 -9.203125 2.1875 -9.53125 1.796875 -9.53125 C 1.421875 -9.53125 1.109375 -9.234375 1.109375 -8.84375 C 1.109375 -8.421875 1.453125 -8.140625 1.796875 -8.140625 C 2.234375 -8.140625 2.5 -8.515625 2.5 -8.828125 Z M 0.515625 -6.171875 L 0.515625 -5.75 C 1.4375 -5.75 1.5625 -5.671875 1.5625 -4.96875 L 1.5625 -1.0625 C 1.5625 -0.421875 1.40625 -0.421875 0.46875 -0.421875 L 0.46875 0 C 0.875 -0.03125 1.5625 -0.03125 1.984375 -0.03125 C 2.140625 -0.03125 2.96875 -0.03125 3.453125 0 L 3.453125 -0.421875 C 2.53125 -0.421875 2.46875 -0.484375 2.46875 -1.046875 L 2.46875 -6.328125 Z M 0.515625 -6.171875 "/>
</g>
<g id="glyph-0-2">
<path d="M 4.296875 -9.796875 L 4.296875 -9.375 C 5.28125 -9.375 5.390625 -9.28125 5.390625 -8.578125 L 5.390625 -5.40625 C 5.09375 -5.828125 4.46875 -6.328125 3.59375 -6.328125 C 1.9375 -6.328125 0.5 -4.921875 0.5 -3.078125 C 0.5 -1.265625 1.859375 0.140625 3.4375 0.140625 C 4.53125 0.140625 5.15625 -0.578125 5.359375 -0.84375 L 5.359375 0.140625 L 7.390625 0 L 7.390625 -0.421875 C 6.40625 -0.421875 6.296875 -0.515625 6.296875 -1.21875 L 6.296875 -9.953125 Z M 5.359375 -1.671875 C 5.359375 -1.421875 5.359375 -1.375 5.15625 -1.0625 C 4.8125 -0.5625 4.234375 -0.140625 3.515625 -0.140625 C 3.140625 -0.140625 1.59375 -0.28125 1.59375 -3.0625 C 1.59375 -4.109375 1.765625 -4.671875 2.078125 -5.15625 C 2.359375 -5.59375 2.9375 -6.03125 3.65625 -6.03125 C 4.546875 -6.03125 5.046875 -5.390625 5.1875 -5.15625 C 5.359375 -4.921875 5.359375 -4.890625 5.359375 -4.640625 Z M 5.359375 -1.671875 "/>
</g>
<g id="glyph-0-3">
<path d="M 5.5 -3.328125 C 5.8125 -3.328125 5.84375 -3.328125 5.84375 -3.59375 C 5.84375 -5.046875 5.0625 -6.390625 3.328125 -6.390625 C 1.6875 -6.390625 0.4375 -4.921875 0.4375 -3.140625 C 0.4375 -1.25 1.890625 0.140625 3.484375 0.140625 C 5.1875 0.140625 5.84375 -1.40625 5.84375 -1.703125 C 5.84375 -1.796875 5.765625 -1.84375 5.6875 -1.84375 C 5.5625 -1.84375 5.53125 -1.78125 5.515625 -1.703125 C 5.140625 -0.5 4.171875 -0.171875 3.578125 -0.171875 C 2.96875 -0.171875 1.515625 -0.578125 1.515625 -3.0625 L 1.515625 -3.328125 Z M 1.53125 -3.59375 C 1.65625 -5.859375 2.90625 -6.109375 3.3125 -6.109375 C 4.84375 -6.109375 4.9375 -4.09375 4.953125 -3.59375 Z M 1.53125 -3.59375 "/>
</g>
<g id="glyph-0-4">
<path d="M 5.546875 -9.984375 C 5.5 -10.15625 5.46875 -10.234375 5.265625 -10.234375 C 5.0625 -10.234375 5.03125 -10.203125 4.96875 -9.96875 L 1.96875 -1.390625 C 1.765625 -0.796875 1.359375 -0.4375 0.4375 -0.421875 L 0.4375 0 C 1.3125 -0.03125 1.34375 -0.03125 1.828125 -0.03125 C 2.21875 -0.03125 2.90625 -0.03125 3.28125 0 L 3.28125 -0.421875 C 2.6875 -0.4375 2.328125 -0.734375 2.328125 -1.140625 C 2.328125 -1.21875 2.328125 -1.25 2.390625 -1.4375 L 3.0625 -3.34375 L 6.671875 -3.34375 L 7.453125 -1.09375 C 7.53125 -0.921875 7.53125 -0.890625 7.53125 -0.84375 C 7.53125 -0.421875 6.796875 -0.421875 6.4375 -0.421875 L 6.4375 0 C 6.765625 -0.03125 7.90625 -0.03125 8.3125 -0.03125 C 8.703125 -0.03125 9.734375 -0.03125 10.0625 0 L 10.0625 -0.421875 C 9.140625 -0.421875 8.875 -0.421875 8.671875 -1 Z M 4.859375 -8.53125 L 6.53125 -3.765625 L 3.203125 -3.765625 Z M 4.859375 -8.53125 "/>
</g>
<g id="glyph-0-5">
<path d="M 0.609375 -9.796875 L 0.609375 -9.375 L 0.90625 -9.375 C 1.9375 -9.375 1.984375 -9.234375 1.984375 -8.703125 L 1.984375 -1.09375 C 1.984375 -0.5625 1.9375 -0.421875 0.90625 -0.421875 L 0.609375 -0.421875 L 0.609375 0 L 6.015625 0 C 7.859375 0 9.15625 -1.25 9.15625 -2.625 C 9.15625 -3.78125 8.109375 -4.9375 6.390625 -5.125 C 7.765625 -5.375 8.75 -6.296875 8.75 -7.375 C 8.75 -8.609375 7.5 -9.796875 5.625 -9.796875 Z M 3.0625 -5.234375 L 3.0625 -8.8125 C 3.0625 -9.28125 3.09375 -9.375 3.734375 -9.375 L 5.53125 -9.375 C 6.96875 -9.375 7.484375 -8.140625 7.484375 -7.375 C 7.484375 -6.421875 6.734375 -5.234375 5.15625 -5.234375 Z M 3.734375 -0.421875 C 3.09375 -0.421875 3.0625 -0.515625 3.0625 -0.984375 L 3.0625 -4.953125 L 5.75 -4.953125 C 7.125 -4.953125 7.84375 -3.75 7.84375 -2.640625 C 7.84375 -1.484375 6.96875 -0.421875 5.5625 -0.421875 Z M 3.734375 -0.421875 "/>
</g>
<g id="glyph-1-0">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
<g id="glyph-1-1">
<path d="M 8.609375 -3.203125 L 8.234375 -3.203125 C 8.03125 -1.734375 7.875 -1.484375 7.78125 -1.359375 C 7.6875 -1.203125 6.203125 -1.203125 5.90625 -1.203125 L 1.9375 -1.203125 C 2.6875 -2 4.125 -3.46875 5.890625 -5.171875 C 7.140625 -6.359375 8.609375 -7.765625 8.609375 -9.8125 C 8.609375 -12.25 6.671875 -13.65625 4.5 -13.65625 C 2.234375 -13.65625 0.84375 -11.65625 0.84375 -9.796875 C 0.84375 -8.984375 1.453125 -8.875 1.6875 -8.875 C 1.90625 -8.875 2.515625 -9 2.515625 -9.734375 C 2.515625 -10.375 1.984375 -10.5625 1.6875 -10.5625 C 1.5625 -10.5625 1.453125 -10.53125 1.359375 -10.5 C 1.75 -12.25 2.953125 -13.109375 4.21875 -13.109375 C 6.015625 -13.109375 7.1875 -11.6875 7.1875 -9.8125 C 7.1875 -8.015625 6.140625 -6.46875 4.953125 -5.125 L 0.84375 -0.46875 L 0.84375 0 L 8.125 0 Z M 8.609375 -3.203125 "/>
</g>
<g id="glyph-1-2">
<path d="M 6.9375 -13.359375 C 6.9375 -13.796875 6.921875 -13.8125 6.546875 -13.8125 L 0.40625 -4.046875 L 0.40625 -3.515625 L 5.75 -3.515625 L 5.75 -1.484375 C 5.75 -0.75 5.703125 -0.53125 4.25 -0.53125 L 3.859375 -0.53125 L 3.859375 0 C 4.53125 -0.046875 5.640625 -0.046875 6.34375 -0.046875 C 7.046875 -0.046875 8.15625 -0.046875 8.8125 0 L 8.8125 -0.53125 L 8.421875 -0.53125 C 6.984375 -0.53125 6.9375 -0.75 6.9375 -1.484375 L 6.9375 -3.515625 L 9.046875 -3.515625 L 9.046875 -4.046875 L 6.9375 -4.046875 Z M 5.796875 -12 L 5.796875 -4.046875 L 0.828125 -4.046875 Z M 5.796875 -12 "/>
</g>
<g id="glyph-1-3">
<path d="M 4.5625 -7.015625 C 6.40625 -7.015625 7.203125 -5.4375 7.203125 -3.59375 C 7.203125 -1.109375 5.890625 -0.171875 4.6875 -0.171875 C 3.59375 -0.171875 1.8125 -0.703125 1.265625 -2.296875 C 1.359375 -2.25 1.46875 -2.25 1.5625 -2.25 C 2.0625 -2.25 2.4375 -2.578125 2.4375 -3.125 C 2.4375 -3.71875 1.984375 -3.984375 1.5625 -3.984375 C 1.21875 -3.984375 0.6875 -3.828125 0.6875 -3.0625 C 0.6875 -1.15625 2.546875 0.328125 4.734375 0.328125 C 7.015625 0.328125 8.78125 -1.46875 8.78125 -3.578125 C 8.78125 -5.578125 7.125 -7.015625 5.171875 -7.25 C 6.734375 -7.578125 8.234375 -8.984375 8.234375 -10.859375 C 8.234375 -12.46875 6.609375 -13.65625 4.75 -13.65625 C 2.875 -13.65625 1.21875 -12.5 1.21875 -10.84375 C 1.21875 -10.125 1.75 -10 2.03125 -10 C 2.453125 -10 2.828125 -10.265625 2.828125 -10.796875 C 2.828125 -11.34375 2.453125 -11.609375 2.03125 -11.609375 C 1.9375 -11.609375 1.84375 -11.609375 1.75 -11.5625 C 2.359375 -12.9375 3.984375 -13.171875 4.703125 -13.171875 C 5.4375 -13.171875 6.796875 -12.828125 6.796875 -10.84375 C 6.796875 -10.265625 6.71875 -9.234375 6.015625 -8.328125 C 5.390625 -7.515625 4.6875 -7.484375 4 -7.421875 C 3.90625 -7.421875 3.421875 -7.375 3.34375 -7.375 C 3.203125 -7.359375 3.125 -7.328125 3.125 -7.1875 C 3.125 -7.046875 3.140625 -7.015625 3.546875 -7.015625 Z M 4.5625 -7.015625 "/>
</g>
<g id="glyph-2-0">
<path d="M 4.109375 -1.015625 C 4.109375 -1.640625 3.625 -2.03125 3.09375 -2.03125 C 2.609375 -2.03125 2.078125 -1.640625 2.078125 -1.015625 C 2.078125 -0.390625 2.578125 0 3.09375 0 C 3.59375 0 4.109375 -0.390625 4.109375 -1.015625 Z M 4.109375 -1.015625 "/>
</g>
<g id="glyph-3-0">
<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/>
</g>
<g id="glyph-4-0">
<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/>
</g>
<g id="glyph-5-0">
<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/>
</g>
<g id="glyph-6-0">
<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/>
</g>
</g>
</defs>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 768 L 144 704 L 192 704 L 192 768 Z M 144 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 144 688 L 144 624 L 192 624 L 192 688 Z M 144 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 768 L 208 704 L 256 704 L 256 768 Z M 208 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 208 688 L 208 624 L 256 624 L 256 688 Z M 208 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.517" y="37.9815"/>
<use xlink:href="#glyph-0-1" x="9.321333" y="37.9815"/>
<use xlink:href="#glyph-0-2" x="13.223499" y="37.9815"/>
<use xlink:href="#glyph-0-3" x="21.027832" y="37.9815"/>
<use xlink:href="#glyph-0-4" x="31.94529" y="37.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-0-0" x="1.8085" y="117.9815"/>
<use xlink:href="#glyph-0-1" x="9.612833" y="117.9815"/>
<use xlink:href="#glyph-0-2" x="13.514999" y="117.9815"/>
<use xlink:href="#glyph-0-3" x="21.319332" y="117.9815"/>
<use xlink:href="#glyph-0-5" x="32.23679" y="117.9815"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-0" x="89.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-1" x="89.262" y="119.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-2" x="153.262" y="119.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-3" x="153.262" y="39.6595"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="198.891" y="74.016"/>
<use xlink:href="#glyph-2-0" x="208.954563" y="74.016"/>
<use xlink:href="#glyph-2-0" x="219.018125" y="74.016"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 768 L 320 704 L 368 704 L 368 768 Z M 320 768 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 320 688 L 320 624 L 368 624 L 368 688 Z M 320 688 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="263.9615" y="117.448"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="246.5965" y="38.7985"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-0" x="263.2655" y="38.7985"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-6-0" x="283.9275" y="38.7985"/>
</g>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 168 712 L 168 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 168 680 L 170.332031 687 L 165.667969 687 Z M 168 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 232 712 L 232 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 232 680 L 234.332031 687 L 229.667969 687 Z M 232 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill="none" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 712 L 344 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
<path fill-rule="evenodd" fill="rgb(100%, 0%, 0%)" fill-opacity="1" stroke-width="0.4" stroke-linecap="butt" stroke-linejoin="round" stroke="rgb(100%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 344 680 L 346.332031 687 L 341.667969 687 Z M 344 680 " transform="matrix(1, 0, 0, -1, -74, 769)"/>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -0,0 +1,252 @@
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<meta name=generator content="Pelican 4.9.1">
<meta name=author content="LEdoian">
<meta name=description content="My personal webpage">
<meta name=referrer content=no-referrer>
<link rel=stylesheet href="./theme/css/theme.css">
<title>Print your stuff on Möbius bands! LEdoian's Blog</title>
</head>
<body>
<header>
<h1>LEdoian's Blog</h1>
</header>
<div id=main>
<nav>
<div>
<!-- Main navigation -->
<!-- TODO! -->
</div>
<div>
<h2>Categories</h2>
<ul>
<li><a href="./category/networking.html">networking</a></li>
<li><a href="./category/talks.html">talks</a></li>
<li><a href="./category/technology.html">technology</a></li>
<li><a href="./category/til.html">til</a></li>
</ul>
<h2>Tags</h2>
<ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li>
<li><a href="./tag/dns.html">dns</a></li>
<li><a href="./tag/meta.html">meta</a></li>
<li><a href="./tag/infrastructure.html">infrastructure</a></li>
<li><a href="./tag/smrst.html">smršť</a></li>
<li><a href="./tag/trains.html">trains</a></li>
<li><a href="./tag/software-engineering.html">software-engineering</a></li>
</ul>
</div>
<div>
<h2>Stalk me also at</h2>
TODO!
<h2>I stalk</h2>
TODO!
</nav>
<main>
<div>
<h1>Print your stuff on Möbius bands!</h1>
<p>I found a fun and useful way of printing stuff to ~~both~~all sides of a paper.
I just need to find the right printer!</p>
<div class="section" id="quick-recap-how-to-conventionally-print-stuff-two-sided">
<h2>Quick recap: how to conventionally print stuff two-sided</h2>
<p>A typical way is just sending the page to get printed two-sided (with setting
the correct way of flipping pages). That is, on the other side of page 1 is
page 2, next sheet contains pages 3,4, then 5 &amp; 6, …</p>
<p>This is usually trivial to print on duplex printers, a bit hard to simulate on
one-sided printers (but some drivers can do that) and has drawbacks when you
need to look at stuff on other pages at the same time you need to flip the
sheet often, as you only can put half of the pairs of pages next to each other
(even one and the following odd one).</p>
<div class="figure">
<object data="./images/mobius-print/twoside.svg" style="width: 66%;" type="image/svg+xml"></object>
<p class="caption">Ordinary two-sided printing. Red arrows show sheet flips between consecutive
pages.</p>
</div>
<p>A slight improvement hack is putting two pages on the same side of the paper
(works well with A-series of papers, I don't know for Letters &amp;co.) you can
put up to four pages of the original document next to each other, if they are
the right ones, but there are still pairs of pages that need turning sheets.
Also only works if the original pages do not have too tiny features on them.
<a class="footnote-reference" href="#illustrations" id="footnote-reference-1">[1]</a></p>
<p>Booklets are fun and approachable, but still suffer from the same issues as the
conventional duplex print. They might be a bit hard to print, but programs like
<tt class="docutils literal">pdfbook</tt> or <tt class="docutils literal">paperjam</tt> make it easy to prepare for the classic duplex
printing. Also, it is maybe hard to tell which page ends up where, as the order
is: last+first, second+penultimate, third-from-end+third, … until the pages
meet in the middle.</p>
<div class="figure">
<object data="./images/mobius-print/booklet.svg" style="width: 66%;" type="image/svg+xml"></object>
<p class="caption">The most common booklet order with two pages per side for landscape
orientation. (Note that we show more pages, and thus more sheet-flips; the
number of sheet-flips is in fact the same as for two-sided printing.)</p>
</div>
</div>
<div class="section" id="the-improvement-for-seeing-multiple-consecutive-pages">
<h2>The improvement for seeing multiple consecutive pages</h2>
<p>In order to be able to look simultaneously at many consecutive pages of the
original, I think the order of first+first-past-half, second+second-past-half,
… middle+last is much better (or maybe even the best). Since consecutive pages
end up on different sheets (whenever there are at least three pages), if the
original has e.g. figures on different page or long code listing, you can see
it all!</p>
<div class="figure">
<object data="./images/mobius-print/mobius.svg" style="width: 66%;" type="image/svg+xml"></object>
<p class="caption">The &quot;Möbius order&quot; of pages.</p>
</div>
<p>And this is really easy to use: You read a page and when you don't need it
anymore, you flip it and put to the end of the page stack <a class="footnote-reference" href="#ordering" id="footnote-reference-2">[2]</a>. If you
need to look at several pages, just rotate them in the same order as they go the
first time. <a class="footnote-reference" href="#mistake" id="footnote-reference-3">[3]</a></p>
<p>Need to print this? For one-sided printers this is rather easy, too: just print
the first half (the bigger one) on the sheets, then put them back into the tray
and print the rest on them. You might need to experiment which side the sheets
should be put in and whether you need to print the rest in reverse order, but
that is it.</p>
<p>Got the pages shuffled? Sort them by the first half, as if the print was
one-sided.</p>
<p>The only annoying thing for me is that there is not much software that could
reorder the pages for two-sided printing, so that you don't need to re-insert
the sheets back in the tray. So I <a class="reference external" href="./images/mobius-print/interleave.patch">patched</a> <a class="reference external" href="https://mj.ucw.cz/sw/paperjam/">paperjam</a> to enable this. <a class="footnote-reference" href="#multi-mobius" id="footnote-reference-4">[4]</a></p>
<p>And the best part? If you would try to glue consecutive pages side-to-side,
you'd end up with a Möbius band! So if you get a Möbius paper, you can just
print this one-sided (duh :-D)</p>
</div>
<div class="section" id="honorable-mention-leporello">
<h2>Honorable mention: leporello</h2>
<p>Printing leporellos (aka concertina folded) also has many of the same benefits,
since there is only one pair of consecutive pages that need a page flip. The
order is first+last, second+penultimate, … and the original pages can be
shuffled this way with <tt class="docutils literal">paperjam</tt> or simply using the other order for the
second side printing, than for the Möbius band. But there is a bit of fun
topology missing here :-)</p>
<div class="figure">
<object data="./images/mobius-print/leporello.svg" style="width: 66%;" type="image/svg+xml"></object>
<p class="caption">A leporello order is also quite good, with only one sheet-flip in the entire
document.</p>
</div>
</div>
<div class="section" id="is-this-the-best-order">
<h2>Is this the best order?</h2>
<p>Yes, if &quot;best&quot; means &quot;the minimum difference of numbers of pages that get put
on the same sheet is as big as possible&quot;. The proof is left as an exercise for
the reader.</p>
<!-- Hint: you cannot pair the middle page to anything else to get a better
result. -->
<p>Of course, this holds for a set of pages with no additional assumptions. In
ordinary print, having a sheet-turn between chapters is fine and under similar
guarantees other approaches may yield better results.</p>
</div>
<div class="section" id="cheat-sheet-paperjam-commands">
<h2>Cheat sheet: paperjam commands</h2>
<table border="1" class="docutils">
<caption>Various commands for ordering pages for duplex printing with paperjam.</caption>
<thead valign="bottom">
<tr><th class="head">Order</th>
<th class="head">Command</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Classic two-sided</td>
<td><tt class="docutils literal">null</tt></td>
</tr>
<tr><td>Two pages per side</td>
<td><tt class="docutils literal">nup(2)</tt></td>
</tr>
<tr><td>Booklet</td>
<td><tt class="docutils literal">book</tt> (follow with <tt class="docutils literal">nup(2)</tt> for actual booklet print)</td>
</tr>
<tr><td>Leporello</td>
<td><tt class="docutils literal">modulo(2) {1 2} modulo(1,half) {1 <span class="pre">-1}</span></tt> (The first <tt class="docutils literal">modulo</tt> just adds blank pages to the end.)</td>
</tr>
<tr><td>Möbius (with patch)</td>
<td><tt class="docutils literal">interleave(2)</tt></td>
</tr>
<tr><td>Möbius (known page count)</td>
<td><tt class="docutils literal">select <span class="pre">{1..5</span> <span class="pre">10..6}</span> modulo(1,half) <span class="pre">{1,-1}</span></tt></td>
</tr>
<tr><td>Multiple Möbius bands, odd-even</td>
<td><tt class="docutils literal">modulo(4) {1 3 2 4}</tt></td>
</tr>
<tr><td>Multiple bands, &quot;modulo 3&quot;</td>
<td><tt class="docutils literal">modulo(6) {1 4 2 5 3 6}</tt></td>
</tr>
<tr><td>Second half (smaller) of pages in reverse order</td>
<td><tt class="docutils literal">modulo(1,half) <span class="pre">{-1}</span></tt></td>
</tr>
<tr><td>Second half (smaller) of pages in normal order</td>
<td><tt class="docutils literal">modulo(1,half) <span class="pre">{-1}</span> modulo(1) <span class="pre">{-1}</span></tt></td>
</tr>
<tr><td>First half (bigger) of pages</td>
<td><tt class="docutils literal">modulo(2) {1 2} modulo(1,half) {1}</tt></td>
</tr>
</tbody>
</table>
<p>I might create more patches for avoiding the weird <tt class="docutils literal">modulo</tt> commands…</p>
<hr class="docutils" />
<table class="docutils footnote" frame="void" id="illustrations" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-1">[1]</a></td><td>Most of the figures in this article are drawn with a single
page per a side of a sheet. I consider putting more pages on a single side
of paper to be an implementation detail, because it is not always possible
(e.g. with too small font) and sometimes you could put more than two pages
on a single side of paper, which leads to the fact that if you put
everything on one side of the paper, you can see everything at once and save
the other side. Not very useful though… My only exception is the booklet
printing below, because that one seems to be rather common.</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="ordering" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-2">[2]</a></td><td>See how this neatly puts the first-past-half page right after
the half of the stack? Awesome!</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="mistake" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-3">[3]</a></td><td>Also, if you flip the page around the wrong edge, you can just
rotate the rest of the stack and end up with the correct orientation.</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="multi-mobius" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-4">[4]</a></td><td>A slight variation for which I can generate the order
with upstream <tt class="docutils literal">paperjam</tt> is using this order on small subsets of pages.
For example, if you only want to be able to see any two consecutive pages,
you can do this for just four pages the order is then 1+3, 2+4, 5+7, 6+8,…
Since each sheet either contains two odd or two even pages, the following
page is on different sheet than the previous one. And you can do this
&quot;modulo 3&quot; to see three pages: 1+4, 2+5, 3+6, 7+10, … This &quot;simulates&quot;
multiple smaller Möbius bands, but will be probably harder to use.</td></tr>
</tbody>
</table>
</div>
</div>
</main>
</div> <!-- #main -->
<footer>
<hr>
Written using Pelican 4.9.1 by LEdoian.
</footer>
</body>
</html>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<meta name=generator content="Pelican 4.9.1">
<meta name=author content="LEdoian">
<meta name=description content="My personal webpage">
<meta name=referrer content=no-referrer>
<link rel=stylesheet href="../theme/css/theme.css">
<title>Tag: lifehack LEdoian's Blog</title>
</head>
<body>
<header>
<h1>LEdoian's Blog</h1>
</header>
<div id=main>
<nav>
<div>
<!-- Main navigation -->
<!-- TODO! -->
</div>
<div>
<h2>Categories</h2>
<ul>
<li><a href="../category/networking.html">networking</a></li>
<li><a href="../category/talks.html">talks</a></li>
<li><a href="../category/technology.html">technology</a></li>
<li><a href="../category/til.html">til</a></li>
</ul>
<h2>Tags</h2>
<ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li>
<li><a href="../tag/dns.html">dns</a></li>
<li><a href="../tag/meta.html">meta</a></li>
<li><a href="../tag/infrastructure.html">infrastructure</a></li>
<li><a href="../tag/smrst.html">smršť</a></li>
<li><a href="../tag/trains.html">trains</a></li>
<li><a href="../tag/software-engineering.html">software-engineering</a></li>
</ul>
</div>
<div>
<h2>Stalk me also at</h2>
TODO!
<h2>I stalk</h2>
TODO!
</nav>
<main>
<div>
<h1>Articles tagged with lifehack</h1>
<ul> <li><a href="../mobius-print.html">Print your stuff on Möbius bands!</a>
</ul>
</div>
</main>
</div> <!-- #main -->
<footer>
<hr>
Written using Pelican 4.9.1 by LEdoian.
</footer>
</body>
</html>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<meta name=generator content="Pelican 4.9.1">
<meta name=author content="LEdoian">
<meta name=description content="My personal webpage">
<meta name=referrer content=no-referrer>
<link rel=stylesheet href="../theme/css/theme.css">
<title>Tag: print LEdoian's Blog</title>
</head>
<body>
<header>
<h1>LEdoian's Blog</h1>
</header>
<div id=main>
<nav>
<div>
<!-- Main navigation -->
<!-- TODO! -->
</div>
<div>
<h2>Categories</h2>
<ul>
<li><a href="../category/networking.html">networking</a></li>
<li><a href="../category/talks.html">talks</a></li>
<li><a href="../category/technology.html">technology</a></li>
<li><a href="../category/til.html">til</a></li>
</ul>
<h2>Tags</h2>
<ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li>
<li><a href="../tag/dns.html">dns</a></li>
<li><a href="../tag/meta.html">meta</a></li>
<li><a href="../tag/infrastructure.html">infrastructure</a></li>
<li><a href="../tag/smrst.html">smršť</a></li>
<li><a href="../tag/trains.html">trains</a></li>
<li><a href="../tag/software-engineering.html">software-engineering</a></li>
</ul>
</div>
<div>
<h2>Stalk me also at</h2>
TODO!
<h2>I stalk</h2>
TODO!
</nav>
<main>
<div>
<h1>Articles tagged with print</h1>
<ul> <li><a href="../mobius-print.html">Print your stuff on Möbius bands!</a>
</ul>
</div>
</main>
</div> <!-- #main -->
<footer>
<hr>
Written using Pelican 4.9.1 by LEdoian.
</footer>
</body>
</html>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="../tag/lifehack.html">lifehack</a></li>
<li><a href="../tag/print.html">print</a></li>
<li><a href="../tag/comics.html">comics</a></li> <li><a href="../tag/comics.html">comics</a></li>
<li><a href="../tag/software.html">software</a></li> <li><a href="../tag/software.html">software</a></li>
<li><a href="../tag/ipv6-only.html">ipv6-only</a></li> <li><a href="../tag/ipv6-only.html">ipv6-only</a></li>

@ -35,6 +35,8 @@
<h2>Tags</h2> <h2>Tags</h2>
<ul> <ul>
<li><a href="./tag/lifehack.html">lifehack</a></li>
<li><a href="./tag/print.html">print</a></li>
<li><a href="./tag/comics.html">comics</a></li> <li><a href="./tag/comics.html">comics</a></li>
<li><a href="./tag/software.html">software</a></li> <li><a href="./tag/software.html">software</a></li>
<li><a href="./tag/ipv6-only.html">ipv6-only</a></li> <li><a href="./tag/ipv6-only.html">ipv6-only</a></li>

Loading…
Cancel
Save