rake4latex 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
|