* DocBook [#f32d0dcd] まわりをいろいろ調べてみる. ** DocBook とは [#j5e19cd8] おおざっぱに言うと >linuxdoc の多機能版 というところかな. 1つの DocBook 文書から様々なフォーマットの文書を生成しよう,ということが意図されています. DocBook文書 --+--> HTML文書 | +--> PDF文書 | +--> … で,DocBook 文書自体は - SGML or XML 上の文書の定義である - DocBook 上では文書構造・文章の「意味」でタグづけを行う. - 変換プログラムにより,DocBook 文書から HTML や PDF の文書に変換する という感じで,おそらく LaTeX のような感覚で文書を作成できるはずです. (実は,今は処理環境を調べているだけで,実際に文書を書くところまでには至っていません.) ** まずはぐぐる [#i3c2f5e0] 日本語処理環境はどんな状態か,と,ぐぐってみる. すると - (X)HTML への変換はやっている人はいるらしい. - が,PostScript or PDF への変換については,「できたぞ」という話はあまりないようだ -- 英語版の説明の受け売りそのまんま,というページはありますが. ** というわけで問題は [#k8555fcf] PDF の生成に問題があるらしい. 事実,手元の環境で日本語文書に対し docbook2dvi などを実行しようとすると,TeX のコンパイルフェーズでコケてしまう. オプションを指定し,.tex ファイルを生成して platex に渡してみると,.tex ファイルのショッパナのマクロがわからん,ということで停止. 調べてみると docbook2* コマンドでは eTeX という,拡張 TeX を仮定しているらしい. ** 他の変換プログラム [#sf3f6dc9] いろいろぐぐってみると,dblatex というのがあるということがわかる. debian のパッケージにもなっているので,素直に apt-get でインストールする. で,何も考えずに日本語の DocBook 文書を処理させてみると… >日本語文字が実体参照 (\&\#xxxx;) のまま,.tex ファイルまで突き抜けている ということで,ちょこちょこっと perl でフィルタを作って,これらの文字を EUC-JP に変換してやる. で,platex にかけると… めでたく .dvi ファイルが生成されました. ** 問題点 [#q2342cf4] - \documentstyle{jreport} を指定してやると,「第 n 章」が「第 n」としか表示されない -- \chapter をどこかで再定義しているところの問題かな - \lstlisting で日本語文字列と英語文字列の順番が入れかわる 今のところ見えているのはこんなところかな. *本日のツッコミ [#gcd864aa] #comment