Mindmaps aus Freemind nach LaTeX exportieren – Teil 4

Hier jetzt der finale Teil unserer Reihe, der Anpassung des originalen komplexen XSL Sheets auf unsere Bedürfnisse:

  • Erstellung eines kompletten, kompilierbaren Dokuments
  • Aufruf der itemize Matches, um itemize Umgebungen zu erzeugen

Die erste Anforderung ist leicht umzusetzen, wir setzen statt des original Match auf das „map“ Element einfach unseren ein:

<xsl:template match="map">
	<xsl:text>
	\documentclass[ngerman]{scrreprt}
	\usepackage[utf8]{inputenc}
	\usepackage[]{babel}
	\usepackage[T1]{fontenc}
	\author{Uwe Ziegenhagen}
	\title{</xsl:text><xsl:value-of select="node/@TEXT"/><xsl:text>}
	\begin{document}
	\maketitle
	\tableofcontents
	</xsl:text>
 
		<xsl:apply-templates/>
 
	<xsl:text>
	\end{document}
	</xsl:text>
</xsl:template>


Was die zweite Anforderung angeht: Wir haben ja schon im dritten Teil unserer Reihe gesehen, dass der Call auf das „itemize“ Matching problemlos ausgeführt werden kann, selbst wenn die entsprechenden Mindmaps viel kleiner sind. Es reicht daher, in der XSLT Datei einfach im subparagraph Teil die IF Abfrage zu entfernen:

<!-- <xsl:if test="current()/node/richcontent/html/body/p/@text"> -->
     <xsl:call-template name="itemization"></xsl:call-template>
<!-- </xsl:if> -->

Hier jetzt die finale Version, wie sie aktuell bei mir im Einsatz ist: mm2latexr_richcontent_v1.02_uwe. Der erzeugte TeX Code ist bei den itemizes nicht besonders gut eingerückt, aber auf absehbare Zeit kann ich damit leben.

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination. Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website