Inhaltsverzeichnis
Hier werden Werkzeuge und Tipps für die Umwandlung von Dateien in andere Formate im Debian-System beschrieben.
Bei Werkzeugen für auf Standards basierende Formate ist die Situation sehr gut, aber bei proprietären Formaten sind die Möglichkeiten eingeschränkt.
Folgende Pakete für die Textumwandlung sind mir aufgefallen:
Tabelle 11.1. Liste von Textumwandlungs-Werkzeugen
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
libc6
|
V:918, I:998 | 10280 | charset | Konvertierung der Textkodierung zwischen verschiedenen Gebietsschemata (Locales) durch iconv(1) (elementar) |
recode
|
V:7, I:47 | 780 | charset+eol | Konvertierung der Textkodierung zwischen verschiedenen Gebietsschemata (Locales) (vielfältig, mehr Alias-Befehle und Funktionalitäten) |
konwert
|
V:2, I:60 | 192 | charset | Konvertierung der Textkodierung zwischen verschiedenen Gebietsschemata (Locales) (extravagant) |
nkf
|
V:1, I:14 | 288 | charset | Zeichensatzübersetzer für Japanisch |
tcs
|
V:0, I:0 | 544 | charset | Zeichensatzübersetzer |
unaccent
|
V:0, I:0 | 76 | charset | akzentuierte Buchstaben durch ihre nicht akzentuierten Pendants ersetzen |
tofrodos
|
V:4, I:43 | 35 | eol | Konvertiert Textformate zwischen DOS und Unix: fromdos(1) und todos(1) |
macutils
|
V:0, I:2 | 320 | eol | Konvertiert Textformate zwischen Macintosh und Unix: frommac(1) und tomac(1) |
![]() |
Tipp |
---|---|
iconv(1)
ist Teil des |
Sie können die Kodierung einer Textdatei mit iconv(1) wie folgt ändern:
$ iconv -f kodierung1 -t kodierung2 input.txt >output.txt
Bei den Werten für die Kodierung ist die Groß-/Kleinschreibung nicht
relevant, "-
" und "_
" werden
ignoriert. Mit "iconv -l
" können Sie überprüfen, welche
Kodierungen unterstützt werden.
Tabelle 11.2. Liste von Werten für die Zeichenkodierung und deren Verwendung
Wert für Zeichenkodierung | Verwendung |
---|---|
ASCII | American Standard Code for Information Interchange, 7-Bit-Code ohne akzentuierte Zeichen |
UTF-8 | aktueller multilingualer Standard für alle modernen Betriebssysteme |
ISO-8859-1 | alter Standard für westeuropäische Sprachen; ASCII + akzentuierte Zeichen |
ISO-8859-2 | alter Standard für osteuropäische Sprachen; ASCII + akzentuierte Zeichen |
ISO-8859-15 | alter Standard für westeuropäische Sprachen; ISO-8859-1 + Euro-Zeichen |
CP850 | Codepage 850, Microsoft-DOS-Zeichen mit Grafiken für westeuropäische Sprachen, Variante von ISO-8859-1 |
CP932 | Codepage 932, Microsoft-Windows-artige Shift-JIS-Variante für Japanisch |
CP936 | Codepage 936, Microsoft-Windows-artige GB2312-, GBK- oder GB18030-Variante für vereinfachtes Chinesisch |
CP949 | Codepage 949, Microsoft-Windows-artige EUC-KR- oder Unified-Hangul-Code-Variante für Koreanisch |
CP950 | Codepage 950, Microsoft-Windows-artige Big5-Variante für traditionelles Chinesisch |
CP1251 | Codepage 1251, Microsoft-Windows-artige Kodierung für das kyrillische Alphabet |
CP1252 | Codepage 1252, Microsoft-Windows-artige ISO-8859-15-Variante für westeuropäische Sprachen |
KOI8-R | alter russischer UNIX-Standard für das kyrillische Alphabet |
ISO-2022-JP | Standard-Kodierung für japanische E-Mails, die nur 7-Bit-Codes verwenden |
eucJP | alter japanischer UNIX-Standard-Code (8-Bit), völlig verschieden von Shift-JIS |
Shift-JIS | Standard für Japanisch gemäß JIS X 0208 Anhang 1 (siehe auch CP932) |
![]() |
Anmerkung |
---|---|
Einige Kodierungen werden nur für die Datenkonvertierung unterstützt und nicht als Wert für das Gebietsschema (Locale) (Abschnitt 8.3.1, „Grundlagen der Kodierung“). |
Bei Zeichensätzen, die nur ein einziges Byte benötigen (wie ASCII und ISO-8859), bedeutet die Zeichenkodierung nahezu das gleiche wie der Zeichensatz.
Bei Zeichensätzen mit vielen Zeichen (wie JIS X 0213 für Japanisch oder Universal Character Set (UCS, Unicode, ISO-10646-1) für praktisch alle Sprachen) gibt es viele Kodierungsschemata, die in die Sequenz der Byte-Daten eingepasst werden:
EUC und ISO/IEC 2022 (auch bekannt als JIS X 0202) für Japanisch;
UTF-8, UTF-16/UCS-2 und UTF-32/UCS-4 für Unicode.
Bei diesen gibt es klare Differenzierungen zwischen dem Zeichensatz und der Zeichenkodierung.
Die Codepage wird als Synonym für einige hersteller-spezifische Zeichenkodierungstabellen verwendet.
![]() |
Anmerkung |
---|---|
Bitte beachten Sie, dass die meisten Kodierungssysteme sich bei den
7-Bit-Zeichen identischen Code mit ASCII teilen, aber es gibt einige
Ausnahmen. Wenn Sie alte japanische C-Programme und URLs von dem salopp
Shift-JIS genannten Kodierungsformat nach UTF-8 konvertieren, verwenden Sie
" |
![]() |
Tipp |
---|---|
recode(1)
kann ebenfalls verwendet werden und bietet mehr als die kombinierte
Funktionalität von
iconv(1),
fromdos(1),
todos(1),
frommac(1)
und
tomac(1).
Weitere Informationen finden Sie unter " |
Sie können mit iconv(1) wie folgt überprüfen, ob eine Textdatei in UTF-8 kodiert ist:
$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo "non-UTF-8 found"
![]() |
Tipp |
---|---|
Verwenden Sie die Option " |
Hier ein Beispielskript, um die Dateinamenkodierung von einer auf einem älteren Betriebssystem erzeugten in die moderne UTF-8-Kodierung zu konvertieren (für alle Dateien in einem Verzeichnis):
#!/bin/sh ENCDN=iso-8859-1 for x in *; do mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)" done
Die "$ENCDN
"-Variable gibt die Original-Kodierung (gemäß
Tabelle 11.2, „Liste von Werten für die Zeichenkodierung und deren Verwendung“) an, die für die Dateinamen in dem
älteren Betriebssystem verwendet wurde.
In komplizierteren Fällen binden Sie bitte ein Dateisystem (z.B. eine
Partition auf einem Festplattenlaufwerk), das solche Dateinamen enthält, mit
korrekter Angabe der Dateinamenkodierung als Option zum
mount(8)-Befehl
ein (lesen Sie dazu Abschnitt 8.3.6, „Dateinamenkodierung“), und kopieren Sie
mit "cp -a
" den vollständigen Inhalt der Partition in ein
anderes Dateisystem, das als UTF-8 eingebunden ist.
Das Format einer Textdatei, speziell der EOL-Code (end-of-line, Zeilenende), ist abhängig von der Systemplattform.
Tabelle 11.3. Liste der EOL-Stile für verschiedene Plattformen
Plattform | EOL-Code | Steuerung | dezimal | hexadezimal |
---|---|---|---|---|
Debian (Unix) | LF |
^J
|
10 | 0A |
MSDOS und Windows | CR-LF |
^M^J
|
13 10 | 0D 0A |
Apples Macintosh | CR |
^M
|
13 | 0D |
Die Programme zur Konvertierung des EOL-Formats fromdos(1), todos(1), frommac(1) und tomac(1) sind ziemlich praktisch. recode(1) ist ebenfalls sehr nützlich.
![]() |
Anmerkung |
---|---|
Einige Daten im Debian-System, wie z.B. die Daten zur Wiki-Seite für das
|
![]() |
Anmerkung |
---|---|
Die meisten Editoren (wie |
![]() |
Tipp |
---|---|
Wenn Sie eine Mischung aus MSDOS- und Unix-artigem EOL-Stil in einen
einheitlichen MSDOS-Stil umwandeln möchten, hat die Verwendung von
" |
Es gibt ein paar bekannte spezialisierte Programme für die Konvertierung der TAB-Codes:
Tabelle 11.4. Liste der Befehle zur TAB-Konvertierung aus den Paketen
bsdmainutils
und coreutils
Funktion |
bsdmainutils
|
coreutils
|
---|---|---|
TAB in Leerzeichen wandeln |
"col -x "
|
expand
|
Leerzeichen in TAB wandeln |
"col -h "
|
unexpand
|
indent(1)
aus dem indent
-Paket formatiert alle Whitespaces
(Leerraumzeichen) in einem C-Programm neu.
Auch Editoren wie vim
und emacs
können
zur TAB-Konvertierung genutzt werden. Bei vim
z.B. verwenden Sie die Befehlssequenz ":set expandtab
" +
":%retab
", um ein TAB zum Leerzeichen zu expandieren. Den
umgekehrten Fall erreichen Sie mit ":set noexpandtab
" +
":%retab!
".
Moderne Editoren wie vim
sind sehr clever und können mit
jeglichen Kodierungssystemen und Dateiformaten umgehen. Für beste
Kompatibilität sollten Sie diese Editoren mit einem UTF-8-Gebietsschema in
einer UTF-8-tauglichen Konsole verwenden.
Eine alte westeuropäische Unix-Textdatei "u-datei.txt
",
gespeichert in der alten latin1-Kodierung (ISO-8859-1), kann mit
vim
einfach wie folgt bearbeitet werden:
$ vim u-datei.txt
Dies ist möglich, da die automatische Erkennung der Dateikodierung in
vim
zunächst von einer UTF-8-Kodierung ausgeht und, falls
dies fehlschlägt, latin1 verwendet.
Eine alte polnische Unix-Textdatei "pu-datei.txt
",
gespeichert in der alten latin2-Kodierung (ISO-8859-2), kann mit
vim
wie folgt bearbeitet werden:
$ vim '+e ++enc=latin2 pu-datei.txt'
Eine alte japanische Unix-Textdatei "ju-datei.txt
",
gespeichert in der eucJP-Kodierung, kann mit vim
wie
folgt bearbeitet werden:
$ vim '+e ++enc=eucJP ju-datei.txt'
Eine alte japanische MS-Windows-Textdatei "jw-datei.txt
",
gespeichert in der sogenannten Shift-JIS-Kodierung (präziser: CP932), kann
mit vim
wie folgt bearbeitet werden:
$ vim '+e ++enc=CP932 ++ff=dos jw-datei.txt'
Wenn eine Datei mit den Optionen "++enc
" und
"++ff
" geöffnet wird, speichert ":w
"
in der Vim-Befehlszeile sie im Originalformat ab und überschreibt die
Originaldatei. Sie können auch das zum Speichern zu nutzende Format und den
Dateinamen mit angeben, z.B. ":w ++enc=utf8 neu.txt
".
Bitte lesen Sie den Abschnitt zum mbyte.txt "multi-byte text support" in der
vim
-Online-Hilfe sowie Tabelle 11.2, „Liste von Werten für die Zeichenkodierung und deren Verwendung“ für Infos, welche lokalen Werte mit der
"++enc
"-Option genutzt werden können.
Die emacs
-Programmfamilie bietet ähnliche
Funktionalitäten.
Folgender Befehl liest eine Webseite in eine Textdatei ein. Das ist sehr nützlich, wenn Sie Konfigurationsbeispiele aus dem Web kopieren oder grundlegende Unix-Textbearbeitungswerkzeuge wie grep(1) auf den Inhalt der Webseite anwenden möchten.
$ w3m -dump http://www.remote-site.com/help-info.html >textdatei
Ähnlich dazu können Sie reine Textdaten wie folgt aus anderen Formaten extrahieren:
Tabelle 11.5. Liste von Werkzeugen zum Extrahieren von reinen Textdaten
Paket | Popcon | Größe | Schlüsselwort | Funktion |
---|---|---|---|---|
w3m
|
V:258, I:878 | 2131 | html → text |
HTML-zu-Text-Konvertierung mit dem Befehl "w3m -dump "
|
html2text
|
V:80, I:219 | 233 | html → text | fortgeschrittener HTML-zu-Text-Konvertierer (ISO 8859-1) |
lynx
|
I:129 | 249 | html → text |
HTML-zu-Text-Konvertierung mit dem Befehl "lynx -dump "
|
elinks
|
V:17, I:38 | 1554 | html → text |
HTML-zu-Text-Konvertierung mit dem Befehl "elinks -dump "
|
links
|
V:21, I:55 | 1277 | html → text |
HTML-zu-Text-Konvertierung mit dem Befehl "links -dump "
|
links2
|
V:3, I:21 | 3237 | html → text |
HTML-zu-Text-Konvertierung mit dem Befehl "links2 -dump "
|
antiword
|
V:7, I:15 | 679 | MSWord → text,ps | Konvertierung von MSWord-Dateien in reinen Text oder PostScript |
catdoc
|
V:8, I:15 | 2445 | MSWord → text,TeX | Konvertierung von MSWord-Dateien in reinen Text oder TeX |
pstotext
|
V:4, I:8 | 123 | ps/pdf → text | Extrahierung von reinem Text aus PostScript- oder PDF-Dateien |
unhtml
|
V:0, I:1 | 66 | html → text | Entfernen der Markups (Markierungen) aus einer HTML-Datei |
odt2txt
|
V:3, I:8 | 77 | odt → text | Konvertierung von OpenDocument-Text in reinen Text |
Reine Textdaten können mit folgenden Befehlen hervorgehoben und formatiert werden:
Tabelle 11.6. Liste von Werkzeugen für Hervorhebung/Formatierung von Textdaten
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
vim-runtime
|
V:25, I:419 | 25520 | Hervorheben |
Vim-Macro zur Konvertierung von Quellcode in HTML (mit ":source
$VIMRUNTIME/syntax/html.vim ")
|
cxref
|
V:0, I:1 | 1172 | c → html | Konvertierung eines C-Programms nach Latex und HTML (C-Sprache) |
src2tex
|
V:0, I:1 | 1968 | Hervorheben | Konvertierung von vielen Quellcode-Formaten nach TeX (C-Sprache) |
source-highlight
|
V:1, I:9 | 1976 | Hervorheben | Konvertierung von vielen Quellcode-Formaten nach HTML, XHTML, LaTeX, Texinfo, ANSI-Color-Escape-Sequenzen und DocBook-Dateien mit Hervorhebung (C++) |
highlight
|
V:2, I:18 | 1025 | Hervorheben | Konvertierung von vielen Quellcode-Formaten nach HTML, XHTML, RTF, LaTeX, TeX oder XSL-FO-Dateien mit Hervorhebung (C++) |
grc
|
V:0, I:1 | 53 | text → color | grundlegender Einfärber für alles (Python) |
txt2html
|
V:0, I:4 | 296 | text → html | Text-nach-HTML-Konvertierer (Perl) |
markdown
|
V:0, I:6 | 96 | text → html | markdown: Textdokument-Konvertierer in (X)HTML (Perl) |
asciidoc
|
V:1, I:13 | 2442 | text → any | AsciiDoc: Textdokument-Konvertierer in XML/HTML (Python) |
pandoc
|
V:2, I:13 | 37308 | text → any | grundlegender Markup-Konvertierer (Haskell) |
python-docutils
|
V:4, I:144 | 1570 | text → any | reStructuredText-Dokument-Formatierer nach XML (Python) |
txt2tags
|
V:0, I:2 | 951 | text → any | Dokumentenkonvertierer von Text nach HTML, SGML, LaTeX, manpage (Handbuchseite), MoinMoin, Magic Point und PageMaker (Python) |
udo
|
V:0, I:0 | 556 | text → any | universelles Dokumentenverarbeitungs-Werkzeug (C-Sprache) |
stx2any
|
V:0, I:0 | 484 | text → any | Dokumentenkonvertierer von Structured Text in andere Formate (m4) |
rest2web
|
V:0, I:0 | 576 | text → html | Dokumentenkonvertierer von ReStructured Text nach HTML (Python) |
aft
|
V:0, I:0 | 259 | text → any | "Freiform"-Dokumenten-Vorbereitungssystem (Perl) |
yodl
|
V:0, I:0 | 421 | text → any | Vor-Dokument-Sprache und Werkzeuge für deren Verarbeitung (C-Sprache) |
sdf
|
V:0, I:0 | 1415 | text → any | einfacher Dokumentenanalysator (Perl) |
sisu
|
V:0, I:0 | 7737 | text → any | Rahmenwerk für Dokumentenstrukturierung, -veröffentlichung und -suche (Ruby) |
The Extensible Markup Language (XML) ist eine Markup-Sprache für Dokumente mit Strukturinformation.
Einführende Informationen finden Sie (in Englisch) unter XML.COM:
Ein XML-Text sieht ein wenig wie HTML aus. XML
ermöglicht es uns, verschiedene Ausgabeformate für ein einziges Dokument zu
verwalten. Ein einfaches XML-System ist das
docbook-xsl
-Paket, das auch für dieses Dokument verwendet
wird.
Jede XML-Datei beginnt mit einer Standard-XML-Deklaration wie der folgenden:
<?xml version="1.0" encoding="UTF-8"?>
Die grundlegende Syntax für ein XML-Element ist wie folgt gekennzeichnet:
<name attribute="Wert">Inhalt</name>
Die Kurzform für ein XML-Element mit leerem Inhalt ist wie folgt:
<name attribute="Wert"/>
Das "attribute="Wert"
" in obigen Beispielen ist optional.
Ein Kommentar-Abschnitt wird in XML wie folgt gekennzeichnet:
<!-- Kommentar -->
Anders als beim Hinzufügen von Markierungen (Markups) erfordert XML minimale Konvertierungen am Inhalt, um vordefinierte Entitäten für die folgenden Zeichen zu nutzen.
Tabelle 11.7. Liste von vordefinierten Entitäten für XML
vordefinierte Entität | Zeichen, in das konvertiert werden soll |
---|---|
"
|
" - Anführungszeichen
|
'
|
' - Apostroph
|
<
|
< - kleiner-als
|
>
|
> - größer-als
|
&
|
& - kaufmännisches Und
|
![]() |
Achtung |
---|---|
" |
![]() |
Anmerkung |
---|---|
Wenn anwenderdefinierte Entitäten im SGML-Stil verwendet werden, wie
z.B. " |
![]() |
Anmerkung |
---|---|
Solange die XML-Markierungen konsistent mit einer bestimmten Art von Namen für diese Markierungen (entweder Daten als Inhalt oder Attributwert) ausgeführt sind, ist die Konvertierung in eine andere XML-Form mittels Extensible Stylesheet Language Transformations (XSLT) eine banale Aufgabe. |
Es gibt viele Werkzeuge zur Verarbeitung von XML-Dateien, wie z.B. die Extensible Stylesheet Language (XSL).
Grundsätzlich ist es so, dass Sie eine korrekt formatierte XML-Datei mittels Extensible Stylesheet Language Transformations (XSLT) in jegliches Format umwandeln können.
Extensible Stylesheet
Language for Formatting Objects (XSL-FO) ist eine Lösung zur
Formatierung. Das fop
-Paket ist (aufgrund seiner
Abhängigkeit zur Java-Programmiersprache) neu im
Debian main
-Archiv. Daher wird im Allgemeinen LaTEX-Code
mittels XSLT aus XML erstellt und das LaTEX-System dann verwendet, um
ausdruckbare Dateien wie DVI, PostScript und PDF zu erzeugen.
Tabelle 11.8. Liste von XML-Werkzeugen
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
docbook-xml
|
I:546 | 2145 | xml | XML-Dokumententyp-Definition (DTD) für DocBook |
xsltproc
|
V:15, I:176 | 173 | xslt | XSLT-Befehlszeilen-Prozessor (XML→ XML, HTML, reinen Text usw.) |
docbook-xsl
|
V:18, I:218 | 14454 | xml/xslt | XSL-Stylesheets (Stilvorlagen), um DocBook-XML mittels XSLT in verschiedene Ausgabeformate umzuwandeln |
xmlto
|
V:3, I:31 | 134 | xml/xslt | XML-nach-alles-Konvertierer mit XSLT |
dbtoepub
|
V:0, I:1 | 71 | xml/xslt | DocBook-XML-nach-epub-Konvertierer |
dblatex
|
V:1, I:20 | 6774 | xml/xslt | DocBook-Dateien mittels XSLT nach DVI, PostScript und PDF konvertieren |
fop
|
V:4, I:51 | 47 | xml/xsl-fo | Docbook-XML-Dateien nach PDF konvertieren |
Da XML eine Untermenge der Standard Generalized Markup Language (SGML) ist, kann es mit den umfangreichen Werkzeugen, die für SGML verfügbar sind (wie der Document Style Semantics and Specification Language (DSSSL)) verarbeitet werden.
Tabelle 11.9. Liste von DSSSL-Werkzeugen
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
openjade
|
V:2, I:25 | 1007 | dsssl | ISO/IEC 10179:1996 - standardkonformer DSSSL-Prozessor (aktuell) |
openjade1.3
|
V:0, I:0 | 2198 | dsssl | ISO/IEC 10179:1996 - standardkonformer DSSSL-Prozessor (1.3.x-Serie) |
jade
|
V:2, I:20 | 866 | dsssl | James Clarks original DSSSL-Prozessor (1.2.x-Serie) |
docbook-dsssl
|
V:3, I:38 | 2578 | xml/dsssl | DSSSL-Stylesheets (Stilvorlagen), um DocBook-XML mittels DSSSL in verschiedene Ausgabeformate umzuwandeln |
docbook-utils
|
V:2, I:22 | 220 | xml/dsssl |
Werkzeuge für DocBook-Dateien (inklusive der Konvertierung in andere Formate
(HTML, RTF, PS, man, PDF) mit DSSSL mittels
docbook2* -Befehlen)
|
sgml2x
|
V:0, I:0 | 137 | SGML/dsssl | Konvertierer von SGML und XML mittels DSSSL-Stylesheets (Stilvorlagen) |
Sie können HTML- oder XML-Daten mit folgenden Programmen aus anderen Formaten extrahieren:
Tabelle 11.10. Liste von Werkzeugen zur Extrahierung von XML-Daten
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
wv
|
V:9, I:15 | 350 | MSWord → alle | Dokumentenkonvertierer von Microsoft Word nach HTML, LaTeX usw. |
texi2html
|
V:1, I:16 | 1808 | texi → html | Konvertierer von Texinfo nach HTML |
man2html
|
V:0, I:5 | 183 | manpage → html | Konvertierer von Handbuchseite (manpage) nach HTML (CGI-Unterstützung) |
tex4ht
|
V:2, I:27 | 515 | tex ↔ html | Konvertierer zwischen (La)TeX und HTML |
unrtf
|
V:2, I:6 | 112 | rtf → html | Dokumentenkonvertierer von RTF nach HTML, usw. |
info2www
|
V:4, I:6 | 156 | info → html | Konvertierer von GNU info nach HTML (CGI-Unterstützung) |
ooo2dbk
|
V:0, I:0 | 941 | sxw → xml | Konvertierer von OpenOffice.org-SXW-Dokumenten nach DocBook XML |
wp2x
|
V:0, I:0 | 215 | WordPerfect → any | WordPerfect-5.0- und -5.1-Dateien nach TeX, LaTeX, troff, GML und HTML konvertieren |
doclifter
|
V:0, I:0 | 457 | troff→xml | Konvertierer von troff nach DocBook XML |
HTML-Dateien (nicht-XML) können Sie nach XHTML konvertieren, was eine Instanz von korrekt formatiertem XML ist. XHTML kann von XML-Werkzeugen verarbeitet werden.
Tabelle 11.11. Liste von XML-Druck-Werkzeugen
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
libxml2-utils
|
V:30, I:351 | 152 | xml ↔ html ↔ xhtml | Befehlszeilen-XML-Werkzeug mit xmllint(1) (Syntaxüberprüfung, Neuformatierung, …) |
tidy
|
V:3, I:24 | 84 | xml ↔ html ↔ xhtml | HTML-Syntaxüberprüfung und Neuformatierung |
Sobald eine saubere XML-Basis generiert wurde, können Sie die XSLT-Technologie nutzen, um Daten basierend auf dem Markup-Kontext zu extrahieren usw.
Das Unix troff-Programm, ursprünglich von AT&T entwickelt, kann für einfachen Textsatz verwendet werden. Es wird normalerweise genutzt, um Handbuchseiten (manpages) zu erzeugen.
TeX, entwickelt von Donald Knuth, ist ein sehr leistungsfähiges Textsatz-Werkzeug und der De-Facto-Standard. LaTeX (ursprünglich geschrieben von Leslie Lamport) ermöglicht einen sehr hochentwickelten Zugriff auf die Fähigkeiten von TeX.
Traditionell ist roff das Haupt-Unix-System zur
Textverarbeitung. Lesen Sie
roff(7),
groff(7),
groff(1),
grotty(1),
troff(1),
groff_mdoc(7),
groff_man(7),
groff_ms(7),
groff_me(7),
groff_mm(7)
und "info groff
".
Sie bekommen eine gute Einführung und Referenz zum
"-me
"-Makro in
"/usr/share/doc/groff/
", indem Sie das
groff
-Paket installieren.
![]() |
Tipp |
---|---|
" |
![]() |
Tipp |
---|---|
Um "^H" und "_" aus einer mit |
Die TeX Live-Software-Distribution stellt ein
vollständiges TeX-System bereit. Das texlive
-Metapaket
enthält eine sinnvolle Auswahl von TeX
Live-Paketen, die für die meisten Aufgaben ausreichend sein sollte.
Es gibt viel Ressourcen für TeX und LaTeX:
tex(1);
latex(1);
"The TeXbook", von Donald E. Knuth (Addison-Wesley);
"LaTeX - A Document Preparation System", von Leslie Lamport (Addison-Wesley);
"The LaTeX Companion", von Goossens, Mittelbach, Samarin (Addison-Wesley).
Dies ist die leistungsfähigste Textsatz-Umgebung. Viele SGML-Prozessoren nutzen es im Hintergrund zur
Textverarbeitung. Lyx aus dem
lyx
-Paket sowie GNU
TeXmacs aus dem texmacs
-Paket bieten eine nette
WYSIWYG-Umgebung zum Editieren von LaTeX-Dokumenten, zu der viele Leute Emacs oder Vim als
Quelltext-Editor wählen.
Es sind viele Online-Ressourcen verfügbar:
The TEX Live Guide - TEX Live 2007
("/usr/share/doc/texlive-doc-base/english/texlive-en/live.html
"
aus dem texlive-doc-base
-Paket);
Wenn die Dokumente größer werden, könnte TeX eventuell Fehler
verursachen. Sie müssen dann die Pool-Größe in
"/etc/texmf/texmf.cnf
" erhöhen (oder editieren Sie besser
"/etc/texmf/texmf.d/95NonPath
" und führen
update-texmf(8)
aus), um dieses Problem zu beheben.
![]() |
Anmerkung |
---|---|
Der TeX-Quelltext von "The TeXbook" ist unter http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex
verfügbar. Diese Datei enthält die meisten der benötigten Makros. Ich habe
gehört, dass Sie dieses Dokument mit
tex(1)
verarbeiten können, wenn Sie die Zeilen 7 - 10 auskommentieren und
" |
Sie können eine Handbuchseite (manpage) in PostScript mit einem der folgenden Befehle gut ausdrucken:
$ man -Tps irgendeine_manpage | lpr
$ man -Tps irgendeine_manpage | mpage -2 | lpr
Das zweite Befehlsbeispiel druckt zwei Seiten auf ein Blatt.
Obwohl es möglich ist, eine Handbuchseite (manpage) in reinem troff-Format zu schreiben, gibt es auch einige Pakete mit Helferprogrammen, um eine solche zu erstellen:
Tabelle 11.13. Liste von Paketen, die bei der Erstellung einer Handbuchseite helfen
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
docbook-to-man
|
V:1, I:22 | 166 | SGML → manpage | Konvertierer vom DocBook-SGML-Format in roff-man-Makros |
help2man
|
V:1, I:8 | 637 | text → manpage | Automatisch Handbuchseiten aus --help-Ausgabe generieren |
info2man
|
V:0, I:0 | 161 | info → manpage | Konvertierer von GNU-info-Dateien nach POD oder Handbuchseiten |
txt2man
|
V:0, I:1 | 63 | text → manpage | Einfachen ASCII-Text in das Manpage-Format umwandeln |
Druckfähige Daten werden im Debian-System im PostScript-Format dargestellt. CUPS (Common Unix Printing System) verwendet Ghostscript als Rasterizer-Backend-Programm für Drucker, die selbst kein PostScript verstehen.
Der Kern der Verarbeitung von druckfähigen Daten ist ein Ghostscript-PostScript (PS)-Interpreter, der ein Raster-Image erzeugt.
Die letzte Ghostscript-Upstream-Version von Artifex wurde von AFPL nach GPL um-lizensiert und vereinigt in der 8.60-Veröffentlichung alle Änderungen der letzten ESP-Version (wie z.B. die CUPS bezogenen).
Tabelle 11.14. Liste von Ghostscript-PostScript-Interpretern
Paket | Popcon | Größe | Beschreibung |
---|---|---|---|
ghostscript
|
V:185, I:704 | 201 | der GPL Ghostscript-PostScript/PDF-Interpreter |
ghostscript-x
|
V:45, I:89 | 195 | GPL Ghostscript-PostScript/PDF-Interpreter - Unterstützung für X-Anzeige |
libpoppler46
|
I:122 | 3143 | Bibliothek zur PDF-Wiedergabe, Abspaltung von dem PDF-Anzeigeprogramm xpdf |
libpoppler-glib8
|
I:497 | 454 | Bibliothek zur PDF-Wiedergabe (Laufzeitbibliothek auf Basis von GLib) |
poppler-data
|
V:113, I:617 | 11853 | CMaps für eine Bibliothek zur PDF-Wiedergabe (für CJK-Unterstützung: Adobe-*) |
![]() |
Tipp |
---|---|
" |
Sie können zwei PostScript (PS)- oder Portable Document Format (PDF)-Dateien mit dem gs(1)-Befehl von Ghostscript zusammenführen:
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f datei1.ps datei2.ps $ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f datei1.pdf datei2.pdf
![]() |
Anmerkung |
---|---|
PDF, ein plattform-unabhängiges Datenformat für druckfähige Daten, ist im Grunde ein komprimiertes PS-Format mit einigen zusätzlichen Funktionalitäten und Erweiterungen. |
![]() |
Tipp |
---|---|
Auf der Befehlszeile sind
psmerge(1)
und andere Befehle aus dem |
Folgende Pakete mit Werkzeugen für druckfähige Daten sind mir ins Auge gestochen:
Tabelle 11.15. Liste von Werkzeugen für druckfähige Daten
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
poppler-utils
|
V:57, I:528 | 507 | pdf → ps,text,… |
PDF-Hilfsprogramme: pdftops , pdfinfo ,
pdfimages , pdftotext ,
pdffonts
|
psutils
|
V:28, I:471 | 193 | ps → ps | Werkzeuge zur Konvertierung von PostScript-Dokumenten |
poster
|
V:1, I:14 | 80 | ps → ps | Erzeugen großer Poster aus PostScript-Seiten |
enscript
|
V:4, I:42 | 2147 | text → ps,html,rtf | Konvertieren von ASCII-Text nach PostScript, HTML, RTF oder Pretty-Print |
a2ps
|
V:8, I:80 | 3654 | text → ps | 'Anything to PostScript'-Konvertierer (Jegliches nach PostScript) und Pretty-Printer |
pdftk
|
V:10, I:57 | 2971 | pdf → pdf |
Werkzeug zur Konvertierung von PDF-Dokumenten: pdftk
|
mpage
|
V:0, I:8 | 224 | text,ps → ps | Mehrere Seiten auf ein Blatt drucken |
html2ps
|
V:1, I:11 | 320 | html → ps | Konvertierer von HTML nach PostScript |
pdfjam
|
I:7 | 53 | pdf → pdf |
Werkzeuge zur Konvertierung von PDF-Dokumenten: pdf90 ,
pdfjoin und pdfnup
|
gnuhtml2latex
|
V:0, I:3 | 53 | html → latex | Konvertierer von HTML nach LaTeX |
latex2rtf
|
V:0, I:8 | 400 | latex → rtf | Konvertieren von Dokumenten von LaTeX nach RTF, die dann von MS Word gelesen werden können |
ps2eps
|
V:9, I:120 | 116 | ps → eps | Konvertierer von PostScript nach EPS (Encapsulated PostScript) |
e2ps
|
V:0, I:0 | 188 | text → ps | Text-nach-PostScript-Konvertierer mit Unterstützung für japanische Zeichenkodierung |
impose+
|
V:0, I:1 | 180 | ps → ps | PostScript-Hilfsprogramme |
trueprint
|
V:0, I:0 | 123 | text → ps | Viele Quellformate (C, C++, Java, Pascal, Perl, Pike, Sh und Verilog) nach PostScript konvertieren mittels Pretty-Print (C-Sprache) |
pdf2svg
|
V:0, I:5 | 50 | ps → svg | Konvertierer von PDF in das Scalable Vector Graphics-Format |
pdftoipe
|
V:0, I:0 | 48 | ps → ipe | Konvertierer von PDF in IPE's XML-Format |
Die beiden vom Common Unix Printing System (CUPS) angebotenen Befehle lp(1) und lpr(1) bieten Optionen, um das Drucken von druckfähigen Daten spezifisch anzupassen.
Mit einem der folgenden Befehle können Sie drei Kopien einer Datei auf einmal ausdrucken:
$ lp -n 3 -o Collate=True dateiname
$ lpr -#3 -o Collate=True dateiname
Druckoperationen können über Optionen für den Drucker noch weitgehender
angepasst werden, z.B. mit "-o number-up=2
", "-o
page-set=even
", "-o page-set=odd
", "-o
scaling=200
", "-o natural-scaling=200
"
usw. Diese Optionen sind dokumentiert unter Command-Line Printing and
Options.
Folgende Pakete für die Konvertierung von Mail-Daten sind mir aufgefallen:
Tabelle 11.16. Liste von Paketen zur Konvertierung von Mail-Daten
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
sharutils
|
V:13, I:149 | 1436 | shar(1), unshar(1), uuencode(1), uudecode(1) | |
mpack
|
V:3, I:48 | 116 | MIME | Kodieren und Dekodieren von MIME-Nachrichten: mpack(1) und munpack(1) |
tnef
|
V:8, I:13 | 132 | ms-tnef | Auspacken von MIME-Anhängen des Typs "application/ms-tnef" (ein nur von Microsoft verwendetes Format) |
uudeview
|
V:0, I:10 | 120 | Kodieren und Dekodieren von folgenden Formaten: uuencode, xxencode, BASE64, quoted printable und BinHex | |
readpst
|
I:1 | 21 | PST | Konvertieren von Microsoft Outlook PST-Dateien in das mbox-Format |
![]() |
Tipp |
---|---|
Ein Internet Message Access Protocol-Version4-Server (IMAP4) (Näheres in Abschnitt 6.7, „POP3-/IMAP4-Server“) kann verwendet werden, um Mails von proprietären Mail-Systemen zu exportieren, wenn der Mail-Client konfiguriert werden kann, IMAP4-Server zu nutzen. |
Mail-Daten (SMTP) sollten auf eine Abfolge von 7-Bit-Zeichen beschränkt werden. Daher werden Binärdaten und 8-Bit-Textdaten über Multipurpose Internet Mail Extensions (MIME) und die Auswahl des Zeichensatzes (lesen Sie dazu Abschnitt 8.3.1, „Grundlagen der Kodierung“) im 7-Bit-Format kodiert.
Das Standardformat zum Speichern von Mails ist mbox gemäß RFC2822 (aktualisiertes
RFC822). Näheres dazu in
mbox(5)
(aus dem mutt
-Paket).
Für europäische Sprachen wird normalerweise
"Content-Transfer-Encoding: quoted-printable
" mit dem
ISO-8859-1-Zeichensatz bei Mails verwendet, da es dabei nicht viele
8-Bit-Zeichen gibt. Wenn europäischer Text in UTF-8 kodiert ist, wird dabei
voraussichtlich "Content-Transfer-Encoding:
quoted-printable
" benutzt, da es überwiegend 7-Bit-Zeichen sind.
Für Japanisch wird gewöhnlich "Content-Type: text/plain;
charset=ISO-2022-JP
" bei Mails verwendet, um den Text im
7-Bit-Format zu halten. Ältere Microsoft-Systeme könnten jedoch Mail-Daten
in Shift-JIS versenden, ohne dies korrekt zu deklarieren. Wenn japanischer
Text in UTF-8 kodiert ist, wird dabei voraussichtlich Base64 benutzt, da dabei viele 8-Bit-Zeichen
enthalten sind. Die Situation bei anderen asiatischen Sprachen ist ähnlich.
![]() |
Anmerkung |
---|---|
Falls Sie mit einer Debian-fremden Client-Software auf Ihre nicht-Unix-Mail-Daten zugreifen können und dieser Client mit einem IMAP4-Server kommunizieren kann, können Sie die Mails von dem System herunterholen, indem Sie einen eigenen IMAP4-Server laufen lassen (lesen Sie dazu Abschnitt 6.7, „POP3-/IMAP4-Server“). |
![]() |
Anmerkung |
---|---|
Falls Sie andere Formate zur Speicherung Ihrer Mails nutzen, ist die Umstellung auf das mbox-Format ein guter erster Schritt. Ein vielseitiges Client-Programm wie z.B. mutt(1) kann dabei nützlich sein. |
Sie können den Inhalt einer Mailbox auf einzelne Nachrichten aufsplitten, indem Sie procmail(1) und formail(1) verwenden.
Jede Mail kann mittels
munpack(1)
aus dem mpack
-Paket (oder mit anderen spezialisierten
Werkzeugen) entpackt werden, um die MIME-kodierten Inhalte zu erhalten.
Folgende Pakete zur Konvertierung, Bearbeitung und Organisation von grafischen Daten sind mir aufgefallen:
Tabelle 11.17. Liste von Werkzeugen für Grafikdaten
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
gimp
|
V:102, I:519 | 15644 | image(bitmap) | GNU Image Manipulation Program (GIMP) |
imagemagick
|
V:229, I:579 | 247 | image(bitmap) | Programme zur Bildbearbeitung |
graphicsmagick
|
V:7, I:15 | 4552 | image(bitmap) |
Programme zur Bildbearbeitung (Abspaltung von
imagemagick )
|
xsane
|
V:30, I:202 | 742 | image(bitmap) | GTK+-basierte X11-Oberfläche für SANE (Scanner Access Now Easy) |
netpbm
|
V:33, I:580 | 3846 | image(bitmap) | Werkzeuge zur Grafikkonvertierung |
icoutils
|
V:6, I:45 | 167 | png ↔ ico(bitmap) | Konvertieren von MS-Windows-Icons und -Cursor in das und vom PNG-Format (Favicons) |
scribus
|
V:19, I:32 | 52910 | ps/pdf/SVG/… | Scribus DTP-Editor |
libreoffice-draw
|
V:323, I:456 | 9605 | image(vector) | LibreOffice Office-Programm - Zeichnen |
inkscape
|
V:157, I:401 | 77158 | image(vector) | SVG (Scalable Vector Graphics)-Editor |
dia-gnome
|
V:11, I:16 | 575 | image(vector) | Diagramm-Editor (GNOME) |
dia
|
V:28, I:46 | 575 | image(vector) | Diagramm-Editor (Gtk) |
xfig
|
V:16, I:26 | 1848 | image(vector) | Programm zur interaktiven Erzeugung von Objekten in X11 |
pstoedit
|
V:20, I:412 | 639 | ps/pdf → image(vector) | PostScript- und PDF-Dateien in editierbare Vector-Grafiken (SVG) konvertieren |
libwmf-bin
|
V:19, I:401 | 91 | Windows/image(vector) | Konvertierungswerkzeuge für Windows-Metadaten (Vector-Grafiken) |
fig2sxd
|
V:0, I:0 | 200 | fig → sxd(vector) | XFig-Dateien in das OpenOffice.org-Draw-Format konvertieren |
unpaper
|
V:2, I:15 | 671 | image → image | Werkzeug zum Nachbearbeiten von eingescannten Seiten für OCR |
tesseract-ocr
|
V:4, I:28 | 552 | image → text | freie OCR-Software basierend auf HPs kommerzieller OCR-Engine |
tesseract-ocr-eng
|
I:29 | 58870 | image → text | OCR-Engine-Daten: tesseract-ocr-Sprachdateien für englischen Text |
gocr
|
V:3, I:29 | 494 | image → text | freie OCR-Software |
ocrad
|
V:1, I:10 | 314 | image → text | freie OCR-Software |
eog
|
V:118, I:394 | 10395 | image(Exif) | Bildbetrachter Eye of GNOME |
gthumb
|
V:22, I:39 | 3114 | image(Exif) | Bildbetrachter und -browser (GNOME) |
geeqie
|
V:19, I:30 | 1528 | image(Exif) | Bildbetrachter, der GTK+ verwendet |
shotwell
|
V:41, I:342 | 6320 | image(Exif) | Digitalfoto-Organizer (GNOME) |
f-spot
|
V:1, I:5 | 9088 | image(Exif) | persönliches Foto-Verwaltungsprogramm (GNOME) |
gtkam
|
V:0, I:11 | 1259 | image(Exif) | Anwendung für das Abrufen von Medien aus Digitalkameras (GTK+) |
gphoto2
|
V:1, I:18 | 831 | image(Exif) | gphoto2-Befehlszeilen-Client für Digitalkameras |
gwenview
|
V:35, I:90 | 4403 | image(Exif) | Bildbetrachter (KDE) |
kamera
|
V:5, I:89 | 250 | image(Exif) | Unterstützung von Digitalkameras für KDE-Anwendungen |
digikam
|
V:7, I:24 | 9403 | image(Exif) | Digitalfoto-Verwaltung für KDE |
exiv2
|
V:10, I:151 | 245 | image(Exif) | Werkzeug zur Bearbeitung von Exif-/IPTC-Metadaten |
exiftran
|
V:3, I:32 | 55 | image(Exif) | Programm für die Umwandlung der JPEG-Bilder von Digitalkameras |
jhead
|
V:2, I:20 | 125 | image(Exif) | Bearbeitung des Nicht-Bildteils von Exif-konformen JPEG-Dateien |
exif
|
V:1, I:11 | 370 | image(Exif) | Befehlszeilen-Werkzeug, um EXIF-Informationen von JPEG-Dateien anzuzeigen |
exiftags
|
V:0, I:4 | 198 | image(Exif) | Werkzeug, um Exif-Informationen aus Digitalkamera-JPEG-Dateien auszulesen |
exifprobe
|
V:0, I:3 | 464 | image(Exif) | Metadaten aus Digitalbildern auslesen |
dcraw
|
V:4, I:31 | 323 | image(Raw) → ppm | Dekodierer für Digitalkamerabilder im RAW-Format |
findimagedupes
|
V:0, I:2 | 125 | image → fingerprint | Visuell ähnliche oder doppelte Bilder finden |
ale
|
V:0, I:0 | 757 | image → image | Bilder zusammenfügen, um die Wiedergabetreue zu erhöhen oder Mosaike zu erzeugen |
imageindex
|
V:0, I:0 | 171 | image(Exif) → html | Erzeugen von statischen HTML-Galerien aus Bildern |
bins
|
V:0, I:0 | 1173 | image(Exif) → html | Erzeugen statischer HTML-Photoalben aus XML- und EXIF-Informationen |
outguess
|
V:0, I:0 | 252 | jpeg,png | universelles Steganographie-Werkzeug |
librecad
|
V:12, I:19 | 5870 | DXF | Editor für computerunterstützte Konstruktion (Computer-aided design, CAD) (KDE) |
blender
|
V:4, I:35 | 70138 | blend, TIFF, VRML, … | Editor für 3D-Inhalte (Animationen usw.) |
mm3d
|
V:0, I:1 | 5171 | ms3d, obj, dxf, … | 3D-Modell-Editor auf Basis von OpenGL |
open-font-design-toolkit
|
I:0 | 28 | ttf, ps, … | Metapaket für Open-font-Design |
fontforge
|
V:1, I:10 | 2537 | ttf, ps, … | Editor für PS-, TrueType- und OpenType-Schriften |
xgridfit
|
V:0, I:0 | 898 | ttf | Programm zum Gridfitting und Hinting von TrueType-Schriften |
![]() |
Tipp |
---|---|
Weitere Werkzeuge zur Bildbearbeitung finden Sie mit dem regulären Ausdruck
" |
Obwohl grafische GUI-Programme wie gimp(1) sehr leistungsfähig sind, können auch Befehlszeilenwerkzeuge wie imagemagick(1) nützlich sein, um automatisierte Bildbearbeitung über Skripte durchzuführen.
Der De-Facto-Standard für Bilddateien von Digitalkameras ist Exchangeable Image File Format (EXIF); dies entspricht dem JPEG-Dateiformat mit zusätzlichen Metainformationen. Es kann auch Informationen wie Datum, Zeit und Kameraeinstellungen speichern.
Das Patent zur verlustlosen Datenkompression mit dem Lempel-Ziv-Welch-(LZW-)Algorithmus ist abgelaufen. Graphics Interchange Format (GIF)-Werkzeuge, die die LZW-Kompressionsmethode nutzen, sind jetzt frei im Debian-System verfügbar.
![]() |
Tipp |
---|---|
Alle Digitalkameras oder Scanner mit Wechseldatenträgern als Speichermedium funktionieren unter Linux über USB-Speicher-Lesegeräte, da sie die Design-Regeln für Kamera-Dateisysteme befolgen und FAT als Dateisystem verwenden. Näheres finden Sie in Abschnitt 10.1.7, „Wechseldatenträger“. |
Es gibt viele andere Programme zum Konvertieren von Daten. Folgende Pakete
habe ich über den regulären Ausdruck "~Guse::converting
"
in
aptitude(8)
gefunden (Näheres dazu in Abschnitt 2.2.6, „Optionen für Suchmethoden mit aptitude“).
Tabelle 11.18. Liste verschiedener Werkzeuge zur Datenkonvertierung
Paket | Popcon | Größe | Schlüsselwort | Beschreibung |
---|---|---|---|---|
alien
|
V:8, I:91 | 212 | rpm/tgz → deb | Konvertierer für Fremdpakete in das Debian-Paketformat |
freepwing
|
V:0, I:0 | 568 | EB → EPWING | Konvertierer von "Electric Book" (beliebt in Japan) in ein separates JIS X 4081-Format (eine Untermenge von EPWING V1) |
calibre
|
V:7, I:34 | 42503 | alle → EPUB | E-Book-Konvertierer und Bibliotheksverwaltung |
Sie können die Daten aus einem RPM-Archiv auch mit folgendem Befehl extrahieren:
$ rpm2cpio datei.src.rpm | cpio --extract