From fbf1b64379de0539a0661edbe8a84e8ba48591f9 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 12 Jan 2014 21:16:18 -0500 Subject: v4 v5: texinfo, fixes --- lib/sisu/v5/texinfo.rb | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'lib/sisu/v5/texinfo.rb') diff --git a/lib/sisu/v5/texinfo.rb b/lib/sisu/v5/texinfo.rb index ba890be3..c18b4b1e 100644 --- a/lib/sisu/v5/texinfo.rb +++ b/lib/sisu/v5/texinfo.rb @@ -107,7 +107,7 @@ module SiSU_TexInfo tool=(@opt.act[:verbose][:set]==:on \ || @opt.act[:verbose_plus][:set]==:on \ || @opt.act[:maintenance][:set]==:on) \ - ? "#{@env.program.texinfo} #{@md.file.output_path.texinfo.dir}/#{@md.file.base_filename.info}" + ? "cd #{@md.file.output_path.texinfo.dir} && #{@env.program.texinfo} #{@md.file.base_filename.info}; cd -" : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" (@opt.act[:verbose][:set]==:on \ || @opt.act[:verbose_plus][:set]==:on \ @@ -308,32 +308,36 @@ module SiSU_TexInfo @@do_submenu,@@do_subsubmenu=1,1 data_new=[] data.each do |dob| - mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + unless defined? dob.ln and dob.ln == (5..6) + mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + end if dob.is==:heading case dob.ln when 1 then dob=mono.level1 when 2 then dob=mono.level2 when 3 then dob=mono.level3 when 4; + @@n4_txt=dob.obj dob=mono.level4 n_menu+=1 @@do_submenu,@@do_subsubmenu=1,1 when 5; n_submenu+=1 @@do_subsubmenu=1 + @@n5_txt=dob.obj if @@do_submenu==1 menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu]) - dob.obj="#{menu.submenu}#{mono.level5.obj}" + dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}" @@do_submenu=0 - else dob=mono.level5 + else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}" end when 6; if @@do_submenu==1 menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu]) + dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}" dob.obj="#{menu.subsubmenu}#{mono.level6.obj}" @@do_subsubmenu=0 - else - dob=mono.level6 + else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}" end end else @@ -341,8 +345,9 @@ module SiSU_TexInfo dob.obj=nil else if dob.is==:para \ - && (dob.obj !~/##{dob.ocn}/) - dob.obj="#{dob.obj} ##{dob.ocn}" + && (dob.obj !~/#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}/) + dob.obj=dob.ocn.is_a?(Fixnum) \ + ? "#{dob.obj} #{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}\n\n" : "#{dob.obj}\n\n" end end end @@ -412,7 +417,9 @@ module SiSU_TexInfo FileUtils::mkdir_p(@f.output_path.texinfo.dir) end info_src=%{#{@env.processing_path.texi}/#{@md.fnb}.info} - FileUtils::cp(info_src, @f.place_file.info.dir) + Dir.glob("#{info_src}*").sort.each do |f| + FileUtils::cp(f, File.dirname(@f.place_file.info.dir)) # bug should provide dir without need to extract it! + end end end end -- cgit v1.2.3