試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

DocBook文書をPDFファイルに変換するdblatexで外部の設定ファイルを用いる(バージョン0.3現在・ページ1/3)

DocBook文書をPDFファイルに変換するdblatexに関するその後(2010/4/26現在)」「DocBook文書をPDFファイルに変換するdblatexのリンク色変更と日本語の段落の自動改行に関するメモ(バージョン0.3現在)」「DocBook文書をPDFファイルに変換するdblatexでprogramlisting要素のコード内の日本語の表示がおかしくなる件とその対処について(バージョン0.3現在)」では動作に関するコマンド行オプションを色々と指定しているが、設定をファイルに記述してこれを読み込ませることもできる。
設定ファイルの種類は複数存在し

  • 出力ファイルの内容に影響する各種パラメータ(--param(-P)オプションでも指定可)はXSLユーザスタイルシート
  • 中間ファイルの.texファイルに関する調整や見栄えの変更はスタイルファイル(.styファイル)
  • 本体の動作に関わる指定は専用の設定ファイル(.specs/.confファイル)

にそれぞれ記述できるが、いずれも適用するにはファイルの場所を実行時にオプションで指定する必要があり、自動的に読み込まれる場所というのはない。ただし、.specs/.confファイルからは他の2つを設定項目として関連付けて読み込ませるようにすることはできる。
コマンド行オプションを用いるとほとんどの指定ができるため、同じオプションを毎回指定するのが面倒な場合はシェルのエイリアス機能を用いるという方法もあるが、特にXSLユーザスタイルシートでは出力ファイルの見栄えの設定をひとまとめにしてファイルに保存したものを使い分けることができるので便利。
実際の使い方としては、3種類の全てのファイルを必要に応じて用意した上で.specs/.confファイルをコマンド行オプションで指定する形が最も使いやすい。

XSLユーザスタイルシート

.specs/.confファイルを用いずにこのファイルの設定を適用するには、.xslファイルの場所を実行時に--xsl-user(-p)オプションで指定する必要がある。

$ dblatex --xsl-user=[.xslファイルの場所] [DocBook文書]

設定項目は
http://dblatex.sourceforge.net/doc/manual/sec-params.html
以下で

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<!-- ここに設定を記述... -->

</xsl:stylesheet>

のような形で設定を記述していく。記述の形式は項目ごとに異なり、それぞれの項目の説明のページにある「Synopsis」に既定値が書かれているのでこれを参考にして書き換える。
例として、フォントにIPA系フォントを用いる指定を行うXSLユーザスタイルシートは以下のようになる。
[任意]ファイル名: ~/.dblatex/xsl/xetex-font-ipafont.xsl

<?xml version='1.0' encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- XeTeXバックエンドのフォント -->
<xsl:param name="xetex.font">
 <xsl:text>\setmainfont{IPAPGothic}
</xsl:text>
 <xsl:text>\setsansfont{IPAPMincho}
</xsl:text>
 <xsl:text>\setmonofont{IPAGothic}
</xsl:text>
</xsl:param>
</xsl:stylesheet>

それぞれの「xsl:text」要素が改行を最後に含んでいるのは中間ファイル(.texファイル)の中にも改行を付けるようにするため。
DocBook文書をPDFファイルに変換するdblatexのリンク色変更と日本語の段落の自動改行に関するメモ(バージョン0.3現在)」の自動改行の修正と「DocBook文書をPDFファイルに変換するdblatexでprogramlisting要素のコード内の日本語の表示がおかしくなる件とその対処について(バージョン0.3現在)」のコード内の日本語の表示の修正についての設定はここに記述することもできるが、より適した別の場所(ページ2で扱うスタイルファイル)に記述することになった。

(「DocBook文書をPDFファイルに変換するdblatexで外部の設定ファイルを用いる(バージョン0.3現在・ページ2/3)」に続く)

関連記事:

使用したバージョン:

  • dblatex 0.3
  • TeX Live 2007-21.r6295.7mdv2010.0
  • Python 2.6.4