XeLaTeX覚書:多言語環境で部分的に日本語を使おう!
多言語環境でTeXを使える、XeTeXというものがあります。
XeTeX - Wikipedia
下の写真を見てもらえばわかると思うのですが、多言語環境を一つのPDFで実現できる中々のスグレモノです。
今回、僕の目的はギリシャ語・日本語混じり文をTeXで生成することなので、『部分的に』日本語であればOKです。
upLaTeXとかいうpTeXの進化系を使ってもギリシャ語TeXは出来るらしいのですが、設定がゴチャゴチャしていて面倒そうだったので、
(少なくともUbuntu上では)設定のスッキリしているXeLaTeXを用いることにしました。
XeTeX - Wikipedia
Wikipedia上にあるサンプルコードを回してみます(↓)
\documentclass[11pt]{article} \usepackage{fontspec} \setmainfont[Ligatures=TeX]{Linux Libertine O} \begin{document} \section{Unicode support} \subsection{English} All human beings are born free and equal in dignity and rights. \subsection{Íslenska} Hver maður er borinn frjáls og jafn öðrum að virðingu og réttindum. \subsection{Русский} Все люди рождаются свободными и равными в своем достоинстве и правах. \subsection{Tiếng Việt} Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền lợi. \subsection{Ελληνικά} Ὅλοι οἱ ἄνθρωποι γεννιοῦνται ἐλεύθεροι καὶ ἴσοι στὴν ἀξιοπρέπεια καὶ τὰ δικαιώματα. \section{Legacy syntax} When he goes---``Hello World!''\\ She replies—“Hello dear!” \section{Ligatures} \fontspec[Ligatures={Common, Historical}]{Linux Libertine O Italic} Questo è strano assai! \section{Numerals} \fontspec[Numbers={OldStyle}]{Linux Libertine O}Old style: 1234567\\ \fontspec[Numbers={Lining}]{Linux Libertine O}Lining: 1234567 \end{document}
"Linux Libertine O"というフォントが必要そうだったので、
Ubuntu – Package Search Results -- linux-libertine
から必要なフォントを確認し、インストール
$ sudo apt-get install fonts-linuxlibertine
XeLaTeXを走らせると、一気にpdfファイルまで作ってくれます。
$ xelatex hoge.tex $ evince hoge.pdf
出来てます。
では、今度は日本語の項目も追加してXeLaTeXを走らせてみます。
日本語部分が文字化け、表示されません。。。
今回は部分的に日本語が使えればOKなので、\newfontfamilyで日本語フォント(Ubuntuに入ってたもの)を定義してやります。
もっと簡単に出来るらしい(追記参考)
... \usepackage{fontspec} \setmainfont[Ligatures=TeX]{Linux Libertine O} \newfontfamily\ja{IPAPMincho} % ここに一行追加した \begin{document} ... % 使うときは {\ja 〜文章〜 }のようにして使う {\ja ああああ \section{{\ja 日本語}} すべての人類は尊厳と権利において、生まれながらにして平等かつ自由である。 } ...
これで日本語が部分的に使えるようになりました。
追記
どうやらXeLaTeX で日本語を使うなら、zxjatype.sty
ZXjatype パッケージ ~XeLaTeX でまともな日本語組版を~ [電脳世界の奥底にて]
を使うと良いらしい。
早速試したところ、プリアンプルに
\usepackage{zxjatype} \setjamainfont{IPA明朝}
を加えるだけで日本語が自由に使えるようになった。