wortsammler 0.0.3 → 0.0.5
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.
- checksums.yaml +15 -0
- data/.gitignore +6 -0
- data/README.md +8 -10
- data/Rakefile +21 -10
- data/changelog.md +35 -0
- data/lib/wortsammler.rb +11 -5
- data/lib/wortsammler/class.proolib.rb +88 -29
- data/lib/wortsammler/exe.wortsammler.rb +1 -0
- data/lib/wortsammler/log_helper.rb +1 -1
- data/lib/wortsammler/pdf_utilities.rb +174 -0
- data/lib/wortsammler/rake_helper.rb +12 -2
- data/lib/wortsammler/version.rb +2 -1
- data/resources/{default.latex → default.wortsammler.latex} +317 -224
- data/resources/logo.jpg +0 -0
- data/resources/main.md +6 -1
- data/resources/sample_the-sample-document.yaml +5 -3
- data/resources/snippets.xlsx +0 -0
- data/spec/class.proolib_spec.rb +8 -0
- data/spec/floating-image.pdf +0 -0
- data/spec/pdf_utils_spec.rb +48 -0
- data/spec/wortsammler_spec.rb +157 -22
- data/spec/wortsammler_test_pdf.pdf +0 -0
- data/spec/wortsammler_test_pptx.pdf +0 -0
- data/spec/wortsammler_test_pptx.pptx +0 -0
- data/spec/wortsammler_test_xlsx.xlsx +0 -0
- data/testresults/wortsammler_testresults.html +6 -117
- data/testresults/wortsammler_testresults.log +5 -57
- data/wortsammler.gemspec +6 -5
- metadata +57 -57
- data/README.pdf +0 -0
- data/changelog.rb.txt +0 -9
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YTEzMGQxNGYzNTBmYjBhMTkzYjZkZjQ1YWVmYzE3ZmY5YzY5OGMyYg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZWViYmE0Njc3OGQ4NjEzZTgzNWNhMGUyYmYwN2EyNmNiYmVmNmNiMQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZTBmOTE5OGU3NGRkNTJmNDE1ZDQ2MzU5ZWVlNzcxZTMxNWE2MTRhMGVkOTVk
|
10
|
+
YzlhMjE3NzczN2VhOWZiNzcwMzI4NTEwMjZiMDMyMzE1NWU1ZjljMTE0NzJk
|
11
|
+
ZTZiZjEyNjRjOGQ4ZWQxYzk5OWZiNzE5ODg0NzcyNGNjOGZiNGU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YTAxYjZkNzdkMjdjMTMxMTRkODEyYjVjMjhjNjQwYmExYTQyOGU1MDllNzRh
|
14
|
+
NDhmNGRmMjFiYWQ3MWExZTFlNDQ1NmI4ZmJmZWEzOTdhOTdkYzU0YjhkZDVk
|
15
|
+
N2ZjOTcyMDZmNTU2YjNlMjlhNThlNmU1YjkxNzhmZGRiYzUzMjk=
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -105,12 +105,14 @@ The rakefile is in `<folder>/30_Sources/ZSUPP_Tools`
|
|
105
105
|
- Specific syntax in strikethrough is still processed as one line
|
106
106
|
which is not very robust
|
107
107
|
- as of now the "framework" is hard to use in other applications
|
108
|
+
- pdf_utilities only run on OSX
|
108
109
|
|
109
110
|
## future plans
|
110
111
|
|
111
112
|
- provide a sublime text package
|
112
113
|
- improve documentation (it is flying around in German and needs to be
|
113
|
-
consolidated, please refer to
|
114
|
+
consolidated, please refer to
|
115
|
+
<https://github.com/bwl21/wortsammler/wiki>)
|
114
116
|
- support epub
|
115
117
|
|
116
118
|
## contributing
|
@@ -147,17 +149,17 @@ Please use Ruby 1.9.3
|
|
147
149
|
### pandoc
|
148
150
|
|
149
151
|
- Download [ttp://code.google.com/p/pandoc/downloads/list][]
|
150
|
-
- Installation
|
151
|
-
- Homepage
|
152
|
+
- Installation <http://rubyinstaller.org/downloads/>
|
153
|
+
- Homepage <http://johnmacfarlane.net/pandoc/>
|
152
154
|
|
153
155
|
### TeX
|
154
156
|
|
155
|
-
- mac: download
|
157
|
+
- mac: download <http://tug.org/mactex/>
|
156
158
|
|
157
159
|
- windows:
|
158
160
|
|
159
|
-
-
|
160
|
-
-
|
161
|
+
- <http://www.exomatik.net/U-Latex/USBTeXEnglish#toc1>
|
162
|
+
- <http://www.miktex.org/2.9/setup>
|
161
163
|
|
162
164
|
Alternatively you can use
|
163
165
|
|
@@ -167,8 +169,4 @@ Please use Ruby 1.9.3
|
|
167
169
|
[http://rubyinstaller.org/downloads/]: http://rubyforge.org/frs/%20download.php/76277/rubyinstaller-1.8.7-p370.exe
|
168
170
|
[DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe]: https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
|
169
171
|
[ttp://code.google.com/p/pandoc/downloads/list]: http://code.google.com/p/pandoc/downloads/list
|
170
|
-
[1]: http://rubyinstaller.org/downloads/
|
171
|
-
[http://tug.org/mactex/]: http://tug.org/mactex/
|
172
|
-
[http://www.exomatik.net/U-Latex/USBTeXEnglish\#toc1]: http://www.exomatik.net/U-Latex/USBTeXEnglish#toc1
|
173
|
-
[http://www.miktex.org/2.9/setup]: http://www.miktex.org/2.9/setup
|
174
172
|
[usbtex]: http://www.exomatik.net/U-Latex/USBTeXEnglish
|
data/Rakefile
CHANGED
@@ -2,16 +2,22 @@ require "bundler/gem_tasks"
|
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rspec/core/rake_task'
|
4
4
|
#require 'ruby-debug'
|
5
|
-
|
5
|
+
|
6
6
|
CLEAN << "testproject"
|
7
7
|
|
8
8
|
desc "Run specs"
|
9
|
-
RSpec::Core::RakeTask.new do |t|
|
9
|
+
RSpec::Core::RakeTask.new(:spec, :focus) do |t, args|
|
10
10
|
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
11
|
-
|
11
|
+
if args[:focus] then
|
12
|
+
usetags="--tag #{args[:focus]}"
|
13
|
+
else
|
14
|
+
usetags="--tag ~exp"
|
15
|
+
end
|
16
|
+
t.rspec_opts = [usetags,
|
17
|
+
" -fd -fd --out ./testresults/wortsammler_testresults.log -fh --out ./testresults/wortsammler_testresults.html"]
|
12
18
|
# Put spec opts in a file named .rspec in root
|
13
19
|
end
|
14
|
-
|
20
|
+
|
15
21
|
desc "Generate code coverage"
|
16
22
|
RSpec::Core::RakeTask.new(:coverage) do |t|
|
17
23
|
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
@@ -21,14 +27,19 @@ end
|
|
21
27
|
|
22
28
|
desc "create documentation"
|
23
29
|
task :doc do
|
24
|
-
|
25
|
-
|
26
|
-
|
30
|
+
sh "bin/wortsammler -bi README.md"
|
31
|
+
sh "bin/wortsammler -bi changelog.md"
|
32
|
+
sh "yard --markup markdown doc ."
|
27
33
|
end
|
28
34
|
|
35
|
+
desc "get the default stylefiles from pandoc"
|
36
|
+
task :getpandocstyles do
|
37
|
+
[:latex, :docx, :html, :epub].each{|format |sh "pandoc -D #{format} > resources/pandocdefault.#{format}"}
|
38
|
+
end
|
39
|
+
|
29
40
|
desc "run tests"
|
30
|
-
task :test
|
41
|
+
task :test => [:clean, :spec]
|
31
42
|
|
32
43
|
task :default do
|
33
|
-
|
34
|
-
end
|
44
|
+
sh "rake -T"
|
45
|
+
end
|
data/changelog.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# 0.0.5
|
2
|
+
|
3
|
+
- Fixed the usual encoding but which occurred on windows
|
4
|
+
|
5
|
+
# 0.0.4 (yanked)
|
6
|
+
|
7
|
+
- Improve handling of lists
|
8
|
+
(https://github.com/bwl21/wortsammler/issues/14)
|
9
|
+
- adapt to pandoc 1.11.1
|
10
|
+
(https://github.com/bwl21/wortsammler/issues/13)
|
11
|
+
- provide utilites to convert office documents to pdf with crops
|
12
|
+
enhancement (works only on mac)
|
13
|
+
(https://github.com/bwl21/wortsammler/issues/12)
|
14
|
+
- wortsammler uses pandoc -S when combining documents
|
15
|
+
(https://github.com/bwl21/wortsammler/issues/11)
|
16
|
+
- improved Error message: config file could not be loaded
|
17
|
+
(https://github.com/bwl21/wortsammler/issues/10)
|
18
|
+
- improve handling of the stylefile
|
19
|
+
(https://github.com/bwl21/wortsammler/issues/8)
|
20
|
+
- shall support text flowing around graphics
|
21
|
+
(https://github.com/bwl21/wortsammler/issues/7)
|
22
|
+
|
23
|
+
# 0.0.3 (16.4.2013)
|
24
|
+
|
25
|
+
- support front matter (https://github.com/bwl21/wortsammler/issues/6)
|
26
|
+
- refactor low level api Step 1
|
27
|
+
(https://github.com/bwl21/wortsammler/issues/4)
|
28
|
+
|
29
|
+
# 0.0.2 (11.4.2013)
|
30
|
+
|
31
|
+
- the first working gem
|
32
|
+
|
33
|
+
# 0.0.1
|
34
|
+
|
35
|
+
- initial version
|
data/lib/wortsammler.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require "wortsammler/version"
|
2
|
-
require
|
2
|
+
require "wortsammler/class.proolib"
|
3
3
|
|
4
4
|
|
5
5
|
##
|
@@ -22,14 +22,18 @@ module Wortsammler
|
|
22
22
|
#
|
23
23
|
# @return [Nil] No Return
|
24
24
|
def self.execute(options)
|
25
|
+
|
26
|
+
|
27
|
+
PandocBeautifier.new($log).check_pandoc_version
|
28
|
+
|
25
29
|
##
|
26
30
|
#
|
27
31
|
# print version info
|
28
32
|
#
|
29
33
|
if options[:version] then
|
30
|
-
puts "Wortsammler #{Wortsammler::VERSION}"
|
34
|
+
puts "#{Wortsammler::PROGNAME} #{Wortsammler::VERSION}"
|
31
35
|
|
32
|
-
pandoc=`
|
36
|
+
pandoc=`pandoc -v`.split("\n")[0] rescue pandoc="error running pandoc"
|
33
37
|
xetex=`xelatex -v`.split("\n")[0] rescue pandoc="error running xelatex"
|
34
38
|
|
35
39
|
puts "found #{pandoc}"
|
@@ -236,7 +240,8 @@ module Wortsammler
|
|
236
240
|
"ZSUPP_Tools",
|
237
241
|
"ZSUPP_Styles",
|
238
242
|
"ZGEN_RequirementsTracing",
|
239
|
-
"001_Main"
|
243
|
+
"001_Main",
|
244
|
+
"900_snippets"
|
240
245
|
]
|
241
246
|
|
242
247
|
folders.each{|folder|
|
@@ -249,8 +254,9 @@ module Wortsammler
|
|
249
254
|
}
|
250
255
|
FileUtils.cp("#{resourcedir}/main.md", "#{root}/001_Main")
|
251
256
|
FileUtils.cp("#{resourcedir}/rakefile.rb", "#{root}/ZSUPP_Tools")
|
252
|
-
FileUtils.cp("#{resourcedir}/default.latex", "#{root}/ZSUPP_Styles")
|
257
|
+
FileUtils.cp("#{resourcedir}/default.wortsammler.latex", "#{root}/ZSUPP_Styles")
|
253
258
|
FileUtils.cp("#{resourcedir}/logo.jpg", "#{root}/ZSUPP_Styles")
|
259
|
+
FileUtils.cp("#{resourcedir}/snippets.xlsx", "#{root}/900_snippets")
|
254
260
|
|
255
261
|
nil
|
256
262
|
end
|
@@ -16,8 +16,10 @@ require 'yaml'
|
|
16
16
|
require 'tmpdir'
|
17
17
|
require 'nokogiri'
|
18
18
|
require "rubyXL"
|
19
|
+
require 'logger'
|
19
20
|
|
20
|
-
|
21
|
+
Encoding.default_external = Encoding::UTF_8
|
22
|
+
Encoding.default_internal = Encoding::UTF_8
|
21
23
|
|
22
24
|
# TODO: make these patterns part of the configuration
|
23
25
|
|
@@ -39,6 +41,7 @@ INCLUDE_MD_PATTERN = /^\s+~~MD\s+"(.+)" \s+ "(.+)" \s* (\d*) \s* (\d+-\d+)? \
|
|
39
41
|
|
40
42
|
SNIPPET_PATTERN = /(\s*)~~SN \s+ (\w+)~~/x
|
41
43
|
|
44
|
+
EMBEDDED_IMAGE_PATTERN = /~~EMBED\s+ "(.+)" \s+ (r|l|i|o) \s+ (.+) \s+ (.+)~~/x
|
42
45
|
|
43
46
|
#
|
44
47
|
# This mixin convertes a file path to the os Path representation
|
@@ -129,7 +132,7 @@ class ReferenceTweaker
|
|
129
132
|
|
130
133
|
# this does the postprocessing
|
131
134
|
# of the file
|
132
|
-
# in particluar
|
135
|
+
# in particluar handle wortsammler's specific syntax.
|
133
136
|
def prepareFile(infile, outfile)
|
134
137
|
|
135
138
|
infileIo=File.new(infile)
|
@@ -167,6 +170,19 @@ class ReferenceTweaker
|
|
167
170
|
}
|
168
171
|
end
|
169
172
|
|
173
|
+
|
174
|
+
# embed images
|
175
|
+
#
|
176
|
+
if @target == "pdf"
|
177
|
+
text.gsub!(EMBEDDED_IMAGE_PATTERN){|m|
|
178
|
+
"\\wsembedimage{#{$1}}{#{$2}}{#{$3}}{#{$4}}"
|
179
|
+
}
|
180
|
+
else #if not pdf then it gets a regular image
|
181
|
+
text.gsub!(EMBEDDED_IMAGE_PATTERN){|m|
|
182
|
+
""
|
183
|
+
}
|
184
|
+
end
|
185
|
+
|
170
186
|
#inject the anchors for references to traces ->[traceid]
|
171
187
|
if @target == "pdf" then
|
172
188
|
text.gsub!(TRACE_ANCHOR_PATTERN){|m| "[#{$1}]#{$2}\\hypertarget{#{mkInternalTraceId($1)}}{}"}
|
@@ -236,6 +252,10 @@ class ProoConfig
|
|
236
252
|
$log.error "config file not found '#{configFileName}'"
|
237
253
|
else
|
238
254
|
$log.error "config file could not be loaded '#{configFileName}'"
|
255
|
+
if File.directory?(configFileName)then
|
256
|
+
# note that windows does not disinguish this.
|
257
|
+
$log.error "#{configFileName} is a directory"
|
258
|
+
end
|
239
259
|
$log.error "reason '#{e.message}'"
|
240
260
|
end
|
241
261
|
exit(false)
|
@@ -329,6 +349,33 @@ class PandocBeautifier
|
|
329
349
|
end
|
330
350
|
end
|
331
351
|
|
352
|
+
|
353
|
+
|
354
|
+
#
|
355
|
+
|
356
|
+
# This checks if an appropriate pandoc version can be
|
357
|
+
# started on the machine
|
358
|
+
|
359
|
+
#
|
360
|
+
|
361
|
+
# @return [boolean] true if an appropriate version is available
|
362
|
+
def check_pandoc_version
|
363
|
+
required_version_string="1.11"
|
364
|
+
begin
|
365
|
+
pandoc_version=`pandoc -v`.split("\n").first.split(" ")[1]
|
366
|
+
if pandoc_version < required_version_string then
|
367
|
+
@log.error "found pandoc #{pandoc_version} need #{required_version_string}"
|
368
|
+
result = false
|
369
|
+
else
|
370
|
+
result = true
|
371
|
+
end
|
372
|
+
rescue Exception => e
|
373
|
+
@log.error("could not run pandoc: #{e.message}")
|
374
|
+
result=false
|
375
|
+
end
|
376
|
+
result
|
377
|
+
end
|
378
|
+
|
332
379
|
# perform the beautify
|
333
380
|
# * process the file with pandoc
|
334
381
|
# * revoke some quotes introduced by pandoc
|
@@ -392,16 +439,16 @@ class PandocBeautifier
|
|
392
439
|
def replace_snippets_in_text(text, snippets)
|
393
440
|
changed=false
|
394
441
|
text.gsub!(SNIPPET_PATTERN){|m|
|
395
|
-
|
396
|
-
replacetext_raw=snippets[$2.to_sym]
|
397
|
-
leading_whitespace=$1.split("\n",100)
|
398
|
-
leading_lines=leading_whitespace[0..-1].join("\n")
|
399
|
-
leading_spaces=leading_whitespace.last || ""
|
400
|
-
replacetext=leading_lines+replacetext_raw.gsub("\n", "\n#{leading_spaces}")
|
401
|
-
end
|
442
|
+
replacetext_raw=snippets[$2.to_sym]
|
402
443
|
|
403
444
|
if replacetext_raw
|
404
445
|
changed=true
|
446
|
+
unless $1.nil? then
|
447
|
+
leading_whitespace=$1.split("\n",100)
|
448
|
+
leading_lines=leading_whitespace[0..-1].join("\n")
|
449
|
+
leading_spaces=leading_whitespace.last || ""
|
450
|
+
replacetext=leading_lines+replacetext_raw.gsub("\n", "\n#{leading_spaces}")
|
451
|
+
end
|
405
452
|
@log.debug("replaced snippet #{$2} with #{replacetext}")
|
406
453
|
else
|
407
454
|
replacetext=m
|
@@ -481,7 +528,7 @@ class PandocBeautifier
|
|
481
528
|
color="red"
|
482
529
|
end
|
483
530
|
|
484
|
-
"\\color{#{color}}\\rule{2cm}{0.5mm}\\marginpar{#{$1.strip}}"
|
531
|
+
"\\color{#{color}}\\rule{2cm}{0.5mm}\\newline\\marginpar{#{$1.strip}}"
|
485
532
|
|
486
533
|
}
|
487
534
|
|
@@ -505,7 +552,7 @@ class PandocBeautifier
|
|
505
552
|
|
506
553
|
#now combine the input files
|
507
554
|
@log.debug("combining the input files #{inputname} et al")
|
508
|
-
cmd="pandoc -s -
|
555
|
+
cmd="pandoc -s -o #{output} --ascii #{inputs}" # note that inputs is already quoted
|
509
556
|
system(cmd)
|
510
557
|
if $?.success? then
|
511
558
|
PandocBeautifier.new().beautify(output)
|
@@ -514,7 +561,7 @@ class PandocBeautifier
|
|
514
561
|
|
515
562
|
#
|
516
563
|
# This loads snipptes from xlsx file
|
517
|
-
# @param [String]
|
564
|
+
# @param [String] file name of the xlsx file
|
518
565
|
# @return [Hash] a hash with the snippetes
|
519
566
|
#
|
520
567
|
def load_snippets_from_xlsx(file)
|
@@ -562,7 +609,7 @@ class PandocBeautifier
|
|
562
609
|
# @param [Hash] vars - the variables passed to pandoc
|
563
610
|
# @param [Hash] editions - the editions to process; default nil - no edition processing
|
564
611
|
# @param [Array of String] snippetfiles the list of files containing snippets
|
565
|
-
# @param [String] file path to frontmatter the file to processed as frontmatter
|
612
|
+
# @param [String] frontmatter file path to frontmatter the file to processed as frontmatter
|
566
613
|
# @param [ProoConfig] config - the configuration file to be used
|
567
614
|
def generateDocument(input, outdir, outname, format, vars, editions=nil, snippetfiles=nil, frontmatter=nil, config=nil)
|
568
615
|
|
@@ -651,7 +698,7 @@ class PandocBeautifier
|
|
651
698
|
# @return [nil] no useful return value
|
652
699
|
def render_single_document(input, outdir, format)
|
653
700
|
outname=File.basename(input, ".*")
|
654
|
-
render_document(input, outdir, outname, format,
|
701
|
+
render_document(input, outdir, outname, format, {:geometry=>"a4paper"})
|
655
702
|
end
|
656
703
|
#
|
657
704
|
# This renders the final document
|
@@ -698,9 +745,9 @@ class PandocBeautifier
|
|
698
745
|
|
699
746
|
#todo: make config required, so it can be reduced to the else part
|
700
747
|
if config.nil? then
|
701
|
-
latexStyleFile = File.dirname(File.expand_path(__FILE__))+"/../../resources/default.latex"
|
748
|
+
latexStyleFile = File.dirname(File.expand_path(__FILE__))+"/../../resources/default.wortsammler.latex"
|
702
749
|
latexStyleFile = File.expand_path(latexStyleFile).to_osPath
|
703
|
-
css_style_file = File.dirname(File.expand_path(__FILE__))+"/../../resources/default.css"
|
750
|
+
css_style_file = File.dirname(File.expand_path(__FILE__))+"/../../resources/default.wortsammler.css"
|
704
751
|
css_style_file = File.expand_path(css_style_file).to_osPath
|
705
752
|
else
|
706
753
|
latexStyleFile = config.stylefiles[:latex]
|
@@ -711,6 +758,12 @@ class PandocBeautifier
|
|
711
758
|
toc = "--toc"
|
712
759
|
toc = "" if vars[:usetoc]=="nousetoc"
|
713
760
|
|
761
|
+
if vars[:documentclass]=="book"
|
762
|
+
option_chapters = "--chapters"
|
763
|
+
else
|
764
|
+
option_chapter = ""
|
765
|
+
end
|
766
|
+
|
714
767
|
begin
|
715
768
|
vars_string=vars.map.map{|key, value| "-V #{key}=#{value.esc}"}.join(" ")
|
716
769
|
rescue
|
@@ -721,14 +774,6 @@ class PandocBeautifier
|
|
721
774
|
|
722
775
|
begin
|
723
776
|
|
724
|
-
if format.include?("pdf") then
|
725
|
-
ReferenceTweaker.new("pdf").prepareFile(tempfile, tempfilePdf)
|
726
|
-
cmd="pandoc -S #{tempfilePdf.esc} #{toc} --standalone --latex-engine xelatex --number-sections #{vars_string}" +
|
727
|
-
" --template #{latexStyleFile.esc} --ascii -o #{outfilePdf.esc} #{latexTitleInclude}"
|
728
|
-
`#{cmd}`
|
729
|
-
end
|
730
|
-
|
731
|
-
|
732
777
|
|
733
778
|
if format.include?("frontmatter") then
|
734
779
|
|
@@ -738,17 +783,27 @@ class PandocBeautifier
|
|
738
783
|
`#{cmd}`
|
739
784
|
end
|
740
785
|
|
741
|
-
if format.include?("
|
786
|
+
if format.include?("pdf") then
|
787
|
+
@log.debug("creating #{outfilePdf}")
|
788
|
+
ReferenceTweaker.new("pdf").prepareFile(tempfile, tempfilePdf)
|
789
|
+
cmd="pandoc -S #{tempfilePdf.esc} #{toc} --standalone #{option_chapters} --latex-engine xelatex --number-sections #{vars_string}" +
|
790
|
+
" --template #{latexStyleFile.esc} --ascii -o #{outfilePdf.esc} #{latexTitleInclude}"
|
791
|
+
`#{cmd}`
|
792
|
+
end
|
742
793
|
|
794
|
+
if format.include?("latex") then
|
795
|
+
@log.debug("creating #{outfileLatex}")
|
743
796
|
ReferenceTweaker.new("pdf").prepareFile(tempfile, tempfilePdf)
|
744
797
|
|
745
|
-
cmd="pandoc -S #{tempfilePdf.esc} #{toc} --standalone
|
798
|
+
cmd="pandoc -S #{tempfilePdf.esc} #{toc} --standalone #{option_chapters} --latex-engine xelatex --number-sections #{vars_string}" +
|
746
799
|
" --template #{latexStyleFile.esc} --ascii -o #{outfileLatex.esc} #{latexTitleInclude}"
|
747
800
|
`#{cmd}`
|
748
801
|
end
|
749
802
|
|
750
803
|
if format.include?("html") then
|
751
804
|
#todo: handle css
|
805
|
+
@log.debug("creating #{outfileHtml}")
|
806
|
+
|
752
807
|
ReferenceTweaker.new("html").prepareFile(tempfile, tempfileHtml)
|
753
808
|
|
754
809
|
cmd="pandoc -S #{tempfileHtml.esc} --toc --standalone --self-contained --ascii --number-sections #{vars_string}" +
|
@@ -759,9 +814,11 @@ class PandocBeautifier
|
|
759
814
|
|
760
815
|
if format.include?("docx") then
|
761
816
|
#todo: handle style file
|
817
|
+
@log.debug("creating #{outfileDocx}")
|
818
|
+
|
762
819
|
ReferenceTweaker.new("html").prepareFile(tempfile, tempfileHtml)
|
763
820
|
|
764
|
-
cmd="pandoc -S #{tempfileHtml.esc} #{toc} --standalone --self-contained --ascii --number #{vars_string}" +
|
821
|
+
cmd="pandoc -S #{tempfileHtml.esc} #{toc} --standalone --self-contained --ascii --number-sections #{vars_string}" +
|
765
822
|
" -o #{outfileDocx.esc}"
|
766
823
|
cmd="pandoc -S #{tempfileHtml.esc} --toc --standalone --self-contained --ascii --number-sections #{vars_string}" +
|
767
824
|
" -o #{outfileDocx.esc}"
|
@@ -769,7 +826,7 @@ class PandocBeautifier
|
|
769
826
|
end
|
770
827
|
|
771
828
|
if format.include?("rtf") then
|
772
|
-
|
829
|
+
@log.debug("creating #{outfileRtf}")
|
773
830
|
ReferenceTweaker.new("html").prepareFile(tempfile, tempfileHtml)
|
774
831
|
|
775
832
|
cmd="pandoc -S #{tempfileHtml.esc} --toc --standalone --self-contained --ascii --number-sections #{vars_string}" +
|
@@ -778,6 +835,7 @@ class PandocBeautifier
|
|
778
835
|
end
|
779
836
|
|
780
837
|
if format.include?("txt") then
|
838
|
+
@log.debug("creating #{outfileText}")
|
781
839
|
|
782
840
|
ReferenceTweaker.new("pdf").prepareFile(tempfile, tempfileHtml)
|
783
841
|
|
@@ -787,10 +845,11 @@ class PandocBeautifier
|
|
787
845
|
end
|
788
846
|
|
789
847
|
if format.include?("slide") then
|
848
|
+
@log.debug("creating #{outfileSlide}")
|
790
849
|
|
791
850
|
ReferenceTweaker.new("slide").prepareFile(tempfile, tempfilePdf)
|
792
851
|
#todo: hanlde stylefile
|
793
|
-
cmd="pandoc -S #{tempfileHtml.esc} --toc --standalone --number #{vars_string}" +
|
852
|
+
cmd="pandoc -S #{tempfileHtml.esc} --toc --standalone --number-sections #{vars_string}" +
|
794
853
|
" --ascii -t dzslides --slide-level 2 -o #{outfileSlide.esc}"
|
795
854
|
`#{cmd}`
|
796
855
|
end
|