Sie sind hier

Ausgabe als pdf

Hi, nachdem nun die DA fertig ist und auch soweit gedruckt möchte ich die pdf als Anhang in einer email verschicken. Leider ist sie völlig zu groß. Wie kann ich es einstellen, daß beim Ausdruck als pdf gleich eine Version mit geringerer Dateigröße entsteht?

Vielen Dank für euren Rat und Hilfe, Sina

forum: 

Versuch mal \pdfcompresslevel=9 und schau, was sich an der Dateigröße ändert. Eventuell kannst Du auch alle Grafiken zusätzlich in einer geringer aufgelösten Version erstellen (Stichwort: Imagemagick convert) und diese einbinden.

Bild von Markus Kohm

Das könnte sich zusammen mit Uwes Hinweis stark auf die Größe auswirken.

O.K., das hat nichts mehr mit KOMA-Script zu tun. Aber ich bin ein Spielkind und lud mir von
hier

das Archiv pdftex 1.40.7 ... herunter. Das Programm daraus "build.sh" lief durch. Ich habe dann die enstandenen binaries und pdftex.pool ausgetauscht, texconfig-sys init laufen lassen und erhielt dann beim nächsten latex-Lauf die merkwürdige Meldung:
latex.fmt doesn't match pdftex.pool (Fatal format file error; I'm stymied)

Ich habe TeXlive 2007 unter Linux (OpenSuse 10.3) installiert und bin nun ratlos. Unter anderem frage ich mich, ob ich die Frage nicht gleich besser auf dctt stelle oder noch besser die Bastelei einstelle, weil ohnehin bereits pdftex in der Version 1.40.3 läuft. Aber mich treibt die Hoffnung auf kleinere pdfs...

Gruß,
Alexander

Bild von Markus Kohm

Die Formate können nur mit der pool-Datei verwendet werden, mit der sie erzeugt wurden. Das ist einer der Gründe, warum die Format-Dateien nicht vom Binary unabhängig sind. Anschließend kontrollieren, dass die Benutzer nicht versehentlich ihre eigenen Formate verwenden. Das passiert besonders gerne, wenn nach der TeX-Installation nicht gleich die Formate per texconfig-sys erzeugt wurden. Dabei auch gleich mal mit kpsewhich -var-value=TEXMFVAR nachfragen, welches TEXMFVAR-Verzeichnis für den Benutzer verwendet wird und sich wundern, was dort alles rumgammelt. Häufig ist es eine gute Idee, das Verzeichnis einfach zu löschen.

Und dann gibt es da noch ein grundsätzliches Problem mit den texlive-Paketen von openSuSE 10.3. Die sind brauchbar, solange man nicht davon ersetzen will. Sobald man das will, rächt sich, dass der Maintainer bei openSuSE die Verzeichnisse aus TeX-Live-Original neu geunordnet hat und dabei leider absolut nicht verstanden hatte, warum es mehrere TEXMF-Bäume gibt und welches ihre jeweilige Bedeutung ist und warum sie in einer bestimmten Reihenfolge durchsucht werden.

Empfehlung: TeX-Live-Original installieren.

Rolf und ich haben übrigens versucht, den Maintainer bei openSuSE davon zu überzeugen, dass es besser wäre, ein Paket zu schnüren, das einem Original-TeX-Live möglichst genau entspricht. Leider scheint uns das nicht gelungen zu sein. Ebenso war es nicht möglich, ihn davon zu überzeugen, ein Projekt dafür anzulegen, an dem wir aktiv hätten mitwirken können. Seither verwende ich meine eigenen rpms für TeX-Live (Nachfrage zwecklos, weder CTAN noch ich verfügen über einen Server, der dafür über die notwendige Bandbreite und Kapazität verfügt &endash; es geht immerhin um über 1/2 GB je Architektur und Download).

Danke Dir 'mal wieder. Ich habe unter TEXMFHOME meine Schriften installiert, um sie über etwaige Neuinstallationen der Systempartition hinwegzuretten. Wenn ich $HOME/.texlive umbenenne, sind auch die Schriften weg und ich muss sie neu mit updmap --enable Map xyz einbinden. Da es aber mehrere sind (private, geschäftliche, Nebenjobs...), ist mir die Mühe zu viel.

Genau in diesem Ordner sind aber die "alten" Dateien latex.fmt etc. Ich hoffe mal, dass der Unterschied zwischen pdftex 1.40.3 und .7 nicht so groß ist und gebe hiermit auf.

Der Tip mit

\pdfminorversion=5
\pdfobjcompresslevel=3

war gut, offensichtlich kann auch kpdf mühelos pdf Version 1.5.

Ich schau' mal, ob ich den Maintainer bei Suse herauskriegen, kontaktieren und ihm klar machen kann, was er da für einen Haufen unnötiger Arbeit und Ärger bei seiner Kundschaft erzeugt. Viel Hoffnung habe ich nach der Mühe von Rolf und Dir nicht, aber vielleicht muss er's ja dreimal hören.

Gruß,
Alexander

Bild von Markus Kohm

Wenn Du die Formate unterhalb des HOME-Verzeichnisses wegwirfst und als root mit den *-sys-Tools neue erzeugen lässt, sollte das ausreichen. Dann hast Du natürlich noch das Problem, dass Du offenbar als Benutzer updmap verwendet hast statt als root updmap-sys und deshalb die ganzen map-Dateien bei Dir im Benutzer-Verzeichnis herumgammeln statt für alle Benutzer zur Verfügung zu stehen. Da gibt es natürlich auch einen Trick. Du kopierst als root als map-Dateien des Benutzers an die korrespondierenden SYS-Orte.

