2009/01/11

LyX に挑戦 その3

そろそろLyXネタも大詰めになってまいりました.今回は,LyXによる日本語スライドの作成について.

用意するもの:
1.日本語TeX環境
2.LyX
3.beamer, xcolor, pgf(前回の記事参照)


みなさんご存知のように(?),TeXから日本語PDFを作る場合,
a) platex → dvipsk → ps2pdf (or Adobe Distiller)
b) platex → dvipdfm(x)
の2通りがありまして,PSTrickとの相性の関係でProsperやらPowerdotでは前者が推奨されていたような気がします.ただ今回LyXを通してa) の方法を使うと(僕の環境に特有の問題かもしれませんが),

・ps2pdf で日本語が全部無視される(原因不明,PSまでは正しく変換される)
・Distiller ではしおりが文字化け(bkmk2uniを使えば解決?)

という問題が起こってしまったので,b)の方法を使います.こんな少ない情報ですが,解決策に心あたりのある方は教えていただけるとうれしいです.


さて,LyXから dvipdfmx を使ってPDFを作る場合,もともと入っているレイアウトファイル(beamer.layout)を使って,言語設定を日本語にするだけでいいかなと思っていましたが,それはどうやら大きな間違いなようで,かなり手こずってしまいました.結局のところ,すべての問題は beamer がpdflatex を前提に作られているところに起因するので,クラスファイルのパラメータ調整をうまくやってやる必要があります.


そこで,以下のような(文法がよくわからないのであまりうまく書けてませんが...)レイアウトファイルを作って,layoutsフォルダに入れます.名前は,jbeamer.layout とでもしましょう.


-- jbeamer.layout ---------------------

# \DeclareLaTeXClass[beamer,pgf.sty,xcolor.sty]{presentation (beamer in Japanese)}
# Author : Kenji Sato

# This style provides japanese features
Provides japanese 1

# Input general definitions
Input beamer.layout

ClassOptions
Other dvipdfm
End

Preamble

\usepackage{geometry}
\geometry{verbose,paperwidth=128mm,paperheight=96mm}

\newcommand\makebeamertitle{\frame{\maketitle}}%
\AtBeginDocument{
\let\origtableofcontents=\tableofcontents
\def\tableofcontents{%
  \@ifnextchar[{\origtableofcontents}{\gobbletableofcontents}}
\def\gobbletableofcontents#1{\origtableofcontents}
}

\ifnum 42146=\euc"A4A2
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}
\else
\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\fi

%% Gothic fonts for Kanji character
\renewcommand{\kanjifamilydefault}{gt}

EndPreamble

---------------------------------------


こいつを読み込んで(必要であれば,ツール→最初期設定),新しく作ったスライド文書のクラスをpresentation (beamer in Japanese) としてやります.必要なら言語設定その他もきちっと調整します.プリアンブルには,以下のように適当に書き込みます.好きなように.


------------

%% Theme
\usetheme{Boadilla}

%% Math Fonts
\usefonttheme{professionalfonts}

%% Transparency
\setbeamercovered{transparent=10}

\usepackage{graphicx}
\usepackage{amsmath,amssymb}

------------




あとは,スライドを作って,『表示→PDF(dvipdfm)』でコンパイルすればしおりもきちんと表示されてでてくると思います.あらゆる(Win)環境で同じように動くかどうかについては断言できません.


補足1:

ここまでやってから言うのも何ですが,beamerをLyXで使うのはあまり得策ではないような気がします.アニメーションをコントロールするコマンドの,LyXでの実現がまだ不完全に思えるからです.これから開発が進むのを期待しましょう.


補足2:

LyX + beamer で数式を使う場合,『文書→設定→数式オプション』で,「esintパッケージを自動的に使う」の設定をはずしておくほうがいいようです.積分記号を入力しようとすると,フォントサイズの関係でエラーがでます.

0 件のコメント: