Tweet


* 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]
- 今日は平日だけど?大丈夫? -- [[あれ]] &new{2006-07-18 (火) 10:39:08};

#comment


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS