En toi Pythmeni tes TeXnopoleos
[電脳世界の奥底にて] |
BXsuika パッケージ
- 2010/05/16:一部の文章を修正。
概要
W32TeX の topdftex フィルタと併用して、pdfLaTeX で日本語を使えるようにする パッケージである。topdftex は元々 ums パッケージ(稲垣淳 氏製作)と併用する 前提で作られているので、ums の改良版といえる。主な改良点は DVI 出力の場合 も同じ出力ができるようにしたことである。(ums にもこの機能はあるが、正しく 動かない。) この時には欧文と同じ形式の DVI が生成されるので、設定次第で 欧文用の DVI ウェアが使える可能性がある。残念ながら、和文組版品質は元の ums と同じであまり良くない。
texdocc jpdfsample.pdf
対応環境
以下のものが必要である。
- W32TeX の topdftex フィルタ
- 以下の処理系のいずれか
- pdfLaTeX2e (pdfTeX 1,40.10 以降)
- 欧文 LaTeX2e + dvipdfmx
- 欧文 LaTeX2e + Unicode subfont 対応の DVI ウェア (機能制限あり)
参考: W32TeX において topdftex は pdfTeX 本体とともに pdftex-w32.tar.bz2 アーカイブに含まれている。 このプログラムは C 言語のソースも公開されている (W32TeX のソースアーカイブ w32tex-src に含まれる)ので、 W32TeX 以外の環境でも本パッケージを使えるかもしれない。
基本的な使用法
文書作成
bxsuika パッケージを次のようにして読み込む。
\usepackage[driver=‹ドライバ›,mincho=‹明朝›,gothic=‹ゴシック›]{bxsuika}
‹明朝›
、‹ゴシック›
には
明朝体とゴシック体として用いる日本語フォントのファイル名(ipam.ttf
等;「IPA明朝」等のフォント名ではない)を指定する。
TrueType/OpenType(拡張子 .ttf/.otf)形式のフォントが使えるが、
TTC 形式(拡張子 .ttc;例えば MS フォントとか)は使えない。
‹ドライバ›
は実際に使う処理系を
pdftex
/ dvipdfmx
/ none
から
選択するが、driver
を指定しないと、自動的に pdftex
と dvipdfmx
のうち適当な方が選ばれるので、
通常は指定する必要はない。
none
は pdfTeX
と dvipdfmx 以外の DVI ドライバを使う時に設定する。
この場合、mincho
/gothic
による
フォント設定は無効となり、そのドライバのためのフォント設定を
別個に行う必要がある。
以下に日本語を含む文書の例を示す。
% このファイルの文字コードは Shift_JIS % pdflatex (または latex) で組版する \documentclass[a4paper]{article} % 欧文用クラスを指定する。 % 明朝を「IPA明朝」、ゴシックを「IPAゴシック」にする \usepackage[mincho=ipam.ttf,gothic=ipag.ttf]{bxsuika} \usepackage[scale=.8]{geometry} \newcommand*{\jRead}[1]{{\footnotesize #1}} \newcommand*{\xAnnot}[1]{{\small(\textsl{#1})}} \begin{document} \section*{Greeting Expressions in Japanese (挨拶\jRead{あいさつ}の表現)} % 内容は気にしない ;-) \begin{center}\begin{tabular}{p{10em}p{20em}} \hline\hline \multicolumn{1}{c}{English} & \multicolumn{1}{c}{Japanese (日本語)} \\\hline Good morning! & おはようございます。\xAnnot{formal}\newline おはよう。\xAnnot{informal} \\\hline How are you? & お元気ですか。\xAnnot{formal}\newline もうかりまっか。\xAnnot{in the Kansai region} \\\hline Happy New Year! & 明けましておめでとうございます。\xAnnot{formal}\newline あけましておめでとう。\xAnnot{informal}\newline あけおめー!\xAnnot{very colloquial} \\\hline\hline \end{tabular}\end{center} Note that in Japanese culture greetings on New Year (正月\jRead{しょうがつ}) are not made until New Year's Day has come, thus there is no period where greetings on New Year and Christmas (クリスマス) are simultanously made. Consequently there is no Japanese phrase that directly corresponds to ``Merry Christmas and Happy New Year!''. \end{document}
基底言語が英語の例を示したのは、現状では使用できる文書クラスが 欧文用のものしかないからである。 日本語の文書に適したレイアウトにするには種々の工夫が必要となる。 パッケージに含まれるサンプル sample-bxsuika.org.tex は 日本語の文書の例である。
コンパイル
和文文字を含むファイルを topdftex で変換する。 変換後のファイルは pdflatex 等の欧文 LaTeX 処理系で組版できる。 pdflatex を使う場合は次のようになる。
# (元の LaTeX 文書を foo.org.tex とする) topdftex foo.org.tex foo.tex pdflatex foo.tex # (PDF 文書を foo.pdf が生成される)
日本語を pdfTeX で通すのがパッケージの主目的であるが、 なぜか dvipdfmx でも通るようになっている。 dvipdfmx を使う場合は次のようになる。
# (元の LaTeX 文書を foo.org.tex とする) topdftex foo.org.tex foo.tex # 欧文用の latex を使う latex foo.tex dvipdfmx foo.dvi # (PDF 文書を foo.pdf が生成される)
他にも、latex で生成された DVI ファイルを dvipng などの 欧文 DVI 用の DVI ウェアに通す等の利用方法が考えられる。 (ただしこの用途なら PXtosb バンドルの 方が適切である。) 詳しくは説明書(README ファイル)を参照。
日本語しおりの作成
hyperref を用いて日本語のしおりを作成するには W32TeX の out2uni プログラム(dvipdfm-w32.tar.bz2 アーカイブに含まれる)を併用する。
以下では、次のファイル sample.org.tex を例として具体的な 手順を述べる。
% sample.org.tex % このファイルの文字コードは Shift_JIS \documentclass[a4paper]{article} \usepackage[mincho=ipam.ttf,gothic=ipag.ttf]{bxsuika} \usepackage[scale=.8]{geometry} \usepackage[pdftex, bookmarks=true,bookmarksnumbered=true,bookmarkstype=toc]{hyperref} \begin{document} \title{pdf\LaTeXe\ 怪文書作成入門} \author{絶対匿名希望} \maketitle \section{美しい怪文書組版のために} (この節は書きかけです。執筆者を募集しております。\<) \section{pdf\LaTeXe\ の紹介} (この節は書きかけです。執筆者を募集しております。\<) \section{以下省略} \end{document}
\<
は「半角幅だけ戻る」命令である。
bxsuika では和文文字はベタ組されるので、そのままでは
〈。〉と〈)〉の間に余分な間隔が生じる。
\<
はこれを除去している。
なお、\<
はその箇所での改行を禁止する。
改行を許可したい場合は代わりに \<*
を用いる。
これを組版して PDF 文書 sample.pdf を得る手順は次のようになる。
topdftex sample.org.tex sample.tex pdflatex sample.tex # (ここで sample.out が生成されるので、それに変換をかける) out2uni sample.out pdflatex sample.tex