今さら人に聞けない「日本語でBeamer」のキホン

More than 1 year has passed since last update.

「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文書と同じ扱いになる。


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で開く)を参照されたい。




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で開く)を参照されたい。



  • 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


欧文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





  1. というか、現在のminijsパッケージはupLaTeXには非対応である。ただし、近い将来に対応が予定されている。ただし、upLaTeXでのBeamer文書でminijsを読み込む必要性は、私はあまりないと思う。