Home / LinuxUser / 2001 / 02 / The Answer Girl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(179 Punkte bei 5 Stimmen)
Bezahlstandard
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Geheftet

The Answer Girl

Drehen, schubsen, klein machen

Das ist schon einmal sehr schön, doch wie bekommen wir überhaupt zwei logische A4-Seiten auf eine? Ganz einfach, werden Sie sagen: Sie müssen lediglich um 90 Grad gedreht, um die Hälfte verkleinert und auf den richtigen Platz verschoben werden.

Leider entnehmen wir der Manpage zu pstops, dass diese Operationen immer in der Reihenfolge

  • Verschiebung um xoff in x-Richtung und yoff in y-Richtung,
  • 90-Grad-Rotation entgegen dem Uhrzeigersinn (L wie "links"), im Uhrzeigersinn (R – "rechts") oder 180-Grad-Rotation ("Umkehrung" – U) und ggf.
  • Skalierung auf scale der Ausgangsgröße ausgeführt werden.

Damit nehmen wir uns am besten ein paar Blatt A4-Papier zur Hand und spielen ein wenig mit den geometrischen Operationen.

Abbildung 3: 1. Schritt: horizontales Verschieben der A4-Seite

Legen wir das Blatt hochkant hin, wie es bei den meisten Druckern üblich ist: In diesem Format und an dieser Stelle müssen wir auch nach all den Transformationen wieder landen. Wenn wir uns entscheiden, das Blatt entgegen dem Uhrzeigersinn um die linke untere Ecke zu drehen, bleibt der linken unteren Ecke der zukünftigen linken Blatthälfte demnach nichts anderes übrig, als rechts unten zu landen. Dazu müssen wir das hochformatige Blatt zunächst horizontal verschieben, und zwar so weit, wie es breit ist (Abbildung 3).

Da ein A4-Blatt 21 cm breit und 29.7 cm hoch ist, erweitern wir unsere pagespecs für Vorderseiten zu

4:-3(21cm,0)+0

und für Rückseiten auf

4:1(21cm,0)+-2

Dann können wir ungestört wie in Abbildung 4 links herum um 90 Grad rotieren, was unsere pagespecs wie folgt erweitert:

4:-3L(21cm,0)+0
 4:1L(21cm,0)+-2

Abbildung 4: 2. Schritt: Rotation entgegen dem Uhrzeigersinn

Jetzt liegt die jeweils linke Seite so da, dass wir sie nur noch verkleinern müssen, damit sie am passenden Ort mit der passenden Größe zu liegen kommt. A5, die Zielgröße, ist halb so groß wie A4. Wer jetzt allerdings einfach Höhe und Breite halbiert, kommt – wie Abbildung 5 zeigt – zu einem falschen, da zu kleinen Ergebnis.

Das ist nicht verwunderlich, denn die Halbierung bezieht sich nicht auf die Seitenabmessungen, sondern auf den Flächeninhalt. Dummerweise interessiert sich pstops bei der Skalierung nicht um das Verhältnis der Flächeninhalte und will tatsächlich Seitenverhältnisse sehen, wobei unterschiedliche Skalierungen in x- und y-Richtung nicht möglich sind.

Ein Blick auf Abbildung 5 oder das "lebende Papier-Objekt" verrät zum Glück, dass die gedrehte Seite soweit verkleinert werden muss, dass die längere Seite der alten A4-Breite entspricht. Die Breite einer A5-Seite wiederum entspricht der Hälfte der A4-Länge, mithin 29.7/2 cm = 14.85 cm.

Setzt man die Breiten von A5 und A4 (14.85 cm : 21 cm) oder auch die Längen (21 cm : 29.7 cm) miteinander ins Verhältnis, so erhält man den Skalierungsfaktor 0.7. Abbildung 6 zeigt, dass wir damit genau richtig liegen und unsere Seitenspezifikationen somit wie folgt ergänzen können:

4:-3L@0.7(21cm,0)+0
 4:1L@0.7(21cm,0)+-2

Abbildung 5: Falsch: Verkleinern der Seitenabmessungen um die Hälfte

Abbildung 6: 3. Schritt: Verkleinern des Flächeninhalts um die Hälfte

Bleiben die rechten Seiten: Was Rotation und Skalierung betrifft, können wir alles beim Alten lassen:

4:-3L@0.7(21cm,0)+0L@0.7
 4:1L@0.7(21cm,0)+-2L@0.7

Wir müssen dazu lediglich unser A4-Blatt zu Beginn ein bisschen anders verschieben: nicht nur die 21 horizontalen Zentimeter, sondern auch noch um die Hälfte der A4-Länge (mithin 14.85 cm) nach oben (Abbildung 7).

Damit sehen unsere finalen pagespecs so aus:

4:-3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm)
 4:1L@0.7(21cm,0)+-2L@0.7(21cm,14.85cm)

Abbildung 7: Die Schritte 1 bis 3 für zukünftige rechte Seitenhälften

Gut gedruckt, Löwe

