Neu30 Suche in meinem Heimatblatt Mein Heimatblatt Hochschulrechenzentrum Universität [E-Mail an Günter Partosch]
Schein Kurse, allgemein XML, Übersicht 1. XML-Kurs 2. XML-Kurs XML-Gruppen / Listen TeX-Aktivitäten

Von XML nach PDF über TeX

Vortrag und Tutorium bei der TeX-Tagung DANTE'2002 am 22.2.2002 in Erlangen bzw.
Tutorium bei der MV27 am 4.10.2002 in Augsburg

Inhalt:

  1. Abstract
  2. Übersicht und eigentliches Tutorium
  3. Vorgänge und Arbeitsabläufe
  4. Beteiligte Dateien

Abstract:

XML und PDF sind zwei prominente und weit verbreitete Standards bei der Dokumentenverarbeitung:

Zunächst werden mögliche Arbeitsabläufe bei der Umwandlung von XML nach PDF übersichtsartig vorgestellt und gezeigt wie TeX eine Rolle dabei spielen kann, im Folgenden dann detailliert zwei konkrete Verfahren zur Konvertierung von XML nach PDF mittels TeX:

Übersicht und eigentliches Tutorium:

Daneben gibt es auch noch die PDF-Datei XML+TeX-all.pdf, bei der alle beteiligten PDF-Dateien eingebunden sind.

Vorgänge und Arbeitsabläufe:

  1. Ein Ausgangspunkt ist die kleine XML-Datei kapitel0.xml.
  2. Diese Datei kann erweitert und mit einer DTD versehen werden: kapitel2.xml mit der DTD kapitel2.dtd.
  3. Ein anderer Ausgangspunkt ist die XML-Datei adr6.xml mit der DTD adressen.dtd.
  4. Die XML-Datei kapitel2.xml kann mit Hilfe von AWK (und den AWK-Programmen zerteil.awk und kap2h.awk) in die HTML-Datei kapitel2.html konvertiert werden. Das Ergebnis kann im Browser betrachtet und beispielsweise mit Hilfe geeigneter Druckertreiber in PDF abgespeichert werden:
    gawk -f zerteil.awk kapitel2.xml | gawk -f kap2h.awk > kapitel2.html
    
  5. Die XML-Datei kapitel2.xml kann mit Hilfe des XSLT-Prozessors Saxon (und der XSL-Datei kapitel2-html1.xsl) in die HTML-Datei kapitel2a.html konvertiert werden. Das Ergebnis kann im Browser betrachtet und beispielsweise mit Hilfe geeigneter Druckertreiber in PDF abgespeichert werden:
    saxon kapitel2.xml kapitel2-html1.xsl > kapitel2a.html
    
  6. Die XML-Datei kapitel2.xml kann mit Hilfe von AWK (und den AWK-Programmen zerteil.awk und kap2t.awk) in die LaTeX-Datei kapitel2.tex konvertiert werden. kapitel2.tex wird durch pdfLaTeX aufbereitet. Das Ergebnis steht anschließend in der PDF-Datei [PDF-Dokument] kapitel2.pdf:
    gawk -f zerteil.awk kapitel2.xml | gawk -f kap2t.awk > kapitel2.tex
    pdflatex kapitel2.tex
    
  7. Die XML-Datei kapitel2.xml kann mit Hilfe des XSLT-Prozessors Saxon (und der XSL-Datei kapitel2-tex1.xsl) in die LaTeX-Datei kapitel2a.tex konvertiert werden. kapitel2a.tex wird durch pdfLaTeX aufbereitet. Das Ergebnis steht anschließend in der PDF-Datei [PDF-Dokument] kapitel2a.pdf:
    saxon kapitel2.xml kapitel2-tex1.xsl > kapitel2a.tex
    pdflatex kapitel2a.tex
    
  8. Die XML-Datei adr6.xml wird durch pdfxmltex (gesteuert durch adr6.cfg und adressen.xmt) aufbereitet. Das Ergebnis steht in adr6.pdf (= [PDF-Dokument] tutx1.pdf). Die eigentliche Formatierung wird in der LaTeX-Style-Datei adr-tex.sty festgelegt:
    pdfxmltex adr6.xml
    
  9. Die XML-Datei manual.xml wird durch pdfxmltex (gesteuert durch xmltex.cfg und tei.xmt) aufbereitet. Alle drei Dateien entstammen der TeXLive6-Distribution. Das Ergebnis steht in manual.pdf (= [PDF-Dokument] tutx2.pdf):
    pdfxmltex manual.xml
    
  10. Die ConTeXt-Datei tutc1.tex wird -- nach einigen Umformungen -- aufbereitet. Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc1.pdf:
    texexec --pdf tutc1.tex
    
  11. Die ConTeXt-Datei tutc2.tex (\enableXML und Processing Instruction) wird aufbereitet. Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc2.pdf:
    texexec --pdf tutc2.tex
    
  12. Die ConTeXt-Datei tutc3.tex (MathML, \useXMLfilter, \startbuffer, \processbuffer) wird aufbereitet. Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc3.pdf:
    texexec --pdf tutc3.tex
    
  13. Die ConTeXt-Datei tutc4.tex (MathML, \useXMLfilter, \startXMLdata) wird aufbereitet. Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc4.pdf:
    texexec --pdf tutc4.tex
    
  14. Die ConTeXt-Datei tutc5.tex (MathML, \useXMLfilter, \startXMLcode) wird aufbereitet. Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc5.pdf:
    texexec --pdf tutc5.tex
    
  15. Die ConTeXt-Datei tutc6.tex (\processXMLfilegrouped) wird aufbereitet. Das Ergebnis steht in der PDF-Datei i [PDF-Dokument] tutc6.pdf:
    texexec --pdf tutc6.tex
    
  16. Die XML-Datei adr6.xml wird aufbereitet (gesteuert durch die Direktivendatei tutc7.dir: Abbildung mit \defineXMLenvironment, \defineXMLpickup). Das Ergebnis steht in der PDF-Datei adr6.pdf (= [PDF-Dokument] tutc7.pdf):
    texexec --pdf --env=tutc7.dir adr6.xml
    
  17. Die ConTeXt-Datei tutc8.tex wird aufbereitet (Abbildung mit \defineXMLenvironment, \defineXMLargument, \XMLpar, \defineXMLgrouped, \defineXMLpush, \XMLpop, Processing Instruction). Das Ergebnis steht in der PDF-Datei [PDF-Dokument] tutc8.pdf:
    texexec --pdf tutc8.tex
    

Beteiligte Dateien:


Gültiges HTML 4.01 Gültiges CSS

$Revision: 1.18 $ ($Date: 2003/10/09 11:37:00 $) by $Author: g029 $