rake4latex 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/call_rake4latex.rb +156 -0
- data/lib/rake4latex.rb +377 -0
- data/lib/rake4latex/latexdependencies.rb +103 -0
- data/lib/rake4latex/latexrunner.rb +268 -0
- data/lib/rake4latex/rules.rb +134 -0
- data/lib/rake4latex/splitindex.rb +88 -0
- data/lib/rake4latex/tex_statistic.rb +509 -0
- data/readme.html +236 -0
- data/readme.txt +186 -0
- data/test/bibtex/rakefile.rb +59 -0
- data/test/bibtex/testdocument.bib +26 -0
- data/test/bibtex/testdocument.tex +16 -0
- data/test/includes/rakefile.rb +36 -0
- data/test/includes/testdocument.tex +24 -0
- data/test/includes/testincludes/testinclude1.tex +7 -0
- data/test/includes/testincludes/testinclude2.tex +2 -0
- data/test/index/rakefile.rb +36 -0
- data/test/index/testdocument.tex +18 -0
- data/test/longtable/rakefile.rb +43 -0
- data/test/longtable/testdocument.tex +28 -0
- data/test/minitoc/rakefile.rb +31 -0
- data/test/minitoc/testdocument.tex +30 -0
- data/test/rail/rakefile.rb +51 -0
- data/test/rail/testrail.tex +32 -0
- data/test/splitindex/rakefile.rb +36 -0
- data/test/splitindex/testdocument.tex +29 -0
- data/test/supertabular/rakefile.rb +48 -0
- data/test/supertabular/testdocument.tex +23 -0
- data/test/testdocument.tex +16 -0
- data/test/unittest_rake4latex.rb +116 -0
- data/test/z_complex/rakefile.rb +59 -0
- data/test/z_complex/testdocument.bib +26 -0
- data/test/z_complex/testdocument.tex +58 -0
- metadata +101 -0
data/readme.html
ADDED
@@ -0,0 +1,236 @@
|
|
1
|
+
<!--
|
2
|
+
|
3
|
+
Build by C:/Program Files/ruby/lib/ruby/gems/1.8/gems/docgenerator-1.2.0/./lib/docgenerator/document.rb
|
4
|
+
Dir: C:/usr/Script/rake4latex
|
5
|
+
Creator: rakefile_rake4latex.rb
|
6
|
+
Target: readme.html
|
7
|
+
2010/01/03 21:19:00
|
8
|
+
|
9
|
+
Generation-Info-End
|
10
|
+
-->
|
11
|
+
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
|
12
|
+
<html>
|
13
|
+
<head ></head>
|
14
|
+
<body ><h1 >rake4latex: TeX-Build-Tool</h1>
|
15
|
+
<h2 >Introduction</h2>
|
16
|
+
<p >
|
17
|
+
This file contains definitions to build a rakefile for LaTeX-documents.
|
18
|
+
</p>
|
19
|
+
<p >
|
20
|
+
A not-so minimal rakefile looks like this:
|
21
|
+
</p>
|
22
|
+
<pre>
|
23
|
+
require 'rake4latex'
|
24
|
+
#Needed for some actions without a previous TeX-call
|
25
|
+
task :basefile => 'testdocument.tex'
|
26
|
+
#We want to build a PDF
|
27
|
+
file 'testdocument.pdf' => 'testdocument.tex'
|
28
|
+
|
29
|
+
#Force the compilation
|
30
|
+
task :touch => 'testdocument.tex'
|
31
|
+
|
32
|
+
#Define the default tasks
|
33
|
+
task :default => :touch
|
34
|
+
task :default => 'testdocument.pdf'
|
35
|
+
task :default => :statistic
|
36
|
+
task :default => :clean
|
37
|
+
|
38
|
+
#Make the rakefile self-executable
|
39
|
+
if $0 == __FILE__
|
40
|
+
app = Rake.application
|
41
|
+
app[:default].invoke
|
42
|
+
end
|
43
|
+
</pre>
|
44
|
+
<p >
|
45
|
+
You can generate this template with:
|
46
|
+
</p>
|
47
|
+
<pre>
|
48
|
+
require 'rake4latex'
|
49
|
+
puts Rake4LaTeX.template( [basename] )
|
50
|
+
</pre>
|
51
|
+
<h2 >Multiple runs</h2>
|
52
|
+
<p >
|
53
|
+
One of the problems with writing a Makefile for LaTeX is that often latex
|
54
|
+
needs to be run more than once on the same file, before obtaining the final
|
55
|
+
output. Moreover, every LaTeX package may require other runs basing on different
|
56
|
+
conditions and maybe even requiring some other program to be run between latex
|
57
|
+
invocations.
|
58
|
+
</p>
|
59
|
+
<p >
|
60
|
+
Makefile normally expect a defined sequence of prerequisites. Prerequisites are known before the action takes care. Some dependecies of (La)TeX-documents creates ther prerequisites after the (La)TeX-run (e.g. new index entries).
|
61
|
+
</p>
|
62
|
+
<p >
|
63
|
+
The approach followed here is to define "Post-Prerequisites". The virtual target :latex_dependecies contains all this "Post-Prerequisites". After a TeX-run, each Post-Prerequisites is checked. For each post-prerequisites you must define a rule (in the following
|
64
|
+
called postprereq.
|
65
|
+
</p>
|
66
|
+
<p >
|
67
|
+
The prerequisites of postprereq are checked for changes. To detect changes, the Hash-Code of the prerequisite-files before and
|
68
|
+
after the TeX-run are compared (the comparison of the time stamp makes no sense, TeX always(*) recreate the files).
|
69
|
+
</p>
|
70
|
+
<p >
|
71
|
+
<small>*) Forget the \nofiles-command</small>
|
72
|
+
</p>
|
73
|
+
<p >
|
74
|
+
See the examples-section hot to define your own custom action.
|
75
|
+
</p>
|
76
|
+
<p >
|
77
|
+
To avoid problems of endless loops, a there's a maximum number of runs,
|
78
|
+
which is 5 by default. The user can change it in the runner.
|
79
|
+
</p>
|
80
|
+
<h2 >Dependencies</h2>
|
81
|
+
<p >
|
82
|
+
You must define your dependencies your own (but there is a help to do so,
|
83
|
+
see next next section)
|
84
|
+
</p>
|
85
|
+
<p >
|
86
|
+
Example:
|
87
|
+
</p>
|
88
|
+
<pre>
|
89
|
+
file 'testdocument.dvi' => ['testdocument.tex', 'testincludes/testinclude1.tex']
|
90
|
+
</pre>
|
91
|
+
<h3 >Determine Dependecies: LaTeXDependencies.get_dependecies( )</h3>
|
92
|
+
<p >
|
93
|
+
You can automatically compute dependencies for the latex task: LaTeXDependencies.new(filename).get_dependecies( *options ) Options may be:
|
94
|
+
</p>
|
95
|
+
<ul >
|
96
|
+
<li > :inputs:<br />
|
97
|
+
The input file (the one which is passed to latex) is read, and the
|
98
|
+
arguments of the <tt>\includeonly</tt>, <tt>\include</tt> and <tt>\input</tt> latex
|
99
|
+
commands are extracted. Each of this these files is scanned again for dependecies. <br />
|
100
|
+
The result is a nested array with all dependecies. </li>
|
101
|
+
<li > :flat:<br />
|
102
|
+
The (nested) result is flatted and double entries are deleted. </li>
|
103
|
+
</ul>
|
104
|
+
<p >
|
105
|
+
You can use it already direct in your dependecies definition:
|
106
|
+
</p>
|
107
|
+
<pre>
|
108
|
+
file 'testdocument.dvi' => LaTeXDependencies.new('testdocument.tex').get_dependecies( *options )
|
109
|
+
</pre>
|
110
|
+
<h3 >Dependecies for BibTeX</h3>
|
111
|
+
<p >
|
112
|
+
BibTeX depends on two files:
|
113
|
+
</p>
|
114
|
+
<ul >
|
115
|
+
<li > aux file with the list of the cites. </li>
|
116
|
+
<li > bib-file(s) with the data of the literature. </li>
|
117
|
+
</ul>
|
118
|
+
<p >
|
119
|
+
You can define the dependecies of bib-file in your rakefile:
|
120
|
+
</p>
|
121
|
+
<pre>
|
122
|
+
file 'testdocument.pdf' => 'testdocument.bib'
|
123
|
+
file 'testdocument.bbl' => 'testdocument.bib'
|
124
|
+
</pre>
|
125
|
+
<p >
|
126
|
+
You need both definitions. The pdf-dependecy is needed to start a new TeX-run, The bbl-dependecy is needed to start a new BibTeX-run.
|
127
|
+
</p>
|
128
|
+
<h2 >Supported tools and packages</h2>
|
129
|
+
<h3 >Supported tools</h3>
|
130
|
+
<p >
|
131
|
+
The following tools are supported by rake4latex:
|
132
|
+
</p>
|
133
|
+
<ul >
|
134
|
+
<li > Makeindex with makeidx.sty </li>
|
135
|
+
<li > BibTeX </li>
|
136
|
+
</ul>
|
137
|
+
<h3 >Supported (checked) packages</h3>
|
138
|
+
<p >
|
139
|
+
The rake process to generate the document is independent of any package. But some packages requires additional TeX-runs. The following packages are tested and work fine:
|
140
|
+
</p>
|
141
|
+
<ul >
|
142
|
+
<li > minitoc </li>
|
143
|
+
<li > longtable </li>
|
144
|
+
<li > supertabular </li>
|
145
|
+
<li > splitindex (splitindex is replaced by internal routines) </li>
|
146
|
+
</ul>
|
147
|
+
<p >
|
148
|
+
Untested packages:
|
149
|
+
</p>
|
150
|
+
<ul >
|
151
|
+
<li > glossary </li>
|
152
|
+
<li > multiind/index (not planned to check, please use splitindex or inform me
|
153
|
+
about your need) </li>
|
154
|
+
</ul>
|
155
|
+
<h2 >Adding new tasks</h2>
|
156
|
+
<h3 >Normal tasks</h3>
|
157
|
+
<p >
|
158
|
+
Task to generate pictures or other stuff needed to build your LaTeX project can be added like normal rake-tasks.
|
159
|
+
</p>
|
160
|
+
<h3 >TeX-related tasks</h3>
|
161
|
+
<p >
|
162
|
+
Some task must be executed after a TeX-run. This tasks must be created with <tt>tex_postrule</tt> instead of the rake-method <tt>rule</tt>.
|
163
|
+
</p>
|
164
|
+
<p >
|
165
|
+
The tasks for makeindex and bibTeX are already defined.
|
166
|
+
</p>
|
167
|
+
<h4 >Example makeindex</h4>
|
168
|
+
<p >
|
169
|
+
An example for this tasks is makeindex. After a TeX-run you must check, if there are are new or changed index entries.
|
170
|
+
</p>
|
171
|
+
<p >
|
172
|
+
The makeindex-task looks like this:
|
173
|
+
</p>
|
174
|
+
<pre>
|
175
|
+
desc "Call Makeindex"
|
176
|
+
tex_postrule '.ind' => '.idx' do |t|
|
177
|
+
sh "makeindex #{t.source}"
|
178
|
+
end
|
179
|
+
</pre>
|
180
|
+
<p >
|
181
|
+
That's it to get an index.
|
182
|
+
</p>
|
183
|
+
<p >
|
184
|
+
After a TeX-run, the prerequisites of rule '.ind' is checked for changes (Hash-Code of the idx-file before and after the TeX-Run). If there is a change, the rule is called. And if the .ind-file changed, an additional TeX-call is forced.
|
185
|
+
</p>
|
186
|
+
<h4 >Example BibTeX</h4>
|
187
|
+
<p >
|
188
|
+
BibTeX is a bit more complicated:
|
189
|
+
</p>
|
190
|
+
<pre>
|
191
|
+
tex_postrule '.bbl' => '.aux' do |t, args |
|
192
|
+
sh "bibtex #{t.source}"
|
193
|
+
end
|
194
|
+
</pre>
|
195
|
+
<p >
|
196
|
+
With this rule, BibTeX is called every times the aux-file changed (if we use BibTeX or not). We need a modified pre-check, if the BibTeX-call is necessary:
|
197
|
+
</p>
|
198
|
+
<pre>
|
199
|
+
tex_postrule_check '.bbl' do |args|
|
200
|
+
auxfile = args[:task].name.ext('aux')
|
201
|
+
File.exist?(auxfile) and #there is a aux-file
|
202
|
+
( args[:checksums][auxfile] == :changed ) and #the aux-file changed
|
203
|
+
( necessary and File.read(auxfile) =~ /bibdata/ )#and we use bibtex
|
204
|
+
end
|
205
|
+
</pre>
|
206
|
+
<p >
|
207
|
+
See also section 'Multiple runs'
|
208
|
+
</p>
|
209
|
+
<h2 >Known Bugs and Problems</h2>
|
210
|
+
<ul >
|
211
|
+
<li >Only pdflatex/xelatex/lualatex/latex to create the target, no ps-files, no ps2pdf. <ul >
|
212
|
+
<li >Intended for the next release </li>
|
213
|
+
</ul>
|
214
|
+
</li>
|
215
|
+
<li > Two runs for new documents, when only one is needed.<br />
|
216
|
+
After the first run, the aux-file is created, so rake4latex detect a reason to rerun. Solution would be to make a log-file analyse. <ul >
|
217
|
+
<li > No plan to solve it. Not a big problem, and why you need a rakefile for such simple
|
218
|
+
tex-files? </li>
|
219
|
+
</ul>
|
220
|
+
</li>
|
221
|
+
<li > No usage of kpsewhich<br />
|
222
|
+
LaTeXDependencies#get_dependecies checks dependecies only relative to the file location. kpsewhich is not used. <ul >
|
223
|
+
<li > Would be nice escpecially for BibTeX and scan for \bibliography{xxx} </li>
|
224
|
+
<li > Low priority </li>
|
225
|
+
</ul>
|
226
|
+
</li>
|
227
|
+
</ul>
|
228
|
+
<h2 >Version History</h2>
|
229
|
+
<p >
|
230
|
+
0.0.1 2010-01-03
|
231
|
+
</p>
|
232
|
+
<ul >
|
233
|
+
<li > First release </li>
|
234
|
+
</ul>
|
235
|
+
</body>
|
236
|
+
</html>
|
data/readme.txt
ADDED
@@ -0,0 +1,186 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
rake4latex: TeX-Build-Tool
|
4
|
+
------------------------------
|
5
|
+
|
6
|
+
Introduction
|
7
|
+
------------------------------
|
8
|
+
|
9
|
+
This file contains definitions to build a rakefile for LaTeX-documents.
|
10
|
+
|
11
|
+
A not-so minimal rakefile looks like this:
|
12
|
+
require 'rake4latex'
|
13
|
+
#Needed for some actions without a previous TeX-call
|
14
|
+
task :basefile => 'testdocument.tex'
|
15
|
+
#We want to build a PDF
|
16
|
+
file 'testdocument.pdf' => 'testdocument.tex'
|
17
|
+
|
18
|
+
#Force the compilation
|
19
|
+
task :touch => 'testdocument.tex'
|
20
|
+
|
21
|
+
#Define the default tasks
|
22
|
+
task :default => :touch
|
23
|
+
task :default => 'testdocument.pdf'
|
24
|
+
task :default => :statistic
|
25
|
+
task :default => :clean
|
26
|
+
|
27
|
+
#Make the rakefile self-executable
|
28
|
+
if $0 == __FILE__
|
29
|
+
app = Rake.application
|
30
|
+
app[:default].invoke
|
31
|
+
end
|
32
|
+
|
33
|
+
You can generate this template with:
|
34
|
+
require 'rake4latex'
|
35
|
+
puts Rake4LaTeX.template( [basename] )
|
36
|
+
|
37
|
+
Multiple runs
|
38
|
+
------------------------------
|
39
|
+
|
40
|
+
One of the problems with writing a Makefile for LaTeX is that often latex
|
41
|
+
needs to be run more than once on the same file, before obtaining the final
|
42
|
+
output. Moreover, every LaTeX package may require other runs basing on different
|
43
|
+
conditions and maybe even requiring some other program to be run between latex
|
44
|
+
invocations.
|
45
|
+
|
46
|
+
Makefile normally expect a defined sequence of prerequisites. Prerequisites are known before the action takes care. Some dependecies of (La)TeX-documents creates ther prerequisites after the (La)TeX-run (e.g. new index entries).
|
47
|
+
|
48
|
+
The approach followed here is to define "Post-Prerequisites". The virtual target :latex_dependecies contains all this "Post-Prerequisites". After a TeX-run, each Post-Prerequisites is checked. For each post-prerequisites you must define a rule (in the following
|
49
|
+
called postprereq.
|
50
|
+
|
51
|
+
The prerequisites of postprereq are checked for changes. To detect changes, the Hash-Code of the prerequisite-files before and
|
52
|
+
after the TeX-run are compared (the comparison of the time stamp makes no sense, TeX always(*) recreate the files).
|
53
|
+
|
54
|
+
<small>*) Forget the \nofiles-command</small>
|
55
|
+
|
56
|
+
See the examples-section hot to define your own custom action.
|
57
|
+
|
58
|
+
To avoid problems of endless loops, a there's a maximum number of runs,
|
59
|
+
which is 5 by default. The user can change it in the runner.
|
60
|
+
|
61
|
+
Dependencies
|
62
|
+
------------------------------
|
63
|
+
|
64
|
+
You must define your dependencies your own (but there is a help to do so,
|
65
|
+
see next next section)
|
66
|
+
|
67
|
+
Example:
|
68
|
+
file 'testdocument.dvi' => ['testdocument.tex', 'testincludes/testinclude1.tex']
|
69
|
+
|
70
|
+
Determine Dependecies: LaTeXDependencies.get_dependecies( )
|
71
|
+
------------------------------
|
72
|
+
|
73
|
+
You can automatically compute dependencies for the latex task: LaTeXDependencies.new(filename).get_dependecies( *options ) Options may be:
|
74
|
+
- :inputs:
|
75
|
+
The input file (the one which is passed to latex) is read, and the
|
76
|
+
arguments of the <tt>\includeonly</tt>, <tt>\include</tt> and <tt>\input</tt> latex
|
77
|
+
commands are extracted. Each of this these files is scanned again for dependecies.
|
78
|
+
The result is a nested array with all dependecies.
|
79
|
+
- :flat:
|
80
|
+
The (nested) result is flatted and double entries are deleted.
|
81
|
+
|
82
|
+
You can use it already direct in your dependecies definition:
|
83
|
+
file 'testdocument.dvi' => LaTeXDependencies.new('testdocument.tex').get_dependecies( *options )
|
84
|
+
|
85
|
+
Dependecies for BibTeX
|
86
|
+
------------------------------
|
87
|
+
|
88
|
+
BibTeX depends on two files:
|
89
|
+
- aux file with the list of the cites.
|
90
|
+
- bib-file(s) with the data of the literature.
|
91
|
+
|
92
|
+
You can define the dependecies of bib-file in your rakefile:
|
93
|
+
file 'testdocument.pdf' => 'testdocument.bib'
|
94
|
+
file 'testdocument.bbl' => 'testdocument.bib'
|
95
|
+
|
96
|
+
You need both definitions. The pdf-dependecy is needed to start a new TeX-run, The bbl-dependecy is needed to start a new BibTeX-run.
|
97
|
+
|
98
|
+
Supported tools and packages
|
99
|
+
------------------------------
|
100
|
+
|
101
|
+
Supported tools
|
102
|
+
------------------------------
|
103
|
+
|
104
|
+
The following tools are supported by rake4latex:
|
105
|
+
- Makeindex with makeidx.sty
|
106
|
+
- BibTeX
|
107
|
+
|
108
|
+
Supported (checked) packages
|
109
|
+
------------------------------
|
110
|
+
|
111
|
+
The rake process to generate the document is independent of any package. But some packages requires additional TeX-runs. The following packages are tested and work fine:
|
112
|
+
- minitoc
|
113
|
+
- longtable
|
114
|
+
- supertabular
|
115
|
+
- splitindex (splitindex is replaced by internal routines)
|
116
|
+
|
117
|
+
Untested packages:
|
118
|
+
- glossary
|
119
|
+
- multiind/index (not planned to check, please use splitindex or inform me
|
120
|
+
about your need)
|
121
|
+
|
122
|
+
Adding new tasks
|
123
|
+
------------------------------
|
124
|
+
|
125
|
+
Normal tasks
|
126
|
+
------------------------------
|
127
|
+
|
128
|
+
Task to generate pictures or other stuff needed to build your LaTeX project can be added like normal rake-tasks.
|
129
|
+
|
130
|
+
TeX-related tasks
|
131
|
+
------------------------------
|
132
|
+
|
133
|
+
Some task must be executed after a TeX-run. This tasks must be created with <tt>tex_postrule</tt> instead of the rake-method <tt>rule</tt>.
|
134
|
+
|
135
|
+
The tasks for makeindex and bibTeX are already defined.
|
136
|
+
|
137
|
+
Example makeindex
|
138
|
+
------------------------------
|
139
|
+
|
140
|
+
An example for this tasks is makeindex. After a TeX-run you must check, if there are are new or changed index entries.
|
141
|
+
|
142
|
+
The makeindex-task looks like this:
|
143
|
+
desc "Call Makeindex"
|
144
|
+
tex_postrule '.ind' => '.idx' do |t|
|
145
|
+
sh "makeindex #{t.source}"
|
146
|
+
end
|
147
|
+
|
148
|
+
That's it to get an index.
|
149
|
+
|
150
|
+
After a TeX-run, the prerequisites of rule '.ind' is checked for changes (Hash-Code of the idx-file before and after the TeX-Run). If there is a change, the rule is called. And if the .ind-file changed, an additional TeX-call is forced.
|
151
|
+
|
152
|
+
Example BibTeX
|
153
|
+
------------------------------
|
154
|
+
|
155
|
+
BibTeX is a bit more complicated:
|
156
|
+
tex_postrule '.bbl' => '.aux' do |t, args |
|
157
|
+
sh "bibtex #{t.source}"
|
158
|
+
end
|
159
|
+
|
160
|
+
With this rule, BibTeX is called every times the aux-file changed (if we use BibTeX or not). We need a modified pre-check, if the BibTeX-call is necessary:
|
161
|
+
tex_postrule_check '.bbl' do |args|
|
162
|
+
auxfile = args[:task].name.ext('aux')
|
163
|
+
File.exist?(auxfile) and #there is a aux-file
|
164
|
+
( args[:checksums][auxfile] == :changed ) and #the aux-file changed
|
165
|
+
( necessary and File.read(auxfile) =~ /bibdata/ )#and we use bibtex
|
166
|
+
end
|
167
|
+
|
168
|
+
See also section 'Multiple runs'
|
169
|
+
|
170
|
+
Known Bugs and Problems
|
171
|
+
------------------------------
|
172
|
+
|
173
|
+
- Only pdflatex/xelatex/lualatex/latex to create the target, no ps-files, no ps2pdf. - Intended for the next release
|
174
|
+
- Two runs for new documents, when only one is needed.
|
175
|
+
After the first run, the aux-file is created, so rake4latex detect a reason to rerun. Solution would be to make a log-file analyse. - No plan to solve it. Not a big problem, and why you need a rakefile for such simple
|
176
|
+
tex-files?
|
177
|
+
- No usage of kpsewhich
|
178
|
+
LaTeXDependencies#get_dependecies checks dependecies only relative to the file location. kpsewhich is not used. - Would be nice escpecially for BibTeX and scan for \bibliography{xxx}
|
179
|
+
- Low priority
|
180
|
+
|
181
|
+
Version History
|
182
|
+
------------------------------
|
183
|
+
|
184
|
+
0.0.1 2010-01-03
|
185
|
+
- First release
|
186
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#
|
2
|
+
#Test BibTeX
|
3
|
+
#
|
4
|
+
#Braucht 3 Durchl�ufe
|
5
|
+
# 1 - erzeugt aux-datei (bibtex l�uft leer mit)
|
6
|
+
# 2 - aux-file enth�lt cite, bibtex l�uft mit.
|
7
|
+
# 3 - tex verwendet daten
|
8
|
+
#
|
9
|
+
#
|
10
|
+
Dir.chdir('../../lib'){ require 'rake4latex'}
|
11
|
+
|
12
|
+
deps = [
|
13
|
+
'testdocument.tex',
|
14
|
+
]
|
15
|
+
|
16
|
+
#Aditional dependecy to recognize bib-changes
|
17
|
+
deps << 'testdocument.bib'
|
18
|
+
file 'testdocument.bbl' => 'testdocument.bib'
|
19
|
+
|
20
|
+
|
21
|
+
file 'testdocument.dvi' => deps
|
22
|
+
file 'testdocument.pdf' => deps
|
23
|
+
|
24
|
+
#
|
25
|
+
|
26
|
+
#~ file 'testdocument.dvi' => LaTeXRunner.find_included_files( 'testdocument.tex' ).flatten.uniq
|
27
|
+
|
28
|
+
task :basefile => 'testdocument.tex'
|
29
|
+
task :touch => 'testdocument.tex' ##Zeitstempel anpassen/Kompilation erzwingen
|
30
|
+
|
31
|
+
task :default => :touch
|
32
|
+
#~ task :default => 'testdocument.dvi'
|
33
|
+
task :default => 'testdocument.pdf'
|
34
|
+
task :default => :clean
|
35
|
+
|
36
|
+
#~ task :clean do
|
37
|
+
#~ puts CLEAN.inspect
|
38
|
+
#~ puts CLOBBER.inspect
|
39
|
+
#~ end
|
40
|
+
|
41
|
+
desc "Testtask for Unittest"
|
42
|
+
task :test => [ :touch, 'testdocument.pdf' ]
|
43
|
+
desc "Check if bib-change restarts the TeX-process"
|
44
|
+
task :test_bib => [ :touch_bib, 'testdocument.pdf' ]
|
45
|
+
|
46
|
+
task :touch_bib do
|
47
|
+
FileUtils.touch('testdocument.bib')
|
48
|
+
end
|
49
|
+
|
50
|
+
if $0 == __FILE__
|
51
|
+
app = Rake.application
|
52
|
+
#~ app.set_latexrunner_default(:maxruns, 1)
|
53
|
+
#~ app.set_latexrunner_default(:loglevel, Log4r::DEBUG)
|
54
|
+
#~ app[:default].invoke
|
55
|
+
|
56
|
+
#~ app[:clean].invoke
|
57
|
+
#~ app[:test].invoke
|
58
|
+
app[:test_bib].invoke
|
59
|
+
end
|