rake4latex 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/{call_rake4latex.rb → bin/call_rake4latex.rb} +6 -3
- data/{readme_call_rake4latex.txt → bin/readme_call_rake4latex.txt} +0 -0
- data/lib/rake4latex.rb +106 -42
- data/lib/rake4latex/analyse_texfile.rb +375 -0
- data/lib/rake4latex/base.rb +40 -10
- data/lib/rake4latex/latexrunner.rb +20 -7
- data/lib/rake4latex/rake4latex.yaml +4 -0
- data/lib/rake4latex/rules.rb +59 -26
- data/lib/rake4latex/tex_statistic.rb +405 -375
- data/lib/rake4latex_dtx.rb +83 -0
- data/readme.html +150 -28
- data/readme.txt +118 -20
- data/test/_expected/bibtex_test_build_rakefile.txt +49 -0
- data/test/_expected/dtx_test.txt +12 -0
- data/test/_expected/dtx_test_sty.txt +2 -0
- data/test/_expected/error_test.txt +4 -0
- data/test/_expected/error_test_ignore_error.txt +5 -0
- data/test/_expected/error_test_overview.txt +16 -0
- data/test/_expected/error_test_statistic.txt +3 -0
- data/test/_expected/gloss_test_build_rakefile.txt +56 -0
- data/test/_expected/includes_test_build_rakefile.txt +55 -0
- data/test/_expected/{rail_test_error.txt → rail_error_test.txt} +0 -0
- data/test/_expected/splitindex_test_build_rakefile.txt +56 -0
- data/test/_expected/supertabular_test_statistic.txt +2 -29
- data/test/_expected/varioref_test.txt +6 -0
- data/test/_expected/varioref_test_ignore_error.txt +11 -0
- data/test/_expected/z_complex_test_overview.txt +62 -0
- data/test/_expected/z_complex_test_statistic.txt +9 -0
- data/test/bibtex/rakefile.rb +6 -0
- data/test/dtx/rakefile.rb +31 -0
- data/test/error/rakefile.rb +32 -0
- data/test/error/testdocument.tex +14 -0
- data/test/gloss/rakefile.rb +9 -1
- data/test/includes/rakefile.rb +6 -0
- data/test/rail/rakefile.rb +1 -5
- data/test/rail_error/rakefile.rb +38 -0
- data/test/{rail → rail_error}/testrail_error.tex +0 -0
- data/test/splitindex/rakefile.rb +8 -1
- data/test/supertabular/rakefile.rb +2 -2
- data/test/unittest_rake4latex.rb +61 -72
- data/test/unittest_rake4latex_testcases.rb +79 -0
- data/test/varioref/rakefile.rb +37 -0
- data/test/varioref/testdocument.tex +33 -0
- data/test/z_complex/rakefile.rb +3 -1
- metadata +42 -10
- data/lib/rake4latex/latexdependencies.rb +0 -105
- data/lib/rake4latex/template.rb +0 -60
@@ -0,0 +1,83 @@
|
|
1
|
+
=begin rdoc
|
2
|
+
Define the rules to handle dtx-files.
|
3
|
+
|
4
|
+
This rules only use pdflatex.
|
5
|
+
=end
|
6
|
+
|
7
|
+
require 'rake4latex/base'
|
8
|
+
|
9
|
+
desc "Build a pdf-file from dtx-file"
|
10
|
+
rule '.pdf' => '.dtx' do |t|
|
11
|
+
runner = Rake4LaTeX::LaTeXRunner.new(
|
12
|
+
:main_file => t.source,
|
13
|
+
:program => :pdflatex,
|
14
|
+
#Replace index style for makeindex and define new programm for version history.
|
15
|
+
:programms => YAML.load(<<-settings
|
16
|
+
makeindex:
|
17
|
+
cmd: makeindex
|
18
|
+
comment: makeindex -s style.ist -t base.glg -o base.gls base.glo
|
19
|
+
parameters:
|
20
|
+
#~ - name: -s
|
21
|
+
#~ value_key: :format
|
22
|
+
#~ optional: true
|
23
|
+
#~ space_separated: true
|
24
|
+
- value: -s gind.ist
|
25
|
+
- name: -o
|
26
|
+
value_key: :file_out
|
27
|
+
optional: true
|
28
|
+
space_separated: true
|
29
|
+
- name: -t
|
30
|
+
value_key: :file_log
|
31
|
+
optional: true
|
32
|
+
space_separated: true
|
33
|
+
- value_key: :file_in
|
34
|
+
makeindex_glo:
|
35
|
+
cmd: makeindex
|
36
|
+
comment: makeindex -s style.ist -t base.glg -o base.gls base.glo
|
37
|
+
parameters:
|
38
|
+
- value: -s gglo.ist
|
39
|
+
- name: -o
|
40
|
+
value_key: :file_out
|
41
|
+
optional: true
|
42
|
+
space_separated: true
|
43
|
+
- name: -t
|
44
|
+
value_key: :file_log
|
45
|
+
optional: true
|
46
|
+
space_separated: true
|
47
|
+
- value_key: :file_in
|
48
|
+
settings
|
49
|
+
),
|
50
|
+
:dummy => nil
|
51
|
+
)
|
52
|
+
runner.execute #Does all the work and calls the "post-prerequisites"
|
53
|
+
#~ puts "fixme: makeindex f�r glo"
|
54
|
+
#~ `makeindex -s gglo.ist -o blindtext.gls blindtext.glo`
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "Call Makeindex for version history"
|
58
|
+
tex_postrule '.gls' => '.glo' do |task|
|
59
|
+
#makeindex writes to stderr -> catch it
|
60
|
+
# `makeindex -s gglo.ist -o blindtext.gls blindtext.glo`
|
61
|
+
cmd = Rake4LaTeX.build_cmd( 'makeindex_glo', { :file_in => task.source, :file_out => task.name }, task )
|
62
|
+
task.texrunner.logger.debug("\t#{cmd}")
|
63
|
+
stdout, stderr = catch_screen_output{
|
64
|
+
sh cmd
|
65
|
+
}
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
=begin
|
70
|
+
Conflict to DRY.
|
71
|
+
Same action is defined twice, because of two "source files".
|
72
|
+
=end
|
73
|
+
desc "Build the Style-File from ins-file"
|
74
|
+
rule '.sty' => '.ins' do |t|
|
75
|
+
puts "Build #{t.name}"
|
76
|
+
`latex blindtext.ins`
|
77
|
+
end
|
78
|
+
desc "Build the Style-File from ins-file"
|
79
|
+
rule '.sty' => '.dtx' do |t|
|
80
|
+
puts "Build #{t.name}"
|
81
|
+
`latex blindtext.ins`
|
82
|
+
end
|
83
|
+
|
data/readme.html
CHANGED
@@ -4,14 +4,15 @@
|
|
4
4
|
Dir: C:/usr/Script/rake4latex
|
5
5
|
Creator: rakefile_rake4latex.rb
|
6
6
|
Target: readme.html
|
7
|
-
2010/01/
|
7
|
+
2010/01/22 14:43:51
|
8
8
|
|
9
9
|
Generation-Info-End
|
10
10
|
-->
|
11
11
|
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
|
12
12
|
<html>
|
13
13
|
<head ></head>
|
14
|
-
<body ><h1 >rake4latex: TeX-Build-Tool 0.1.
|
14
|
+
<body ><h1 >rake4latex: TeX-Build-Tool 0.1.1</h1>
|
15
|
+
<h2 >Introduction</h2>
|
15
16
|
<p >
|
16
17
|
This file contains definitions to build a rakefile for LaTeX-documents.
|
17
18
|
</p>
|
@@ -41,7 +42,14 @@ A not-so minimal rakefile looks like this:
|
|
41
42
|
end
|
42
43
|
</pre>
|
43
44
|
<p >
|
44
|
-
You can generate a rakefile template with:
|
45
|
+
You can generate a rakefile template with:
|
46
|
+
</p>
|
47
|
+
<pre>
|
48
|
+
require 'rake4latex'
|
49
|
+
puts Rake4LaTeX.build_rakefile( [basename] )
|
50
|
+
</pre>
|
51
|
+
<p >
|
52
|
+
The method will print a rakefile definition.
|
45
53
|
</p>
|
46
54
|
<h3 >call_rake4latex.rb</h3>
|
47
55
|
<p >
|
@@ -57,6 +65,9 @@ Example:
|
|
57
65
|
call_rake4latex.rb my_file
|
58
66
|
call_rake4latex.rb -e my_file
|
59
67
|
</pre>
|
68
|
+
<p >
|
69
|
+
Windows users can pick up a stand alone executable of call_rake4latex at CTAN: <a href = "http://ctan.org/tex-archive/support/rake4latex" >http://ctan.org/tex-archive/support/rake4latex</a>
|
70
|
+
</p>
|
60
71
|
<h3 >rake4latex as lib in your application</h3>
|
61
72
|
<p >
|
62
73
|
You can use rake4latex as a lib inside your application.
|
@@ -128,22 +139,19 @@ Example:
|
|
128
139
|
</pre>
|
129
140
|
<h3 >Determine Dependecies: LaTeXDependencies.get_dependecies( )</h3>
|
130
141
|
<p >
|
131
|
-
You can automatically compute dependencies for the latex task:
|
142
|
+
You can automatically compute dependencies for the latex task: Rake4LaTeX::TeXfile.new(filename).includes( [options] )
|
132
143
|
</p>
|
133
|
-
<ul >
|
134
|
-
<li > :inputs:<br />
|
135
|
-
The input file (the one which is passed to latex) is read, and the
|
136
|
-
arguments of the <tt>\includeonly</tt>, <tt>\include</tt> and <tt>\input</tt> latex
|
137
|
-
commands are extracted. Each of this these files is scanned again for dependecies. <br />
|
138
|
-
The result is a nested array with all dependecies. </li>
|
139
|
-
<li > :flat:<br />
|
140
|
-
The (nested) result is flatted and double entries are deleted. </li>
|
141
|
-
</ul>
|
142
144
|
<p >
|
143
145
|
You can use it already direct in your dependecies definition:
|
144
146
|
</p>
|
145
147
|
<pre>
|
146
|
-
file 'testdocument.dvi' =>
|
148
|
+
file 'testdocument.dvi' => Rake4LaTeX::TeXfile.new('testdocument.tex').includes(:recursive, :uniq )
|
149
|
+
</pre>
|
150
|
+
<p >
|
151
|
+
Alternative you can generate your rakefile:
|
152
|
+
</p>
|
153
|
+
<pre>
|
154
|
+
Rake4LaTeX.build_rakefile( filename, :dependecies )
|
147
155
|
</pre>
|
148
156
|
<h3 >Dependecies for BibTeX</h3>
|
149
157
|
<p >
|
@@ -171,17 +179,126 @@ The following tools are supported by rake4latex:
|
|
171
179
|
<ul >
|
172
180
|
<li > Makeindex with makeidx.sty </li>
|
173
181
|
<li > BibTeX </li>
|
182
|
+
<li > <a href = "http://www.ctan.org/tex-archive/support/rail/" >Rail</a> </li>
|
174
183
|
</ul>
|
175
184
|
<h3 >Supported (checked) packages</h3>
|
176
185
|
<p >
|
177
|
-
The rake process to generate the document is independent of any package. But some packages requires additional
|
186
|
+
The rake process to generate the document is independent of any package. But some packages requires additional actions.
|
187
|
+
</p>
|
188
|
+
<p >
|
189
|
+
For the following packages exist special solutions:
|
190
|
+
</p>
|
191
|
+
<ul >
|
192
|
+
<li > splitindex (splitindex is replaced by internal routines) <a href = "http://www.ctan.org/tex-archive/macros/latex/contrib/splitindex/" >http://www.ctan.org/tex-archive/macros/latex/contrib/splitindex/</a> </li>
|
193
|
+
<li > gloss (glossary based on bibTeX) <a href = "http://www.ctan.org/tex-archive/macros/latex/contrib/gloss/" >http://www.ctan.org/tex-archive/macros/latex/contrib/gloss/</a> </li>
|
194
|
+
<li > rail (creating rail-diagramms) <a href = "http://www.ctan.org/tex-archive/support/rail/" >http://www.ctan.org/tex-archive/support/rail/</a> </li>
|
195
|
+
</ul>
|
196
|
+
<h2 >Special Tasks</h2>
|
197
|
+
<h3 >basefile</h3>
|
198
|
+
<p >
|
199
|
+
There are some tasks in Rake4LaTeX who needs a connected TeX-file. The task basefile defines such a connection.
|
200
|
+
</p>
|
201
|
+
<p >
|
202
|
+
From rakes view, it's just a dummy-task to define prerequisites for other tasks.
|
203
|
+
</p>
|
204
|
+
<p >
|
205
|
+
Tasks using basefile are:
|
178
206
|
</p>
|
179
207
|
<ul >
|
180
|
-
<li >
|
181
|
-
<li >
|
182
|
-
<li >
|
183
|
-
<li >
|
208
|
+
<li > touch </li>
|
209
|
+
<li > statistic </li>
|
210
|
+
<li > log_overview </li>
|
211
|
+
<li > log_archive </li>
|
212
|
+
<li > clean </li>
|
213
|
+
<li > clobber </li>
|
184
214
|
</ul>
|
215
|
+
<p >
|
216
|
+
If you build a pdf (or dvi), basefile-actions are done in background.
|
217
|
+
</p>
|
218
|
+
<p >
|
219
|
+
It is recommended to define your main-file as basefile. Without this, clean... may not work correct.
|
220
|
+
</p>
|
221
|
+
<h3 >touch</h3>
|
222
|
+
<p >
|
223
|
+
The touch task changes the modification data for the touched file. In the result you can force a new TeX-run.
|
224
|
+
</p>
|
225
|
+
<p >
|
226
|
+
Usage:
|
227
|
+
</p>
|
228
|
+
<pre>
|
229
|
+
task :touch => 'myfile.tex'
|
230
|
+
task :default => touch
|
231
|
+
</pre>
|
232
|
+
<p >
|
233
|
+
With
|
234
|
+
</p>
|
235
|
+
<pre>
|
236
|
+
task :basefile => 'myfile'
|
237
|
+
</pre>
|
238
|
+
<p >
|
239
|
+
touch is also connected with your sourcefile.
|
240
|
+
</p>
|
241
|
+
<h3 >statistic</h3>
|
242
|
+
<p >
|
243
|
+
Get a very short overview on the log-content. Errors and warnings are counted for each log (TeX, bibTeX, makeindex...)
|
244
|
+
</p>
|
245
|
+
<p >
|
246
|
+
Usage:
|
247
|
+
</p>
|
248
|
+
<pre>
|
249
|
+
task :basefile => 'myfile'
|
250
|
+
task :statistic
|
251
|
+
task :default => [ 'myfile.pdf', :statistic ]
|
252
|
+
</pre>
|
253
|
+
<h3 >log_overview</h3>
|
254
|
+
<p >
|
255
|
+
A log-file is created with a log-summary (TeX_Statistic#stat_summary), all errors and warnings from TeX and the tools and a detailed analyse for the TeX-log.
|
256
|
+
</p>
|
257
|
+
<p >
|
258
|
+
You should do this task always _before_ a clean-task.
|
259
|
+
</p>
|
260
|
+
<p >
|
261
|
+
Usage:
|
262
|
+
</p>
|
263
|
+
<pre>
|
264
|
+
task :basefile => 'myfile'
|
265
|
+
task :log_overview
|
266
|
+
task :default => [ 'myfile.pdf', :log_overview ]
|
267
|
+
</pre>
|
268
|
+
<h3 >clean</h3>
|
269
|
+
<p >
|
270
|
+
TeX and the related tools build a lot of auxiliary files. When you have them, you can delete the auxiliary files.
|
271
|
+
</p>
|
272
|
+
<p >
|
273
|
+
The task _clean_ does exactly this.
|
274
|
+
</p>
|
275
|
+
<p >
|
276
|
+
If you also want to delete the results (pdf...) you can use the task _clobber_.
|
277
|
+
</p>
|
278
|
+
<p >
|
279
|
+
Usage:
|
280
|
+
</p>
|
281
|
+
<pre>
|
282
|
+
task :basefile => 'myfile'
|
283
|
+
task :default => [ 'myfile.pdf', :clean ]
|
284
|
+
</pre>
|
285
|
+
<h3 >log_archive</h3>
|
286
|
+
<p >
|
287
|
+
With _clean_ you loose all logs. With _log_archive_ you create a zip-file with all logs.
|
288
|
+
</p>
|
289
|
+
<p >
|
290
|
+
_log_archive_ makes only sense in combination with _clean_. First archive the logs, then delete them with _clean_. After this you have _one_ file with all your logs and in case of errors you can make analyses in the archived logs.
|
291
|
+
</p>
|
292
|
+
<p >
|
293
|
+
You should do this task always _before_ a clean-task.
|
294
|
+
</p>
|
295
|
+
<p >
|
296
|
+
Usage:
|
297
|
+
</p>
|
298
|
+
<pre>
|
299
|
+
task :basefile => 'myfile'
|
300
|
+
task :default => [ 'myfile.pdf', :log_archive, :clean ]
|
301
|
+
</pre>
|
185
302
|
<h2 >Adding new tasks</h2>
|
186
303
|
<h3 >Normal tasks</h3>
|
187
304
|
<p >
|
@@ -247,19 +364,13 @@ See also section 'Multiple runs'
|
|
247
364
|
<li > No plan to solve it. Not a big problem, and why you need a rakefile for such simple
|
248
365
|
tex-files? </li>
|
249
366
|
</ul>
|
250
|
-
<ul >
|
251
|
-
<li > No usage of kpsewhich. LaTeXDependencies#get_dependecies checks dependecies only relative to the file location. kpsewhich is not used. <ul >
|
252
|
-
<li > Would be nice escpecially for BibTeX and scan for \bibliography{xxx} </li>
|
253
|
-
<li > Low priority </li>
|
254
|
-
</ul>
|
255
|
-
</li>
|
256
|
-
</ul>
|
257
367
|
<h3 >Packages with problems</h3>
|
258
368
|
<p >
|
259
369
|
There are additional packages requiring additonal runs.
|
260
370
|
</p>
|
261
371
|
<ul >
|
262
|
-
<li > glossaries (glossary based on makeindex) -
|
372
|
+
<li > glossaries (glossary based on makeindex) - see test cases or use
|
373
|
+
gloss.sty. </li>
|
263
374
|
<li > multiind/index (multiple index) - support not planned. Please use splitindex or inform me about your need. </li>
|
264
375
|
</ul>
|
265
376
|
<h2 >Version History</h2>
|
@@ -270,7 +381,7 @@ There are additional packages requiring additonal runs.
|
|
270
381
|
<li > First release published at gemcutter <a href = "http://gemcutter.org/gems/rake4latex" >http://gemcutter.org/gems/rake4latex</a> </li>
|
271
382
|
</ul>
|
272
383
|
<p >
|
273
|
-
0.0
|
384
|
+
0.1.0 2010-01-07
|
274
385
|
</p>
|
275
386
|
<ul >
|
276
387
|
<li > rubyforge project rake4latex: <a href = "http://rubyforge.org/projects/rake4latex/" >http://rubyforge.org/projects/rake4latex/</a> </li>
|
@@ -279,5 +390,16 @@ There are additional packages requiring additonal runs.
|
|
279
390
|
<li > Define a caller call_rake4latex </li>
|
280
391
|
<li > Support of gloss.sty </li>
|
281
392
|
</ul>
|
393
|
+
<p >
|
394
|
+
0.1.1
|
395
|
+
</p>
|
396
|
+
<ul >
|
397
|
+
<li > Replace LaTeXDependecies with TeXfile, better analyse for dependecies. </li>
|
398
|
+
<li > Replace Rake4LaTeX.template with Rake4LaTeX.build_rakefile </li>
|
399
|
+
<li > Use kpsewhich for bib-files. </li>
|
400
|
+
<li > Add dtx-support (rake4latex_dtx.rb) </li>
|
401
|
+
<li > Better log analyse </li>
|
402
|
+
<li > Add tasks log_archive, :log_overview </li>
|
403
|
+
</ul>
|
282
404
|
</body>
|
283
405
|
</html>
|
data/readme.txt
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
|
2
2
|
|
3
|
-
rake4latex: TeX-Build-Tool 0.1.
|
3
|
+
rake4latex: TeX-Build-Tool 0.1.1
|
4
4
|
------------------------------
|
5
5
|
|
6
|
+
Introduction
|
7
|
+
------------------------------
|
8
|
+
|
6
9
|
This file contains definitions to build a rakefile for LaTeX-documents.
|
7
10
|
|
8
11
|
A not-so minimal rakefile looks like this:
|
@@ -27,7 +30,11 @@ A not-so minimal rakefile looks like this:
|
|
27
30
|
app[:default].invoke
|
28
31
|
end
|
29
32
|
|
30
|
-
You can generate a rakefile template with:
|
33
|
+
You can generate a rakefile template with:
|
34
|
+
require 'rake4latex'
|
35
|
+
puts Rake4LaTeX.build_rakefile( [basename] )
|
36
|
+
|
37
|
+
The method will print a rakefile definition.
|
31
38
|
|
32
39
|
call_rake4latex.rb
|
33
40
|
------------------------------
|
@@ -40,6 +47,8 @@ Example:
|
|
40
47
|
call_rake4latex.rb my_file
|
41
48
|
call_rake4latex.rb -e my_file
|
42
49
|
|
50
|
+
Windows users can pick up a stand alone executable of call_rake4latex at CTAN: http://ctan.org/tex-archive/support/rake4latex (http://ctan.org/tex-archive/support/rake4latex)
|
51
|
+
|
43
52
|
rake4latex as lib in your application
|
44
53
|
------------------------------
|
45
54
|
|
@@ -101,17 +110,13 @@ Example:
|
|
101
110
|
Determine Dependecies: LaTeXDependencies.get_dependecies( )
|
102
111
|
------------------------------
|
103
112
|
|
104
|
-
You can automatically compute dependencies for the latex task:
|
105
|
-
- :inputs:
|
106
|
-
The input file (the one which is passed to latex) is read, and the
|
107
|
-
arguments of the <tt>\includeonly</tt>, <tt>\include</tt> and <tt>\input</tt> latex
|
108
|
-
commands are extracted. Each of this these files is scanned again for dependecies.
|
109
|
-
The result is a nested array with all dependecies.
|
110
|
-
- :flat:
|
111
|
-
The (nested) result is flatted and double entries are deleted.
|
113
|
+
You can automatically compute dependencies for the latex task: Rake4LaTeX::TeXfile.new(filename).includes( [options] )
|
112
114
|
|
113
115
|
You can use it already direct in your dependecies definition:
|
114
|
-
file 'testdocument.dvi' =>
|
116
|
+
file 'testdocument.dvi' => Rake4LaTeX::TeXfile.new('testdocument.tex').includes(:recursive, :uniq )
|
117
|
+
|
118
|
+
Alternative you can generate your rakefile:
|
119
|
+
Rake4LaTeX.build_rakefile( filename, :dependecies )
|
115
120
|
|
116
121
|
Dependecies for BibTeX
|
117
122
|
------------------------------
|
@@ -135,15 +140,101 @@ Supported tools
|
|
135
140
|
The following tools are supported by rake4latex:
|
136
141
|
- Makeindex with makeidx.sty
|
137
142
|
- BibTeX
|
143
|
+
- Rail (http://www.ctan.org/tex-archive/support/rail/)
|
138
144
|
|
139
145
|
Supported (checked) packages
|
140
146
|
------------------------------
|
141
147
|
|
142
|
-
The rake process to generate the document is independent of any package. But some packages requires additional
|
143
|
-
|
144
|
-
|
145
|
-
-
|
146
|
-
-
|
148
|
+
The rake process to generate the document is independent of any package. But some packages requires additional actions.
|
149
|
+
|
150
|
+
For the following packages exist special solutions:
|
151
|
+
- splitindex (splitindex is replaced by internal routines) http://www.ctan.org/tex-archive/macros/latex/contrib/splitindex/ (http://www.ctan.org/tex-archive/macros/latex/contrib/splitindex/)
|
152
|
+
- gloss (glossary based on bibTeX) http://www.ctan.org/tex-archive/macros/latex/contrib/gloss/ (http://www.ctan.org/tex-archive/macros/latex/contrib/gloss/)
|
153
|
+
- rail (creating rail-diagramms) http://www.ctan.org/tex-archive/support/rail/ (http://www.ctan.org/tex-archive/support/rail/)
|
154
|
+
|
155
|
+
Special Tasks
|
156
|
+
------------------------------
|
157
|
+
|
158
|
+
basefile
|
159
|
+
------------------------------
|
160
|
+
|
161
|
+
There are some tasks in Rake4LaTeX who needs a connected TeX-file. The task basefile defines such a connection.
|
162
|
+
|
163
|
+
From rakes view, it's just a dummy-task to define prerequisites for other tasks.
|
164
|
+
|
165
|
+
Tasks using basefile are:
|
166
|
+
- touch
|
167
|
+
- statistic
|
168
|
+
- log_overview
|
169
|
+
- log_archive
|
170
|
+
- clean
|
171
|
+
- clobber
|
172
|
+
|
173
|
+
If you build a pdf (or dvi), basefile-actions are done in background.
|
174
|
+
|
175
|
+
It is recommended to define your main-file as basefile. Without this, clean... may not work correct.
|
176
|
+
|
177
|
+
touch
|
178
|
+
------------------------------
|
179
|
+
|
180
|
+
The touch task changes the modification data for the touched file. In the result you can force a new TeX-run.
|
181
|
+
|
182
|
+
Usage:
|
183
|
+
task :touch => 'myfile.tex'
|
184
|
+
task :default => touch
|
185
|
+
|
186
|
+
With
|
187
|
+
task :basefile => 'myfile'
|
188
|
+
|
189
|
+
touch is also connected with your sourcefile.
|
190
|
+
|
191
|
+
statistic
|
192
|
+
------------------------------
|
193
|
+
|
194
|
+
Get a very short overview on the log-content. Errors and warnings are counted for each log (TeX, bibTeX, makeindex...)
|
195
|
+
|
196
|
+
Usage:
|
197
|
+
task :basefile => 'myfile'
|
198
|
+
task :statistic
|
199
|
+
task :default => [ 'myfile.pdf', :statistic ]
|
200
|
+
|
201
|
+
log_overview
|
202
|
+
------------------------------
|
203
|
+
|
204
|
+
A log-file is created with a log-summary (TeX_Statistic#stat_summary), all errors and warnings from TeX and the tools and a detailed analyse for the TeX-log.
|
205
|
+
|
206
|
+
You should do this task always _before_ a clean-task.
|
207
|
+
|
208
|
+
Usage:
|
209
|
+
task :basefile => 'myfile'
|
210
|
+
task :log_overview
|
211
|
+
task :default => [ 'myfile.pdf', :log_overview ]
|
212
|
+
|
213
|
+
clean
|
214
|
+
------------------------------
|
215
|
+
|
216
|
+
TeX and the related tools build a lot of auxiliary files. When you have them, you can delete the auxiliary files.
|
217
|
+
|
218
|
+
The task _clean_ does exactly this.
|
219
|
+
|
220
|
+
If you also want to delete the results (pdf...) you can use the task _clobber_.
|
221
|
+
|
222
|
+
Usage:
|
223
|
+
task :basefile => 'myfile'
|
224
|
+
task :default => [ 'myfile.pdf', :clean ]
|
225
|
+
|
226
|
+
log_archive
|
227
|
+
------------------------------
|
228
|
+
|
229
|
+
With _clean_ you loose all logs. With _log_archive_ you create a zip-file with all logs.
|
230
|
+
|
231
|
+
_log_archive_ makes only sense in combination with _clean_. First archive the logs, then delete them with _clean_. After this you have _one_ file with all your logs and in case of errors you can make analyses in the archived logs.
|
232
|
+
|
233
|
+
You should do this task always _before_ a clean-task.
|
234
|
+
|
235
|
+
Usage:
|
236
|
+
task :basefile => 'myfile'
|
237
|
+
task :default => [ 'myfile.pdf', :log_archive, :clean ]
|
147
238
|
|
148
239
|
Adding new tasks
|
149
240
|
------------------------------
|
@@ -201,14 +292,13 @@ Known Bugs and Problems
|
|
201
292
|
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.
|
202
293
|
- No plan to solve it. Not a big problem, and why you need a rakefile for such simple
|
203
294
|
tex-files?
|
204
|
-
- No usage of kpsewhich. 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}
|
205
|
-
- Low priority
|
206
295
|
|
207
296
|
Packages with problems
|
208
297
|
------------------------------
|
209
298
|
|
210
299
|
There are additional packages requiring additonal runs.
|
211
|
-
- glossaries (glossary based on makeindex) -
|
300
|
+
- glossaries (glossary based on makeindex) - see test cases or use
|
301
|
+
gloss.sty.
|
212
302
|
- multiind/index (multiple index) - support not planned. Please use splitindex or inform me about your need.
|
213
303
|
|
214
304
|
Version History
|
@@ -217,10 +307,18 @@ Version History
|
|
217
307
|
0.0.1 2010-01-03
|
218
308
|
- First release published at gemcutter http://gemcutter.org/gems/rake4latex (http://gemcutter.org/gems/rake4latex)
|
219
309
|
|
220
|
-
0.0
|
310
|
+
0.1.0 2010-01-07
|
221
311
|
- rubyforge project rake4latex: http://rubyforge.org/projects/rake4latex/ (http://rubyforge.org/projects/rake4latex/)
|
222
312
|
- Add support dvips + ps2pdf (and dvipdfm, xelatex, lualatex)
|
223
313
|
- Configurable programm settings (rake4latex.yaml)
|
224
314
|
- Define a caller call_rake4latex
|
225
315
|
- Support of gloss.sty
|
226
316
|
|
317
|
+
0.1.1
|
318
|
+
- Replace LaTeXDependecies with TeXfile, better analyse for dependecies.
|
319
|
+
- Replace Rake4LaTeX.template with Rake4LaTeX.build_rakefile
|
320
|
+
- Use kpsewhich for bib-files.
|
321
|
+
- Add dtx-support (rake4latex_dtx.rb)
|
322
|
+
- Better log analyse
|
323
|
+
- Add tasks log_archive, :log_overview
|
324
|
+
|