From 459119df8d101ca0cf21c9cfede5ce502ff402ba Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 5 Sep 2007 20:57:59 +0100 Subject: code-block exceptions for composite documents sisu-0.58.2 --- lib/sisu/v0/texinfo.rb | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'lib/sisu/v0/texinfo.rb') diff --git a/lib/sisu/v0/texinfo.rb b/lib/sisu/v0/texinfo.rb index c46f81ba..6c47ae4c 100644 --- a/lib/sisu/v0/texinfo.rb +++ b/lib/sisu/v0/texinfo.rb @@ -191,17 +191,17 @@ module SiSU_TexInfo @@counting=0 data.each do |para| if para =~ /<:code>/ - @@flag['code']=1 + @@flag['code']=true @@counting=1 end if para =~ /<:verse>/ @@flag['poem']=1 end - if @@flag['code']==1 - if @@flag['code']==1 and para =~ /<:code[-_](?:end|close)>/ #watch change not tested 200501 - @@flag['code']=0 + if @@flag['code'] + if @@flag['code'] and para =~ /<:code[-_](?:end|close)>/ #watch change not tested 200501 + @@flag['code']=false end - if @@flag['code']==1 and para =~ /\S/ + if @@flag['code'] and para =~ /\S/ sub_array=para.dup @@line_mode=sub_array.scan(/.+/) Tune.code_lines(@@line_mode) @@ -225,9 +225,9 @@ module SiSU_TexInfo data=@data data.each do |line| if line =~ /\S/ and line !~ /<:(code|verse).+/ - if @@flag['code']==1 + if @@flag['code'] line.gsub!(/^\s*(.+)/m, "\\noindent \\marginpar\[left-text\]{\\begin{tiny}#{@@counting}\\end{tiny}}\\1\\") - @@counting+=1 if @@flag['code']==1 + @@counting+=1 if @@flag['code'] else line.gsub!(/(.+)/m,'\noindent\1') end end @@ -248,6 +248,8 @@ module SiSU_TexInfo def markup data=@data @tex_file=[] + @row_break='\\\\\\' + @break_page="#@row_break\n#@row_break \n" md={} @tex_file << TexInfoFormat::Texinfo.new('',@md).head mono=TexInfoFormat::Texinfo.new(@md.title,@md) @@ -256,11 +258,11 @@ module SiSU_TexInfo n_menu,n_submenu=0,0 @submenu,@subsubmenu={},{} data.each do |para| + para.gsub!(/\s*<:name#example>\s*/,' ') if para =~ /^[1-3]\\+~\S*(.+?)\s*$/ toc=TexInfoFormat::Texinfo.new($1,@md) texinfo_menu << toc.menu - end - if para =~ /^[4-6]\\+~(?:\S+)?\s+(.+?)\s*$/ + elsif para =~ /^[4-6]\\+~(?:\S+)?\s+(.+?)\s*$/ toc=TexInfoFormat::Texinfo.new($1,@md) texinfo_menu << toc.menu case para @@ -276,6 +278,9 @@ module SiSU_TexInfo @subsubmenu[n_submenu]=[] @subsubmenu[n_submenu] << toc.menu end + else + #para.gsub!(/\s*(?:<:?br>|
)\s*/,"\n#@row_break ") + para.gsub!(/\s*(?:<:?br>|
)\s*/,"\n\n") end end texinfo_menu.compact! @@ -332,7 +337,7 @@ module SiSU_TexInfo para.gsub!(/<\\~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/,'<\1>') #para.gsub!(/<\\~(\d+);\w\d+;\w\d+><#@dp:#@dp>/,'<\1>') #para.gsub!(/<\\~(\d+);\w\d+;\w\d+><#@dp:#@dp>/,'<\1>') - para=para + para end end #%case with endnotes -- cgit v1.2.3