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

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

DocBook文書をPDFファイルに変換するdblatexのリンク色変更と日本語の段落の自動改行に関するメモ(バージョン0.3現在)

リンク色の変更について

PDFファイル内のリンクの色は既定では赤となるが、-P latex.hyperparam="linktocpage,colorlinks,linkcolor=blue,citecolor=blue,urlcolor=blue"オプションを付けると、リンクの色が青に変更できる(値によって任意の色が指定可)。linktocpageとcolorlinksは真偽値指定で、trueの場合は省略可。これらの指定はhyperrefというパッケージのもの。

日本語の段落で行の右端に文字が溢れてしまう件の対処

日本語の段落では、用紙の右端で改行されずにその右に文字が溢れてしまう。回避策としては、右端に来そうなところに

[連続した全角スペース][半角スペースx1]

を記述することができるが、調整が面倒となってしまう上、DocBook文書をPDF以外の形式にも変換したい場合に都合が悪い。

これはXeTeXの自動改行の仕組みによるもので、
[引用] http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?XeTeX より

XeTeX では、空白文字の箇所に加え、 \XeTeXlinebreaklocale が有効なロケールになっていれば、ユニコードの改行規則に基づいた改行可能箇所を内蔵の ICU ライブラリが捜し出し、 \XeTeXlinebreakpenalty と \XeTeXlinebreakskip が自動的に挿入されます。

とあるように、文書の中に改行ロケール指定の記述を追加することできちんと自動改行されるようにできる。その記述は

\XeTeXlinebreaklocale "ja"

なのだが、中間ファイルとしての.texファイルにこのコード片を入れるための指定が見つからなかったので、XeTeX用フォントの指定の部分に強引に入れることにした。
下はIPAフォントを用いた例。

$ dblatex -b xetex -P xetex.font="\setmainfont{IPAPGothic}
 \setsansfont{IPAPMincho}
 \setmonofont{IPAGothic}
 \XeTeXlinebreaklocale \"ja\"
" [DocBook文書]


これで日本語の段落の改行に関する問題に対処できるようになった。

関連記事:

参考URL:

使用したバージョン:

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