diff options
Diffstat (limited to 'lib/sisu/v0/texpdf.rb')
-rw-r--r-- | lib/sisu/v0/texpdf.rb | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/lib/sisu/v0/texpdf.rb b/lib/sisu/v0/texpdf.rb index c2a6b14f..be8c973e 100644 --- a/lib/sisu/v0/texpdf.rb +++ b/lib/sisu/v0/texpdf.rb @@ -114,25 +114,20 @@ module SiSU_TeX tell.flow if @opt.cmd =~/[MVv]/ @md=SiSU_Param::Parameters.new(@opt).get my_make=SiSU_Env::Create_file.new(@opt.cmd,@opt.fns) - if @md.flag_pdf - $flag=@md.cmd #introduced to pass 0 for no object citation numbers... to texpdf_format - @dir_o="#{@env.path.output}/#{@opt.fnb}" - directories - filename_index="#{@md.txt_path}/pdf" - newfilename=filename_index - #% needed needs to be reprogrammed !!! - SiSU_Env::Info_skin.new(@md).select - dal_array=SiSU_DAL::Source.new(@opt).get # dal file drawn here - SiSU_TeX::Source::LaTeX_create.new(dal_array,@md,'landscape').songsheet - SiSU_TeX::Source::LaTeX_create.new(dal_array,@md,'portrait').songsheet - dal_array='' - pwd=Dir.pwd - SiSU_TeX::Source::LaTeX_to_pdf.new(@md).latexrun_selective - Dir.chdir(pwd) - else - tell=SiSU_Screen::Ansi.new(@opt.cmd,'instructed NOT to produce LaTeX/PDF') - tell.warn unless @opt.cmd =~/q/ - end + $flag=@md.cmd #introduced to pass 0 for no object citation numbers... to texpdf_format + @dir_o="#{@env.path.output}/#{@opt.fnb}" + directories + filename_index="#{@md.txt_path}/pdf" + newfilename=filename_index + #% needed needs to be reprogrammed !!! + SiSU_Env::Info_skin.new(@md).select + dal_array=SiSU_DAL::Source.new(@opt).get # dal file drawn here + SiSU_TeX::Source::LaTeX_create.new(dal_array,@md,'landscape').songsheet + SiSU_TeX::Source::LaTeX_create.new(dal_array,@md,'portrait').songsheet + dal_array='' + pwd=Dir.pwd + SiSU_TeX::Source::LaTeX_to_pdf.new(@md).latexrun_selective + Dir.chdir(pwd) rescue; SiSU_Errors::Info_error.new($!,$@,@opt.cmd,@opt.fns).error ensure unless @opt.cmd =~/[MV]/ #check maintenance flag @@ -236,7 +231,7 @@ module SiSU_TeX @@tex_backslash ||="\\\\" @@tilde='\\\\\\~' #?? debug crazy @@tex_head_portrait,@@tex_head_landscape=nil,nil - @@flag_group,@@flag_code=false,false + @@flag_alt,@@flag_group,@@flag_code=false,false,false @@dp,@@prefix_b=nil,nil def initialize(data,md,orientation) @data,@md,@orientation=data,md,orientation @@ -268,16 +263,14 @@ module SiSU_TeX prefix_b=do_mono.special_characters_safe @@prefix_b="\n #{@@tex_backslash*2}[3]\\ \\linebreak \\ #{prefix_b}\n" unless @@prefix_b end - if @md.markup.to_s !~/url_png/ - data=pre(data) - data=footnote(data) - if @md.flag_tables - data=tables(data) - end - data=number_paras(data) if @md.markup !~/not_to/ #check - data=markup(data) - output(data) + data=pre(data) + data=footnote(data) + if @md.flag_tables + data=tables(data) end + data=number_paras(data) if @md.markup.inspect !~/no_ocn/ and @md.mod.inspect !~/--no-ocn/ #check + data=markup(data) + output(data) rescue; SiSU_Errors::Info_error.new($!,$@,@md.fns,@md.cmd).error ensure end @@ -428,7 +421,7 @@ WOK @group_collect=[] data.each do |para| #% case follows with levels 1-6 indents & graphics mono=SiSU_TeX_Pdf::Format_text_object.new(@md,para) - if para =~/<:(code|alt|verse|group)>/ or @@flag_group==true + if para =~/<:(code|alt|verse|group)>/ or @@flag_alt if para =~/<:(code|alt|verse|group)>/ @lineone=case para when /<:(alt|verse|group)>/; para @@ -440,16 +433,22 @@ WOK do_mono=SiSU_TeX_Pdf::Format_text_object.new(@md,para) para=do_mono.special_characters_curly(para) end - regx=/<:((?:code|alt|verse|group)(?:-end)?)>/ + regx=/<:((?:code|alt|verse|group)(?:-end)?)>/m x=regx.match(para)[1] if para =~regx x=$1 para.gsub!(/\n<:(?:code|alt|verse|group)>\n/m,'') para=enclose(para,'code') unless para =~/^$/ - if x =~/(?:alt|verse|group)/; @@flag_group=true - elsif x =~/code/; @@flag_group,@@flag_code=true,true - elsif @@flag_group==true; @group_collect << para #<< "\n\n" + if x =~/(?:alt|verse|group)/; @@flag_alt=true + if x =~/group/; @@flag_group=true + end + elsif x =~/code/; @@flag_alt,@@flag_code=true,true + elsif @@flag_alt; + if para =~ /\}(?:https?|file|ftp)/m + para=mono.http(@orientation) + end + @group_collect << para #<< "\n\n" end - if x =~/(?:code|alt|verse|group)-end/ + if x =~/(?:code|alt|verse|group)-end/m regx=/(\\+marginpar\{\\+begin\{tiny\}\d+\\+end\{tiny\}\})/ y=if para =~regx regx.match(para)[1] @@ -470,14 +469,11 @@ WOK #@group_collect.each{ |x| x.gsub!(/(.#{@@tilde}\S*\s*|<:\S+>|<!.*?!>|<!>)/,' ') } #@lineone.gsub!(/(.#{@@tilde}\S*\s*|<:\S+>|<!.*?!>|<!>)/,' ') insert=[] - if para =~/<:code-end>/ + if para =~/<:code-end>/m insert << y + @lineone << @group_collect << ' \end{scriptsize}' << " #{@tex.paraskip_normal}" - #insert << y + @lineone << @group_collect << ' \end{footnotesize}' << " #{@tex.paraskip_normal}" - #insert << y + @lineone << @group_collect << ' \end{texttt}' << " #{@tex.paraskip_normal}" - #insert << y + @lineone << @group_collect << ' \end{ttfamily} \end{small}' << " #{@tex.paraskip_normal}" else insert << y + @lineone << @group_collect end - @@flag_group,@@flag_code=false,false + @@flag_alt,@@flag_group,@@flag_code=false,false,false @group_collect=[] para.gsub!(/(<:\S+>|<!.*?!>|<!>)/,' ') #para.gsub!(/(.#{@@tilde}\S*\s*|<:\S+>|<!.*?!>|<!>)/,' ') |