rdoc/markup/to_latex

るりまを書いてて気づいたんだけど、1.9.1 の rdoc/markup/to_latex にはバグがあるようだ。コンストラクタで super を呼んでないので、markup が参照出来なくて convert した途端に例外が発生する。

例えば、以下のように修正したら動くと思う(super 入れただけ)。input_string には文字列を渡してください。

require 'rdoc/markup/to_latex'

class RDoc::Markup::ToLaTeX < RDoc::Markup::Formatter
  def initialize
    super
    init_tags
    @list_depth = 0
    @prev_list_types = []
  end
end

h = RDoc::Markup::ToLaTeX.new
puts h.convert(input_string)

1.9.2(RDoc 2.5) で削除されちゃったので、どこに報告しても動作するバージョンの Ruby も RDoc も出ないし、るりまに上記を書くのはアレかなと思うので日記にしてみた。1.8 系は動くんだけどなぁ。

まぁ、RDoc から LaTeX 吐こうなんて思う人は自力で解決できそうな気もする。