rake4latex 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/{call_rake4latex.rb → bin/call_rake4latex.rb} +6 -3
  2. data/{readme_call_rake4latex.txt → bin/readme_call_rake4latex.txt} +0 -0
  3. data/lib/rake4latex.rb +106 -42
  4. data/lib/rake4latex/analyse_texfile.rb +375 -0
  5. data/lib/rake4latex/base.rb +40 -10
  6. data/lib/rake4latex/latexrunner.rb +20 -7
  7. data/lib/rake4latex/rake4latex.yaml +4 -0
  8. data/lib/rake4latex/rules.rb +59 -26
  9. data/lib/rake4latex/tex_statistic.rb +405 -375
  10. data/lib/rake4latex_dtx.rb +83 -0
  11. data/readme.html +150 -28
  12. data/readme.txt +118 -20
  13. data/test/_expected/bibtex_test_build_rakefile.txt +49 -0
  14. data/test/_expected/dtx_test.txt +12 -0
  15. data/test/_expected/dtx_test_sty.txt +2 -0
  16. data/test/_expected/error_test.txt +4 -0
  17. data/test/_expected/error_test_ignore_error.txt +5 -0
  18. data/test/_expected/error_test_overview.txt +16 -0
  19. data/test/_expected/error_test_statistic.txt +3 -0
  20. data/test/_expected/gloss_test_build_rakefile.txt +56 -0
  21. data/test/_expected/includes_test_build_rakefile.txt +55 -0
  22. data/test/_expected/{rail_test_error.txt → rail_error_test.txt} +0 -0
  23. data/test/_expected/splitindex_test_build_rakefile.txt +56 -0
  24. data/test/_expected/supertabular_test_statistic.txt +2 -29
  25. data/test/_expected/varioref_test.txt +6 -0
  26. data/test/_expected/varioref_test_ignore_error.txt +11 -0
  27. data/test/_expected/z_complex_test_overview.txt +62 -0
  28. data/test/_expected/z_complex_test_statistic.txt +9 -0
  29. data/test/bibtex/rakefile.rb +6 -0
  30. data/test/dtx/rakefile.rb +31 -0
  31. data/test/error/rakefile.rb +32 -0
  32. data/test/error/testdocument.tex +14 -0
  33. data/test/gloss/rakefile.rb +9 -1
  34. data/test/includes/rakefile.rb +6 -0
  35. data/test/rail/rakefile.rb +1 -5
  36. data/test/rail_error/rakefile.rb +38 -0
  37. data/test/{rail → rail_error}/testrail_error.tex +0 -0
  38. data/test/splitindex/rakefile.rb +8 -1
  39. data/test/supertabular/rakefile.rb +2 -2
  40. data/test/unittest_rake4latex.rb +61 -72
  41. data/test/unittest_rake4latex_testcases.rb +79 -0
  42. data/test/varioref/rakefile.rb +37 -0
  43. data/test/varioref/testdocument.tex +33 -0
  44. data/test/z_complex/rakefile.rb +3 -1
  45. metadata +42 -10
  46. data/lib/rake4latex/latexdependencies.rb +0 -105
  47. data/lib/rake4latex/template.rb +0 -60
@@ -122,8 +122,6 @@ opts.on("-v", "--version", "Version") { |v|
122
122
  puts "Rake4LaTeX-Caller Version #{Rake4LaTeX::VERSION}"
123
123
  }
124
124
 
125
-
126
-
127
125
  #Parsen der Parameter mit Exception bei ung�ltigen Parametern
128
126
  begin
129
127
  opts.parse!
@@ -139,7 +137,7 @@ begin
139
137
  task (:default => :touch)
140
138
  when :dependecies
141
139
  puts "Build dependecies for #{target.ext('tex')}" if PARSE_MESSAGES
