取り込まれました
日本語 texi ファイルを LuaTeX / XeTeX で処理して PDF 生成できる機能を、本家 Texinfo へコミットしました。日本語 texi ファイルのサンプルもあります。 https://t.co/ZDLBurjMLW
— TrueRoad (@trueroad_jp) 2016年5月6日
というわけで、以前に書いていた Texinfo で日本語 PDF を生成するための拙作ファイル群が、 本家 Texinfo に取り込まれました。といいますか、お許しを頂いて コミットしました。
まだ、リポジトリに入った、というだけで、 リリースされたわけではありませんが、 簡単に使い方などをご紹介したいと思います。
環境
以下が必要となります。
- TeX エンジンと日本語で使うためのパッケージ
- LuaTeX で使う場合
- LuaTeX 0.95 以降(TeX Live 2016 以降)
LuaTeX 0.80 (TeX Live 2015) ですと、 LuaTeX のバグ の影響で、日本語に限らず多くの Texinfo ファイルがコンパイルできません。 0.88 以降であれば OK なのですが、 普通の人は中途半端なバージョンは使わないだろうと思い、 TeX Live 2016 に収録される 0.95 以降としました。 - LuaTeX-ja
普通に TeX Live 2016 で日本語が使えるようにインストールすれば、 一緒に入ってくると思います。 - XeTeX で使う場合
- XeTeX 0.9998 以降(TeX Live 2012 以降)
XeTeX 0.9997.5 (TeX Live 2011) でもコンパイルはできるようなのですが、 PDF のリンクが機能しないなども問題があるようなので、 0.9998 以降としました。 - zhspacing
本来は中国語用なのですが、「plain XeTeX で日本語を使う」 ことができるものとしてご紹介いただいて使っています。 TeX Live 2013 ぐらいまでは CJK が一緒になっていたので、 日本語が使えるようにインストールすれば中国語もインストールされて 使えるようになったようですが、TeX Live 2014 ぐらいからは、 日本語とは別に中国語もインストールしないと入らないようです。 - フォント
- IPAex フォント
明朝とゴシックが双方揃っているフリーな日本語フォントとして、 広く使われている IPAex フォントを使います。 LuaTeX / XeTeX から 使えるようにインストールしておく必要があります。 TeX Live を日本語が使えるようにインストールすれば、 一緒に入ってくると思います。 - Texinfo 本体
- Texinfo 6.0 以降
無いと一部機能が使えません。 また、Texinfo 5 系の場合 texindex が UTF-8 に対応していないようで、 索引等の生成がおかしくなることがあるようです。
ファイルの入手
まだリリースはされていませんので、 直接リポジトリからダウンロードする必要があります。
- texinfo.tex
最新の texinfo.tex 本体です。日本語に対応したものはありませんが、 現状のリリース版に同梱されているものとは異なり、 LuaTeX / XeTeX の Native Unicode に対応しています。 拙作の日本語対応は、この Native Unicode 対応を利用したものになります。 - texinfo-ja.tex
日本語 Texinfo ファイル用のローダです。通常の Texinfo ファイルは、 冒頭に\input texinfo
と書いたりして texinfo.tex を使いますが、 拙作の日本語対応を使う場合、これを\input texinfo-ja
と 書き換えて、このローダを使うことになります。 このローダは、texinfo.tex より先に読み込まなければならない 日本語パッケージを読み込んでから texinfo.tex を読み込むようになっています。 - txi-ja.tex
日本語の翻訳およびフォント定義です。texinfo.tex から呼ばれます。 - short-sample-ja.texi
日本語 texi ファイルのサンプルです。本家 Texinfo の マニュアルにあったサンプルをもとに日本語にしたものです。
また、下記の github リポジトリに、他の日本語 texi ファイルのサンプルや、
実際に生成した PDF なども置いてあります。
https://github.com/trueroad/texinfo-sample-jp
サンプルをコンパイルしてみる
ダウンロードした texinfo.tex, texinfo-ja.tex, txi-ja.tex, short-sample-ja.texi を同じディレクトリに入れて、カレントディレクトにした上で、 下記のように実行すれば PDF ができあがります。
LuaTeX の場合
$ PDFTEX=luatex texi2pdf short-sample-ja.texi
XeTeX の場合
$ PDFTEX=xetex texi2pdf short-sample-ja.texi
その他の texi ファイルをコンパイルする
その他の日本語 texi ファイルは、 以下のように書き換えればコンパイルできると思います。
文字コード
UTF-8 にしてください。 EUC-JP や Shift_JIS (CP932) は使えませんので、 UTF-8 へ変換してください。
行頭
さきほども書きましたが、行頭に
\input texinfo
とあったら、
\input texinfo-ja
へと書き換えてください。 他に、たとえば、
\input texinfo.tex @c -*- coding: utf-8 -*-
のように書いてあった場合は
\input texinfo-ja.tex @c -*- coding: utf-8 -*-
と、texinfo が texinfo-ja になるように書き換えてください。
その他のヘッダ
texinfo-ja の次に、以下のような、 UTF-8 であることを示すコマンドと、 日本語であることを示すコマンドを追加してください。
@documentencoding UTF-8
@documentlanguage ja
もし既に、 @documentencoding コマンドや @documentlanguage コマンドが存在していたら、 上記の内容になるように書き換えてください。
ヘッダの例
すると、texi ファイルの冒頭数行は以下のようになると思います。
\input texinfo-ja
@documentencoding UTF-8
@documentlanguage ja
コンパイル
サンプルと同じようにコンパイルすれば PDF が生成されると思います。