Ausdrucke, in unseren Breiten mit schöner Langweiligkeit Seite per Seite auf je einem A4-Blatt platziert, haben im Alltag ja durchaus ihre Berechtigung. Doch wenn man der Liebsten die selbstgeschriebene Gedichtsammlung verehren möchte, dann sollte dabei doch wenigstens ein hübsches A5-Heft, doppelseitig bedruckt, heraus kommen.
Weniger romantische Gründe hat die Papiersparerin: Die 100-seitige Diplomarbeit zum Korrekturlesen auszudrucken, schont auf dem heimischen Zwei-Seiten-je-Minute-Tintenspritzer weder die Nerven (Tinte wie Papier sind teuer, von Zeit ganz zu schweigen), noch motiviert der resultierende Papierberg sonderlich zum Durcharbeiten. Psychologisch gesehen macht sich ein dünnerer Stapel besser. Ob es also Bäume, Arbeitseifer oder Nerven zu schonen gilt – mehrere logische Seiten auf einem A4-Blatt unterzubringen ist durchweg eine gute Idee.
Alles auf ein Format
Wie gut, dass mit PostScript ein einheitliches Format existiert, durch das (fast) alle Drucksachen unter Linux hindurch müssen: Als PostScript-Datei werden sie von den Applikationen an die Druckmaschinerie übergeben, und als solche kann man sie auch von Hand über den lpr-Befehl zum Inhalt eines Druckauftrags machen.
Über das berühmt-berüchtigte "Drucken in Datei" erhält man aus jeder Textverarbeitung (und natürlich auch aus anderen Applikationen wie Webbrowsern, dem von LaTeX-Schreiberlingen benutzten dvips u.a.) eine PostScript-Datei, die sich vor dem tatsächlichen Ausdruck weiter verarbeiten lässt.
Wer jetzt denkt, PostScript als Programmiersprache, das müsste doch auch "von Hand" mit einem Editor in Form zu bringen sein, der oder die hat zwar nicht unbedingt Unrecht, doch ein Blick in den PostScript-Code (z.B. mit less dateiname.ps und einem q wie "quit" zum Schließen, wenn der Schmerz nachgelassen hat) dürfte klar machen: Das ist nichts, was in einen einzigen Artikel passt.
Was wir brauchen sind also Werkzeuge, die PostScript als Eingabeformat nehmen, mehrere bisherige Seiten auf eine packen, ggf. nach unseren Vorgaben umordnen und am Ende wieder PostScript ausspucken.
Auf Werkzeugsuche
Mal sehen, ob unsere schlauen Manpages da was für uns im Angebot haben: man -k (-k wie "keyword", Schlüsselwort), das zumeist auch unter dem Namen apropos anzutreffen ist, sollte uns hier zumindest Aufschluss darüber erteilen, ob es sich überhaupt lohnt, die Aufgabe mit installierten Bordmitteln in Angriff zu nehmen.
[trish@lillegroenn answergirl]$ apropos postscript[…] mpage (local) - print multiple pages per sheet on PostScript printer[…] pstops (1) - shuffle pages in a PostScript file
Obwohl ein ganzer Haufen Tools sich in irgendeiner Weise mit Umwandlungen von und nach PostScript beschäftigt, bleibt nach eingehender Lektüre der Kurzbeschreibungen nicht mehr so viel übrig – und es ist nicht einmal gesagt, dass Ihre Distribution und Ihr Installationsumfang genau das ausspuckt, was Sie oben sehen.
Wie die Nachfrage beim Paketmanager ergibt, steckt pstops im Paket psutils (das die meisten Distributionen mitliefern, im Zweifelsfall ist es z.B. unter http://rpmfind.net/linux/rpm2html/search.php?query=psutils zu finden):
[trish@lillegroenn answergirl]$ rpm -q -f `which pstops` psutils-1.17-3
Der "Red Hat Packet Manager" nimmt Anfragen ("queries") mit der Option -q entgegen. Was wir von ihm wissen wollen, sagen wir ihm mit -f: in diesem Fall, zu welchem Paket das anschließend angegebene File gehört.
Da eine Datei nur dann eindeutig spezifiziert ist, wenn nicht nur ihr Name (pstops), sondern auch der zugehörige Verzeichnispfad angegeben wird, reicht es nicht, einfach -f pstops zu sagen. Bei im Suchpfad vorhandenen Programmen bekommt man jedoch mit which programmname heraus, wo sie zu finden sind. Schließen wir dieses Kommando in Backquotes (``) ein, so wertet es die Shell zuerst aus und setzt das Ergebnis (bei den meisten Distributionen /usr/bin/pstops) ins Querykommando ein, sodass wir tatsächlich nach rpm -q -f /usr/bin/pstops fragen.
mpage hingegen steckt zumeist in einem gleichnamigen Paket, das im Zweifel z.B. unter http://rpmfind.net/linux/rpm2html/search.php?query=mpage zu bekommen ist.



