rake4latex 0.0.1 → 0.1.0
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/{lib/call_rake4latex.rb → call_rake4latex.rb} +21 -9
- data/lib/rake4latex.rb +113 -180
- data/lib/rake4latex/base.rb +205 -0
- data/lib/rake4latex/clean.rb +53 -0
- data/lib/rake4latex/latexdependencies.rb +2 -0
- data/lib/rake4latex/latexrunner.rb +31 -15
- data/lib/rake4latex/rake4latex.yaml +76 -0
- data/lib/rake4latex/rules.rb +90 -18
- data/lib/rake4latex/splitindex.rb +5 -2
- data/lib/rake4latex/template.rb +60 -0
- data/lib/rake4latex/tex_statistic.rb +8 -3
- data/lib/rake4latex_dvipdfm.rb +40 -0
- data/lib/rake4latex_lualatex.rb +22 -0
- data/lib/rake4latex_pdflatex.rb +22 -0
- data/lib/rake4latex_ps2pdf.rb +27 -0
- data/lib/rake4latex_xelatex.rb +22 -0
- data/license.txt +15 -0
- data/readme.html +70 -23
- data/readme.txt +58 -18
- data/readme_call_rake4latex.txt +25 -0
- data/test/_expected/bibtex_test.txt +10 -0
- data/test/_expected/bibtex_test_bib.txt +5 -0
- data/test/_expected/dvipdfm_test.txt +7 -0
- data/test/_expected/gloss_test.txt +16 -0
- data/test/_expected/gloss_test_bib.txt +8 -0
- data/test/_expected/includes_test.txt +8 -0
- data/test/_expected/index_test.txt +7 -0
- data/test/_expected/longtable_test.txt +6 -0
- data/test/_expected/minitoc_test.txt +8 -0
- data/test/_expected/ps2pdf_test.txt +8 -0
- data/test/_expected/rail_test.txt +7 -0
- data/test/_expected/rail_test_error.txt +10 -0
- data/test/_expected/splitindex_test.txt +8 -0
- data/test/_expected/supertabular_test.txt +6 -0
- data/test/_expected/supertabular_test_statistic.txt +30 -0
- data/test/_expected/z_complex_test.txt +12 -0
- data/test/_test_call/test_call.rb +14 -0
- data/test/_test_call/testdocument.tex +18 -0
- data/test/bibtex/rakefile.rb +11 -5
- data/test/bibtex/testdocument.bib +1 -0
- data/test/dvipdfm/rakefile.rb +43 -0
- data/test/dvipdfm/testdocument.tex +10 -0
- data/test/gloss/rakefile.rb +65 -0
- data/test/gloss/test_gloss.bib +4 -0
- data/test/gloss/testdocument.tex +31 -0
- data/test/includes/rakefile.rb +4 -4
- data/test/index/rakefile.rb +1 -1
- data/test/longtable/rakefile.rb +1 -1
- data/test/ps2pdf/rakefile.rb +43 -0
- data/test/ps2pdf/testdocument.tex +10 -0
- data/test/rail/rakefile.rb +10 -19
- data/test/rail/testrail.tex +2 -6
- data/test/rail/testrail_error.tex +58 -0
- data/test/supertabular/rakefile.rb +1 -1
- data/test/unittest_rake4latex.rb +66 -0
- data/test/z_complex/rakefile.rb +2 -2
- metadata +64 -6
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
|
4
|
+
# two rake tasks (:clean and :clobber).
|
5
|
+
#
|
6
|
+
# [:clean] Clean up the project by deleting scratch files and backup
|
7
|
+
# files. Add files to the CLEAN file list to have the :clean
|
8
|
+
# target handle them.
|
9
|
+
#
|
10
|
+
# [:clobber] Clobber all generated and non-source files in a project.
|
11
|
+
# The task depends on :clean, so all the clean files will
|
12
|
+
# be deleted as well as files in the CLOBBER file list.
|
13
|
+
# The intent of this task is to return a project to its
|
14
|
+
# pristine, just unpacked state.
|
15
|
+
#
|
16
|
+
# This replaces the original clean.
|
17
|
+
#
|
18
|
+
# Changes:
|
19
|
+
# * Use File.delete (avoid stderr-messages of rm_r)
|
20
|
+
# * Use LaTeXRunner.logger if available.
|
21
|
+
# * Add task :basefile as prerequisite.
|
22
|
+
|
23
|
+
require 'rake'
|
24
|
+
|
25
|
+
CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"]
|
26
|
+
CLEAN.clear_exclude.exclude { |fn|
|
27
|
+
fn.pathmap("%f") == 'core' && File.directory?(fn)
|
28
|
+
}
|
29
|
+
|
30
|
+
desc "Remove any temporary products."
|
31
|
+
#~ task :clean do
|
32
|
+
task :clean => :basefile do
|
33
|
+
logger = Rake4LaTeX::Logger
|
34
|
+
logger.info("Clean: delete helpfiles #{CLEAN.inspect}") if logger.info?
|
35
|
+
CLEAN.each { |fn|
|
36
|
+
#~ rm_r fn rescue nil
|
37
|
+
#~ logger.debug("Clean: delete #{fn}") if logger
|
38
|
+
File.delete(fn) rescue ( logger.warn("Clean: #{fn} not deleted") if logger )
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
CLOBBER = Rake::FileList.new
|
43
|
+
|
44
|
+
desc "Remove any generated file."
|
45
|
+
task :clobber => :clean do
|
46
|
+
logger = Rake4LaTeX::Logger
|
47
|
+
logger.info("Clobber: delete helpfiles #{(CLEAN + CLOBBER).inspect}") if logger.info?
|
48
|
+
CLOBBER.each { |fn|
|
49
|
+
#~ rm_r fn rescue nil
|
50
|
+
#~ logger.debug("Clobber: delete #{fn}") if logger
|
51
|
+
File.delete(fn) rescue ( logger.warn("Clobber: #{fn} not deleted") if logger )
|
52
|
+
}
|
53
|
+
end
|
@@ -1,3 +1,6 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Rake4LaTeX
|
1
4
|
=begin rdoc
|
2
5
|
Class which encapsulates all the information needed to call latex
|
3
6
|
as often as needed.
|
@@ -17,7 +20,6 @@ class LaTeXRunner
|
|
17
20
|
:maxruns => 5,
|
18
21
|
:program => :pdflatex, #Valid entries see PROGRAMS
|
19
22
|
:loglevel => Log4r::INFO,
|
20
|
-
:options => ['-interaction=batchmode'],
|
21
23
|
:texerrors_allowed => false,
|
22
24
|
}
|
23
25
|
=begin rdoc
|
@@ -63,9 +65,10 @@ The settings contain the following values:
|
|
63
65
|
def initialize( settings )
|
64
66
|
|
65
67
|
#~ raise ArgumentError, "Task is no RakeTask but #{t.class}" unless task.is_a?(Rake::Task)
|
66
|
-
|
67
|
-
@logger =
|
68
|
-
@logger
|
68
|
+
|
69
|
+
@logger = Rake4LaTeX::Logger
|
70
|
+
#~ @logger = Log4r::Logger.new("LaTeXRunner #{settings[:main_file]}")
|
71
|
+
#~ @logger.outputters = Log4r::StdoutOutputter.new('log_stdout')
|
69
72
|
|
70
73
|
DEFAULT_SETTINGS.merge(settings).each{|key, value|
|
71
74
|
#~ puts "#{key}: #{value}"
|
@@ -81,17 +84,16 @@ The settings contain the following values:
|
|
81
84
|
raise ArgumentError, "Undefined key #{key} for LaTeXRunner"
|
82
85
|
end
|
83
86
|
}
|
84
|
-
|
85
87
|
raise MainfileError, "main_file missing" unless @main_file
|
86
88
|
raise MainfileError, "main_file #{@main_file} not found" unless File.exist?(@main_file)
|
87
89
|
raise ArgumentError, "Maxrun is no number" unless @maxruns.is_a?( Fixnum ) or @maxruns == Infinity
|
88
90
|
|
89
|
-
Rake.application.latexrunner = self
|
90
91
|
@basename = File.basename(@main_file)
|
91
92
|
@input_dir = File.dirname(@main_file)
|
92
93
|
@full_input_dir = File.expand_path(@input_dir)
|
93
94
|
|
94
|
-
|
95
|
+
#This replacement is global in Rake4LaTeX::Logger -> May be a problem with multiple documents, parallel tasks...
|
96
|
+
@logger.name.replace("LaTeXRunner #{@basename}") #no, only one global Logger.
|
95
97
|
@logger.info( "StartLaTeXRunner for #{@main_file}")
|
96
98
|
|
97
99
|
@rerun_necessary = true #initialize
|
@@ -146,10 +148,8 @@ The settings contain the following values:
|
|
146
148
|
It determines the latex command line and calls <tt>run_latex_as_needed</tt>.
|
147
149
|
=end
|
148
150
|
def execute()
|
149
|
-
|
150
|
-
cmd =
|
151
|
-
#~ "-output-directory=#@full_output_dir
|
152
|
-
" #{@basename}"
|
151
|
+
|
152
|
+
cmd = Rake4LaTeX.build_cmd( @program, :filename => @basename )
|
153
153
|
Dir.chdir(@input_dir) do
|
154
154
|
@texruns = 0
|
155
155
|
while rerun_necessary?
|
@@ -159,7 +159,7 @@ The settings contain the following values:
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
#Guarentee that help files are deleted fin clean.
|
162
|
-
set4clean( @basename )
|
162
|
+
Rake4LaTeX.set4clean( @basename )
|
163
163
|
|
164
164
|
plural_s = "#{@texruns} run#{@texruns>1 ? 's': ''}"
|
165
165
|
if @rerun_necessary
|
@@ -191,7 +191,8 @@ The settings contain the following values:
|
|
191
191
|
raise RuntimeError, "There where #@program errors. "\
|
192
192
|
"See #{@main_file.ext('.log')} for details" unless @texerrors_allowed
|
193
193
|
end
|
194
|
-
|
194
|
+
|
195
|
+
helpfiles = %w{aux toc lof lot}
|
195
196
|
#Build the checksums.
|
196
197
|
FileList["#{@basename.ext('*')}"].each do |file|
|
197
198
|
# Compare old and new MD5 digest for the given file.
|
@@ -201,16 +202,30 @@ The settings contain the following values:
|
|
201
202
|
@logger.debug("new file #{file}")
|
202
203
|
checksums[file] = :changed
|
203
204
|
when File.open(file){|f| MD5.new(f.read).hexdigest}
|
204
|
-
|
205
|
+
#no message needed
|
206
|
+
#~ @logger.debug("Unchanged file #{file}")
|
205
207
|
else
|
206
208
|
@logger.debug(" Changed file #{file}" )
|
207
209
|
checksums[file] = :changed
|
208
210
|
end
|
209
211
|
}
|
212
|
+
#Special rules for additional files
|
213
|
+
case file
|
214
|
+
#Build by gloss.sty
|
215
|
+
when /#{@basename.ext()}\.(.+)\.aux/
|
216
|
+
gloss_name = $1
|
217
|
+
helpfiles << "#{$1}.aux"
|
218
|
+
@logger.debug("Detected additional aux-file <#{file}>" )
|
219
|
+
if ! Post_Prerequisites_check["#{gloss_name}.bbl"]
|
220
|
+
@logger.info("Define additional rule <#{gloss_name}.bbl> (gloss.sty)" )
|
221
|
+
Post_Prerequisites_check[".#{gloss_name}.bbl"] = Post_Prerequisites_check[".bbl"]
|
222
|
+
tex_postrule ".#{gloss_name}.bbl" => ".#{gloss_name}.aux"
|
223
|
+
end
|
224
|
+
end
|
210
225
|
end
|
211
226
|
|
212
227
|
#check changes in some files.
|
213
|
-
|
228
|
+
helpfiles.each{|ext|
|
214
229
|
next unless checksums[@basename.ext(ext)] == :changed
|
215
230
|
@rerun_necessary = true
|
216
231
|
@logger.info("Rerun necessary (#{ext}-file changed)" ) if @rerun_necessary
|
@@ -266,3 +281,4 @@ The settings contain the following values:
|
|
266
281
|
end
|
267
282
|
|
268
283
|
end #LaTeXRunner
|
284
|
+
end #Rake4LaTeX
|
@@ -0,0 +1,76 @@
|
|
1
|
+
bibtex:
|
2
|
+
cmd: bibtex
|
3
|
+
parameters:
|
4
|
+
- value_key: :source
|
5
|
+
dvipdfm:
|
6
|
+
cmd: dvipdfm
|
7
|
+
parameters:
|
8
|
+
- value_key: :filename
|
9
|
+
dvips:
|
10
|
+
cmd: dvips
|
11
|
+
parameters:
|
12
|
+
- value_key: :filename
|
13
|
+
latex:
|
14
|
+
cmd: latex
|
15
|
+
parameters:
|
16
|
+
- value: -interaction=batchmode
|
17
|
+
- name: -output-directory=
|
18
|
+
value_key: :output_dir
|
19
|
+
optional: true
|
20
|
+
- value_key: :filename
|
21
|
+
makeindex:
|
22
|
+
cmd: makeindex
|
23
|
+
parameters:
|
24
|
+
- name: -s
|
25
|
+
value_key: :format
|
26
|
+
optional: true
|
27
|
+
- name: -o
|
28
|
+
value_key: :file_out
|
29
|
+
optional: true
|
30
|
+
- name: -t
|
31
|
+
value_key: :file_log
|
32
|
+
optional: true
|
33
|
+
- value_key: :file_in
|
34
|
+
pdflatex:
|
35
|
+
cmd: pdflatex
|
36
|
+
parameters:
|
37
|
+
parameters:
|
38
|
+
- value: -interaction=batchmode
|
39
|
+
- name: -output-directory=
|
40
|
+
value_key: :output_dir
|
41
|
+
optional: true
|
42
|
+
- value_key: :filename
|
43
|
+
lualatex:
|
44
|
+
cmd: lualatex
|
45
|
+
parameters:
|
46
|
+
parameters:
|
47
|
+
- value: -interaction=batchmode
|
48
|
+
- name: -output-directory=
|
49
|
+
value_key: :output_dir
|
50
|
+
optional: true
|
51
|
+
- value_key: :filename
|
52
|
+
ps2pdf:
|
53
|
+
cmd: ps2pdf
|
54
|
+
parameters:
|
55
|
+
- value_key: :filename
|
56
|
+
rail:
|
57
|
+
cmd: C:/usr/texmf/tex/Latex/rail/rail.exe
|
58
|
+
comment:
|
59
|
+
- name: -t
|
60
|
+
value_key: :railfile
|
61
|
+
space_separated: true
|
62
|
+
comment: This command works only with 8 character filenames.
|
63
|
+
parameters:
|
64
|
+
- name: <
|
65
|
+
value_key: :railfile
|
66
|
+
space_separated: true
|
67
|
+
comment: With stdin we can use longer filenames. The processor must save the result as rao-file.
|
68
|
+
xelatex:
|
69
|
+
cmd: xelatex
|
70
|
+
parameters:
|
71
|
+
parameters:
|
72
|
+
- value: -interaction=batchmode
|
73
|
+
- name: -output-directory=
|
74
|
+
value_key: :output_dir
|
75
|
+
optional: true
|
76
|
+
- value_key: :filename
|
data/lib/rake4latex/rules.rb
CHANGED
@@ -1,9 +1,36 @@
|
|
1
|
+
=begin rdoc
|
2
|
+
Collection of rules to build a LaTeX-project.
|
3
|
+
|
4
|
+
This file defines how to build:
|
5
|
+
* dvi (latex)
|
6
|
+
* ind (makeindex)
|
7
|
+
* bbl (BibTeX)
|
8
|
+
* ps (ps2pdf)
|
9
|
+
|
10
|
+
There is no definition how to create a pdf.
|
11
|
+
This may be done via different ways. You can select your version on your own:
|
12
|
+
* ../rake4latex_dvipdfm.rb
|
13
|
+
* ../rake4latex_lualatex.rb
|
14
|
+
* ../rake4latex_pdflatex.rb (Default)
|
15
|
+
* ../rake4latex_ps2pdf.rb
|
16
|
+
* ../rake4latex_xelatex.rb
|
17
|
+
|
18
|
+
=end
|
19
|
+
|
20
|
+
#
|
21
|
+
#Generate pdf-rules/files
|
22
|
+
#
|
23
|
+
#~ %w{xe lua}.each{|x|
|
24
|
+
#~ File.open("../rake4latex_#{x}latex.rb", 'w'){|f| f << File.read('../rake4latex_pdflatex.rb').gsub(/pdf(latex)/i, "#{x}\\1")}
|
25
|
+
#~ }
|
26
|
+
#~ Dir['../rake4latex_*'].each{|x| puts "* #{x}" }
|
27
|
+
|
28
|
+
|
1
29
|
#Some Tools have screen output.
|
2
|
-
#
|
30
|
+
#Rake4LaTeX should run silent in background, so we have to redirect the output.
|
3
31
|
require 'catch_output'
|
4
32
|
include Catch_output
|
5
33
|
|
6
|
-
|
7
34
|
desc "Show compiled source in Adobe Acrobat Reader."
|
8
35
|
task :acroread do |t|
|
9
36
|
t.prerequisites.each{|pre|
|
@@ -17,7 +44,7 @@ desc "Set the basefile - needed for clean and statistic"
|
|
17
44
|
task :basefile do |task|
|
18
45
|
task.prerequisites.each{|pre|
|
19
46
|
#~ puts "Set basefile #{pre.inspect}"
|
20
|
-
set4clean( pre )
|
47
|
+
Rake4LaTeX.set4clean( pre )
|
21
48
|
file :statistic => pre
|
22
49
|
}
|
23
50
|
task.reenable() #If not the second call for clean will not work.
|
@@ -37,7 +64,7 @@ end
|
|
37
64
|
|
38
65
|
desc "Build a dvi-file with LaTeX"
|
39
66
|
rule '.dvi' => '.tex' do |t|
|
40
|
-
runner = LaTeXRunner.new(
|
67
|
+
runner = Rake4LaTeX::LaTeXRunner.new(
|
41
68
|
:main_file => t.source,
|
42
69
|
:program => :latex,
|
43
70
|
:dummy => nil
|
@@ -45,24 +72,32 @@ rule '.dvi' => '.tex' do |t|
|
|
45
72
|
runner.execute #Does all the work and calls the "post-prerequisites"
|
46
73
|
end
|
47
74
|
|
48
|
-
desc "Build a
|
49
|
-
rule '.
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
75
|
+
desc "Build a ps-file from dvi"
|
76
|
+
rule '.ps' => '.dvi' do |t|
|
77
|
+
Rake4LaTeX::Logger.info("Call dvips for <#{t.source}>")
|
78
|
+
cmd = Rake4LaTeX.build_cmd( 'dvips', :filename => t.source )
|
79
|
+
|
80
|
+
stdout, stderr = catch_screen_output{
|
81
|
+
sh cmd
|
82
|
+
#stdout -> empty
|
83
|
+
#stderr -> log.
|
84
|
+
}
|
85
|
+
if $? != 0
|
86
|
+
Rake4LaTeX::Logger.fatal("There where dvips errors. \n#{stdout}")
|
87
|
+
end
|
56
88
|
end
|
57
89
|
|
90
|
+
|
91
|
+
|
58
92
|
desc "Call Makeindex"
|
59
93
|
tex_postrule '.ind' => '.idx' do |t, args |
|
60
94
|
#check for splitidx
|
61
|
-
splitidx = Splitindex.new(t.source,
|
95
|
+
splitidx = Rake4LaTeX::Splitindex.new(t.source, Rake4LaTeX::Logger)
|
62
96
|
if splitidx.makeindex? #standard index, no splitidx
|
63
97
|
#makeindex writes to stderr -> catch it
|
98
|
+
cmd = Rake4LaTeX.build_cmd( 'makeindex', :file_in => t.source )
|
64
99
|
stdout, stderr = catch_screen_output{
|
65
|
-
sh
|
100
|
+
sh cmd
|
66
101
|
}
|
67
102
|
else #splitidx used
|
68
103
|
#call splitindex
|
@@ -85,6 +120,8 @@ tex_postrule_check '.bbl' do |args|
|
|
85
120
|
if ( args[:checksums][auxfile] == :changed and File.read(auxfile) =~ /bibdata/ )
|
86
121
|
necessary = "#{auxfile} changed"
|
87
122
|
end
|
123
|
+
else
|
124
|
+
args[:logger].warn("\t#{auxfile} not found in bbl-precheck")
|
88
125
|
end
|
89
126
|
#Check all prerequisites.
|
90
127
|
#This should be the aux-file and (optional) bib-files.
|
@@ -111,23 +148,58 @@ tex_postrule_check '.bbl' do |args|
|
|
111
148
|
} unless necessary
|
112
149
|
necessary #return parameter
|
113
150
|
end
|
151
|
+
|
114
152
|
#Define the rule
|
115
153
|
tex_postrule '.bbl' => '.aux' do |t|
|
154
|
+
cmd = Rake4LaTeX.build_cmd( 'bibtex', :source => t.source )
|
116
155
|
stdout, stderr = catch_screen_output{
|
117
|
-
puts
|
156
|
+
puts `#{cmd}`
|
118
157
|
}
|
119
158
|
if $? != 0
|
120
|
-
|
159
|
+
Rake4LaTeX::Logger.fatal("There where BibTeX errors. \n#{stdout}")
|
121
160
|
end
|
122
161
|
end
|
123
162
|
|
124
|
-
|
163
|
+
#Support for rail
|
164
|
+
#http://www.ctan.org/tex-archive/support/rail/
|
165
|
+
desc "Call Rail"
|
166
|
+
tex_postrule '.rao' => '.rai' do |t|
|
167
|
+
#Rail works only with filenames with 8 characters.
|
168
|
+
#So we use stdin.
|
169
|
+
cmd = Rake4LaTeX.build_cmd( 'rail', :railfile => t.source )
|
170
|
+
Rake4LaTeX::Logger.debug("Call rail: #{cmd}")
|
171
|
+
stdout, stderr = catch_screen_output{
|
172
|
+
puts `#{cmd}`
|
173
|
+
}
|
174
|
+
error = false
|
175
|
+
if $? != 0
|
176
|
+
Rake4LaTeX::Logger.fatal("There where Rail errors.")
|
177
|
+
error = true
|
178
|
+
end
|
179
|
+
stderr.each{|errline|
|
180
|
+
Rake4LaTeX::Logger.error("Rail error: #{errline.strip}")
|
181
|
+
error = true
|
182
|
+
}
|
183
|
+
if error
|
184
|
+
Rake4LaTeX::Logger.warn("No rail diagramms generated")
|
185
|
+
else
|
186
|
+
#Now we have to save the result and delete some stuff.
|
187
|
+
stdout.sub!(/^(This is Rail.*)/, '%\1') #%This is Rail, Version 1.1 #0
|
188
|
+
stdout.sub!(/^(\(stdin.*)/, '%\1')
|
189
|
+
stdout.sub!(/^\)/, '%\1)') #last line
|
190
|
+
File.open(t.source.ext('rao'), 'w'){|f| f << stdout }
|
191
|
+
end
|
192
|
+
end
|
125
193
|
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
desc "Build a statistic for TeX project"
|
126
198
|
task :statistic => :basefile do |t|
|
127
199
|
puts "Statistics:"
|
128
200
|
t.prerequisites.each{|pre|
|
129
201
|
next if pre == 'basefile' #exclude task :basefile
|
130
|
-
stat = TeX_Statistic.new(pre)
|
202
|
+
stat = Rake4LaTeX::TeX_Statistic.new(pre)
|
131
203
|
puts stat
|
132
204
|
}
|
133
205
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
|
2
|
+
module Rake4LaTeX
|
1
3
|
#
|
2
4
|
#Checks for a given idx-file if splitindx is used.
|
3
5
|
#
|
@@ -55,8 +57,9 @@ class Splitindex
|
|
55
57
|
#
|
56
58
|
#Call makeindex for the given idx-file
|
57
59
|
def call_makeindex( idxname )
|
60
|
+
cmd = Rake4LaTeX.build_cmd( 'makeindex', :file_in => idxname )
|
58
61
|
stdout, stderr = catch_screen_output{
|
59
|
-
puts
|
62
|
+
puts `#{cmd}`
|
60
63
|
}
|
61
64
|
if $? != 0
|
62
65
|
@logger.fatal("There where Makeindex errors. for #{idxname}\n#{stderr}")
|
@@ -72,7 +75,7 @@ class Splitindex
|
|
72
75
|
#~ idxnames
|
73
76
|
#~ end
|
74
77
|
end #Splitindex
|
75
|
-
|
78
|
+
end #Rake4LaTeX
|
76
79
|
__END__
|
77
80
|
#Get existing index-data first
|
78
81
|
|