Menschen mit Druckern, die von sich aus doppelseitig ausdrucken, haben es jetzt gut, denn sie dürfen alle Seiten auf einmal in eine Datei schreiben:

pstops -pa4 "4:-3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),4:1L@0.7(21cm,0)+-2L@0.7(21cm,14.85cm)" gedichte.ps gedichteheft.ps

Als Seitengröße geben wir mit -p (wie "page") a4 an. Die Fehlermeldung

pstops: page specification error:
   <pagespecs> = [modulo:]<spec>
   <spec>      = [-]pageno[@scale][L|R|U][(xoff,yoff)][,spec|+spec]
                 modulo<=1, 0<=pageno<modulo

lässt uns jedoch aufschrecken und noch einmal gründlich die Manpage studieren. Tatsächlich, zum Kombinieren der Spezifikationen für Vorder- und Rückseiten in einer einzigen pagespec darf modulo: nur einmal zu Beginn auftauchen:

pstops -pa4 "4:-3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1L@0.7(21cm,0)+-2L@0.7(21cm,14.85cm)" gedichte.ps gedichteheft.ps

Die weniger glücklichen Benutzer(innen) einseitiger Drucker generieren zwei Dateien für die Vorderseiten…

pstops -pa4 "4:-3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm)" gedichte.ps gedichteheft-vorder.ps

… und die Rückseiten:

pstops -pa4 "4:1L@0.7(21cm,0)+-2L@0.7(21cm,14.85cm)" gedichte.ps gedichteheft-rueck.ps

… und müssen den Papierstapel des Ausdrucks lpr gedichteheft-vorder.ps noch einmal in den Papierbehälter einlegen. In Mehrbenutzerumgebungen empfiehlt es sich, damit bis zu einem Zeitpunkt zu warten, wo Ausdrucke von Mitbenutzer(innen) unwahrscheinlich sind, um nicht urplötzlich den Geschäftsbrief der Kollegin auf der Rückseite des heißesten Liebesgedichts zu finden.

Doch selbst wenn das Timing stimmt, gilt es, die richtige Lage des Papierbogens heraus zu finden – eine nicht immer einfache Aufgabe, der man am besten so begegnet, dass man gedichteheft-vorder.ps in gv o.ä. lädt, lediglich die erste Seite markiert (Abbildung 8) und nur diese mit Print Marked ausdruckt.

Abbildung 8: Mit dem dritten Markierungsbutton unterhalb von Redisplay markiert man in gv die ausgewählte Seite

Hat man heraus gefunden, wie sich die erste Seite von gedichteheft-rueck.ps auf dem so bedruckten Blatt korrekt abbilden lässt, kann man mit den ersten zwei Seiten den Test fahren, ob die mit gedichteheft-vorder.ps bedruckten Blätter auch wirklich so angeordnet sind, dass die Seiten in gedichteheft-rueck.ps wirklich auf den passenden Vorderseiten landen.

Stellt man hier fest, dass der Drucker die gedichteheft-vorder.ps-Seiten so ausspuckt, dass gedichteheft-rueck.ps besser mit der letzten Rückseite zuerst gedruckt wird, hilft z.B. mpage -r -1 -o.

Glossar

LaTeX

Eine professionelle Textsatzumgebung, bei der die Formatierungshinweise wie bei HTML als Klartext-"Befehle" in den ASCII-Dokumenttext geschrieben und von den Programmen latex resp. tex entsprechend den Regeln des Schriftsatzes umgesetzt werden. Besonders gut für wissenschaftliche Texte nahezu unbegrenzter Länge, aber auch für Briefe oder Folien geeignet.

dvips

Der dvi-nach-PostScript-Konverter erzeugt PostScript-Code aus dem von TeX/LaTeX generierten geräteunabhängigen ("device independent", daher der Name) dvi-Format. Meist ist dvips so vorkonfiguriert, dass ein dvips dateiname.dvi den PostScript-Code direkt an den Standarddrucker schickt. Mit der Option -o dateiname.ps erzwingt man in diesem Fall, dass dvips ihn stattdessen in die Datei dateiname.ps "druckt".

stdin

Die Standardeingabe, in der Shell normalerweise die Tastatur. Hier bei Netscape zeigt sich an dieser Angabe lediglich, dass die Druckaufbereitung nicht direkt von der dargestellten Datei aus-, sondern über Filter geht, deren Ausgabe wie in einer Pipe (|) als Standardeingabe für das nächste Kommando gilt.

[]

In der Backus-Naur-Schreibweise, in der Manpages im Abschnitt Synopsis die gesamte Syntax eines Kommandos auf einen Schlag angeben, sind Argumente in eckigen Klammern optional.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 108 Punkte (5 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Terminator
Viele Terminals im Griff mit Terminator
Tim Schürmann, 07.05.2013 10:57, 1 Kommentare

Wer morgens nach dem Einschalten des Rechners erst einmal mehrere Terminals öffnet und sich diese mühevoll auf dem Bildschirm drapiert, der sollte einen Blick auf Terminator werfen. Das kleine...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...