# Program : Filter.rb
# Input : File name
# Output : LaTeX - description or item source code that is intended to be \input{}
# Global variable __LEVEL__ sets the level that is to be printed.
# example) if __LEVEL__ = 2, 1 XXX is not printed
$LEVEL = 1
$WHAT = "enumerate"
def process(filename_)
f = File.new('res.tex','w')
f << "\\begin{#{$WHAT}}\n"
File.open(filename_) do |file|
file.each_line do
|line|
if line =~ /^(\d+)\s:\s(.*)$/ # $1 -> number, $2 -> string
if ($LEVEL <= $1.to_i)
f << '\item ' << $2 << "\n"
end
else
puts 'No match'
end
end
end
f << "\\end{#{$WHAT}}\n"
f.close()
end
if $0 == __FILE__
# Argument Check
if ARGV.length > 1
puts "Usage : " + $0 + " filename"
exit
end
puts 'processing >> ' + ARGV[0]
file = ARGV[0]
process(file)
end