[linux-l] Re: Dateisystem als Datenbank

Volker Grabsch vog at notjusthosting.com
Sa Okt 22 09:04:28 CEST 2005


On Fri, Oct 21, 2005 at 06:53:18PM +0000, Rocco Rutte wrote:
> * Volker Grabsch [05-10-21 18:30:35 +0200] wrote:
> 
> [ XML -> LaTeX ]
> 
> >xsltproc kann übrigens kein LaTeX erzeugen ... es kann Text erzeugen,
> >aber quotet ihn nicht LaTeX-mäßig. TeXML schafft da abhilfe. Genauer
> >gesagt müsste es also heißen:
> 
> >	XML-Format ==> TeXML ==> LaTeX ==> ...
> 
> Oder auch nicht. Ich hatte für muttng da ein bischen mit Google gesucht 
> und bin tastächlich fündig geworden:
> 
>   <http://www.w3.org/2004/04/xhlt91/xh2latex.xsl>
> 
> und dort halt der sehr lange rekursive Rattenschwanz. Das funktioniert 
> erstaunlich gut,

Achso? Dieser Stylesheet macht XHTML ==> LaTeX. Zusammen mit den anderen
Tools:

http://www.cse.ohio-state.edu/~gurari/docs/mml-00/xhm2latex.html#x1-20001

ist das zumindest eine interessante Alternative, denn das Quoting wird
dort auf andere Weise gelöst, über utf2any. Aber genau deshalb bin ich
mir auch nicht sicher, ob das Quoting wirklich sauber ist.


LaTeX-Quoting per utf2any sinnvoll?
-----------------------------------

TeXML ist ein sehr viel einfacheres System, wo es letztlich eigentlich
*nur* noch ums Quoting geht. Sag mir, wenn ich mich irre, aber TeXML hat
gegenüber utf2any den Vorteil, dass es in der Mathe-Umgebung z.B. anders
quoted als in der Absatz-Umgebung.

Außerdem hat schon TeXML einige Probleme, weil z.B. Tabbing-Umgebungen
(bzw. allgemeiner: LaTeX-Code) geringfügig anders gequotet werden muss
als z.B. ConTeXt  (Stichwort: Akzente in Tabbing-Umgebungen). Dieser 3. Modus
ist in TeXML noch in Arbeit. Genauso müsste es eigentlich auch noch
einen Modus für LaTeX-Dokumente geben, die \usepackage{german} nutzen,
z.B. wegen der "` und "' Zeichen.

Ich meine, na klar sind das eigentlich Designfehler von LaTeX, aber
dennoch müssen sie beachtet werden. Schon TeXML, wo es fast nur
ums Quoting geht, hat da einiges zu tun, *obwohl* es die Dokument-Struktur
kennt! Was soll dann erst utf2any machen, das in diese Struktur per
Definition gar keinen Einblick mehr hat? Sag mir, wenn ich mich irre, aber
utf2any ist zum Quoten von LaTeX-Dokumenten nicht wirklich geeignet.

Es werden die LaTeX-Steuerzeichen nochmal extra gequotet, damit sie von
utf2any nicht angefasst werden. Somit komme ich sofort in Teufels Küche,
wenn mein XHTML-Dokument irgendwo den String @@dollar@@ enthält. Unter
stabilem Quoting versteh ich was anderes.

Ich denke, die ht2latex - XSLT-Stylesheets hätten lieber TeXML erzeugen
sollen, statt dieser fragilen utf2any-Konstruktion. Leider hat TeXML
wieder den Nachteil der schlechteren Lesbarkeit. Dies wirkt sich aber
erst bei größeren selbstgeschriebenen Stylesheets aus. Das ht2latex-
Projekt hingegen würde IMHO von TeXML sehr profitieren.


XHTML ==> LaTeX sinnvoll?
-------------------------

Davon abgesehen gibt es bei obigem Ansatz noch zwei weitere Probleme:

Zum einen wird XHTML als Ausgangssprache genommen, das eigentlich ganz
andere Dokument-Typen widerspiegelt, nämlich Web-Dokumente, und keine
Print-Dokumente. Wenn ich LaTeX erst über den Umweg XHTML erzeuge, kann
ich viele LaTeX-Features nicht benutzen. Selbiges Problem hätte ein
Generator, der nur LaTeX erzeugt, und bei dem die HTML-Variante per
latex2html erzeugt wird. Im ersten Fall wird der LaTeX-Output
stiefmütterlich behandelt, im zweiten Fall sieht der HTML-Output
schrottig aus.

Eigentlich wäre es viel sinnvoller, nicht XHTML als Ausgangsbasis zu
nehmen, sondern eine Sprache, die TeX abbildet. TeXML hat im
Wesentlichen nur 2 Kommandos und 3 Umgebungen. Dadurch braucht sich der
Parser fast nur um das Quoting kümmern. Und der TeXML-Parser ist schnell
genug, vorallem wesentlich schneller als der darauffolgende Aufruf
von LaTeX :-)


Verbesserung von TeXML
----------------------

Auch die TeXML-Leute haben das KISS zwar sehr weit, aber IMHO noch nicht
weit genug getrieben. Prinzipiell fände ich es sehr viel schöner, wenn
TeXML weniger Sonderbefehle für die LaTeX-Konstrukte hätte, sondern
stattdessen Sonderbefehle für den Inhalt, also die zu quotenden Sachen.
Aber gut, dann wäre es kein TeXML mehr, weil das XML-Dokument nicht
mehr die TeX-Struktur widerspiegelt. Das läuft dann eher auf eine
allgemeine Quoting-Sprache hinaus, d.h. für einen "eigenes-XML ==> LaTeX"
Konvertierer würde mir sowas hier gefallen (ich nenn's einfach
mal QuoteML ;-)):

	<quoteml>
		<quote mode="plain">
			\documentclass[a4paper]{article}
			\usepackage{german}
			\begin{document}
		</quote>
		<quote mode="latex-german">
			Dies ist ein Text mit \nem %haufen $Sonderzeichen
		</quote>
		<quote mode="plain">
			\end{document}
		</quote>
	</quoteml>

(Bitte das Whitespace-Problem ignorieren, da es eh nicht auftritt,
 wenn QuoteML von einem XSLT-Stylesheet erzeugt wird)

Natürlich hat das jetzt wieder sehr viel Ähnlichkeit mit anderen
Template-Systemen, aber

1. kenn ich kein Template-System, bei dem der *Stylesheet* direkt
   den Quoting-Modus angeben kann. Die meisten Templating-Systeme
   sind direkt für z.B. (X)HTML ausgelegt. bzw. die Templating-
   Systeme, die mehr können, sind keine Template-Sprachen, sondern
   Programmiersprachen. :-)

2. ist dies ein XML-Format, sodass man keine Programmiersprache
   benutzen muss, wenn man es nicht braucht. Das heißt, QuoteML
   kann (und soll) per XSLT erzeugt werden.

Sicher könnte man jetzt auch über das Verschachteln von <quote>-
Umgebungen nachdenken und so. Aber 
Kennt jemand etwas derartiges?


Genau wie die Wikis sind auch die Templating-Systeme, die ich bisher
gesehen habe, unnötig "speziell".


> wenn auch (ist ja XSL) seeeehr langsam...

Achso? Auch mit xsltproc? Ich meine, wer Xalan o.Ä. nimmt, ist selbst
schuld.  ;-)

BTW:  Woher kommt eigentlich dieses "xt" - Programm, das bei ht2latex
empfohlen wird? Was ist das für ein XSLT-Tool? Das habe ich bisher noch
nirgends gesehen.


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l