base_block(type, lines, caption = nil)
click to toggle source
def base_block(type, lines, caption = nil)
blank
puts "◆→開始:#{@titles[type]}←◆"
puts "■#{compile_inline(caption)}" if caption.present?
puts lines.join("\n")
puts "◆→終了:#{@titles[type]}←◆"
blank
end
base_parablock(type, lines, caption = nil)
click to toggle source
def base_parablock(type, lines, caption = nil)
blank
puts "◆→開始:#{@titles[type]}←◆"
puts "■#{compile_inline(caption)}" if caption.present?
puts split_paragraph(lines).join("\n")
puts "◆→終了:#{@titles[type]}←◆"
blank
end
best(lines, caption = nil)
click to toggle source
def best(lines, caption = nil)
base_parablock 'best', lines, caption
end
bibpaper(lines, id, caption)
click to toggle source
def bibpaper(lines, id, caption)
bibpaper_header id, caption
bibpaper_bibpaper id, caption, lines unless lines.empty?
end
bibpaper_bibpaper(_id, _caption, lines)
click to toggle source
def bibpaper_bibpaper(_id, _caption, lines)
print split_paragraph(lines).join
end
box(lines, caption = nil)
bpo(lines)
click to toggle source
def bpo(lines)
base_block 'bpo', lines, nil
end
caution(lines, caption = nil)
click to toggle source
def caution(lines, caption = nil)
base_parablock 'caution', lines, caption
end
centering(lines)
click to toggle source
def centering(lines)
base_parablock 'centering', lines, nil
end
circle_begin(_level, _label, caption)
click to toggle source
def circle_begin(_level, _label, caption)
puts "・\t#{caption}"
end
circle_end(level)
click to toggle source
def circle_end(level)
end
cmd(lines, caption = nil)
click to toggle source
def cmd(lines, caption = nil)
base_block 'cmd', lines, caption
end
column_begin(_level, _label, caption)
click to toggle source
def column_begin(_level, _label, caption)
common_column_begin('column', caption)
end
column_end(_level)
click to toggle source
def column_end(_level)
common_column_end('column')
end
common_column_begin(type, caption)
click to toggle source
def common_column_begin(type, caption)
blank
puts "◆→開始:#{@titles[type]}←◆"
puts "■#{compile_inline(caption)}"
end
common_column_end(type)
click to toggle source
def common_column_end(type)
puts "◆→終了:#{@titles[type]}←◆"
blank
end
compile_href(url, label)
click to toggle source
def compile_href(url, label)
if label
"#{label}(△#{url}☆)"
else
"△#{url}☆"
end
end
compile_kw(word, alt)
click to toggle source
def compile_kw(word, alt)
if alt
then "★#{word}☆(#{alt.strip})"
else "★#{word}☆"
end
end
compile_ruby(base, ruby)
click to toggle source
def compile_ruby(base, ruby)
"#{base}◆→DTP連絡:「#{base}」に「#{ruby}」とルビ←◆"
end
dd(lines)
click to toggle source
def dd(lines)
split_paragraph(lines).each { |paragraph| puts "\t#{paragraph.gsub(/\n/, '')}" }
end
dl_begin()
click to toggle source
dl_end()
click to toggle source
dt(line)
click to toggle source
def dt(line)
puts "★#{line}☆"
end
dtp(str)
click to toggle source
edition_begin(_level, _label, caption)
click to toggle source
def edition_begin(_level, _label, caption)
common_column_begin('edition', caption)
end
edition_end(_level)
click to toggle source
def edition_end(_level)
common_column_end('edition')
end
emlist(lines, caption = nil, _lang = nil)
click to toggle source
def emlist(lines, caption = nil, _lang = nil)
base_block 'emlist', lines, caption
end
emlistnum(lines, caption = nil, _lang = nil)
click to toggle source
def emlistnum(lines, caption = nil, _lang = nil)
blank
puts "◆→開始:#{@titles['emlist']}←◆"
puts "■#{compile_inline(caption)}" if caption.present?
lines.each_with_index { |line, i| puts((i + 1).to_s.rjust(2) + ": #{line}") }
puts "◆→終了:#{@titles['emlist']}←◆"
blank
end
expert(lines)
click to toggle source
def expert(lines)
base_parablock 'expert', lines, nil
end
extname()
click to toggle source
flushright(lines)
click to toggle source
def flushright(lines)
base_parablock 'flushright', lines, nil
end
handle_metric(str)
click to toggle source
def handle_metric(str)
str
end
headline(level, _label, caption)
click to toggle source
def headline(level, _label, caption)
prefix, _anchor = headline_prefix(level)
puts %Q(■H#{level}■#{prefix}#{compile_inline(caption)})
end
hood_begin(_level, _label, caption)
click to toggle source
def hood_begin(_level, _label, caption)
common_column_begin('hood', caption)
end
hood_end(_level)
click to toggle source
def hood_end(_level)
common_column_end('hood')
end
image(lines, id, caption, metric = nil)
click to toggle source
def image(lines, id, caption, metric = nil)
metrics = parse_metric('top', metric)
metrics = " #{metrics}" if metrics.present?
blank
puts "◆→開始:#{@titles['image']}←◆"
if get_chap
puts "#{I18n.t('image')}#{I18n.t('format_number', [get_chap, @chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}"
else
puts "#{I18n.t('image')}#{I18n.t('format_number_without_chapter', [@chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}"
end
blank
if @chapter.image(id).bound?
puts "◆→#{@chapter.image(id).path}#{metrics}←◆"
else
warn "image not bound: #{id}"
lines.each { |line| puts line }
end
puts "◆→終了:#{@titles['image']}←◆"
blank
end
important(lines, caption = nil)
click to toggle source
def important(lines, caption = nil)
base_parablock 'important', lines, caption
end
indepimage(_lines, id, caption = nil, metric = nil)
click to toggle source
def indepimage(_lines, id, caption = nil, metric = nil)
metrics = parse_metric('top', metric)
metrics = " #{metrics}" if metrics.present?
blank
begin
puts "◆→画像 #{@chapter.image(id).path.sub(%r{\A\./}, '')}#{metrics}←◆"
rescue
warn "image not bound: #{id}"
puts "◆→画像 #{id}←◆"
end
puts "図 #{compile_inline(caption)}" if caption.present?
blank
end
info(lines, caption = nil)
click to toggle source
def info(lines, caption = nil)
base_parablock 'info', lines, caption
end
inline_ami(str)
click to toggle source
def inline_ami(str)
"#{str}◆→DTP連絡:「#{str}」に網カケ←◆"
end
inline_b(str)
click to toggle source
def inline_b(str)
"★#{str}☆"
end
inline_balloon(str)
click to toggle source
def inline_balloon(str)
%Q(\t←#{str.gsub(/@maru\[(\d+)\]/, inline_maru('\1'))})
end
inline_bib(id)
click to toggle source
def inline_bib(id)
%Q([#{@chapter.bibpaper(id).number}])
end
inline_bou(str)
click to toggle source
def inline_bou(str)
"#{str}◆→DTP連絡:「#{str}」に傍点←◆"
end
inline_br(_str)
click to toggle source
def inline_br(_str)
"\n"
end
inline_chap(id)
click to toggle source
def inline_chap(id)
super
end
inline_chapref(id)
click to toggle source
def inline_chapref(id)
chs = ['', '「', '」']
if @book.config['chapref']
chs2 = @book.config['chapref'].split(',')
error '--chapsplitter must have exactly 3 parameters with comma.' if chs2.size != 3
chs = chs2
end
"#{chs[0]}#{@book.chapter_index.number(id)}#{chs[1]}#{@book.chapter_index.title(id)}#{chs[2]}"
rescue KeyError
error "unknown chapter: #{id}"
nofunc_text("[UnknownChapter:#{id}]")
end
inline_code(str)
click to toggle source
def inline_code(str)
"△#{str}☆"
end
inline_del(_str)
click to toggle source
def inline_del(_str)
''
end
inline_dtp(_str)
click to toggle source
def inline_dtp(_str)
''
end
inline_fn(id)
click to toggle source
def inline_fn(id)
"【注#{@chapter.footnote(id).number}】"
end
inline_hd_chap(chap, id)
click to toggle source
def inline_hd_chap(chap, id)
if chap.number
n = chap.headline_index.number(id)
return I18n.t('chapter_quote', "#{n} #{compile_inline(chap.headline(id).caption)}") if @book.config['secnolevel'] >= n.split('.').size
end
I18n.t('chapter_quote', compile_inline(chap.headline(id).caption))
end
inline_hidx(str)
click to toggle source
def inline_hidx(str)
"◆→索引項目:#{str}←◆"
end
inline_hint(str)
click to toggle source
def inline_hint(str)
"◆→ヒントスタイルここから←◆#{str}◆→ヒントスタイルここまで←◆"
end
inline_i(str)
click to toggle source
def inline_i(str)
"▲#{str}☆"
end
inline_icon(id)
click to toggle source
def inline_icon(id)
begin
"◆→画像 #{@chapter.image(id).path.sub(%r{\A\./}, '')}←◆"
rescue
warn "image not bound: #{id}"
"◆→画像 #{id}←◆"
end
end
inline_idx(str)
click to toggle source
def inline_idx(str)
"#{str}◆→索引項目:#{str}←◆"
end
inline_img(id)
click to toggle source
def inline_img(id)
chapter, id = extract_chapter_id(id)
if get_chap(chapter)
"#{I18n.t('image')}#{I18n.t('format_number', [get_chap(chapter), chapter.image(id).number])}"
else
"#{I18n.t('image')}#{I18n.t('format_number_without_chapter', [chapter.image(id).number])}"
end
end
inline_keytop(str)
click to toggle source
def inline_keytop(str)
"#{str}◆→キートップ#{str}←◆"
end
inline_labelref(idref)
click to toggle source
def inline_labelref(idref)
"「◆→#{idref}←◆」"
end
inline_list(id)
click to toggle source
def inline_list(id)
chapter, id = extract_chapter_id(id)
if get_chap(chapter)
%Q(#{I18n.t('list')}#{I18n.t('format_number', [get_chap(chapter), chapter.list(id).number])})
else
%Q(#{I18n.t('list')}#{I18n.t('format_number_without_chapter', [chapter.list(id).number])})
end
end
inline_m(str)
click to toggle source
def inline_m(str)
%Q(◆→TeX式ここから←◆#{str}◆→TeX式ここまで←◆)
end
inline_maru(str)
click to toggle source
def inline_maru(str)
"#{str}◆→丸数字#{str}←◆"
end
inline_raw(str)
click to toggle source
def inline_raw(str)
super(str).gsub('\n', "\n")
end
inline_sub(str)
click to toggle source
def inline_sub(str)
"#{str}◆→DTP連絡:「#{str}」は下付き←◆"
end
inline_sup(str)
click to toggle source
def inline_sup(str)
"#{str}◆→DTP連絡:「#{str}」は上付き←◆"
end
inline_table(id)
click to toggle source
def inline_table(id)
chapter, id = extract_chapter_id(id)
if get_chap(chapter)
"#{I18n.t('table')}#{I18n.t('format_number', [get_chap(chapter), chapter.table(id).number])}"
else
"#{I18n.t('table')}#{I18n.t('format_number_without_chapter', [chapter.table(id).number])}"
end
end
inline_tt(str)
click to toggle source
def inline_tt(str)
"△#{str}☆"
end
inline_ttb(str)
click to toggle source
def inline_ttb(str)
"★#{str}☆◆→等幅フォント太字←◆"
end
inline_tti(str)
click to toggle source
def inline_tti(str)
"▲#{str}☆◆→等幅フォントイタ←◆"
end
inline_ttibold(str)
click to toggle source
def inline_ttibold(str)
"▲#{str}☆◆→等幅フォント太字イタ←◆"
end
inline_u(str)
click to toggle source
def inline_u(str)
"@#{str}@◆→@〜@部分に下線←◆"
end
inline_uchar(str)
click to toggle source
def inline_uchar(str)
[str.to_i(16)].pack('U')
end
insideout_begin(_level, _label, caption)
click to toggle source
def insideout_begin(_level, _label, caption)
common_column_begin('insideout', caption)
end
insideout_end(_level)
click to toggle source
def insideout_end(_level)
common_column_end('insideout')
end
insn(lines, caption = nil)
click to toggle source
def insn(lines, caption = nil)
base_block 'insn', lines, caption
end
Also aliased as:
box, box
label(_id)
click to toggle source
link(lines, caption = nil)
click to toggle source
def link(lines, caption = nil)
base_parablock 'link', lines, caption
end
list_body(_id, lines, _lang)
click to toggle source
def list_body(_id, lines, _lang)
lines.each { |line| puts detab(line) }
puts "◆→終了:#{@titles['list']}←◆"
blank
end
listnum_body(lines, _lang)
click to toggle source
def listnum_body(lines, _lang)
lines.each_with_index { |line, i| puts((i + 1).to_s.rjust(2) + ": #{line}") }
puts "◆→終了:#{@titles['list']}←◆"
blank
end
memo(lines, caption = nil)
click to toggle source
def memo(lines, caption = nil)
base_parablock 'memo', lines, caption
end
nodisp_begin(level, label, caption)
click to toggle source
def nodisp_begin(level, label, caption)
end
nodisp_end(level)
click to toggle source
def nodisp_end(level)
end
nofunc_text(str)
click to toggle source
def nofunc_text(str)
str
end
noindent()
click to toggle source
def noindent
puts '◆→DTP連絡:次の1行インデントなし←◆'
end
nonum_begin(level, _label, caption)
click to toggle source
def nonum_begin(level, _label, caption)
puts "■H#{level}■#{compile_inline(caption)}"
end
nonum_end(level)
click to toggle source
note(lines, caption = nil)
click to toggle source
def note(lines, caption = nil)
base_parablock 'note', lines, caption
end
notice(lines, caption = nil)
click to toggle source
def notice(lines, caption = nil)
base_parablock 'notice', lines, caption
end
notoc_begin(level, _label, caption)
click to toggle source
def notoc_begin(level, _label, caption)
puts "■H#{level}■#{compile_inline(caption)}◆→DTP連絡:目次に掲載しない←◆"
end
notoc_end(level)
click to toggle source
numberlessimage(_lines, id, caption = nil, metric = nil)
ol_begin()
click to toggle source
def ol_begin
blank
@olitem = 0
end
ol_end()
click to toggle source
def ol_end
blank
@olitem = nil
end
ol_item(lines, num)
click to toggle source
def ol_item(lines, num)
puts "#{num}\t#{lines.join}"
end
paragraph(lines)
click to toggle source
def paragraph(lines)
puts lines.join
end
planning(lines, caption = nil)
click to toggle source
def planning(lines, caption = nil)
base_parablock 'planning', lines, caption
end
point(lines, caption = nil)
click to toggle source
def point(lines, caption = nil)
base_parablock 'point', lines, caption
end
post_paragraph()
click to toggle source
def post_paragraph
''
end
practice(lines)
click to toggle source
def practice(lines)
base_parablock 'practice', lines, nil
end
pre_paragraph()
click to toggle source
quote(lines)
click to toggle source
def quote(lines)
base_parablock 'quote', lines, nil
end
read(lines)
click to toggle source
def read(lines)
puts "◆→開始:#{@titles['lead']}←◆"
puts split_paragraph(lines).join("\n")
puts "◆→終了:#{@titles['lead']}←◆"
blank
end
Also aliased as:
lead, lead
ref_begin(_level, _label, caption)
click to toggle source
def ref_begin(_level, _label, caption)
common_column_begin('ref', caption)
end
ref_end(_level)
click to toggle source
def ref_end(_level)
common_column_end('ref')
end
reference(lines)
click to toggle source
def reference(lines)
base_parablock 'reference', lines, nil
end
result()
click to toggle source
def result
@output.string
end
result_metric(array)
click to toggle source
def result_metric(array)
array.join(',')
end
security(lines, caption = nil)
click to toggle source
def security(lines, caption = nil)
base_parablock 'security', lines, caption
end
shoot(lines, caption = nil)
click to toggle source
def shoot(lines, caption = nil)
base_parablock 'shoot', lines, caption
end
source(lines, caption = nil, _lang = nil)
click to toggle source
def source(lines, caption = nil, _lang = nil)
base_block 'source', lines, caption
end
sup_begin(_level, _label, caption)
click to toggle source
def sup_begin(_level, _label, caption)
common_column_begin('sup', caption)
end
sup_end(_level)
click to toggle source
def sup_end(_level)
common_column_end('sup')
end
table(lines, id = nil, caption = nil)
click to toggle source
def table(lines, id = nil, caption = nil)
blank
puts "◆→開始:#{@titles['table']}←◆"
rows = []
sepidx = nil
lines.each_with_index do |line, idx|
if /\A[\=\-]{12}/ =~ line
sepidx ||= idx
next
end
rows.push(line.strip.split(/\t+/).map { |s| s.sub(/\A\./, '') })
end
rows = adjust_n_cols(rows)
begin
table_header id, caption if caption.present?
rescue KeyError
error "no such table: #{id}"
end
return if rows.empty?
table_begin rows.first.size
if sepidx
sepidx.times { tr(rows.shift.map { |s| th(s) }) }
rows.each { |cols| tr(cols.map { |s| td(s) }) }
else
rows.each do |cols|
h, *cs = *cols
tr([th(h)] + cs.map { |s| td(s) })
end
end
table_end
end
table_begin(ncols)
click to toggle source
def table_begin(ncols)
end
table_end()
click to toggle source
def table_end
puts "◆→終了:#{@titles['table']}←◆"
blank
end
td(str)
click to toggle source
term(lines)
click to toggle source
def term(lines)
base_parablock 'term', lines, nil
end
texequation(lines)
click to toggle source
def texequation(lines)
puts "◆→開始:#{@titles['texequation']}←◆"
puts lines.join("\n")
puts "◆→終了:#{@titles['texequation']}←◆"
blank
end
text(str)
click to toggle source
th(str)
click to toggle source
def th(str)
"★#{str}☆"
end
tip(lines, caption = nil)
click to toggle source
def tip(lines, caption = nil)
base_parablock 'tip', lines, caption
end
tr(rows)
click to toggle source
def tr(rows)
puts rows.join("\t")
end
ul_begin()
click to toggle source
ul_end()
click to toggle source
ul_item(lines)
click to toggle source
def ul_item(lines)
puts "●\t#{lines.join}"
end
warning(lines, caption = nil)
click to toggle source
def warning(lines, caption = nil)
base_parablock 'warning', lines, caption
end
world_begin(_level, _label, caption)
click to toggle source
def world_begin(_level, _label, caption)
common_column_begin('world', caption)
end
world_end(_level)
click to toggle source
def world_end(_level)
common_column_end('world')
end
xcolumn_begin(_level, _label, caption)
click to toggle source
def xcolumn_begin(_level, _label, caption)
common_column_begin('xcolumn', caption)
end
xcolumn_end(_level)
click to toggle source
def xcolumn_end(_level)
common_column_end('xcolumn')
end