aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v0/sysenv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v0/sysenv.rb')
-rw-r--r--lib/sisu/v0/sysenv.rb26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/sisu/v0/sysenv.rb b/lib/sisu/v0/sysenv.rb
index 22a0bc4a..3f23b7e5 100644
--- a/lib/sisu/v0/sysenv.rb
+++ b/lib/sisu/v0/sysenv.rb
@@ -665,9 +665,14 @@ module SiSU_Env
end
@texpdf
end
- def latex2pdf #convert from latex to pdf
- tell=if @cmd =~/[MVv]/; ''
- else '> /dev/null'
+ def latex2pdf(md=nil) #convert from latex to pdf
+ tell=((@cmd =~/[MVv]/) ? '' : '> /dev/null' )
+ papersize='a4'
+ if md and defined? @md.papersize and md.papersize.empty?
+ papersize=if @md.papersize =~/(?:a4|letter|legal|book|a5|b5)\b/
+ md.papersize
+ else papersize
+ end
end
mode='batchmode'
#mode='nonstopmode'
@@ -675,9 +680,20 @@ module SiSU_Env
texpdf=tex2pdf_engine
if @pdfetex_flag;
texpdf_cmd=case texpdf
- when /xetex/; "#{texpdf} -interaction=#{mode} -fmt=xelatex #@input #{tell}\n"
+ when /xetex/
+ if @input =~/landscape\.tex$/
+ %{#{texpdf} -interaction=#{mode} -fmt=xelatex -papersize="#{papersize} -l" #@input #{tell}\n}
+ else
+ "#{texpdf} -interaction=#{mode} -fmt=xelatex #@input #{tell}\n"
+ end
+ when /xelatex/
+ if @input =~/landscape\.tex$/
+ %{#{texpdf} -interaction=#{mode} -papersize="#{papersize} -l" #@input #{tell}\n}
+ else
+ "#{texpdf} -interaction=#{mode} #@input #{tell}\n"
+ end
when /pdftex/; "#{texpdf} -interaction=#{mode} -fmt=pdflatex #@input #{tell}\n"
- when /xelatex|pdflatex/; "#{texpdf} -interaction=#{mode} #@input #{tell}\n"
+ when /pdflatex/; "#{texpdf} -interaction=#{mode} #@input #{tell}\n"
end
system(texpdf_cmd)
else puts "\tWARN: none of the following programs are installed: #{program[0]}, #{program[1]}, #{program[2]} is installed. #{program_ref}"