lib/review/ewbbuilder.rb in review-1.2.0 vs lib/review/ewbbuilder.rb in review-1.3.0

- old
+ new

@@ -1,16 +1,14 @@ -# -*- coding: euc-jp -*- +# -*- coding: utf-8 -*- # $Id: ewbbuilder.rb 2195 2005-11-13 21:52:18Z aamine $ require 'review/builder' require 'review/textutils' require 'review/exception' module ReVIEW - class EWBBuilder < Builder - include TextUtils def initialize(chap) super @footnote_buf = [] @@ -37,11 +35,11 @@ def emlist(lines, caption = nil) firstline = f.lineno puts puts caption - puts "//lst1" + puts '//lst1' lines.each do |line| if noescape puts detab(line) else puts escape(detab(line)) @@ -58,11 +56,11 @@ # } def cmd(lines, caption = nil) puts puts caption - puts "//sc1{" + puts '//sc1{' lines.each do |line| if noescape puts detab(line) elsif /\AC:.*?>(.+)/ =~ line # DOS prompt hack prompt, cmd = *line.split('>', 2) @@ -126,11 +124,11 @@ end end output.puts '//}' end - LI = '' + LI = '●' def ul_begin puts puts '//k1{' end @@ -163,11 +161,12 @@ end puts '//}' end def vspace - print %Q|\n//h| + print %Q( +//h) end def noindent @noindent = true end @@ -222,25 +221,25 @@ base = key.sub(/\.\w+\z/, '') else base = key ext = '.eps' end - currname = "images/ch_#{chapter_id()}_#{base}#{ext}" + currname = "images/ch_#{chapter_id}_#{base}#{ext}" destname = "images/fig#{figure_number(base)}#{ext}" unless File.exist? currname # error "image file not exist: #{currname}" end destname end def image_label(str) - "#{chapter_id()}:#{str}" + "#{chapter_id}:#{str}" end def text(str) str = str.gsub(/\t/, ' ') - str.gsub(/([^@^]+)|\^(.*?)\^|@<(\w+)>\{(.*?)\}|@\{(.*?)\}|([@^])/) { + str.gsub(/([^@^]+)|\^(.*?)\^|@<(\w+)>\{(.*?)\}|@\{(.*?)\}|([@^])/) do if normal = $1 escape(normal) elsif tt = $2 '//tt{' + escape(tt) + '//}' elsif inline = $3 @@ -251,25 +250,25 @@ elsif char = $6 escape(char) else error "unknown inline: #{str.inspect}" end - } + end rescue DocumentError => e error e.message return 'ERROR' end def inline_kw(arg) word, eng, abbr = arg.split(/,/).map {|s| s.strip } if abbr add_index(word) + "//g{#{word}//}" + - add_index(abbr) + "#{abbr}, " + - add_index(eng) + "#{eng}" + add_index(abbr) + "(#{abbr}, " + + add_index(eng) + "#{eng})" elsif eng add_index(word) + "//g{#{word}//}" + - add_index(eng) + "#{eng}" + add_index(eng) + "(#{eng})" else add_index(word) + "//g{#{word}//}" end end @@ -305,11 +304,11 @@ def inline_ruby(arg) error 'wrong number of arg: @<ruby>' unless arg.count(',') == 1 "//ruby{#{arg}//}" end - NAKAGURO = '' + NAKAGURO = '・' def inline_bou(str) "//ruby{#{escape(str)},#{NAKAGURO * char_length(str)}//}" end @@ -323,46 +322,45 @@ def inline_math(arg) "//LaTeX{ $#{arg}$ //}" end - def chapter_id File.basename(@filename, '.rd') end def chapter_prefix - sprintf('%02d', @chapter_table.number(chapter_id())) + sprintf('%02d', @chapter_table.number(chapter_id)) end - def chapter_number( key ) - curr = @chapter_table.number(chapter_id()) + def chapter_number(key) + curr = @chapter_table.number(chapter_id) dest = @chapter_table.number(key) - case chapter_id() + case chapter_id when /\.ewb\z/, 'tmp', 'temp' - return '' + dest + '' + return '第' + dest + '章' end if dest == curr + 1 - '' + '次章' elsif dest == curr - 1 - '' + '前章' else - "#{dest}" + "第#{dest}章" end end def chapter_name(key) - '' + text(@chapter_table.title(key)) + '' + '『' + text(@chapter_table.title(key)) + '』' end def list_number(key) - sprintf(chapter_prefix() + '%02d0', @list_table.number(key)) + sprintf(chapter_prefix + '%02d0', @list_table.number(key)) end def figure_number(key) - sprintf(chapter_prefix() + '%02d0', @figure_table.number(key)) + sprintf(chapter_prefix + '%02d0', @figure_table.number(key)) end def footnote_number(key) sprintf('%02d', @footnote_index.number(key) * 5) end @@ -371,15 +369,13 @@ @index_buffer.push str "//in#{index_number(@index_buffer.size)}" end def index_number(n) - 900000 + @chapter_index.number(chapter_id()) * 1000 + n + 900_000 + @chapter_index.number(chapter_id) * 1000 + n end def escape(str) - str.gsub(%r<//>, '////') + str.gsub(%r{//}, '////') end - end - end