>Konfiguration

3. Konfiguration

3.1. Die Konfigurationsdatei

Einige Dinge können an dem Programm konfiguriert werden. Dies geschieht dauerhaft über die Konfigurationsdatei $HOME/.muttprintrc oder systemweit /usr/local/etc/Muttprintrc. Benutzereinstellungen überschreiben systemweite Einstellungen.

Zusätzlich kann mit der Option -r filename eine weitere Konfigurationsdatei angegeben werden, die dann als letztes eingelesen wird und auch Kommandozeilenparameter überschreibt. Dies eignet sich insbesondere zum Verwenden mehrerer Konfigurationsdateien und lässt sich z. B. gut mit irgendwelchen Hooks kombinieren.

Die Konfigurationsdatei ist so aufgebaut, dass verschiedenen Variablen Werte zugewiesen werden -- etwas anders als bei der .muttrc. Zuerst steht der Name der Variablen. Es wird zwischen Groß- und Kleinschreibung unterschieden; übernehmen Sie die Namen genauso wie in der Dokumentation geschrieben. Dann folgt ohne Leerzeichen das Gleichheitszeichen (=) und dann der Wert. Anführungszeichen (' oder ") sind optional.

Eine Beispielskonfigurationsdatei (sample-muttprintrc) wird mit dem Skript verteilt. Bei der Installtion der RPM oder Debian-Pakete ist sie bei der Dokumentation, also unter /usr/local/share/doc/muttprint/, zu finden.

Ein Beispiel für eine korrekte Zuweisung:

VARIABLE=Wert

Grundsätzlich funktioniert das Skript aber ohne Anpassungen, es gibt für jeden Wert Standardeinstellungen. Es empfiehlt sich aber, sich die Möglichkeiten der Anpassung anzuschauen.

3.1.1. Drucker

Soll nicht über den Drucker lp gedruckt werden, so kann dies über PRINTER eingestellt werden.

Um in eine Datei zu drucken, benutzen Sie folgenden Eintrag, wobei die Datei frei gewählt werden kann:

PRINTER="TO_FILE:/foo/bar/test.ps"

Beim Duplexdruck wird zusätzlich eine zweite Datei mit dem Zusatz 2 angelegt, also z. B. test.ps2.

3.1.2. Druckkommando

Standardmäßig verwendet Muttprint lpr zum Drucken. Soll stattdessen ein anderes Programm benutzt werden, kann die Variable PRINT_COMMAND gesetzt werden. Hierbei wird $PRINTER durch den angegebenen Drucker ersetzt. Der Standard lautet lpr -P$PRINTER.

Tip: Sie können gv - verwenden, um sich eine Druckvorschau anzuzeigen. Diese Option eignet sich gut zum Testen der verschiedenen Einstellungen.

3.1.3. Pinguin

Standardmäßig wird oben rechts ein kleiner Pinguin gedruckt. Soll ein anderes Bild gedrockt werden oder soll sich der Pinguin bei einer lokalen Installation an einem anderen Ort befinden, so kann dies über PENGUIN konfiguriert werden. Das Bild muss als Encapsulated PostScript vorliegen (ein geeignetes Umwandlungsprogramm wäre convert aus dem Image Magick-Paket) und wird auf 2 cm Höhe skaliert. Die Breite darf dabei dann nicht größer als 2 cm sein.

Mit dem Wert on versucht Muttprint, den Ort des Pinguins selbst herauszufinden. (Lesen Sie den Quellcode, wenn es Sie interessiert, wo Muttprint sucht.) Dies ist die Standardeinstellung.

Zusätzlich werden noch Beispielbilder mitgeliefert, die schon in das EPS-Format konvertiert vorliegen. Sie befinden sich nach der Installation in /usr/local/share/muttprint.

Soll der Druck der Grafik ganz ausgeschaltet werden, so kann PENGUIN auf den Wert off gesetzt werden.

3.1.4. Druck von X-Faces

X-Faces sind 48 x 48 Pixel große Schwarzweißbilder, welche in einem Header (dem X-Face:-Header) codiert mit jeder Nachricht verschickt werden können. Es handelt sich dabei aber um keinen „offiziellen“ Standard, dennoch hat sich dieser Header speziell in Newsartikeln verbreitet.

Muttprint unterstützt den Druck der Bilder anstelle des in der PENGUIN-Variablen spezifizierten Bildes, wenn ein solcher Header existiert. Dazu muss die Variable XFACE auf on gesetzt werden. Existiert kein solcher Header, dann wird das Bild (bzw. nichts) gedruckt.

Damit es funktioniert, werden folgende zwei Programme benötigt:

Beide Pakete sollten in größeren Linux-Distributionen enthalten sein und können einfach nachinstalliert werden.

Auf jeden Fall muss sichergestellt werden, dass dieser Header auch tatsächlich an Muttprint übergeben wird. In der oben gezeigten Mutt-Konfiguration (siehe Abschnitt 2.3.1) wird dies gewährleistet. Bei anderen Programmen sehen Sie bitte in der jeweiligen Dokumentation nach.

3.1.5. Duplexdruck

Muttprint ermöglicht manuellen Duplexdruck, indem es zuerst die ungeraden Seiten und dann die geraden Seiten druckt. Dazwischen wird eine kurze Pause eingelegt.

Um den Zeitpunkt zu berechnen, nachdem der Druck der geraden Seiten beginnen soll, muss Muttprint die Druckgeschwindigkeit kennen, siehe Abschnitt 3.1.7.

Um den Duplexdruck zu aktivieren, muss DUPLEX auf on gesetzt werden.

Wenn Sie einen echten Postscript-Drucker besitzen und dieser Duplexfähigkeiten besitzt, sollten Sie DUPLEX auf printer setzen. Dadurch wird der Postscriptcode verändert, so dass der Drucker angewiesen wird, die Duplexfähigkeit zu benutzen.

3.1.6. Papiersparmodus

Es ist möglich, zwei Seiten auf ein Blatt Papier im Querformat zu drucken, um Papier und Tinte einzusparen sowie die Druckgeschwindigkeit zu erhöhen. Dies ist eigentlich nur beim Papierformat DIN A4 sinnvoll, da dann genau zwei verkleinerte Seiten auf ein Blatt passen.

Um Papier zu sparen, wird die Variable PAPERSAVE auf on gesetzt.

Wenn der Papiersparmodus nur aktiviert werden soll, wenn mehr als eine Seite gedruckt wird, kann die Variable auf den Wert optional gesetzt werden.

3.1.7. Druckgeschwindigkeit

Wie vorher schon erwähnt wurde, benötigt Muttprint die Dauer, die der Drucker für eine Seite benötigt. Dies erfolgt mit über SPEED. Als Werte sind ganzzahlige Werte in Sekunden erlaubt (ohne Angabe der Einheit). Vorgabewert sind 30 Sekunden, also SPEED="30".

3.1.8. Schriftart

Der Ausdruck kann mit verschiedenen Schriften erfolgen. Dazu ist FONT gedacht. Der Wert Latex (Standardeinstellung) ist dabei der Standard-LaTeX-Font aus der EC-Familie. Mit Latex-bright wird die Schrift Computer Modern Bright verwendet. Diese Schrift ist aufgrund ihrer Lizenz auf aktuellen Debian-Systemen nicht verfügbar[1]

An Postscript-Schriften sind noch auch noch Times, Palatino, Utopia, Charter und Bookman möglich.

Natürlich müssen die Schriften auch auf Ihrem System installiert sein. Da aber auf Linux-Systemen die LaTeX-Distribution teTeX Standard ist, dürfte dies kein großes Problem sein.

3.1.9. Schriftgröße

Die Schriftgröß kann in begrenztem Umfang mit der Variable FONTSIZE konfiguriert werden. Möglich sind die drei Werte 10pt, 11pt und 12pt.

3.1.10. Formatierung des Mailtextes

Der eigentliche Mailtext wird von Muttprint in Text und Signatur aufgespaltet. Wenn eine Signatur vorhanden ist und sie nicht gelöscht werden soll (siehe Abschnitt 3.1.18), können beide Bestandteile getrennt formatiert werden.

Zum Drucken des Mailtextes verwendet Muttprint das LaTeX-Paket fancyvrb.sty, das zahlreiche Formatierungsoptionen bietet. Die Optionen, die der Verbatim-Umgebung übergeben werden, können über die beiden Variablen VERBATIMNORMAL (für den normalen Text) und VERBATIMSIG übergeben werden.

Die genaue Syntax entnehmen Sie der Dokumentation zu fancyvrb.sty, die mit texdoc fancyvrb aufgerufen werden kann. Standardmäßig wird die Signatur in Kursivschrift gedruckt. Es sind auch Rahmenlinien konfigurierbar.

Wenn Sie keine getrennte Formatierung von Mailbody und Signatur wünschen, können Sie VERBATIMSIG auf raw setzen. Dann wird die Signatur ganz normal als Mailtext betrachtet und wie dieser gedruckt (inkl. des Signaturtrenners).

Hier einige Beispiele:

  • fontshape=it,frame=topline: kursive Schrift, Rahmenlinie über dem Block

  • fontfamily=helvetica,fontseries=b: Schriftart Helvetica, fett

  • numbers=left,stepnumber=5: Zeilennummerierung alle 5 Zeilen

3.1.11. Randeinstellungen

Die Ränder können mit vier Variablen eingestellt werden: TOPMARGIN (oberer Rand), BOTTOMMARGIN (unterer Rand), LEFTMARGIN (linker Rand) und RIGHTMARGIN (rechter Rand).

Die Variablen sind auf eine ganze Zahl zu setzen, die den Rand in Millimetern (mm) angibt. Andere Maßeinheiten sind nicht möglich; 25,4 mm entsprechen 1 Inch.

3.1.12. Zeilenlänge

Die maximale Zeilenlänge kann mit WRAPMARGIN eingestellt werden. Längere Zeilen werden automatisch umgebrochen und der Absatz wird neu formatiert. Kürzere Zeilen werden jedoch nicht zusammengezogen.

3.1.13. Linien unter/über Kopf- und Fußzeile

Unter der Kopfzeile bzw. über der Fußzeile können auf Wunsch horizontale Linien gedruckt werden. Standardmäßig sind diese ausgeschaltet.

Setzen Sie die Variablen HEADRULE bzw. FOOTRULE auf on oder off.

3.1.14. Aussehen der ersten Seite

Es existieren verschiedene Möglichkeiten zur Hervorhebung der Mailheader auf der ersten Seite. Hier eine Auflistung der Möglichkeiten:

StilBeschreibung
plain

keine Linien

border

Linie nach den Headern (Standardeinstellung)

fbox

einfacher Kasten um die Header

shadowbox

schattierter Kasten um die Header

ovalbox

Kasten mit abgerundeten Ecken um die Header (dünne Linien)

Ovalbox

wie ovalbox nur etwas dickere Linien

doublebox

Kasten mit doppelten Linien um die Header

grey

grau hinterlegte Header

greybox

wie grey nur mit zusätzlichem Kasten

Setzen Sie die Variable FRONTSTYLE auf einen Wert aus der obigen Tabelle.

3.1.15. Papierformat

Um das Papierformat einzustellen, ist die Variable PAPER zu verwenden. Momentan können die Werte A4 und letter verwendet werden.

Eine evtl. vorhandene Datei /usr/local/etc/papersize, wie sie auf Debian-Systemen üblich ist, wird auch ausgelesen. Eine eigene Einstellung überschreiben jedoch diese.

3.1.16. Datum

Die DATE-Option erlaubt zwei Einstellungen: original und local. Bei original druckt Muttprint das Datum unverändert so, wie es im Date-Header der Mail erscheint, d. h. auf English und in der Zeitzone des Absenders.

Wird diese Option auf local gesetzt, konvertiert Muttprint die Zeitzone in Systemzeitzone und gibt das Datum in der Landessprache aus[2].

Das Format des Datums kann über die Variable DATE_FORMAT beeinflusst werden. Als Argument wird ein Formatstring akzeptiert, z. B. "%A, %d. %B %Y %H:%M:%S". Die Anführungszeichen sind notwendig, weil der String Leerzeichen enthält. Die strftime(3)-Manpage enthält Details darüber.

3.1.17. Format der gedruckten Mailadressen

Es existieren verschiedene Schreibweisen, wie Mailadressen und Name im Mailheader auftauchen. Hier einige Beispiele:

  • Bernhard Walle <Bernhard.Walle@gmx.de>

  • "Bernhard Walle" <Bernhard.Walle@gmx.de>

  • Bernhard.Walle@gmx.de (Bernhard Walle)

Die verwendete Formatierung hängt vom Mailclient des Absenders ab; alle drei sind korrekt. Wird die Variable ADDRESSFORMAT auf den Wert original gesetzt, werden die Adressen unverändert gedruckt.

Sollen sie hingegen einheitlich erscheinen, so kann diese Variable einen Formatstring enthalten. Die Voreinstellung ist "%r <%a>,\n". Als Formatstring können beliebige Zeichen verwendet werden, %r wird durch den Namen ersetzt („Realname“), %a durch die Mailadresse und \n gibt einen Newline aus. Die umschließenden Anführungszeichen sind wegen der enthaltenen Leerzeichen nötig. Ein Zeilenumbruch am Ende bedeutet, dass bei mehreren Adressen jede in einer eigenen Zeile steht. Bei der letzten Adresse werden auftretende Newlines und Kommata automatisch entfernt.

Zusätzlich können einzelne Bestandteile durch Fett- oder Kursivdruck hervorgehoben werden. Wird ein Bestandteil in Sternchen eingeschlossen (*), wird der innere Teil fett gedruckt; Schrägstriche / stehen für Kursivdruck; Schachtelung ist möglich.

Abschließend ein weiteres Beispiel, wie ich meine Mails ausdrucke: "/%r/ (%a),".

3.1.18. Signatur abschneiden

Oft enthält die Sigantur unnütze Informationen oder gar Werbung und soll deshalb nicht ausgedruckt werden. Muttprint kann die Signatur abschneiden, wenn sie richtig mit –– abgetrennt wurde -- wichtig ist das Leerzeichen nach den zwei Bindestrichen (einige Mailprogramme erzeugen keine korrekte Signaturtrenner).

Dazu muss die Option REM_SIG (ausgesprochen heißt das „remove signature“) auf on gesetzt werden.

3.1.19. Quoting nicht mitdrucken

Oft wird nicht sinnvoll[3] zitiert sondern die ganze Mail über mehrere Ebenen angehängt, so dass der Ausdruck zu lang und unübersichtlich wird.

Ist REM_QUOTE auf on gesetzt, so wird das Quoting nicht mitgedruckt. Zum Erkennen wird der reguläre Ausdruck von Mutt in der Standardkonfiguration eingesetzt (siehe Mutt-Manual). Es sollte also der von Mutt farblich hervorgehobene Text nicht gedruckt werden, was einem toggle quote (Shift-t) von Mutt auf dem Bildschirm entspricht.

3.1.20. Gedruckte Header

Standardmäßig werden die üblichen für einen Ausdruck interessanten Header gedruckt. Gefällt Ihnen diese Einstellung nicht, so können Sie mit Hilfe der Variablen PRINTED_HEADERS eine eigene festlegen. Geben Sie alle zu druckenden Header durch einen Unterstrich (_) getrennt an.

Die Reihenfolge ist dabei entscheidend für den Ausdruck. Groß-/Kleinschreibung wird nicht beachtet. In der Mail nicht vorhandene Header werden einfach ignoriert. Für Fettdruck schließen Sie den Namen des Headers in Sternchen (*), für Kursivdruck in Schrägstriche (/) ein.

Die Standardeinstellung lautet:

PRINTED_HEADERS="Date_To_From_CC_Newsgroups_*Subject*"

Ein weiteres Beispiel für eine sinnvolle Einstellung:

PRINTED_HEADERS="/Date/_To_From_*Subject*_X-Mailer"

3.1.21. Eigener LaTeX-Code

Die Variable LATEXCODE ist für Leute gedacht, die sich gut mit LaTeX auskennen und den Ausdruck etwas verändern möchten, ohne gleich im Quellcode von Muttprint zu Änderungen vorzunehmen. Zum Beispiel eignet sich die Variable gut, um eigene Schriften zu verwenden.

Neben LATEXCODE stehen noch fünf weitere Variablen (LATEXCODE1 bis LATEXCODE5) zur Verfügung, damit der Code schöner aufgeteilt werden kann. Die Variablen werden der Reihe nach in den LaTeX-Quellcode eingebunden.

Tip: Mit folgender Einstellungen kann der Mailtext in einer proportionalen Schrift (anstelle von Schreibmaschinenschrift) gedruckt werden:

LATEXCODE="\renewcommand{\ttdefault}{\rmdefault}"

3.1.22. Fehlermeldungen

Die Ausgaben von latex und dvips werden nicht angezeigt. Wenn jedoch Probleme bestehen sollten, kann es hilfreich sein, die Fehlermeldungen zu lesen. Dafür kann DEBUG auf 1 gesetzt werden, so dass die Fehlermeldungen in der Datei /tmp/muttprint.log protokolliert werden. Dies kann hilfreich für eine Fehlerbeschreibung bei eventuellen Bugreports sein.

3.2. Kommandozeilenparameter

Die meisten Konfigurationsmöglichkeiten sind auch über Kommandozeilenparameter realisierbar. Dies hat den Vorteil, dass evtl. eine einfachere Integration in das Mailprogramm (z. B. mit eigenen Makros) möglich ist.

Eine ausführliche Beschreibung aller Parameter erhalten Sie mit muttprint -h oder in der muttprint(1)-Manpage.

Die Wirkung der Optionen ist analog zu der Konfigurationsdatei, jedoch überschreiben Kommandozeilenparameter alle andere Einstellungen.

3.3. Verschiedene Sprachen

Das Skript unterstützt verschiedene Sprachen. Normalerweise wird die Umgebungsvariable LANG auf den jeweiligen Wert gesetzt, z. B. de, it, fr, es oder en, also die jeweilige Abkürzung nach ISO 639. Es werden nur die ersten beiden Zeichen beachtet, ein de_DE.ISO-8859-15 führt also zum gewünschten Ergebnis. Wird ein unbekannter Wert verwendet, so ist die Voreinstellung Englisch.

Eine Übersicht über alle Übersetzungen finden Sie in der Datei README.translations, die mit der Dokumentation installiert wird und sich im selben Verzeichnis befindet.

Wenn für Muttprint eine andere Sprache als im restlichen System verwendet werden soll, so kann ganz einfach die Variable LANG in der Konfigurationsdatei .muttprintrc definiert werden.

3.3.1. Sprachen auf dem Ausdruck

In Erster Linie betreffen die Sprachanpassungen einige Wörter auf dem erzeugten Ausdruck, also die Beschriftungen der Mailheader und das Datum.

Letzteres wird mit Hilfe des LaTeX-Paketes babel.sty generiert. Standardmäßig wird bei Deutsch die Option ngerman mitgegeben. Wollen sie ein österreichisches Datum, das sich vor allem am Anfang des Jahres vom deutschen unterscheidet („Jänner“ statt „Januar“), so können Sie die Variable LPack auf austrian setzen. Das gleiche gilt natürlich auch für andere Sprachen. Lesen Sie texdoc babel für eine Liste möglicher Werte.

Sollen andere Sprachen bzw. einfach andere Wörter verwendet werden, so können folgende Variablen gesetzt werden:

  • FROM_STRING

  • TO_STRING

  • SUBJECT_STRING

  • CC_STRING

  • DATE_STRING

  • PAGE_STRING

  • OF_STRING

  • NEWSGROUPS_STRING

Zusätzliche für den Ausdruck eingestellte Header (siehe Abschnitt 3.1.20) können nicht übersetzt werden.

3.3.2. Zeichensätze

Muttprint unterstützt verschiedene Zeichensätze für den Ausdruck. Hier eine kurze Übersicht:

ZeichensatzOptionBeschreibung
ISO-8859-1latin1Westeuropäische Sprachen
ISO-8859-2latin2Osteuropäische Sprachen
ISO-8859-3latin3Südosteuropäische und sonstige Sprachen
ISO-8859-4latin4Skandinavische und baltische Sprachen
ISO-8859-9latin5Latin-1 angepasst für Türkisch
ISO-8859-15latin9Latin-1 mit einigen Änderungen, u. a. das Eurosymbol
Windows-1252latin1Latin-1 mit einigen Erweiterungen, u. a. typographische Anführungszeichen
Windows-1250latin2Latin-2 mit einigen Erweiterungen, u. a. typographische Anführungszeichen

Mit diesen Zeichensätzen werden die meisten Sprachen mit lateinischen Schriftzeichen abgedeckt. Die Zeichensatzbehandlung basiert weitgehend auf dem LaTeX-Paket inputenc.sty, wurde jedoch noch erweitert.

Der Standardzeichensatz ist Latin-1. Wenn Übersetzungdateien vorhanden sind, dann wird der Zeichensatz in den landespezifischen geändert. Zum Beispiel wird bei Deutsch der Zeichensatz Latin-9 eingestellt, damit das Eurozeichen korrekt gedruckt werden kann, und bei Tschechisch Latin-2, da es sich um eine osteuropäische Sprache handelt.

Darüber hinaus kann der Zeichensatz in der Konfigurationsdatei mit der Variable CHARSET geändert werden. Normalerweise sollte hier der Zeichensatz stehen, der für die Bildschirmanzeige verwendet wird, vgl. die Variable charset in Mutt.

Wird CHARSET auf den Wert auto gesetzt, versucht Muttprint, einen passenden Mailheader zu finden, aus dem sich der Zeichensatz der Mail ergibt. Diese Einstellung ist jedoch mit Vorsicht zu verwenden. Mutt passt zum Beispiel die Ausgabe an den Bildschirmzeichensatz an. Auf der anderen Seite kann die Einstellung nützlich sein, wenn man oft Mails mit unterschiedlichen Zeichensätzen ausdruckt.

Neben den Zeichensätzen aus der ISO-Latin-Familie unterstützt Muttprint auch die Windows-Erweiterungen Windows-1252 (Westeuropa) und Windows-1250 (Osteuropa). Diese Zeichensätze erweitern die ISO-Zeichensätze um einige weitere Zeichen, u. a. um typographische Anführungszeichen, Promillezeichen oder das Eurozeichen. Gerade letzteres dürfte aufgrund der großen Vergreitung von Windows oft an der Stelle 128 (dezimal) auftauchen -- z. T. fälschlicherweise als ISO-8859-1 deklariert. Muttprint druckt die Mail trotzdem korrekt, vorausgesetzt der Mailclient übergibt die Mail unverändert.

Eine vollständige Übersicht über die Zeichensätze aus der ISO-8859-Familie mit Zeichentabellen finden Sie unter http://czyborra.com/charsets/iso8859.html (Englisch).

3.3.3. Übersetzungsdatei

Die Muttprint-Übersetzungdateien befinden sich im Verzeichnis /usr/local/lib/muttprint und haben den Namen translation-Sprache.pl. Es können ohne Änderungen am Skript neue Dateien hinzugefügt werden. In der Datei werden nicht nur einige Wörter aus dem Ausdruck sondern auch der Hilfetext übersetzt.

Für neue Übersetzungen nehmen Sie einfach eine alte Datei als Vorlage, kopieren und übersetzen Sie sie. Wenn Sie Ihre Übersetzung anderen Usern zur Verfügung stellen möchten, schicken Sie mir die entsprechende Datei per Mail -- ich werde sie in die nächste Version integrieren.

Fußnoten

[1]

Sie können die Schrift trotzdem selber aus dem CTAN herunterladen und auf Ihrem System installieren. Sie finden die Schriften unter CTAN:/tex-archive/nonfree/fonts/cmbright/ (CTAN = Comprehensive TeX Archive Network besteht aus einem Netzwerk mehrerer Server. Der CTAN-Server in Deutschland ist ftp://ftp.dante.de).

[2]

Dies funktioniert unabhängig von den Muttprint-Übersetzungsdateien über die Betriebssystemfunktionen. Trotzdem beeinflusst die Variable LANG (siehe Abschnitt 3.3) in der Konfigurationsdatei die Datumssprache.

[3]

siehe http://learn.to/quote/ für eine Anleitung zum richtigen Zitieren