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 Installation 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.
Soll nicht über den Standarddrucker 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. test2.ps.
Wird diese Variable nicht gesetzt, so wertet Muttprint die
Umgebungsvariable PRINTER
aus um den Drucker zu ermitteln.
Diese ist normalerweise auf den Standarddrucker gesetzt. Bei kommerziellen
Unices wird außerdem die CDE-Konfigurationsdatei
für den Drucker ausgewertet.
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.
Seit der Version 0.70 bietet Muttprint auch eine direkte Unterstützung des neuen Drucksystems CUPS. Diese wird eingeschaltet indem PRINT_COMMAND auf den Wert CUPS gesetzt wird. Alternativ ist es möglich, ein beliebiges Druckkommando zu setzen das den String $CUPS_OPTIONS enthält, welcher dann letztendlich durch die CUPS-Optionen ersetzt wird.
![]() | Sie können gv - verwenden, um sich eine Druckvorschau anzuzeigen. Diese Option eignet sich gut zum Testen der verschiedenen Einstellungen. |
Standardmäßig wird oben rechts ein kleiner Pinguin gedruckt. Soll ein anderes Bild gedruckt 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.
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:
convert aus dem Image Magick-Paket
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.
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; bei CUPS wird einfach die entsprechende Option benutzt.
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.
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".
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 oft standardmäßig nicht verfügbar[1]. Eine andere Wahl ist Latin-modern für die lmodern-Schriften (auf wenigen Systemen verfügbar).
An PostScript-Schriften sind noch auch noch Times, Palatino, Utopia, Charter Bookman, CentSchool (New Century Schoolbook), Chancery (Zapf Chancery), Helvetica oder AvantGarde 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.
Die Schriftgröß kann in begrenztem Umfang mit der Variable FONTSIZE konfiguriert werden. Möglich sind die drei Werte 10pt, 11pt und 12pt.
Der eigentliche Mailtext wird von Muttprint in Text und Signatur aufgespalten. 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
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.
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.
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.
Es existieren verschiedene Möglichkeiten zur Hervorhebung der Mailheader auf der ersten Seite. Hier eine Auflistung der Möglichkeiten:
Stil | Beschreibung |
---|---|
plain | keine Linien |
border | Linie nach den Headern (Standardeinstellung) |
Border | dicke Linie nach den Headern |
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.
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.
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.
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 Kursivschrift hervorgehoben werden. Wird ein Bestandteil in Sternchen eingeschlossen (*), wird der innere Teil fett gedruckt; Schrägstriche / stehen für Kursivschrift; Schachtelung ist möglich.
Abschließend ein weiteres Beispiel, wie ich meine Mails ausdrucke: "/%r/ (%a),".
Oft enthält die Signatur 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.
Sollen andere Signaturtrenner auch als solche erkannt werden so kann die Variable SIG_REGEXP gesetzt werden. Verlangt wird ein regul�rer Ausdruck in Perl-Syntax, die Standardeinstellung ist ^-- $. Wenn Ihnen diese Schreibweise nichts sagt, lassen Sie es bei der Standardeinstellung!
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.
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 Kursivschrift 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"
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.
![]() | Mit folgender Einstellungen kann der Mailtext in einer proportionalen Schrift (anstelle von Schreibmaschinenschrift) gedruckt werden: LATEXCODE="\renewcommand{\ttdefault}{\rmdefault}" |
Normalerweise läft Muttprint im Vordergrund ab und terminiert erst, wenn der Druckvorgang erfolgreich abgeschlossen wurde. Dies erleichtert die Ausgabe von Fehlermeldungen. Auf modernen Systemen dauert das Drucken durch Muttprint von normalen Mails nur wenige Sekunden. (Eine Ausnahme kann der erste Ablauf von Muttprint sein, weil dann von LaTeX viele Schriften erzeugt werden müssen.)
Manchmal kann es allerdings wünschenswert sein, Muttprint sofort in den Hintergrund zu schicken. Dann kann das Mailprogramm gleich wieder benutzt werden. Dies ist nur dann zu empfehlen, wenn Sie Muttprint bereits getestet haben und so sichergestellt ist, dass keine Fehlermeldungen ausgegeben werden müssen.
Zu diesem Zweck können Sie in der Konfigurationsdatei eine Variable BACKGROUND hinzufügen und ihr den Wert on zuweisen. Im Debug-Modus (siehe Abschnitt 3.1.23) wird immer im Vordergrund gedruckt.
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.
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.
Das Skript unterstützt verschiedene Sprachen. Im Gegensatz zu früheren Versionen erfolgt die Konfiguration nicht mehr durch entsprechende Variablen in der Konfigurationsdatei sondern über die Sprachumgebung Ihres Betriebssystems.
Unter Unix werden dazu Umgebungsvariablen entsprechend gesetzt. Es gibt verschiedene Variablen, abhüngig davon, was lokalisiert werden soll. Beispielsweise wünschen viele Anwender englische Textmeldungen, möchten aber trotzdem in der Lage sein, mit deutschen Texten (und dem entsprechenden westeuropäischen Zeichensatz) zu arbeiten.
Für Muttprint sind die Variablen LC_ALL, LANG, LC_MESSAGES, LC_CTYPE und LC_TIME von Bedeutung. LC_CTYPE bestimmt den Zeichensatz, der für die Ein-/Ausgabe verwendet wird. Muttprint erwartet die Eingaben (also insbesondere den Mailtext) in diesem Zeichensatz und gibt alle Meldungen in diesem Zeichensatz aus. LC_MESSAGES legt die Sprache der Meldungen und des Ausdrucks fest und LC_TIME ist für Datumsangaben verantwortlich. Allerdings wird das Datum in der Fußzeile der Mail von LaTeX selbst erstellt und ist daher in der durch LC_MESSAGES spezifizierten Sprache. Daher sollte LC_TIME für Muttprint immer den gleichen Wert wie LC_MESSAGES haben. LC_ALL überschreibt den Wert der vorher genannten Variablen. Wenn LC_ALL gesetzt ist, haben die anderen LC_-Variablen keine Bedeutung. LANG dient als Fallback: Falls beispielsweise LC_MESSAGES nicht definiert ist wird LANG zum Bestimmen der Sprache verwendet. Normalerweise wird deshalb nur LANG gesetzt.
Eine Übersicht über alle Übersetzungen finden Sie in der Datei README.translations, die mit der Dokumentation installiert wird und sich im selben Verzeichnis befindet.
In Erster Linie betreffen die Sprachanpassungen einige Wörter auf dem erzeugten Ausdruck, also die Beschriftungen der Mailheader und das Datum.
Auch der Zeichensatz wird durch die Sprachumgebung Ihres Systems bestimmt. Eine entsprechende Einstellung von Hand kann nicht mehr vorgenommen werden. Allerdings ist die Zahl der unterstützten Zeichensätze bedingt durch die Verwendung von LaTeX begrenzt. Es werden folgende unterstützt: ISO-8859-1 (westeuropäsche Sprachen), ISO-8859-2 (osteuropäsche Sprachen), ISO-8859-3 (südosteuropäsche und sonstige Sprachen), ISO-8859-4 (skandinavische und baltische Sprachen), ISO-8859-9 (Türkisch), ISO-8859-15 (ISO-8859-1 mit einigen Änderungen, insbesondere Eurosymbol), KOI8-R (Sprachen mit kyrillische Schriftzeichen, z. B. Russisch) und UTF-8.
Die Unterstützung von UTF-8 ist nicht komplett. LaTeX selbst verwendet 8-Bit-Zeichensätze. Es kann also immer nur die Teilmenge von Unicode verwendet werden, die in der aktuellen Spracheinstellung verwendet wird, d. h. kyrillische Schriftzeichen können nur dann gedruckt werden, wenn eine russische Sprachumgebung angegeben wird. Möglicherweise wird sich das in (ferner) Zukunft ändern. Das Hauptproblem ist LaTeX.
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.
Wichtig: Der Zeichensatz der Datei muss (unabhängig von der Sprachumgebung) UTF-8 sein. Lesen Sie dazu die entsprechende README-Datei, die sich im translation-Verzeichnis von Muttprint (Tarball) befindet.
[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. |
[3] | siehe http://learn.to/quote/ für eine Anleitung zum richtigen Zitieren |
Zurück | Zum Anfang | Weiter |
Installation | Bekannte Fehler |