Bilder als PDFs erstellen mit FreePDF XP
Latex galt lange Zeit als schwierig, wenn es um das Einbinden von Bildern ging. Das hat sich in den letzten Jahren wesentlich gebessert. Idealerweise bindet man Grafiken immer im PDF Format ein. Wie das Einbinden einer Grafik im PDF Format geht, steht schon an anderer Stelle des Latex Tutorial. Leider gibt es nur relativ wenige Programme, die auch PDFs erzeugen können. Auf dieser Seite zeige ich, wie man mit einem kleinen Hilfsprogramm trotzdem mit fast jeder Windows Anwendung ein PDF erzeugen kann.
Zunächst ein wenig zum Hintergrund, warum man ein Bild als PDF einbinden sollte. Es gibt prinzipiell 2 Arten von Bildformaten: Vektorgrafiken und Rastergrafiken. Eine Digitalkamera erzeugt eine Rastergrafik. Die Rastergrafik hat eine bestimmte Größe und besteht aus einer endlichen Anzahl von Punkten. Die Grafikdatei speichert die Farbe jedes einzelnen Punktes. Typische Dateiformate sind JPG, BMP, GIF oder PNG.
Vektorgrafiken hingegen haben keine festgelegte Größe, sondern lassen sich beliebig vergrößern und verkleinern (skalieren). Während bei einer Rastergrafik die Darstellung unscharf bzw. pixelig wird, wenn man die Grafik zu stark vergrößert, gibt es bei einer Vektorgrafik keinen qualitativen Unterschied - egal wie groß das Bild ist. Die Vektorgrafik speichert das Bild nicht als eine endliche Anzahl von Farbpunkten, sondern als eine Sammlung von geometrischen Konstrukten. Ein Kreis wird etwa durch einen Mittelpunkt und den Radius abgespeichert. Vergrößert man die Vektorgrafik, dann wird der Radius einfach mit vergrößert und es ergibt sich genau die gleiche Darstellung. Typische Formate für Vektorgrafiken sind EMF, EPS, PS, PDF und SVG.
Es gibt prinzipiell nur 2 Gründe, warum man für eine wissenschaftliche Arbeit Rastergrafiken benutzen sollte. Grund 1 ist, wenn man ein Bild einbinden möchte, was mit einer Digitalkamera gemacht wurde. Die Realität ist leider keine geometrische Komposition und man kann sie deshalb auch nicht als Vektorgrafik einfangen. Grund 2 sind Bildschirmfotos. Möchte man z. B. von einem Programmfenster einen Abschuss in seiner Arbeit einbinden, dann geht dies wiederum nur über eine Rastergrafik. Erstellt man hingegen selbst eine neue Grafik, etwa ein Diagramm oder eine schematische Übersicht für einen Sachverhalt, so sollte man das Ergebnis unbedingt als Vektorgrafik abspeichern. Nutzt man zum Beispiel Microsoft Powerpoint, so sind die damit erzeugten Bilder Vektorgrafiken, die man direkt als EMF Datei exportieren kann.
Wenn Latex direkt EMF Dateien einbinden könnte, dann gäbe es kein Problem. Man könnte mit Powerpoint seine Grafik erzeugen, als EMF speichern und in die Arbeit einbinden. Leider unterstützt Latex aber das EMF Format nicht. Latex kann nur die anderen Formate wie EPS, PS, PDF und SVG direkt einbinden. Allerdings werden Dateien in diesen Formaten vor dem Einbinden automatisch in PDFs umgewandelt (außer sie liegen bereits als PDF vor). Bei dieser Umwandlung kann es zu Fehlern kommen, die zu einer schlechteren Qualität der Grafik führen können. Um dieses Problem zu umgehen, sollte man deshalb Grafiken gleich als PDFs erzeugen.
Vektorgrafiken gleich als PDFs zu erzeugen ist leichter gesagt als getan, da die wenigsten Programme das PDF Format unterstützen. Es gibt aber einen Trick, wie man mit jeder Windows Anwendung, mit der man auch seine Grafik drucken kann, trotzdem ein PDF erzeugen kann.
Die Lösung ist ein spezieller Druckertreiber. Druckt man die Datei mit diesem Drucker, dann kommt kein Papier raus, sondern es wird eine PDF Datei erzeugt. Es gibt verschiedene PDF Drucker. Der bekannteste ist sicher der Acrobat Distiller. Dieser ist aber sehr teuer und deshalb keine Lösung für den studentischen Geldbeutel. Ich persönlich habe sehr gute Erfahrungen mit dem kostenlosen Programm FreePDF XP gemacht. Dessen Nutzung zur Erstellung von PDFs möchte ich deshalb hier vorstellen.
Damit FreePDF XP funktioniert, muss man zusätzlich auch GhostScript installiert haben. Wie das geht und wo man die benötigten Dateien herbekommt, steht alles auf der Seite von FreePDF XP.
Nach der Installation hat man einen neuen (virtuellen) Drucker unter Windows. Wenn man ein Bild druckt, dann wird ein PDF erzeugt. Bevor wir in die Details gehen, sollte man zunächst mal ein PDF zum Test erzeugen. Dazu vielleicht einen Text in Microsoft Word öffnen und als PDF drucken. Druckt man eine Seite mit dem FreePDF XP Drucker, dann erscheint nach kurzer Zeit folgender Dialog, in dem man noch ein paar weitere Einstellungen machen kann, aber nicht muss. Meist reicht ein direkter Klick auf die Schaltfläche “Auf Desktop” und das fertige PDF wird auf dem Desktop abgelegt.
PDFs über diesen Weg zu erzeugen, ist sehr nützlich. Möchte man z. B. einer Person ein Dokument (Präsentation, Text) schicken ohne dass die Person das Dokument ändern kann, dann macht man vorher schnell ein PDF draus und verschickt dieses. Das ist zwar kein hundertprozentiger Schutz, aber wenn die Person nicht gerade die Adobe Acrobat Software hat, dann dürfte es reichen.
Eine Grafik wie ein Diagramm oder eine Skizze füllt selten ein ganzes Blatt aus. Druckt man eine solche Grafik als PDF, so erstellt FreePDF XP aber immer eine komplette DIN A4 Seite und platziert die Grafik auf dieser Seite. Es entstehen hässliche Ränder. Je nachdem, wie man die Grafik schiebt, kann man beeinflussen, wo der Rand entsteht. Hat man aber kein weiteres Werkzeug wie Adobe Acrobat, so kann man diesen Rand nicht entfernen. Hier eine Grafik, die die Randproblematik verdeutlicht:
Unsere eigentliche Grafik ist der bunte Kreis. Idealerweise sollte die Grafik auf den Bereich begrenzt sein, der durch die gestrichelte Linie markiert ist. Tatsächlich erstellt aber FreePDF XP eine ganze Seite und es entstehen die angedeuteten Ränder. Solch ein PDF können wir natürlich nicht in unser Latex Dokument einbinden, denn wir müssten sonst auch die Leerräume anzeigen. So würde die Bildunterschrift erst nach einem weißen leeren Raum im Dokument erscheinen, was natürlich sehr bescheiden aussieht.
Um die Ränder zu umgehen, gibt es mehrere Strategien:
- Wir entwerfen die Grafik so, dass sie immer die ganze Seite ausfüllt.
- Wir verkleinern die Seite, so dass sie nur noch so groß wie die Grafik ist.
- Wir belassen die Seite und Grafik so wie sie sind und drucken nur den Bereich, auf dem sich die Grafik befindet.
Ich denke es ist klar, dass Strategie 1 nicht wirklich eine Lösung ist, da es in den meisten Fällen nicht klappen wird, die Grafik genau auf die Größe der Seite anzupassen. Strategie 2 funktioniert dann gut, wenn das verwendete Programm es zulässt, die Seitengröße individuell einzustellen. Meiner Erfahrung nach klappt das sehr gut mit Powerpoint. In Powerpoint erstelle ich zunächst meine Grafik ohne mir Gedanken über das spätere PDF zu machen. Wenn ich fertig bin (und wirklich erst dann), passe ich die Seitengröße an, damit die Seite nur noch so groß wie meine Grafik ist. Leider gibt es dabei ein kleines Problem. Verkleinert man in Powerpoint die Seitengröße, so verkleinert Powerpoint automatisch alles, was sich auf der Seite befindet. Um das zu umgehen, legt man eine neue Powerpoint Datei an, passt die Größe dort an und kopiert die Grafik per Zwischenablage zwischen den beiden Powerpoint Dateien rüber. Das hört sich komplizierter an als es ist, dauert aber in der Regel nicht länger als 2 oder 3 Minuten.
Leider gibt es eine Vielzahl von Programmen, die es nicht erlauben, die Seitengröße so flexibel wie Powerpoint anzupassen. In diesem Fall hilft nur Strategie 3: Wir müssen nur den Bereich der Seite als PDF drucken, der auch wirklich unsere Grafik enthält. Damit das geht, verschieben wir unsere Grafik zunächst in die obere linke Ecke der Seite. Dann müssen wir die Seite so einrichten, dass es keine automatischen Ränder gibt bzw. die Ränder auf 0cm setzen. Dies geht leider in jeder Anwendung etwas anders, weshalb ich es hier nicht genauer beschreiben kann.
Nun rufen wir den Druckdialog auf, klicken aber nicht gleich auf OK, sondern wählen die Eigenschaften des FreePDF XP Druckers. Dies ist in folgender Grafik illustriert.
Es erscheint nun eine weitere Seite, die wir gar nicht beachten, sondern mit einem weiteren Klick auf “Erweitert…” direkt hinter uns lassen (siehe nächste Grafik).
Wir sind nun in einem weiteren Teildialog gelandet, in dem wir alle Einzelheiten unseres PDF Druckers konfigurieren können. Wir wollen die Papiergröße auf eine benutzerdefinierte Größe ändern. Klicken sie dazu auf die in der nächsten Grafik als ausgeklappt gezeigte Auswahlbox und dort auf den Eintrag “Benutzerdefinierte Seitengröße für PostScript”. Ist der Eintrag bereits ausgewählt, reicht ein Klick auf die Schaltfläche “Benutzerdefinierte Seite”.
Jetzt haben wir es fast geschafft! In diesem Dialog können wir nun endlich die Seitengröße einstellen. Die Seitengröße wird in Millimeter angegeben. Deshalb sind die Zahlenwerte oben links so hoch. Passen sie diese Werte entsprechend an. Am Anfang sollten sie nur einen der beiden Werte ändern, damit sie ein Gefühl dafür bekommen, was sie da eigentlich tun. Schließen sie den Dialog durch einen Klick auf die OK Schaltfläche. Anschließend werden ihnen wiederum alle Dialoge angezeigt, die sie vorher geöffnet haben. Schließen sie diese Dialoge ebenfalls mit OK und drucken sie dann das PDF.
Sie werden nun feststellen, dass das erzeugte PDF kleiner als A4 ist. Wahrscheinlich wird es im ersten Versuch nicht gelingen, den richtigen Wert für die Zahlen zu finden. Probieren sie ein wenig, normalerweise gelingt es nach dem vierten oder fünften Versuch.
Als Ergebnis sollten sie ein PDF bekommen, das genau auf die Größe ihrer Grafik abgestimmt ist und keine Ränder enthält. Dieses PDF können sie nun als Grafik in ihr Latex Dokument ohne weitere Konvertierung einbinden.