class SiSU_TeX::Source

Public Class Methods

new(opt) click to toggle source
# File lib/sisu/texpdf.rb, line 88
def initialize(opt)
  @opt=opt
  @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
  @md=@particulars.md
  @env=SiSU_Env::InfoEnv.new(@md.fns) #@env=@particulars.env
end

Public Instance Methods

directories() click to toggle source
# File lib/sisu/texpdf.rb, line 94
def directories
  begin
    case @opt.fns
    when /\.(?:-|ssm\.)?sst$/
      SiSU_Env::FileOp.new(@md).mkdir
      Dir.mkdir(@env.processing_path.tex) unless FileTest.directory?(@env.processing_path.tex)
    end
  rescue
    SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
      __LINE__.to_s + ':' + __FILE__
    end
  ensure
  end
end
read() click to toggle source
# File lib/sisu/texpdf.rb, line 108
def read
  begin
    song
  ensure
    Dir.chdir(@opt.f_pth[:pth])
  end
end
song() click to toggle source
# File lib/sisu/texpdf.rb, line 115
def song
  begin
    @md=@particulars.md
    SiSU_Screen::Ansi.new(
      @opt.act[:color_state][:set],
      'LaTeX/PDF',
      "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}"
    ).green_title_hi unless @opt.act[:quiet][:set]==:on
    if (@opt.act[:verbose][:set]==:on \
    || @opt.act[:verbose_plus][:set]==:on \
    || @opt.act[:maintenance][:set]==:on)
      @env.url.output_tell
      if @md.opt.act[:pdf_l][:set]==:on
        SiSU_Screen::Ansi.new(
          @opt.act[:color_state][:set],
          @opt.fns,
          "#{@env.program.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_l}#{@md.papersize_array[0]}.pdf"
        ).flow
      end
      if @md.opt.act[:pdf_p][:set]==:on
        SiSU_Screen::Ansi.new(
          @opt.act[:color_state][:set],
          @opt.fns,
          "#{@opt.fns} #{@env.program.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_p}#{@md.papersize_array[0]}.pdf"
        ).flow
      end
    end
    @md=@particulars.md
    $flag=@md.opt.selections.str                                                          #introduced to pass 0 for no object citation numbers... to texpdf_format
    directories
                                                                           #% needed needs to be reprogrammed !!!
    ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
    SiSU_TeX::Source::LaTeXcreate.new(@particulars).songsheet
    ao_array=''
    pwd=Dir.pwd
    SiSU_TeX::Source::LaTeXtoPdf.new(@md,@particulars.env).latexrun_selective
    Dir.chdir(pwd)
  rescue
    SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
      __LINE__.to_s + ':' + __FILE__
    end
  ensure
    unless (@opt.act[:verbose_plus][:set]==:on \
    || @opt.act[:maintenance][:set]==:on)
      texfiles=Dir["#{@env.processing_path.tex}/#{@opt.fns}*"]
      texfiles.each do |f|
        if FileTest.file?(f)
          File.unlink(f)
        end
      end
    end
    @tex_file=@@tex_footnote_array=[]
    @@column_instruct=''
    @@squigle_close=@@tex_line_mode=@@tex_word_mode=@@line_mode=''
    @@tex_debug_counter=@@table_pagebreak_counter=@@tex_footnote_call_counter=@@tex_table_flag=@@tex_counter=@@tex_column=@@tex_columns=@@tex_columns=@@counting=0
    @@tex_col_w=[]
    @@n=@@tableheader=@@rights=nil
    @@date=SiSU_Env::InfoDate.new
    @@flag={}
    $flag=1 #remove at some stage
    SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate
  end
end