「Beamerで日本語を無事に扱う」ためにプレアンブルに書くべき設定内容を、各種エンジン(とDVIウェアの組合せ)の各々について示す。
前提
- “日本語でない”(欧文の)Beamer文書の作り方については、余裕で解っているものとする。
- “Beamerでない”(article系などの)日本語LaTeX文書の作り方については、余裕で解っているものとする。
- 動作確認はTeX Live 2015(最終版)および2016(2016-07-20時点)で行った。
pLaTeXの場合
dvipdfmxを使う場合
pLaTeX+dvipdfmx用のテンプレート
% pLaTeX文書; 文字コードはいつも通り
\documentclass[dvipdfmx,12pt]{beamer}% dvipdfmxしたい
\usepackage{bxdpx-beamer}% dvipdfmxなので必要
\usepackage{pxjahyper}% 日本語で'しおり'したい
\usepackage{minijs}% min10ヤダ
\renewcommand{\kanjifamilydefault}{\gtdefault}% 既定をゴシック体に
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
platex slide.tex
platex slide.tex
dvipdfmx slide.dvi
- ドライバオプション
dvipdfmx
をグローバルに指定する。 - bxdpx-beamer が必要な理由は、以下を参照。
- pxjahyper が必要な理由は、以下を参照。簡単にいうと、PDFの文書情報(しおり)に含まれる日本語文字を正常に扱うためである。
- minijs が必要な理由は、以下を参照。
- Beamerでは通例サンセリフ体の欧文フォントが用いられるので、それに調和させるため、和文フォントをゴシック体にしたい。そのため
\kanjifamilydefault
を再設定する。- もし欧文をセリフ体にする(
\usefonttheme{serif}
)のであれば、この再設定は不要である。
- もし欧文をセリフ体にする(
dvipsを使う場合
pLaTeX+dvips用のテンプレート
% pLaTeX文書; 文字コードはいつも通り
\documentclass[dvips,12pt]{beamer}% dvipsしたい
\usepackage{minijs}% min10ヤダ
\renewcommand{\kanjifamilydefault}{\gtdefault}% 既定をゴシック体に
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
platex slide.tex
platex slide.tex
dvips slide.dvi
convbkmk -g -O slide.ps
ps2pdf slide.ps
- ドライバオプション
dvips
をグローバルに指定する。 - minijs が必要な理由は、以下を参照。
- 和文フォントをゴシック体にするため
\kanjifamilydefault
を再設定する。 - 文書情報に含まれる日本語文字を正常に扱うために、convbkmk コマンドを実行する。(pxjahyperはdvipdfmx専用。)
- convbkmk コマンドを実行するには、Rubyがインストールされている必要がある。
- convbkmk の詳細については、以下の記事を参照されたい。
convbkmkコマンドの使い方 覚え書き - もし
-g
で失敗する場合は、-s
や-e
を試すとよい。
- もちろん、ps2pdf ではなく Distiller を利用してPDFに変換することもできる。
和文フォントの種類
使用される(PDFに埋め込まれる)和文フォントの種類については、通常のpLaTeX文書と同じ扱いになる。
- つまり、DVIウェアで設定された和文フォントが使われる。
- 通常のTeX Liveの運用では、kanji-config-updmapコマンドの設定に従う。
- 通常のpLaTeX文書と同様にOTFパッケージやpxchfonパッケージが利用できる。
upLaTeXの場合
基本的にpLaTeXの場合と同じ。ただしminijsの読込は不要なので書かない1。
dvipdfmxを使う場合
upLaTeX+dvipdfmx用のテンプレート
% upLaTeX文書; 文字コードはUTF-8
\documentclass[dvipdfmx,12pt]{beamer}% dvipdfmxしたい
\usepackage{bxdpx-beamer}% dvipdfmxなので必要
\usepackage{pxjahyper}% 日本語で'しおり'したい
\renewcommand{\kanjifamilydefault}{\gtdefault}% 既定をゴシック体に
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
uplatex slide.tex
uplatex slide.tex
dvipdfmx slide.dvi
dvipsを使う場合
upLaTeX+dvips用のテンプレート
% upLaTeX文書; 文字コードはUTF-8
\documentclass[dvips,12pt]{beamer}% dvipsしたい
\renewcommand{\kanjifamilydefault}{\gtdefault}% 既定をゴシック体に
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
uplatex slide.tex
uplatex slide.tex
dvips slide.dvi
convbkmk -u -O slide.ps
ps2pdf slide.ps
- convbkmkのオプションは
-u
とする。
LuaLaTeX + LuaTeX-jaの場合
LuaLaTeX用のテンプレート
% LuaLaTeX文書; 文字コードはUTF-8
\documentclass[unicode,12pt]{beamer}% 'unicode'が必要
\usepackage{luatexja}% 日本語したい
\usepackage[ipaex]{luatexja-preset}% IPAexフォントしたい
\renewcommand{\kanjifamilydefault}{\gtdefault}% 既定をゴシック体に
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
lualatex slide.tex
lualatex slide.tex
- 文書情報に含まれる日本語文字を正常に扱うために、
unicode
オプションを与える。- 実はこれはhyperrefパッケージに対する指定である。
- 和文フォントをゴシック体にするため
\kanjifamilydefault
を再設定する。 - luatexja-presetパッケージのオプションで使用する和文フォントを選択できる。
- 詳しくはLuaTeX-jaのマニュアル(
texdoc luatexja
で開く)を参照されたい。
- 詳しくはLuaTeX-jaのマニュアル(
XeLaTeX + zxjatypeの場合
XeLaTeX用のテンプレート
\documentclass[unicode,12pt]{beamer}
\usepackage{zxjatype}
\usepackage[ipaex]{zxjafont}
\usetheme{Copenhagen}
コンパイル手順
xelatex slide.tex
xelatex slide.tex
- 文書情報に含まれる日本語文字を正常に扱うために、
unicode
オプションを与える。 -
zxjafontパッケージのオプションで使用する和文フォントを選択できる。
- 詳しくはzxjafontのマニュアル(
texdoc zxjafont
で開く)を参照されたい。
- 詳しくはzxjafontのマニュアル(
- zxjatypeにおいては、欧文がサンセリフに切り替わると和文は常に自動的にゴシックに切り替わる。
pdfLaTeX + bxcjkjatypeの場合
pdfLaTeX用のテンプレート
% pdfLaTeX文書; 文字コードはUTF-8
\documentclass[unicode,12pt]{beamer}% 'unicode'が必要
\usepackage[whole,autotilde]{bxcjkjatype}% pdfLaTeXで日本語したい
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
pdflatex slide.tex
pdflatex slide.tex
-
bxcjkjatypeパッケージは、CJKutf8パッケージを利用して日本語組版を行うためのものである。詳しくは以下の記事を参照されたい。
- pdfLaTeX + CJK パッケージで日本語する方法
- 文書情報に含まれる日本語文字の処理はCJKutf8が行っている。
- bxcjkjatypeにおいては、欧文がサンセリフに切り替わると和文は常に自動的にゴシックに切り替わる。
- 和欧文間空白(“四分空き”)を
~
で挿入するためautotilde
オプションを用いている。- 詳細は先述の記事にある通り。
- 四分空きを入れない設定については以下の記事を参照。
欧文LaTeX + bxcjkjatypeの場合
bxcjkjatypeに関する設定はpdfLaTeXと同様、DVIウェアに関する設定は(u)pLaTeXと同様になる。「文書情報中の日本語の取扱」はbxcjkjatype(CJKutf8)が行っている。
dvipdfmxを使う場合
LaTeX+dvipdfmx用のテンプレート
% 欧文LaTeX文書; 文字コードはUTF-8
\documentclass[dvipdfmx,unicode,12pt]{beamer}
\usepackage[whole,autotilde]{bxcjkjatype}
\usepackage{bxdpx-beamer}% dvipdfmxなので必要
% あとは欧文の場合と同じ
\usetheme{Copenhagen}
コンパイル手順
latex slide.tex
latex slide.tex
dvipsを使う場合
LaTeX+dvips用のテンプレート
% 欧文LaTeX文書; 文字コードはUTF-8
\documentclass[dvips,unicode,12pt]{beamer}
\usepackage[whole,autotilde]{bxcjkjatype}
\usetheme{Copenhagen}
コンパイル手順
latex slide.tex
latex slide.tex
dvips slide.dvi
ps2pdf slide.ps
-
というか、現在のminijsパッケージはupLaTeXには非対応である。ただし、近い将来に対応が予定されている。ただし、upLaTeXでのBeamer文書でminijsを読み込む必要性は、私はあまりないと思う。 ↩