rake4latex 0.1.1 → 0.1.2
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/bin/call_rake4latex.rb +7 -1
- data/bin/readme_call_rake4latex.txt +1 -0
- data/lib/rake4latex.rb +15 -14
- data/lib/rake4latex/analyse_texfile.rb +6 -4
- data/lib/rake4latex/base.rb +191 -63
- data/lib/rake4latex/clean.rb +9 -6
- data/lib/rake4latex/glossaries.rb +101 -0
- data/lib/rake4latex/latexrunner.rb +16 -27
- data/lib/rake4latex/rules.rb +81 -54
- data/lib/rake4latex/splitindex.rb +0 -1
- data/lib/rake4latex/tex_statistic.rb +18 -6
- data/lib/rake4latex_dtx.rb +3 -3
- data/lib/rake4latex_dvipdfm.rb +2 -2
- data/readme.html +32 -14
- data/readme.txt +21 -11
- data/test/_expected/bibtex_test.txt +9 -9
- data/test/_expected/bibtex_test_bib.txt +4 -4
- data/test/_expected/bibtex_test_build_rakefile.txt +3 -0
- data/test/_expected/dtx_test.txt +11 -11
- data/test/_expected/dvipdfm_test.txt +6 -6
- data/test/_expected/error_test.txt +3 -3
- data/test/_expected/error_test_ignore_error.txt +4 -4
- data/test/_expected/error_test_overview.txt +7 -2
- data/test/_expected/error_test_statistic.txt +2 -2
- data/test/_expected/gloss_test.txt +15 -15
- data/test/_expected/gloss_test_bib.txt +7 -7
- data/test/_expected/gloss_test_build_rakefile.txt +3 -0
- data/test/_expected/glossaries_test.txt +12 -0
- data/test/_expected/includes_test.txt +7 -7
- data/test/_expected/includes_test_build_rakefile.txt +3 -0
- data/test/_expected/index_test.txt +6 -6
- data/test/_expected/longtable_test.txt +5 -5
- data/test/_expected/minitoc_test.txt +7 -7
- data/test/_expected/ps2pdf_test.txt +7 -7
- data/test/_expected/rail_error_test.txt +9 -9
- data/test/_expected/rail_test.txt +6 -6
- data/test/_expected/splitindex_test.txt +7 -7
- data/test/_expected/splitindex_test_build_rakefile.txt +9 -6
- data/test/_expected/supertabular_test.txt +5 -5
- data/test/_expected/supertabular_test_statistic.txt +1 -1
- data/test/_expected/two_tasks_test.txt +15 -0
- data/test/_expected/two_tasks_test_statistic.txt +11 -0
- data/test/_expected/varioref_test.txt +5 -5
- data/test/_expected/varioref_test_ignore_error.txt +7 -7
- data/test/_expected/z_complex_test.txt +12 -11
- data/test/_expected/z_complex_test_overview.txt +24 -9
- data/test/_expected/z_complex_test_overview_file.txt +2 -0
- data/test/_expected/z_complex_test_statistic.txt +2 -2
- data/test/bibtex/rakefile.rb +4 -2
- data/test/dtx/rakefile.rb +3 -3
- data/test/dvipdfm/rakefile.rb +4 -2
- data/test/error/rakefile.rb +10 -6
- data/test/gloss/rakefile.rb +3 -2
- data/test/glossaries/rakefile.rb +50 -0
- data/test/glossaries/sample.tex +133 -0
- data/test/includes/rakefile.rb +7 -6
- data/test/index/rakefile.rb +3 -2
- data/test/longtable/rakefile.rb +3 -2
- data/test/minitoc/rakefile.rb +3 -2
- data/test/ps2pdf/rakefile.rb +3 -2
- data/test/rail/rakefile.rb +5 -4
- data/test/rail_error/rakefile.rb +3 -2
- data/test/splitindex/rakefile.rb +7 -5
- data/test/supertabular/rakefile.rb +3 -2
- data/test/two_tasks/rakefile.rb +50 -0
- data/test/two_tasks/testdocument_1.tex +10 -0
- data/test/two_tasks/testdocument_2.tex +10 -0
- data/test/unittest_rake4latex.rb +27 -4
- data/test/unittest_rake4latex_testcases.rb +27 -11
- data/test/varioref/rakefile.rb +11 -5
- data/test/z_complex/rakefile.rb +8 -6
- data/test/z_complex/testdocument.tex +12 -1
- metadata +149 -28
data/bin/call_rake4latex.rb
CHANGED
@@ -69,12 +69,16 @@ opts.on("-i", "--ignore", "--ignore-error", "Allow LaTeX errors") { |v|
|
|
69
69
|
puts "Allow LaTeX errors" if PARSE_MESSAGES
|
70
70
|
Rake4LaTeX.set_latexrunner_default(:texerrors_allowed, true)
|
71
71
|
}
|
72
|
-
|
73
72
|
opts.on("-s", "--statistic", "Show the statistic after TeX-run") { |v|
|
74
73
|
puts "Show the statistic after TeX-run" if PARSE_MESSAGES
|
75
74
|
TASK_BEFORE_TeX << :statistic #Set filename
|
76
75
|
TASK_AFTER_TeX << :statistic
|
77
76
|
}
|
77
|
+
opts.on("-o", "--overview", "Create a log-overview file") { |v|
|
78
|
+
puts "Create a log-overview file after TeX-run" if PARSE_MESSAGES
|
79
|
+
TASK_BEFORE_TeX << :statistic #Set filename
|
80
|
+
TASK_AFTER_TeX << :log_overview_file
|
81
|
+
}
|
78
82
|
opts.on("-c", "--clean", "Clean after TeX-run (delete auxiliary files)") { |v|
|
79
83
|
puts "Clean after TeX-run" if PARSE_MESSAGES
|
80
84
|
TASK_AFTER_TeX << :clean
|
@@ -143,6 +147,8 @@ begin
|
|
143
147
|
}
|
144
148
|
when :statistic
|
145
149
|
task (:statistic => target.ext('tex'))
|
150
|
+
when :log_overview_file
|
151
|
+
task (:log_overview_file => target.ext('tex'))
|
146
152
|
else
|
147
153
|
raise ArgumentError, "Undefined option #{task.inspect}"
|
148
154
|
end
|
@@ -16,6 +16,7 @@ Specific options:
|
|
16
16
|
--dep, --dependecies Build dependecies (rakefile recommended)
|
17
17
|
-i, --ignore, --ignore-error Allow LaTeX errors
|
18
18
|
-s, --statistic Show the statistic after TeX-run
|
19
|
+
-o, --overview Create a log-overview file
|
19
20
|
-c, --clean Clean after TeX-run (delete auxiliary files)
|
20
21
|
--touch FILE Touch FILE
|
21
22
|
--task TASK Define a rake-task
|
data/lib/rake4latex.rb
CHANGED
@@ -5,7 +5,7 @@ This file contains definitions to build a rakefile for LaTeX-documents.
|
|
5
5
|
A not-so minimal rakefile looks like this:
|
6
6
|
require 'rake4latex'
|
7
7
|
#Needed for some actions without a previous TeX-call
|
8
|
-
|
8
|
+
Rake4LaTeX::Basefile.set('testdocument.tex')
|
9
9
|
#We want to build a PDF
|
10
10
|
file 'testdocument.pdf' => 'testdocument.tex'
|
11
11
|
|
@@ -52,7 +52,7 @@ Example:
|
|
52
52
|
task :touch => 'testdocument.tex'
|
53
53
|
task :runtex => [:touch, 'testdocument.pdf', :clean]
|
54
54
|
Rake.application[:runtex].invoke
|
55
|
-
#~
|
55
|
+
#~ Rake4LaTeX::Basefile.set('testdocument.pdf')
|
56
56
|
#~ Rake.application[:clean].invoke
|
57
57
|
|
58
58
|
==Document creation
|
@@ -157,6 +157,7 @@ Tasks using basefile are:
|
|
157
157
|
* touch
|
158
158
|
* statistic
|
159
159
|
* log_overview
|
160
|
+
* log_overview_file
|
160
161
|
* log_archive
|
161
162
|
* clean
|
162
163
|
* clobber
|
@@ -166,7 +167,8 @@ If you build a pdf (or dvi), basefile-actions are done in background.
|
|
166
167
|
It is recommended to define your main-file as basefile.
|
167
168
|
Without this, clean... may not work correct.
|
168
169
|
|
169
|
-
|
170
|
+
Please use instead:
|
171
|
+
Rake4LaTeX::Basefile.set('testdocument.tex')
|
170
172
|
|
171
173
|
===touch
|
172
174
|
The touch task changes the modification data for the touched file.
|
@@ -176,36 +178,36 @@ Usage:
|
|
176
178
|
task :touch => 'myfile.tex'
|
177
179
|
task :default => touch
|
178
180
|
|
179
|
-
With
|
180
|
-
task :basefile => 'myfile'
|
181
|
-
touch is also connected with your sourcefile.
|
182
181
|
|
183
182
|
===statistic
|
184
183
|
Get a very short overview on the log-content.
|
185
184
|
Errors and warnings are counted for each log (TeX, bibTeX, makeindex...)
|
186
185
|
|
187
186
|
Usage:
|
188
|
-
|
187
|
+
Rake4LaTeX::Basefile.set('myfile')
|
189
188
|
task :statistic
|
190
189
|
task :default => [ 'myfile.pdf', :statistic ]
|
191
190
|
|
192
191
|
See also Rake4LaTeX#TeX_Statistic#stat_summary
|
193
192
|
|
194
193
|
===log_overview
|
195
|
-
A log
|
194
|
+
A more detailed log is created with a log-summary (TeX_Statistic#stat_summary),
|
196
195
|
all errors and warnings from TeX and the tools and
|
197
196
|
a detailed analyse for the TeX-log.
|
198
197
|
|
199
198
|
You should do this task always _before_ a clean-task.
|
200
199
|
|
201
200
|
Usage:
|
202
|
-
|
201
|
+
Rake4LaTeX::Basefile.set('myfile')
|
203
202
|
task :log_overview
|
204
203
|
task :default => [ 'myfile.pdf', :log_overview ]
|
205
204
|
|
206
|
-
|
207
205
|
See also Rake4LaTeX#TeX_Statistic#overview
|
208
206
|
|
207
|
+
With task log_overview_file the detailed log will be saved in a file
|
208
|
+
for detailed analyses.
|
209
|
+
|
210
|
+
|
209
211
|
===clean
|
210
212
|
TeX and the related tools build a lot of auxiliary files.
|
211
213
|
When you have them, you can delete the auxiliary files.
|
@@ -216,7 +218,7 @@ If you also want to delete the results (pdf...) you can use the task
|
|
216
218
|
_clobber_.
|
217
219
|
|
218
220
|
Usage:
|
219
|
-
|
221
|
+
Rake4LaTeX::Basefile.set('myfile')
|
220
222
|
task :default => [ 'myfile.pdf', :clean ]
|
221
223
|
|
222
224
|
|
@@ -232,7 +234,7 @@ in case of errors you can make analyses in the archived logs.
|
|
232
234
|
You should do this task always _before_ a clean-task.
|
233
235
|
|
234
236
|
Usage:
|
235
|
-
|
237
|
+
Rake4LaTeX::Basefile.set('myfile')
|
236
238
|
task :default => [ 'myfile.pdf', :log_archive, :clean ]
|
237
239
|
|
238
240
|
|
@@ -304,7 +306,6 @@ There are additional packages requiring additonal runs.
|
|
304
306
|
|
305
307
|
=end
|
306
308
|
|
307
|
-
|
308
309
|
#
|
309
310
|
#Load the base functions and load subfiles.
|
310
311
|
#
|
@@ -313,7 +314,7 @@ require 'rake4latex/base'
|
|
313
314
|
#
|
314
315
|
#Define the pdf-creation via pdflatex
|
315
316
|
#
|
316
|
-
#This definition
|
317
|
+
#This definition must be first.
|
317
318
|
#If not, the way via ps2pdf would be the default.
|
318
319
|
desc "Build a pdf-file with pdfLaTeX"
|
319
320
|
rule '.pdf' => '.tex' do |t|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
if $0 == __FILE__
|
3
2
|
require 'rake4latex'
|
4
3
|
end
|
@@ -89,7 +88,7 @@ Search dependecies by sanning for
|
|
89
88
|
=end
|
90
89
|
def analyse(content )
|
91
90
|
|
92
|
-
content.
|
91
|
+
content.each_line{ |line|
|
93
92
|
#Skip comments
|
94
93
|
#Remarks/Bug:
|
95
94
|
#* \% is not detected.
|
@@ -218,6 +217,7 @@ def self.build_rakefile( filename, *options )
|
|
218
217
|
Rakefile for LaTeX-project #{basename}
|
219
218
|
|
220
219
|
Generated by Rake4LaTeX.build_rakefile, #{Date.today}
|
220
|
+
Options: #{options.inspect}
|
221
221
|
|
222
222
|
=end
|
223
223
|
require 'rake4latex'
|
@@ -239,9 +239,9 @@ Template
|
|
239
239
|
includes = texfile.includes(:uniq, :recursive)
|
240
240
|
if ! includes.empty?
|
241
241
|
template << <<Template
|
242
|
-
#{texfile.tree.to_yaml.
|
242
|
+
#{texfile.tree.to_yaml.gsub(/^/, "# ")}
|
243
243
|
dependecies = [
|
244
|
-
#{includes.map{|f| " \"#{f}\",\n"}}]
|
244
|
+
#{includes.map{|f| " \"#{f}\",\n"}.join}]
|
245
245
|
Template
|
246
246
|
template << "file '#{pdf_name}' => dependecies\n" if options.include?(:pdf)
|
247
247
|
template << "file '#{dvi_name}' => dependecies\n" if options.include?(:dvi)
|
@@ -316,6 +316,8 @@ Template
|
|
316
316
|
Closing Tasks
|
317
317
|
=end
|
318
318
|
task :default => :statistic #Get an overview on errors and warnings
|
319
|
+
#~ task :default => :log_overview #Show log overview-file
|
320
|
+
#~ task :default => :log_overview_file #Build a log overview-file
|
319
321
|
task :default => :clean #delete helpfiles
|
320
322
|
|
321
323
|
Template
|
data/lib/rake4latex/base.rb
CHANGED
@@ -3,10 +3,16 @@ Base definitions of rake4latex.
|
|
3
3
|
This file must be loaded by all specific rake4file-variants.
|
4
4
|
=end
|
5
5
|
|
6
|
-
|
7
6
|
#~ gem 'rake', '=0.8.7'
|
8
7
|
require 'rake'
|
9
|
-
|
8
|
+
case RUBY_VERSION
|
9
|
+
when /1.8/;
|
10
|
+
require 'md5' # defines MD5 and Digest::MD5
|
11
|
+
when /1.9/;
|
12
|
+
require 'digest/md5' #defines Digest::MD5
|
13
|
+
require 'yaml'
|
14
|
+
else; raise "Undefined ruby version #{RUBY_VERSION}"
|
15
|
+
end
|
10
16
|
require 'log4r' #1.0.5
|
11
17
|
|
12
18
|
module Rake
|
@@ -22,41 +28,33 @@ end
|
|
22
28
|
|
23
29
|
|
24
30
|
module Rake4LaTeX
|
25
|
-
VERSION = '0.1.
|
26
|
-
|
31
|
+
VERSION = '0.1.2'
|
32
|
+
|
27
33
|
#With this creation we define the constants Log4r::DEBUG...
|
28
34
|
Logger = Log4r::Logger.new("LaTeXRunner")
|
29
35
|
Logger.outputters = Log4r::StdoutOutputter.new('log_stdout')
|
30
36
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
#
|
38
|
+
#Define the main settings for the runner.
|
39
|
+
#
|
40
|
+
#This values can be overwritten for each base file:
|
41
|
+
# basefile = Rake4LaTeX::Basefile.set('filename')
|
42
|
+
# basefile[:maxruns] = 1
|
43
|
+
# basefile[:loglevel] = Log4r::DEBUG
|
44
|
+
# basefile[:program] = :xelatex
|
45
|
+
# basefile[:texerrors_allowed] = true
|
46
|
+
#
|
47
|
+
DEFAULT_SETTINGS = {
|
48
|
+
:main_file => nil, #only needed for key-check. Must be defined later.
|
49
|
+
:maxruns => 5,
|
50
|
+
:program => :pdflatex, #Valid entries see PROGRAMS
|
51
|
+
:loglevel => Log4r::INFO,
|
52
|
+
:texerrors_allowed => false,
|
53
|
+
}
|
41
54
|
|
42
|
-
|
43
|
-
|
44
|
-
=
|
45
|
-
def self.set_latexrunner_default( key, option )
|
46
|
-
if ! LaTeXRunner::DEFAULT_SETTINGS.keys.include?(key)
|
47
|
-
raise ArgumentError, "Undefined key #{key.inspect} for LaTeXRunner" unless @latexrunner
|
48
|
-
Rake4LaTeX::Logger.warn("Undefined key #{key.inspect} for LaTeXRunner") if Rake4LaTeX::Logger.warn?
|
49
|
-
end
|
50
|
-
LaTeXRunner::DEFAULT_SETTINGS[key] = option
|
51
|
-
case key
|
52
|
-
when :program
|
53
|
-
if LaTeXRunner::PROGRAMS.keys.include?( option.to_sym )
|
54
|
-
LaTeXRunner::DEFAULT_SETTINGS[key] = option.to_sym
|
55
|
-
else
|
56
|
-
Rake4LaTeX::Logger.warn("Undefined programm #{option.inspect} for LaTeXRunner") if Rake4LaTeX::Logger.warn?
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
55
|
+
#Adaption per file:
|
56
|
+
# Rake4LaTeX::Basefile.set(basename)[:loglevel] = Log4r::DEBUG
|
57
|
+
Logger.level = DEFAULT_SETTINGS[:loglevel]
|
60
58
|
|
61
59
|
=begin rdoc
|
62
60
|
Definition of the programms and there call parameters.
|
@@ -86,6 +84,7 @@ Load the Programs with parameters for Rake4LaTeX.build_cmd.
|
|
86
84
|
#a src\lib\rake4latex\rake4latex.yaml
|
87
85
|
#a lib\ruby\gems\1.8\gems\rake4latex-0.1.0\lib\rake4latex\base.rb
|
88
86
|
"#{File.dirname(__FILE__)}/../../../../../../../../src/lib/rake4latex/rake4latex.yaml", #for ocra-version (exe)
|
87
|
+
#fixme: user/local system specific settings
|
89
88
|
"./rake4latex.yaml", #local re-definition
|
90
89
|
].each{| setting_file |
|
91
90
|
if File.exist?(setting_file)
|
@@ -97,7 +96,6 @@ Load the Programs with parameters for Rake4LaTeX.build_cmd.
|
|
97
96
|
raise "No program settings found"
|
98
97
|
end
|
99
98
|
|
100
|
-
|
101
99
|
=begin rdoc
|
102
100
|
Build the command line to call a tool.
|
103
101
|
|
@@ -137,47 +135,177 @@ The keys must fit to the settings in Rake4LaTeX::Programms .
|
|
137
135
|
|
138
136
|
cmd
|
139
137
|
end
|
138
|
+
=begin rdoc
|
139
|
+
Define a basename.
|
140
|
+
|
141
|
+
Set the file for clean/clobber, offers the possibility to set defaults,
|
142
|
+
define a logger.
|
143
|
+
=end
|
144
|
+
class Basefile
|
145
|
+
|
146
|
+
@@all = {}
|
147
|
+
|
148
|
+
=begin rdoc
|
149
|
+
Get the basefile object or create a a new instance.
|
150
|
+
=end
|
151
|
+
def self.set( basename, options = {} )
|
152
|
+
basename = basename.ext()
|
153
|
+
@@all[basename] = new(basename) unless @@all[basename]
|
154
|
+
options.each{|key, value| @@all[basename][key] = value }
|
155
|
+
@@all[basename]
|
156
|
+
end #set
|
157
|
+
|
158
|
+
=begin rdoc
|
159
|
+
Get the basefile object.
|
160
|
+
=end
|
161
|
+
def self.[](key)
|
162
|
+
@@all[key.ext()]
|
163
|
+
end
|
164
|
+
=begin rdoc
|
165
|
+
Loop on all defined base files
|
166
|
+
=end
|
167
|
+
def self.each()
|
168
|
+
@@all.each{|key, basefile| yield basefile }
|
169
|
+
end
|
170
|
+
|
171
|
+
=begin rdoc
|
172
|
+
Create a new basefile object.
|
173
|
+
|
174
|
+
This is a private method.
|
175
|
+
To create new objects, use Rake4LaTeX::Basefile.set
|
176
|
+
=end
|
177
|
+
def initialize( basename, options = {} )
|
178
|
+
@basename = basename.ext('')
|
179
|
+
|
180
|
+
@settings4LaTeXRunner = DEFAULT_SETTINGS.dup
|
181
|
+
|
182
|
+
@logger = Log4r::Logger.new(@basename)
|
183
|
+
@logger.level = @settings4LaTeXRunner[:loglevel]
|
184
|
+
|
185
|
+
options.each{|key, value| self[key] = value }
|
186
|
+
|
187
|
+
@logger.outputters = Log4r::StdoutOutputter.new('log_stdout')
|
188
|
+
#~ @logger.info("Define base file #{@basename}")
|
189
|
+
|
190
|
+
|
191
|
+
set4clean()
|
192
|
+
define_tasks()
|
193
|
+
end #basename#initialze
|
194
|
+
private_class_method :new #make it private
|
195
|
+
|
196
|
+
#Basename of the Basefile.
|
197
|
+
attr_reader :basename
|
198
|
+
#Get the logger
|
199
|
+
attr_reader :logger
|
200
|
+
#Settings for the LaTeXRunner. May be changed with Rake4LaTeX::Basefile#[]=
|
201
|
+
attr_reader :settings4LaTeXRunner
|
202
|
+
=begin rdoc
|
203
|
+
Defines document specific tasks (statistic, set clean and clobber)
|
204
|
+
=end
|
205
|
+
def define_tasks()
|
206
|
+
|
207
|
+
namespace @basename do
|
208
|
+
desc "Create the statistic for #{@basename}"
|
209
|
+
task :statistic do
|
210
|
+
stat = Rake4LaTeX::TeX_Statistic.new(@basename)
|
211
|
+
puts "Statistic for #{@basename}:"
|
212
|
+
puts stat.stat_summary.map{|e| " #{e}"}
|
213
|
+
end
|
214
|
+
|
215
|
+
desc "Build a log-overview for #{@basename}"
|
216
|
+
task :log_overview do
|
217
|
+
stat = Rake4LaTeX::TeX_Statistic.new(@basename)
|
218
|
+
puts stat.overview()
|
219
|
+
end
|
220
|
+
|
221
|
+
desc "Build a log-overview file for #{@basename}"
|
222
|
+
task :log_overview_file do
|
223
|
+
stat = Rake4LaTeX::TeX_Statistic.new(@basename)
|
224
|
+
#Filename also used in set4clean
|
225
|
+
File.open("#{@basename}.overview.txt", 'w'){|f|
|
226
|
+
puts "Create #{f.path}"
|
227
|
+
f << stat.overview()
|
228
|
+
}
|
229
|
+
end
|
230
|
+
|
231
|
+
end #namespace
|
232
|
+
|
233
|
+
#Define the 'global' tasks.
|
234
|
+
task :statistic => "#{@basename}:statistic"
|
235
|
+
task :log_overview => "#{@basename}:log_overview"
|
236
|
+
task :log_overview_file => "#{@basename}:log_overview_file"
|
237
|
+
end #define_tasks()
|
238
|
+
|
239
|
+
|
140
240
|
=begin rdoc
|
141
241
|
Define the files to be deleted with clean and clobber.
|
142
242
|
|
143
243
|
There is no global definition to delete all files,
|
144
244
|
only the help file for the selected basename is taken.
|
145
245
|
|
146
|
-
|
147
|
-
|
246
|
+
This method is called by task 'basename' (Basefile#initialize)
|
247
|
+
=end
|
248
|
+
def set4clean()
|
249
|
+
cleanlist = FileList.new("#{@basename}.{aux,log,out,toc,lot,lof,nav,snm}")
|
250
|
+
cleanlist.add("#{@basename}.{ilg,idx,ind}") #Index
|
251
|
+
cleanlist.add("#{@basename}-*.{ilg,idx,ind}") #splitindex.sty
|
252
|
+
cleanlist.add("#{@basename}.{blg,bbl}") #BibTeX
|
253
|
+
cleanlist.add("#{@basename}-blx.{bib}") #auxiliary file used by the 'biblatex' package
|
254
|
+
cleanlist.add("#{@basename}.*.{blg,bbl,aux}") #gloss.sty
|
255
|
+
cleanlist.add("#{@basename}.{maf,ptc*,mtc*,stc*}") #minitoc.sty (stc1, stc2...)
|
256
|
+
cleanlist.add("#{@basename}.{glo,gls}") #glossary.sty
|
257
|
+
#~ cleanlist.add("#{@basename}.{rai,rao,RAO}") #rail/rail.sty
|
258
|
+
cleanlist.add("#{@basename}.{rai,rao}") #rail/rail.sty
|
259
|
+
cleanlist.add("#{@basename}.{tdo}") #tdo: todonotes.sty
|
260
|
+
cleanlist.add("#{@basename}.{vrb}") #vrb: beamer.sty (verbatim)
|
261
|
+
|
262
|
+
clobberlist = FileList.new("#{@basename}.{dvi,pdf,ps}")
|
263
|
+
#The * is needed.else the filename is added always. With '*' it is checked for existence
|
264
|
+
clobberlist.add("#{@basename}.overview*.txt") #rake4latex, task :log_overview
|
265
|
+
|
266
|
+
CLEAN.include(cleanlist)
|
267
|
+
CLOBBER.include(clobberlist)
|
268
|
+
|
269
|
+
CLEAN.uniq!
|
270
|
+
CLOBBER.uniq!
|
271
|
+
|
272
|
+
end #set4clean
|
273
|
+
|
274
|
+
=begin rdoc
|
275
|
+
Sets a default option for the LaTeXRunner.
|
276
|
+
|
277
|
+
The options are stored and used for new LaTeXRunners.
|
278
|
+
|
279
|
+
Examples:
|
280
|
+
|
281
|
+
basefile = Rake4LaTeX::Basefile.set('filename')
|
282
|
+
basefile[:maxruns] = 1
|
283
|
+
basefile[:loglevel] = Log4r::DEBUG
|
284
|
+
basefile[:program] = :xelatex
|
285
|
+
basefile[:texerrors_allowed] = true
|
148
286
|
|
149
|
-
This method is called by task 'basename'.
|
150
287
|
=end
|
151
|
-
def
|
152
|
-
|
153
|
-
|
154
|
-
#
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
when /\.(glo|gls)\Z/ #Glossary-Files
|
164
|
-
CLEAN.include(file)
|
165
|
-
when /\.(blg|bbl)\Z/ #BibTeX-Files
|
166
|
-
CLEAN.include(file)
|
167
|
-
when /\.(rai|rao|RAO)\Z/ #Rail-Files
|
168
|
-
CLEAN.include(file)
|
169
|
-
when /\.(dvi|pdf|ps)\Z/
|
170
|
-
CLOBBER.include(file)
|
171
|
-
when /\.overview.txt\Z/ #rake4latex, task :log_overview
|
172
|
-
CLOBBER.include(file)
|
173
|
-
else
|
174
|
-
#~ @logger.warn("Unknown help file #{file}")
|
288
|
+
def []=( key, option )
|
289
|
+
if ! settings4LaTeXRunner.keys.include?(key)
|
290
|
+
raise ArgumentError, "Undefined key #{key.inspect} for LaTeXRunner" unless @latexrunner
|
291
|
+
@ogger.warn("Undefined key #{key.inspect} for LaTeXRunner") if @ogger.warn?
|
292
|
+
end
|
293
|
+
settings4LaTeXRunner[key] = option
|
294
|
+
case key
|
295
|
+
when :program
|
296
|
+
if LaTeXRunner::PROGRAMS.keys.include?( option.to_sym )
|
297
|
+
settings4LaTeXRunner[key] = option.to_sym
|
298
|
+
else
|
299
|
+
@ogger.warn("Undefined programm #{option.inspect} for LaTeXRunner") if @logger.warn?
|
175
300
|
end
|
176
301
|
end
|
177
|
-
|
178
|
-
CLOBBER.uniq!
|
179
|
-
end #set4clean
|
302
|
+
end
|
180
303
|
|
304
|
+
|
305
|
+
def inspect()
|
306
|
+
"#<Rake4LaTeX::Basefile #{@basename}>"
|
307
|
+
end
|
308
|
+
end #Basefile
|
181
309
|
end #Rake4LaTeX
|
182
310
|
|
183
311
|
|