142
- LaTeXDependencies.get_dependecies(target.ext('tex'), :inputs, :flat).each{|dep|
140
+ TeXfile.new(target.ext('tex')).includes(:recursive, :uniq).each{|dep|
143
141
  puts " => #{dep.inspect}" if PARSE_MESSAGES
144
142
  task (target => dep)
145
143
  }
@@ -166,3 +164,8 @@ TASK_AFTER_TeX.each{|task|
166
164
 
167
165
  app = Rake.application
168
166
  app[:default].invoke
167
+
168
+ if $0 == __FILE__
169
+ puts "Finished, please enter any key"
170
+ STDIN.getc
171
+ end
@@ -26,7 +26,11 @@ A not-so minimal rakefile looks like this:
26
26
 
27
27
  You can generate a rakefile template with:
28
28
  require 'rake4latex'
29
- puts Rake4LaTeX.template( [basename] )
29
+ puts Rake4LaTeX.build_rakefile( [basename, :all ] )
30
+
31
+ The method will print a rakefile definition.
32
+
33
+ More about the task can be found in section 'Special Tasks'
30
34
 
31
35
  ===call_rake4latex.rb
32
36
  When you think, your project is too small to create a rakefile,
@@ -98,24 +102,15 @@ You must define your dependencies your own (but there is a help to do so, see ne
98
102
  Example:
99
103
  file 'testdocument.dvi' => ['testdocument.tex', 'testincludes/testinclude1.tex']
100
104
 
101
-
102
- ===Determine Dependecies: LaTeXDependencies.get_dependecies( )
105
+ ===Determine Dependecies
103
106
  You can automatically compute dependencies for the latex task:
104
- LaTeXDependencies.new(filename).get_dependecies( *options )
105
- Options may be:
106
- * :inputs:
107
-
108
- The input file (the one which is passed to latex) is read, and the arguments of the
109
- <tt>\includeonly</tt>, <tt>\include</tt> and <tt>\input</tt> latex commands are
110
- extracted. Each of this these files is scanned again for dependecies.
111
-
112
- The result is a nested array with all dependecies.
113
-
114
- * :flat:
115
- The (nested) result is flatted and double entries are deleted.
107
+ Rake4LaTeX::TeXfile.new(filename).includes( [options] )
116
108
 
117
109
  You can use it already direct in your dependecies definition:
118
- file 'testdocument.dvi' => LaTeXDependencies.new('testdocument.tex').get_dependecies( *options )
110
+ file 'testdocument.dvi' => Rake4LaTeX::TeXfile.new('testdocument.tex').includes(:recursive, :uniq )
111
+
112
+ Alternative you can generate your rakefile:
113
+ Rake4LaTeX.build_rakefile( filename )
119
114
 
120
115
  ===Dependecies for BibTeX
121
116
  BibTeX depends on two files:
@@ -135,18 +130,14 @@ The bbl-dependecy is needed to start a new BibTeX-run.
135
130
  The following tools are supported by rake4latex:
136
131
  * Makeindex with makeidx.sty
137
132
  * BibTeX
133
+ * Rail[http://www.ctan.org/tex-archive/support/rail/]
138
134
 
139
135
  ===Supported (checked) packages
140
136
  The rake process to generate the document is independent of any
141
137
  package.
142
- But some packages requires additional TeX-runs.
143
-
144
- The following packages are tested and work fine:
145
- * minitoc
146
- * longtable
147
- * supertabular
138
+ But some packages requires additional actions.
148
139
 
149
- For the following packages exists special solutions:
140
+ For the following packages exist special solutions:
150
141
  * splitindex (splitindex is replaced by internal routines)
151
142
  http://www.ctan.org/tex-archive/macros/latex/contrib/splitindex/
152
143
  * gloss (glossary based on bibTeX)
@@ -154,6 +145,97 @@ For the following packages exists special solutions:
154
145
  * rail (creating rail-diagramms)
155
146
  http://www.ctan.org/tex-archive/support/rail/
156
147
 
148
+ ==Special Tasks
149
+ ===basefile
150
+ There are some tasks in Rake4LaTeX who needs a connected TeX-file.
151
+ The task basefile defines such a connection.
152
+
153
+ From rakes view, it's just a dummy-task to define prerequisites
154
+ for other tasks.
155
+
156
+ Tasks using basefile are:
157
+ * touch
158
+ * statistic
159
+ * log_overview
160
+ * log_archive
161
+ * clean
162
+ * clobber
163
+
164
+ If you build a pdf (or dvi), basefile-actions are done in background.
165
+
166
+ It is recommended to define your main-file as basefile.
167
+ Without this, clean... may not work correct.
168
+
169
+
170
+
171
+ ===touch
172
+ The touch task changes the modification data for the touched file.
173
+ In the result you can force a new TeX-run.
174
+
175
+ Usage:
176
+ task :touch => 'myfile.tex'
177
+ task :default => touch
178
+
179
+ With
180
+ task :basefile => 'myfile'
181
+ touch is also connected with your sourcefile.
182
+
183
+ ===statistic
184
+ Get a very short overview on the log-content.
185
+ Errors and warnings are counted for each log (TeX, bibTeX, makeindex...)
186
+
187
+ Usage:
188
+ task :basefile => 'myfile'
189
+ task :statistic
190
+ task :default => [ 'myfile.pdf', :statistic ]
191
+
192
+ See also Rake4LaTeX#TeX_Statistic#stat_summary
193
+
194
+ ===log_overview
195
+ A log-file is created with a log-summary (TeX_Statistic#stat_summary),
196
+ all errors and warnings from TeX and the tools and
197
+ a detailed analyse for the TeX-log.
198
+
199
+ You should do this task always _before_ a clean-task.
200
+
201
+ Usage:
202
+ task :basefile => 'myfile'
203
+ task :log_overview
204
+ task :default => [ 'myfile.pdf', :log_overview ]
205
+
206
+
207
+ See also Rake4LaTeX#TeX_Statistic#overview
208
+
209
+ ===clean
210
+ TeX and the related tools build a lot of auxiliary files.
211
+ When you have them, you can delete the auxiliary files.
212
+
213
+ The task _clean_ does exactly this.
214
+
215
+ If you also want to delete the results (pdf...) you can use the task
216
+ _clobber_.
217
+
218
+ Usage:
219
+ task :basefile => 'myfile'
220
+ task :default => [ 'myfile.pdf', :clean ]
221
+
222
+
223
+ ===log_archive
224
+ With _clean_ you loose all logs.
225
+ With _log_archive_ you create a zip-file with all logs.
226
+
227
+ _log_archive_ makes only sense in combination with _clean_.
228
+ First archive the logs, then delete them with _clean_.
229
+ After this you have _one_ file with all your logs and
230
+ in case of errors you can make analyses in the archived logs.
231
+
232
+ You should do this task always _before_ a clean-task.
233
+
234
+ Usage:
235
+ task :basefile => 'myfile'
236
+ task :default => [ 'myfile.pdf', :log_archive, :clean ]
237
+
238
+
157
239
  ==Adding new tasks
158
240
  ===Normal tasks
159
241
  Task to generate pictures or other stuff needed to
@@ -213,33 +295,15 @@ See also section 'Multiple runs'
213
295
  * No plan to solve it.
214
296
  Not a big problem, and why you need a rakefile for such simple tex-files?
215
297
 
216
- * No usage of kpsewhich.
217
-
218
- LaTeXDependencies#get_dependecies checks dependecies only relative to
219
- the file location.
220
- kpsewhich is not used.
221
- * Would be nice escpecially for BibTeX and scan for \bibliography{xxx}
222
- * Low priority
223
-
224
298
  ===Packages with problems
225
299
  There are additional packages requiring additonal runs.
226
300
 
227
- * glossaries (glossary based on makeindex) - support not planned.
301
+ * glossaries (glossary based on makeindex) - see test cases or use gloss.sty.
228
302
  * multiind/index (multiple index) - support not planned.
229
303
  Please use splitindex or inform me about your need.
230
- * rail (rail syntax diagramms) - see tests, the rakefile includes the solution.
231
-
232
-
233
304
 
234
305
  =end
235
306
 
236
- <<weiter
237
- fixmes
238
- - glossaries
239
-
240
- task statistic/log-analyse ausbauen.
241
- task pack unpack logarchive
242
- weiter
243
307
 
244
308
  #
245
309
  #Load the base functions and load subfiles.
@@ -0,0 +1,375 @@
1
+
2
+ if $0 == __FILE__
3
+ require 'rake4latex'
4
+ end
5
+
6
+ module Rake4LaTeX
7
+ =begin rdoc
8
+ This class collects informations for an existing (La)TeX-File.
9
+
10
+ It can be used to determine dependecies of a LaTeX project.
11
+
12
+ What's not done:
13
+ * check kpsewhich if files are not found
14
+ * Analyse styles
15
+ *
16
+
17
+ =end
18
+ class TeXfile
19
+
20
+ #fixme: global logger
21
+ @@log = Log4r::Logger.new("LaTeXRunner", Log4r::ERROR)
22
+ @@log.outputters = Log4r::StdoutOutputter.new('log_stdout')
23
+
24
+ =begin rdoc
25
+ Define a TeXfile.
26
+
27
+ If the include-analyse should work correct,
28
+ the work directory should be the place, where you find your file.
29
+
30
+ If filename is :dummy, you get a dummy-file for little extracts.
31
+ =end
32
+ def initialize( filename )
33
+
34
+ @filename = filename
35
+ @@log.debug("TeXfile to analyse: #{@filename}")
36
+ #~ @@log.warn("Start TeXfile analyse in foreign directory") unless File.dirname(filename) == '.'
37
+
38
+ #List of filenames of the includes
39
+ @includes = []
40
+ #Hash with the objects for the include files.
41
+ @include_object = {}
42
+ @bibliography = []
43
+ @gloss = {} #bib-files for gloss.sty
44
+ @splitindex = {}
45
+
46
+ if @filename != :dummy
47
+ @basename = File.basename(filename)
48
+ raise ArgumentError, "File #{@filename} not found" unless File.exist?(@filename)
49
+ analyse( File.read(@filename) )
50
+ end
51
+ end
52
+ =begin rdoc
53
+ List of all includes.
54
+
55
+ Options:
56
+ * :recurssive - get all includes, including includes of includes
57
+ * :uniq - delete double includes
58
+ =end
59
+ def includes( *options )
60
+ if options.include?(:recursive)
61
+ includes = tree.flatten - [ @filename ]
62
+ else
63
+ includes = @includes
64
+ end
65
+ includes.uniq! if options.include?(:uniq)
66
+ includes
67
+ end
68
+ =begin rdoc
69
+ If bibTeX is used, this Array contains all bibliography.
70
+ =end
71
+ attr_reader :bibliography
72
+ =begin rdoc
73
+ If gloss.sty is used, this Hash contains all glossaries and there bibliography.
74
+ =end
75
+ attr_reader :gloss
76
+ =begin rdoc
77
+ If splitindex is used, this Array contains all indeces.
78
+ =end
79
+ attr_reader :splitindex
80
+
81
+ =begin rdoc
82
+ Analyse the file.
83
+
84
+ Search dependecies by sanning for
85
+ * \input/\include
86
+ * \bibliography
87
+ * \printgloss (gloss.sty, like bibliography)
88
+ * \newindex (splitindex, like makeindex)
89
+ =end
90
+ def analyse(content )
91
+
92
+ content.each{ |line|
93
+ #Skip comments
94
+ #Remarks/Bug:
95
+ #* \% is not detected.
96
+ #* \iffalse...\fi is not detected.
97
+ line.sub!(/%.*/, '')
98
+ break if line =~ %r{\\endinput(\s|\Z)} #Stop at \endinput
99
+ #Detect \macro[]{}
100
+ line.scan(/\\(include|input|includeonly|bibliography|printgloss|newindex)(\[.*?\])?\{([^}]+)\}/){|m|
101
+ case m[0]
102
+ #~ when 'includeonly'
103
+ when 'include', 'input'
104
+ includename = m[2].ext('tex') #add the extension tex if not already done.
105
+ @includes << includename
106
+ when 'bibliography'
107
+ #~ @bibliography << m[2].ext('bib')
108
+ @bibliography << m[2].split(/,/).map{|f| f.ext('bib')}
109
+ @bibliography.flatten!
110
+ when 'printgloss'
111
+ m[1] = 'gls' unless m[1]
112
+ @gloss[m[1]] ||= [] << m[2].split(/,/).map{|f| f.ext('bib')}
113
+ @gloss[m[1]].flatten!
114
+ when 'newindex'
115
+ #m[1] contains the optional name
116
+ @splitindex[m[2]] = m[1]
117
+ end #case m[0]
118
+ }#line.scan
119
+ }#File.foreach
120
+
121
+ @includes.each{|includename|
122
+ if File.exist?(includename)
123
+ if @include_object[includename]
124
+ #fixme recursiv...
125
+ #This check detects only a double input in one file.
126
+ @@log.warn("Double input of #{includename} in #{@filename}")
127
+ else
128
+ @include_object[includename] = TeXfile.new(includename)
129
+ end
130
+ else
131
+ @@log.warn("Include-File #{includename} not found")
132
+ end
133
+ }
134
+
135
+ #Check the bibTeX-File in the TeXMF-trees (using kpsewhich)
136
+ @bibliography.map!{|bib| kpsewhich(bib) }
137
+ @gloss.each{|key,bibs| bibs.map!{|bib| kpsewhich(bib) }}
138
+ end
139
+ =begin rdoc
140
+ Check with kpsewhich to get a file location.
141
+
142
+ If nothing is found, take the original name.
143
+ =end
144
+ def kpsewhich( filename )
145
+ hit = `kpsewhich #{filename}`
146
+ @@log.warn("Include-File #{filename} not found") if hit.empty?
147
+ hit.empty? ? filename : hit.strip
148
+ end
149
+ =begin
150
+ Get a tree-like view of all includes.
151
+ =end
152
+ def tree()
153
+ tree = [@filename]
154
+ #Only first occurence and without a sequence
155
+ #~ @include_object.each{|name, inc|
156
+ #~ tree << inc.tree
157
+ #~ }
158
+
159
+ @includes.each{|name|
160
+ if @include_object[name]
161
+ tree << @include_object[name].tree
162
+ else
163
+ tree << name
164
+ end
165
+ }
166
+
167
+ tree
168
+ end
169
+ def inspect()
170
+ "<TeXfile #{@filename}>"
171
+ end
172
+ end #TeXfile
173
+
174
+
175
+ #List of all options for Rake4LaTeX.build_rakefile
176
+ BUILD_RAKEFILE_OPTIONS = [
177
+ :pdf, #add rule to create a pdf
178
+ :dvi, #add rule to create a dvi
179
+ :dependecies, #Analyse dependecies and add them
180
+ :bib, #Add bibliography-dependecies (1)
181
+ :gloss, #Add gloss.sty-dependecies
182
+ :splitindex
183
+ ]
184
+ #
185
+ #Build a rakefile
186
+ #
187
+ #Options:
188
+ #* :pdf - add rule to create a pdf
189
+ #* :dvi - add rule to create a dvi
190
+ #* :dependecies - Analyse dependecies and add them
191
+ #* :bib: Add bibliography-dependecies (1)
192
+ #* :gloss: Add gloss.sty-dependecies
193
+ #* :splitindex
194
+ #* :all - all options,
195
+ #
196
+ #Remarks:
197
+ #
198
+ #(1) The bibTeX-files are searched via kpsewhich.
199
+ #local files get a "./" in froint of hte name.
200
+ #
201
+ def self.build_rakefile( filename, *options )
202
+
203
+ options.concat(BUILD_RAKEFILE_OPTIONS) if options.delete(:all )
204
+ ( options - BUILD_RAKEFILE_OPTIONS ).each{|opt|
205
+ Rake4LaTeX::Logger.warn("Undefined option #{opt} in Rake4LaTeX.build_rakefile")
206
+ }
207
+ basename = filename.ext()
208
+ tex_name = filename.ext('tex')
209
+ pdf_name = filename.ext('pdf')
210
+ dvi_name = filename.ext('dvi')
211
+ aux_name = filename.ext('aux')
212
+ texfile = Rake4LaTeX::TeXfile.new(tex_name)
213
+ #
214
+ #Template for a basic rakefile
215
+ #
216
+ template = <<Template
217
+ =begin
218
+ Rakefile for LaTeX-project #{basename}
219
+
220
+ Generated by Rake4LaTeX.build_rakefile, #{Date.today}
221
+
222
+ =end
223
+ require 'rake4latex'
224
+
225
+ #Needed for some actions without a previous TeX-call
226
+ task :basefile => '#{tex_name}'
227
+
228
+ Template
229
+
230
+ template << <<Template
231
+ #
232
+ # Define Dependecies
233
+ #
234
+ Template
235
+
236
+ template << "file '#{pdf_name}' => '#{tex_name}'\n" if options.include?(:pdf)
237
+ template << "file '#{dvi_name}' => '#{tex_name}'\n" if options.include?(:dvi)
238
+ if options.include?(:dependecies)
239
+ includes = texfile.includes(:uniq, :recursive)
240
+ if ! includes.empty?
241
+ template << <<Template
242
+ #{texfile.tree.to_yaml.map{|line| "# #{line}"}}
243
+ dependecies = [
244
+ #{includes.map{|f| " \"#{f}\",\n"}}]
245
+ Template
246
+ template << "file '#{pdf_name}' => dependecies\n" if options.include?(:pdf)
247
+ template << "file '#{dvi_name}' => dependecies\n" if options.include?(:dvi)
248
+ end
249
+ end #options.include?(:dependecies)
250
+
251
+ if options.include?(:bib) and ! texfile.bibliography.empty?
252
+ template << <<Template
253
+
254
+ =begin
255
+ bib-file dependecies
256
+ =end
257
+ Template
258
+ template << "file '#{basename}.bbl' => #{texfile.bibliography.uniq.inspect}\n"
259
+ template << "file '#{pdf_name}' => #{texfile.bibliography.uniq.inspect}\n" if options.include?(:pdf)
260
+ template << "file '#{dvi_name}' => #{texfile.bibliography.uniq.inspect}\n" if options.include?(:dvi)
261
+ end #options.include?(:bib)
262
+
263
+ if options.include?(:gloss) and ! texfile.gloss.empty?
264
+ template << <<Template
265
+
266
+ =begin
267
+ bib-file dependecies for gloss-style
268
+ =end
269
+ Template
270
+ texfile.gloss.each{|glossar, bib|
271
+ template << "# glossar #{glossar}\n"
272
+ template << "file '#{basename}.#{glossar}.bbl' => #{bib.uniq.inspect}\n"
273
+ template << "file '#{basename}.#{glossar}.bbl' => '#{aux_name}'\n"
274
+
275
+ template << "file '#{pdf_name}' => #{bib.uniq.inspect}\n" if options.include?(:pdf)
276
+ template << "file '#{dvi_name}' => #{bib.uniq.inspect}\n" if options.include?(:dvi)
277
+ }
278
+ end #options.include?(:bib)
279
+
280
+ if options.include?(:splitindex) and ! texfile.splitindex.empty?
281
+ template << <<Template
282
+
283
+ =begin
284
+ dependecies for splitindex
285
+ =end
286
+ Template
287
+ texfile.splitindex.each{|splitindex, indexname|
288
+ template << "# Index #{splitindex} #{indexname}\n"
289
+ template << "file '#{basename}-#{splitindex}.ind' => '#{basename}-#{splitindex}.idx'\n"
290
+ template << "file '#{pdf_name}' => '#{basename}-#{splitindex}.ind'\n" if options.include?(:pdf)
291
+ template << "file '#{dvi_name}' => '#{basename}-#{splitindex}.ind'\n" if options.include?(:dvi)
292
+ }
293
+ end #options.include?(:bib)
294
+
295
+
296
+ template << <<Template
297
+
298
+ #Force the compilation
299
+ task :touch => '#{tex_name}'
300
+
301
+ Template
302
+
303
+ template << <<Template
304
+ =begin
305
+ Define the default tasks
306
+ =end
307
+ #~ task :default => :touch #Force the first TeX-call
308
+ Template
309
+
310
+ template << "task :default => '#{pdf_name}' #build the pdf\n" if options.include?(:pdf)
311
+ template << "task :default => '#{dvi_name}' #build the dvi\n" if options.include?(:dvi)
312
+
313
+ template << <<Template
314
+
315
+ =begin
316
+ Closing Tasks
317
+ =end
318
+ task :default => :statistic #Get an overview on errors and warnings
319
+ task :default => :clean #delete helpfiles
320
+
321
+ Template
322
+
323
+ template << <<Template
324
+ =begin
325
+ Make the rakefile self-executable
326
+ =end
327
+ if $0 == __FILE__
328
+ app = Rake.application
329
+ #~ Rake4LaTeX.set_latexrunner_default(:texerrors_allowed, true)
330
+ app[:default].invoke #start default tasks
331
+ end
332
+ Template
333
+
334
+ template
335
+ end #self.template( filename = nil)
336
+
337
+
338
+ end #Rake4LaTeX
339
+
340
+ if $0 == __FILE__
341
+ #fixmes:
342
+ #Parameter "xx.sty" -> analyse also this style
343
+
344
+ #~ file = Rake4LaTeX::TeXfile.new(:dummy)
345
+ #~ file.analyse(<<'xx'
346
+ #~ \input{aaa}
347
+ #~ \bibliography{test}
348
+ #~ \bibliography{testdocument}
349
+ #~ xx
350
+ #~ )
351
+ #~ puts file
352
+ #~ puts file.includes.inspect
353
+ #~ puts file.bibliography.inspect
354
+ #~ puts file.splitindex.inspect
355
+ #~ puts file.tree.to_yaml
356
+ #~ exit
357
+
358
+ Dir.chdir('../../test'){
359
+ #~ Dir.chdir('gloss'){
360
+ Dir.chdir('bibtex'){
361
+ #~ Dir.chdir('includes'){
362
+ #~ Dir.chdir('splitindex'){
363
+ #~ file = Rake4LaTeX::TeXfile.new('testdocument.tex')
364
+ #~ puts file
365
+ #~ puts file.includes.inspect
366
+ #~ puts file.bibliography.inspect
367
+ #~ puts file.splitindex.inspect
368
+ #~ puts file.tree.to_yaml
369
+
370
+ #~ puts Rake4LaTeX.build_rakefile('testdocument.tex', :dvi, :pdf, :dependecies, :bib, :gloss, :splitindex )
371
+ puts Rake4LaTeX.build_rakefile('testdocument.tex', :all)
372
+ }
373
+ }
374
+
375
+ end