Wenn tatsächlich alle Deine TEXMFVAR-Dinge zu Allgemeingut werden sollen, dann sollte folgendes als root die einfachste Lösung sein:

tar c -C `sudo -u <em>cookie</em> kpsewhich -var-value=TEXMFVAR` -f - --owner=root --group=root --mode=a+r . | tar x -v -C `kpsewhich -var-value=TEXMFSYSVAR` -f -

Achtung, das ist in Wirklichkeit nur eine Zeile! Ich habe hier den Umbruch nur erlaubt, weil sonst der ganze Text unlesbar breit wird. Dabei musst Du natürlich cookie durch Deinen wirklichen Benutzername ersetzen.

WARNUNG: Das funktioniert nur, wenn kpsewhich -var-value=TEXMFSYSVAR (als root) und kpsewhich -var-value=TEXMFVAR (als Benutzer) wirklich etwas korrektes ausgeben! Ich habe keine openSuSE-texlive-Installations mehr vorrätig, so dass ich das nicht ausprobieren kann.

Eventuell ist danach noch ein texhash als root fällig.

Danach kannst Du dann den Inhalt Deines lokalen TEXMFVAR löschen (nein, natürlich besser umbenennen!) und verwendest ab sofort TEXMFSYSVAR. Jetzt fehlt natürlich noch, dass Du nochmal mit den SYS-Tools die Formate neu erzeugst, weil die ja noch für das alte pdfTeX sind (falls Du die nicht ohnehin bereits gelöscht hattest).

Achja: Der Unterschied zwischen pdftex 1.40.3 und 1.40.7 ist nicht so groß, solange man nicht gerade das Pech hat, auf einem der behobenen Bugs aufzusitzen.

Ich komme gerade nicht zu ausführlicheren Experimenten und muss Deinen Vorschlag erstmal durchdenken (wahrscheinlich sowieso die richtige Reihenfolge). Ich verwende ein Notebook, also ein Einzelplatzsystem, alleine. Andere Nutzer gibt's nicht. Es läuft unter OpenSuse 10.3

  1. Es gibt regelmäßige Updates des Systems (neue Distri-Version oder neue TeXlive-Version). Bei einem OS-Update sind neu:

    • das OS selbst, sowie
    • die systemweiten Nutzerprogramme, also auch die TeX-Installation, soweit ich die von OpenSuse übernommen habe.
  2. Nicht überschrieben wird $HOME.
  3. Wenn aber TEXMF-Local irgendwo im Systembaum liegt -- bei mir konkret unter /usr/local/texlive --, dann wird wahrscheinlich auch dieses Verzeichnis plattgemacht. Weiß ich aber gerade nicht.
  4. Wenn ich texlive (neu) installiere, passiert in Bezug auf TeX das gleiche: die Systemordner werden überspielt. Es gibt also keinen wesentlichen Unterschied zum Distri-Update.
  5. Meine Schriften würde ich gerne unabhängig von der Distribution behalten und nicht jedesmal alle neu installieren. Für Fonts braucht man offensichtlich drei Arten von Dateien:
    • die eigentlichen Schriftdateien sammt Metriken etc. Die unter $HOME/texmf zu behalten scheint kein Problem zu sein.
    • die Map-Dateien. Hier muss man wieder unterscheiden, oder: Es gibt die Legion von map-Daten und -Dateien, die mit der Tex-Installation kommen und die Handvoll, die ich im Lauf der Zeit als User installiert habe.
      • System-Map-Dateien sollten nicht lokal gespeichert werden, denn bei einem update knallts ansonsten.
      • Map-Dateien des Users müssen lokal bleiben, sonst muss ich bei einem Update alles neu installieren.

      Richtig?

    • Und jetzt etwas neues: bestimmte Systemdateien werden nicht in $HOME/texmf/ abgelegt, sondern -- bei texlive -- unter $HOME/.texlive/ Diese Dateien werden mir spätestens beim nächsten Update des OS oder von Texlive Ärger bereiten.
  6. Schlussfolgerung: Mein eigentlicher Fehler lag darin, auf irgendeine Weise ein lokales /.texlive - Verzeichnis angelegt zu haben. Das muss ich loswerden!?

Oh, das ist noch nicht so strukturiert, sondern laut gedacht. Ich muss die Installationsanleitung von texlive nochmal genau lesen. Ich werde dann wohl in nächster Zeit versuchen, diesen Fehler mit dem lokalen /.texlive-Verzeichnis zu korrigieren, entsprechend Deinem gleich gegebenen Tip. Denn früher oder später gibt das ohnehin ein Problem.

Also, wenn's nicht klappt, melde ich mich,
Gruß,
Alexander

Bild von Markus Kohm

Für kleine PDF-Dateien sollte pdfTeX 1.40.3 (aus Original-TeX-Live 2007) ausreichen. Insbesondere, wenn man \pdfobjcompresslevel=3 setzt und PDF 1.5 erzeugt.

Ich habe auf meinem Bürorechner MikTeX auf den Stand 2.7 gebracht und dann festgestellt, dass die pdfs auch nicht soviel kleiner werden mit einer neueren pdftex-Version als hier unter Linux.

Daher werde ich auf TeXLive 2008 warten und bei der Gelegenheit alles neu, aber systematisch installieren. Hoffentlich.

Gruß,
Alexander

Comments for "Ausgabe als pdf" abonnieren