ee432c31255b5b60ae997a870a24cb7d8215eaaa
[mDoc.git] / python / mDoc / tpl / latex.tpl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <mdoc format="latex" extension="tex">
3 <functions>
4 <function name="informaltable">
5 <![CDATA[
6 # eval colums
7 (ctl,elem, value, attrs) = source.extractElement(XMLE.EC_BEG) # reads tgroup
8 if elem != "tgroup":
9         raise RuntimeError("unknown elem, <tgroup> expected in <informaltable>: "+elem)
10 cols = int(attrs["cols"])
11 colsep = ""
12 if attrs["colsep"] == "1":
13         colsep = "|"
14 rowsep = False
15 if attrs["rowsep"] == "1":
16         rowsep = True
17 align = "r"
18 if attrs["align"] == "left":
19         align = "l"
20 out = r"\begin{tabular}{" + (cols-1)*(align+colsep) + align + "}\n"
21 (ctl,elem, value, attrs) = source.extractElement(XMLE.EC_BEG) # searches tbody
22 while ctl != XMLE.EC_END:
23         if elem == "tbody": # tbody found
24                 (ctl1,elem, value, attrs) = source.extractElement(XMLE.EC_BEG) # reads row
25                 while ctl1 != XMLE.EC_END:
26                         if elem != "row":
27                                 raise RuntimeError("Only <row> expected in <tbody>: "+elem)
28                         (ctl2,elem, value, attrs) = source.extractElement(XMLE.EC_BEG) # reads entry
29                         entry_sep = ""
30                         while ctl2 != XMLE.EC_END:
31                                 if elem != "entry":
32                                         raise RuntimeError("Only <entry> expected in <row>: "+elem)
33                                 out += entry_sep + value
34                                 entry_sep = " & "
35                                 (ctl2,elem, value, attrs) = source.extractElement(ctl2) # reads entry
36                         out += r" \\" + "\n"
37                         (ctl1,elem, value, attrs) = source.extractElement(ctl1) # reads row
38                 out += r"\end{tabular}"
39         (ctl,elem, value, attrs) = source.extractElement(ctl) # searches tbody  
40 ]]></function>
41 </functions>
42 <global>
43 <informaltable exec="informaltable"/>
44 </global>
45 <hierarchical>
46 <article>
47 <test>testdata</test>
48 <articleinfo position="first">
49 <![CDATA[\documentclass[12pt, a4paper, parskip=half]{scrartcl}
50 \usepackage[utf8]{inputenc}% muss zum Editor passen -> http://texwelt.de/wissen/fragen/2656/
51 \usepackage[T1]{fontenc}
52 \usepackage[ngerman]{babel}
53 \usepackage{wallpaper}
54 \usepackage{wrapfig} % Für Textumlauf
55 \usepackage{geometry}
56 \geometry{a4paper,left=25mm,right=20mm, top=33mm, bottom=30mm}
57
58 \renewcommand{\familydefault}{\sfdefault}
59
60 \author{Michael J.M. Wagner}
61
62 \CenterWallPaper{1}{wagner_tech_briefbogen_blau_fs1.pdf}
63
64 \setcounter{secnumdepth}{0} % keine Kapitelnummerierung
65 ]]>
66 </articleinfo>
67 <articleinfo>
68         <title pre="\title{" post="}"/>
69         <pubdate pre="\date{" post="}"/>
70 </articleinfo>
71 <articleinfo position="last">
72 <![CDATA[
73 \begin{document}
74 \pagenumbering{gobble} % no page numbers
75
76 \maketitle
77 ]]>
78 </articleinfo>
79 <section pre="\section{">
80         <title post="}"/>
81 </section>
82 </article>
83 <article position="last">
84 <![CDATA[
85 \end{document}
86
87 ]]>
88 </article>
89
90 </hierarchical>
91 </mdoc>
92