docgenerator 0.1.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/examples/docgenerator_example.rb +76 -160
- data/examples/docgenerator_example_footnote.rb +98 -0
- data/examples/docgenerator_example_list.rb +62 -0
- data/examples/docgenerator_example_restrictions.rb +59 -0
- data/examples/docgenerator_example_tabular.rb +68 -0
- data/examples/docgenerator_example_tripfalls.rb +57 -0
- data/examples/wiki2docgenerator_example.rb +270 -0
- data/lib/docgenerator.rb +159 -0
- data/{docgenerator_attribute.rb → lib/docgenerator_attribute.rb} +32 -7
- data/{docgenerator_characters.rb → lib/docgenerator_characters.rb} +15 -0
- data/{docgenerator_css.rb → lib/docgenerator_css.rb} +6 -1
- data/{docgenerator_document.rb → lib/docgenerator_document.rb} +92 -93
- data/{docgenerator_element.rb → lib/docgenerator_element.rb} +125 -51
- data/{docgenerator_elements.rb → lib/docgenerator_elements.rb} +40 -56
- data/{docgenerator_environments.rb → lib/docgenerator_environments.rb} +16 -10
- data/{docgenerator_footnote.rb → lib/docgenerator_footnote.rb} +44 -22
- data/{docgenerator_lists.rb → lib/docgenerator_lists.rb} +44 -39
- data/{docgenerator_sections.rb → lib/docgenerator_sections.rb} +2 -2
- data/{docgenerator_tabular.rb → lib/docgenerator_tabular.rb} +71 -39
- data/{packages → lib/packages}/docgenerator_attachfile.rb +0 -0
- data/{packages → lib/packages}/docgenerator_caption.rb +0 -0
- data/{packages → lib/packages}/docgenerator_hyperref.rb +0 -0
- data/{packages → lib/packages}/docgenerator_listings.rb +1 -2
- data/{packages → lib/packages}/docgenerator_pdfpages.rb +0 -0
- data/{packages → lib/packages}/docgenerator_scrlettr2.rb +2 -2
- data/{packages → lib/packages}/docgenerator_scrpage2.rb +0 -0
- data/{packages → lib/packages}/docgenerator_url.rb +0 -0
- data/lib/templates/docgenerator_template.rb +176 -0
- data/lib/templates/docgenerator_template.yaml +105 -0
- data/lib/wiki2doc/wiki2docgenerator.rb +1161 -0
- data/self_docgenerator.rb +161 -0
- data/unittest/expected/test_beamer_note.html +1 -0
- data/unittest/expected/test_beamer_note.latex +1 -0
- data/unittest/expected/test_beamer_note.text +1 -0
- data/unittest/expected/test_beamer_note.wiki +1 -0
- data/unittest/expected/test_block.html +1 -0
- data/unittest/expected/test_block.latex +1 -0
- data/unittest/expected/test_block.text +1 -0
- data/unittest/expected/test_block.wiki +2 -0
- data/unittest/expected/test_css.css +1 -0
- data/unittest/expected/test_css2.css +1 -0
- data/unittest/expected/test_description.html +1 -0
- data/unittest/expected/test_description.latex +3 -0
- data/unittest/expected/test_description.text +3 -0
- data/unittest/expected/test_description.wiki +3 -0
- data/unittest/expected/test_document_article.latex +23 -0
- data/unittest/expected/test_document_html.html +14 -0
- data/unittest/expected/test_document_replacement_article.latex +23 -0
- data/unittest/expected/test_document_replacement_html.html +14 -0
- data/unittest/expected/test_document_replacement_text.text +5 -0
- data/unittest/expected/test_document_replacement_wiki.wiki +5 -0
- data/unittest/expected/test_document_text.text +5 -0
- data/unittest/expected/test_document_wiki.wiki +5 -0
- data/unittest/expected/test_enumerate.html +1 -0
- data/unittest/expected/test_enumerate.latex +3 -0
- data/unittest/expected/test_enumerate.text +1 -0
- data/unittest/expected/test_enumerate.wiki +2 -0
- data/unittest/expected/test_footnote.html +5 -0
- data/unittest/expected/test_footnote.latex +11 -0
- data/unittest/expected/test_footnote.text +13 -0
- data/unittest/expected/test_footnote.wiki +11 -0
- data/unittest/expected/test_footnote_group.html +8 -0
- data/unittest/expected/test_footnote_group.latex +17 -0
- data/unittest/expected/test_footnote_group.wiki +17 -0
- data/unittest/expected/test_href.html +2 -0
- data/unittest/expected/test_href.latex +8 -0
- data/unittest/expected/test_href.text +4 -0
- data/unittest/expected/test_html_css.html +1 -0
- data/unittest/expected/test_itemize.html +1 -0
- data/unittest/expected/test_itemize.latex +3 -0
- data/unittest/expected/test_itemize.text +1 -0
- data/unittest/expected/test_itemize.wiki +2 -0
- data/unittest/expected/test_section.html +8 -0
- data/unittest/expected/test_section.latex +20 -0
- data/unittest/expected/test_section.text +24 -0
- data/unittest/expected/test_section.wiki +20 -0
- data/unittest/expected/test_tabular.html +10 -0
- data/unittest/expected/test_tabular.latex +10 -0
- data/unittest/expected/test_tabular.wiki +31 -0
- data/unittest/expected/test_tabular_doc.latex +22 -0
- data/unittest/expected/test_wiki.html +6 -0
- data/unittest/expected/test_wiki.latex +12 -0
- data/unittest/expected/test_wiki.text +14 -0
- data/unittest/expected/test_wiki.wiki +12 -0
- data/unittest/expected/test_wiki_amazon.html +10 -0
- data/unittest/expected/test_wiki_description.html +7 -0
- data/unittest/expected/test_wiki_description.latex +11 -0
- data/unittest/expected/test_wiki_description.text +6 -0
- data/unittest/expected/test_wiki_description.wiki +6 -0
- data/unittest/expected/test_wiki_footnote.html +8 -0
- data/unittest/expected/test_wiki_footnote.latex +15 -0
- data/unittest/expected/test_wiki_footnote.text +12 -0
- data/unittest/expected/test_wiki_footnote.wiki +12 -0
- data/unittest/expected/test_wiki_footnote_groupid.html +21 -0
- data/unittest/expected/test_wiki_html_code.html +7 -0
- data/unittest/expected/test_wiki_html_code.latex +10 -0
- data/unittest/expected/test_wiki_html_code.text +6 -0
- data/unittest/expected/test_wiki_html_code.wiki +6 -0
- data/unittest/expected/test_wiki_inline.html +6 -0
- data/unittest/expected/test_wiki_inline.latex +12 -0
- data/unittest/expected/test_wiki_inline.text +8 -0
- data/unittest/expected/test_wiki_inline.wiki +8 -0
- data/unittest/expected/test_wiki_label.html +6 -0
- data/unittest/expected/test_wiki_link.html +8 -0
- data/unittest/expected/test_wiki_link.latex +14 -0
- data/unittest/expected/test_wiki_link.log +3 -0
- data/unittest/expected/test_wiki_link.wiki +6 -0
- data/unittest/expected/test_wiki_list_ol.html +24 -0
- data/unittest/expected/test_wiki_list_ol.latex +30 -0
- data/unittest/expected/test_wiki_list_ol.text +10 -0
- data/unittest/expected/test_wiki_list_ol.wiki +12 -0
- data/unittest/expected/test_wiki_list_ol_after_ul.html +16 -0
- data/unittest/expected/test_wiki_list_ol_after_ul.latex +24 -0
- data/unittest/expected/test_wiki_list_ol_after_ul.text +8 -0
- data/unittest/expected/test_wiki_list_ol_after_ul.wiki +10 -0
- data/unittest/expected/test_wiki_list_ol_ul.html +24 -0
- data/unittest/expected/test_wiki_list_ol_ul.latex +30 -0
- data/unittest/expected/test_wiki_list_ol_ul.text +10 -0
- data/unittest/expected/test_wiki_list_ol_ul.wiki +12 -0
- data/unittest/expected/test_wiki_list_ul.html +24 -0
- data/unittest/expected/test_wiki_list_ul.latex +30 -0
- data/unittest/expected/test_wiki_list_ul.text +10 -0
- data/unittest/expected/test_wiki_list_ul.wiki +12 -0
- data/unittest/expected/test_wiki_list_ul_too_much.html +39 -0
- data/unittest/expected/test_wiki_list_ul_too_much.latex +51 -0
- data/unittest/expected/test_wiki_list_ul_too_much.text +11 -0
- data/unittest/expected/test_wiki_list_ul_too_much.wiki +15 -0
- data/unittest/expected/test_wiki_picture.html +55 -0
- data/unittest/expected/test_wiki_picture.latex +76 -0
- data/unittest/expected/test_wiki_picture_thumb.html +5 -0
- data/unittest/expected/test_wiki_tab1.html +30 -0
- data/unittest/expected/test_wiki_tab1.latex +30 -0
- data/unittest/expected/test_wiki_tab1.wiki +29 -0
- data/unittest/expected/test_wiki_textformatting.html +7 -0
- data/unittest/expected/test_wiki_textformatting.latex +16 -0
- data/unittest/expected/test_wiki_textformatting.text +11 -0
- data/unittest/expected/test_wiki_textformatting.wiki +9 -0
- data/unittest/expected/test_wiki_toc.html +9 -0
- data/unittest/expected/test_wiki_toc.latex +18 -0
- data/unittest/expected/test_wiki_toc.text +21 -0
- data/unittest/expected/test_wiki_toc.wiki +18 -0
- data/unittest/expected/test_wiki_ul_multiple_line.html +18 -0
- data/unittest/expected/test_wiki_ul_multiple_line.latex +19 -0
- data/unittest/expected/test_wiki_ul_multiple_line.text +6 -0
- data/unittest/expected/test_wiki_ul_multiple_line.wiki +7 -0
- data/unittest/test_docgenerator.rb +85 -0
- data/unittest/unittest_docgenerator.rb +454 -0
- data/unittest/unittest_wiki2doc.rb +451 -0
- metadata +155 -31
- data/docgenerator.rb +0 -137
- data/docgenerator_template.rb +0 -103
- data/packages/docgenerator_beamer.rb +0 -250
@@ -0,0 +1,161 @@
|
|
1
|
+
#
|
2
|
+
#This program creates element-description in TARGETDIR
|
3
|
+
#
|
4
|
+
require 'docgenerator'
|
5
|
+
require 'wiki2doc/wiki2docgenerator'
|
6
|
+
puts "==> Version #{Gem.loaded_specs['docgenerator'].version}"
|
7
|
+
TARGETDIR = 'self_docgenerator'
|
8
|
+
|
9
|
+
|
10
|
+
class DocElement
|
11
|
+
@@all = []
|
12
|
+
def initialize(objekt)
|
13
|
+
@@all << self
|
14
|
+
@el_class = objekt
|
15
|
+
@el_object = objekt.new()
|
16
|
+
@el_object.ids.each{|key|
|
17
|
+
@key = key if "#{key}" =~ /\A[A-Za-z]+\Z/
|
18
|
+
break if @key
|
19
|
+
}
|
20
|
+
@el_object << 'content' if @el_object.content?
|
21
|
+
puts "No key: #{objekt.inspect}" if ! @key
|
22
|
+
end
|
23
|
+
attr_reader :key
|
24
|
+
attr_reader :el_object
|
25
|
+
def self.each()
|
26
|
+
@@all.uniq!
|
27
|
+
@@all.each{|o| yield o }
|
28
|
+
end
|
29
|
+
|
30
|
+
def mk_doc( nav )
|
31
|
+
descr = []
|
32
|
+
descr << element(:label,{ :name => @key }).cr
|
33
|
+
descr << element(:h2,{}, @el_object.ids.join(', ')).cr
|
34
|
+
#~ descr << @el_class.inspect
|
35
|
+
descr << element(:h3, {}, 'Ids' ).cr
|
36
|
+
descr << ul = element(:ul).cr
|
37
|
+
@el_object.ids.map{|id| ul << element(:li, {}, id) }
|
38
|
+
|
39
|
+
#
|
40
|
+
#Attributes
|
41
|
+
#
|
42
|
+
descr << element(:h3, {}, "Attributes").cr
|
43
|
+
attr_code = [] #attr-list for usage
|
44
|
+
if Element.get_attribute_list( @el_class ).empty?
|
45
|
+
descr << element(:p, {}, "No attributes available").cr
|
46
|
+
else
|
47
|
+
descr << attr_tab = element(:tabular, { :columns => 10, :border => '1px' } ).cr
|
48
|
+
#title
|
49
|
+
attr_tab << row = element(:row).cr
|
50
|
+
row << element(:col, {}, 'Attribute' ).cr
|
51
|
+
[ :required, :content, :unique,
|
52
|
+
:html, :latex, :text, :wiki, :texkeyval
|
53
|
+
].map{ |akey|
|
54
|
+
row << element(:col, {:align => 'center'}, akey ).cr
|
55
|
+
}
|
56
|
+
row << element(:col, {:align => 'center'}, 'Allowed values' ).cr
|
57
|
+
#description of attributes
|
58
|
+
@el_object.attr.sort_by{|key, attr|attr.sortkey}.each{|key, attr|
|
59
|
+
attr_tab << row = element(:row).cr
|
60
|
+
row << element(:col,{}, key)
|
61
|
+
[ :required, :content, :unique,
|
62
|
+
:html, :latex, :text, :wiki, :texkeyval
|
63
|
+
].map{ |akey|
|
64
|
+
if @el_object[key].send("#{akey}?".to_sym )
|
65
|
+
row << element(:col,{:align => 'center'}, element(:radic ))
|
66
|
+
else
|
67
|
+
row << element(:col,{:align => 'center'},element(:empty ))
|
68
|
+
end
|
69
|
+
}
|
70
|
+
row << element(:col,{},
|
71
|
+
@el_object[key].allowed_values ? @el_object[key].allowed_values.join(", ") : nil
|
72
|
+
)
|
73
|
+
|
74
|
+
attr_code << "\t\t#{key} => "
|
75
|
+
attr_code.last << @el_object[key].allowed_values.join("|") if @el_object[key].allowed_values
|
76
|
+
} #Attributelist
|
77
|
+
end #Attributes
|
78
|
+
|
79
|
+
descr << element(:h3, {}, "Output").cr
|
80
|
+
descr << element(:p, {}, "As example content, the text 'content' was added.").cr if @el_object.content?
|
81
|
+
descr << tab = element(:tabular, { :columns => 3, :border => '1px' } ).cr
|
82
|
+
tab << row = element(:row).cr
|
83
|
+
row << element(:col,{}, 'HTML')
|
84
|
+
row << element(:col,{}, element(:pre, {}, @el_object.to_html))
|
85
|
+
row << element(:col,{}, element(:pre, {}, @el_object.htmltag))
|
86
|
+
tab << row = element(:row).cr
|
87
|
+
row << element(:col,{}, 'LaTeX')
|
88
|
+
row << element(:col,{}, element(:pre, {}, @el_object.to_latex))
|
89
|
+
tab << row = element(:row).cr
|
90
|
+
row << element(:col,{}, 'Wiki')
|
91
|
+
row << element(:col,{}, element(:pre, {}, @el_object.to_wiki))
|
92
|
+
tab << row = element(:row).cr
|
93
|
+
row << element(:col,{}, 'Text')
|
94
|
+
row << element(:col,{}, element(:pre, {}, @el_object.to_text))
|
95
|
+
|
96
|
+
descr << element(:h2, {}, "Usage:").cr
|
97
|
+
code = "element( #{@key.inspect}"
|
98
|
+
if attr_code.empty?
|
99
|
+
code << ", {}, " if @el_object.content?
|
100
|
+
else
|
101
|
+
code << ", {\n#{attr_code.join("\n")}\n\t}"
|
102
|
+
end
|
103
|
+
code << ", 'content'" if @el_object.content?
|
104
|
+
code << ' )'
|
105
|
+
descr << element(:pre, {}, code ).cr
|
106
|
+
|
107
|
+
doc = Document.new(
|
108
|
+
:title => "selfdocgenerator: #{@el_object.ids.join(', ')}"
|
109
|
+
)
|
110
|
+
doc.body << nav
|
111
|
+
doc.body << descr
|
112
|
+
at_exit{ doc.save("#{TARGETDIR}/#{@key}.html", true) }
|
113
|
+
return "#{@key}.html"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
ObjectSpace.garbage_collect
|
118
|
+
ObjectSpace.each_object(Class){|o|
|
119
|
+
DocElement.new(o) if o.ancestors.include?(Element)
|
120
|
+
}
|
121
|
+
|
122
|
+
doc = Document.new(
|
123
|
+
:title => 'Element Overview for docgenerator.rb'
|
124
|
+
)
|
125
|
+
#~ doc.body << element(:tableofcontents).cr
|
126
|
+
wiki = Wikitext.new(:content => <<wiki
|
127
|
+
==Command-Overview for docgenerator.rb, version #{Gem.loaded_specs['docgenerator'].version}==
|
128
|
+
This overview is generated by #{__FILE__}.
|
129
|
+
|
130
|
+
.
|
131
|
+
wiki
|
132
|
+
)
|
133
|
+
#Index to all elements
|
134
|
+
index = {}
|
135
|
+
nav = element(:ul)
|
136
|
+
DocElement.each{|o|
|
137
|
+
odoc = o.mk_doc( nav )
|
138
|
+
o.el_object.ids.each{|id|
|
139
|
+
index[id] = element(:href, { :href => "#{odoc}" }, id )
|
140
|
+
}
|
141
|
+
}
|
142
|
+
#Prepare lettere
|
143
|
+
'A'.upto('Z'){|letter| wiki << "[[##{letter}|#{letter}]] " }
|
144
|
+
'a'.upto('z'){|letter| wiki << "[[##{letter}|#{letter}]] " }
|
145
|
+
|
146
|
+
doc.body << wiki
|
147
|
+
doc.body << element(:h1,{},"Index")
|
148
|
+
act_letter = nil
|
149
|
+
doc.body << indexlist = element(:ul).cr
|
150
|
+
index.sort_by{|id, entry| id.to_s }.map{|id, entry|
|
151
|
+
if act_letter != id.to_s[0..0] and id.to_s[0..0] =~ /\w/
|
152
|
+
act_letter = id.to_s[0..0]
|
153
|
+
doc.body << element(:label, { :name => "#{act_letter}" })
|
154
|
+
doc.body << element(:h2,{},act_letter )
|
155
|
+
doc.body << indexlist = element(:ul).cr
|
156
|
+
end
|
157
|
+
indexlist << element(:li,{}, entry).cr
|
158
|
+
nav << element(:li,{:style => CSS.new(:display => 'inline') }, [ entry, ' - '] )
|
159
|
+
}
|
160
|
+
|
161
|
+
doc.save("#{TARGETDIR}/_command_overview.html", true )
|
@@ -0,0 +1 @@
|
|
1
|
+
<span >Notiz</span>
|
@@ -0,0 +1 @@
|
|
1
|
+
\note{Notiz}
|
@@ -0,0 +1 @@
|
|
1
|
+
Notiz
|
@@ -0,0 +1 @@
|
|
1
|
+
Notiz
|
@@ -0,0 +1 @@
|
|
1
|
+
<div >Block 1<span >Zwischenblock</span>Ende Block 1</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
\begingroup Block 1\bgroup Zwischenblock\egroup Ende Block 1\endgroup
|
@@ -0,0 +1 @@
|
|
1
|
+
Block 1ZwischenblockEnde Block 1
|
@@ -0,0 +1 @@
|
|
1
|
+
background-color: blue;color: red
|
@@ -0,0 +1 @@
|
|
1
|
+
background-color: blue;color: red;float: right
|
@@ -0,0 +1 @@
|
|
1
|
+
<dl ><dt >Top 1</dt><dd >Listpunkt 1</dd></dl>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<<prefix>>
|
2
|
+
\documentclass[ngerman]{scrartcl}
|
3
|
+
\usepackage{babel}
|
4
|
+
\usepackage[ansinew]{inputenc}
|
5
|
+
\usepackage{hyperref}
|
6
|
+
% ----------------------------------------------------------------
|
7
|
+
|
8
|
+
\title{Testdokument}
|
9
|
+
\hypersetup{pdftitle={Testdokument}}
|
10
|
+
\author{docgenerator.rb}\hypersetup{pdfauthor={docgenerator.rb}}
|
11
|
+
\hypersetup{pdfkeywords={Test}}
|
12
|
+
\hypersetup{pdfsubject={This is a test for a Document, generated by docgenerator.rb}}
|
13
|
+
|
14
|
+
% ----------------------------------------------------------------
|
15
|
+
\begin{document}
|
16
|
+
\maketitle
|
17
|
+
|
18
|
+
|
19
|
+
This is some content
|
20
|
+
|
21
|
+
|
22
|
+
\end{document}
|
23
|
+
% ----------------------------------------------------------------
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!--
|
2
|
+
<<prefix>>
|
3
|
+
-->
|
4
|
+
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
|
5
|
+
<html>
|
6
|
+
<head >
|
7
|
+
<title>Testdokument</title>
|
8
|
+
<meta name="author" content="docgenerator.rb">
|
9
|
+
<meta name="keywords" content="Test">
|
10
|
+
<meta name="description" content="This is a test for a Document, generated by docgenerator.rb">
|
11
|
+
</head>
|
12
|
+
<body ><!-- maketitle -->
|
13
|
+
<p >This is some content</p></body>
|
14
|
+
</html>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<<prefix>>
|
2
|
+
\documentclass[ngerman]{scrartcl}
|
3
|
+
\usepackage{babel}
|
4
|
+
\usepackage[ansinew]{inputenc}
|
5
|
+
\usepackage{hyperref}
|
6
|
+
% ----------------------------------------------------------------
|
7
|
+
|
8
|
+
\title{Testdokument}
|
9
|
+
\hypersetup{pdftitle={Testdokument}}
|
10
|
+
\author{docgenerator.rb}\hypersetup{pdfauthor={docgenerator.rb}}
|
11
|
+
\hypersetup{pdfkeywords={Test}}
|
12
|
+
\hypersetup{pdfsubject={This is a test for a Document, generated by docgenerator.rb}}
|
13
|
+
|
14
|
+
% ----------------------------------------------------------------
|
15
|
+
\begin{document}
|
16
|
+
\maketitle
|
17
|
+
|
18
|
+
|
19
|
+
Etwas Inhalt
|
20
|
+
|
21
|
+
|
22
|
+
\end{document}
|
23
|
+
% ----------------------------------------------------------------
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!--
|
2
|
+
<<prefix>>
|
3
|
+
-->
|
4
|
+
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
|
5
|
+
<html>
|
6
|
+
<head >
|
7
|
+
<title>Testdokument</title>
|
8
|
+
<meta name="author" content="docgenerator.rb">
|
9
|
+
<meta name="keywords" content="Test">
|
10
|
+
<meta name="description" content="This is a test for a Document, generated by docgenerator.rb">
|
11
|
+
</head>
|
12
|
+
<body ><!-- maketitle -->
|
13
|
+
<p >Etwas Inhalt</p></body>
|
14
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
<ol ><li >Listpunkt 1</li></ol>
|
@@ -0,0 +1 @@
|
|
1
|
+
- Listpunkt 1
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<h1 >Abschnitt 1</h1>
|
2
|
+
<p >Text zu Abschnitt 1<sup><a href="#footg1-1">1</a></sup>Weiterer Text<sup><a href="#foot1">1</a></sup></p>
|
3
|
+
<h2 >Fu�noten</h2>
|
4
|
+
<p ><sup ><a name="foot1">1</a></sup>Noch ne Fu�note<br />
|
5
|
+
</p>
|
6
|
+
<h3 >Fu�noten g1</h3>
|
7
|
+
<p ><sup ><a name="footg1-1">1</a></sup>Fu� eins (g1)<br />
|
8
|
+
</p>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
\section{Abschnitt 1}
|
2
|
+
|
3
|
+
|
4
|
+
Text zu Abschnitt 1\footnote{Fu� eins (g1)}Weiterer Text\footnote{Noch ne Fu�note}
|
5
|
+
|
6
|
+
\subsection{Fu�noten}
|
7
|
+
|
8
|
+
|
9
|
+
\textsuperscript{\label{foot1}\hypertarget{foot1}{1}}Noch ne Fu�note\newline
|
10
|
+
|
11
|
+
|
12
|
+
\subsubsection{Fu�noten g1}
|
13
|
+
|
14
|
+
|
15
|
+
\textsuperscript{\label{footg1-1}\hypertarget{footg1-1}{1}}Fu� eins (g1)\newline
|
16
|
+
|
17
|
+
|