template-system um latexfiles zu erzeugen

20/03/2009 - 19:34 von kimi | Report spam
Hallo,

ich möchte latexfiles aus templates erzeugen. Irgendwie finde ich keine
passende Lösung. Jetz habe ich mir gedacht ich verwende ein tex-file als
template in dem ich die zu ersetztenden Textteile durch die entsprechende
Variable ersetzt habe. z.B. steht dann im templatefile:
\Anrede{#{content['anrede']}
die Variable content['anrede'] enthàlt dann etwa "Sehr geehrte Frau
Dingsbums".

Das ganze habe ich jetzt mal so implementiert:

#!/usr/bin/ruby -w
class Ctex

def load_template(filename)
file = File.open(filename)
template = file.readlines
end

def load_yaml(filename)
input_data = File.read(filename)
work_data = YAML::load(input_data)
end

end #ctex
text = Ctex.new
#load data-file briefdaten
content = text.load_yaml('test.yaml')

#load tex-template vorlage
template = text.load_template('latex/anschreiben.ttex')

#Zeilenweise Ausgabe
template.each {|l|
puts "#{l}"
}

puts "sehr geehrte Damen und Herren #{content['anrede']}"


Das letzte puts funktioniert es, aber in der templates.each-Schleife werden
die Variablen beim puts in der Ausgabe nicht ersetzt. Wie macht man sowas
am besten oder muss ich jede einzelne Variable aus dem Templatefile
herausfiltern und den Wert einsetzen.

Gruss
Michael Kindermann
 

Lesen sie die antworten

#1 Matthias Reitinger
20/03/2009 - 19:41 | Warnen spam
kimi schrieb:

ich möchte latexfiles aus templates erzeugen. Irgendwie finde ich keine
passende Lösung.



Hast du dir schon mal ERB[1] angeschaut? Es ist in der Standardbibliothek
enthalten und sollte deine Anforderungen erfüllen.

Grüße, Matthias

[1]: http://www.ruby-doc.org/stdlib/libd...s/ERB.html

Ähnliche fragen