MacTex2012で日本語beamer文書のコンパイルエラー

MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
返信数: 7
お世話になります.
ごく最近購入したiMacに最新のMacTeXをインストールしました.これまでと同様に,XeLaTeXを用いた環境を設定し,一応,Emacsのorg-modeから,英語,日本語のpdfを作成できることを確認し,文献の引用もbibtexがちゃんと動くところまで確かめました.しかし,最後のbeamerによる日本語のスライド作成で躓いてしまい,こちらにご相談する次第です.なお,英語のbeamer文書は問題なくコンパイルしてpdfができております.

TeXshopで日本語のbeamer文書をコンパイルすると以下の様なエラーが出ます.これを無視してコンパイルを続けると一応pdfはできますが,かなり見苦しいものになります.

(/usr/local/texlive/2012/texmfdist/tex/latex/l3packages/xtemplate/xtemplate.st
y)
(/usr/local/texlive/2012/texmfdist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
/usr/local/texlive/2012/texmf-dist/tex/xelatex/xecjk/xeCJK.sty:2720: Missing \endcsname inserted.
<to be read again>
                   \char
l.2720   }

TeXWiKiのxeCJKの指示に従い, xeCJK, l3kernel, l3packages をアップデートしてみても,同様のエラーが出ます.どうして,日本語のbeamerにだけ,このエラーが出るのか不思議なんですが,アドバイスをいただければ有難いです.

なお,関係ないと思うのですが,bibtexがちゃんと動くように,
/usr/share/texlive/texmf/web2c/texmf.cnfの中の
openout_any = p を openout_any = r に変更しております.

よろしくお願い申し上げます.

taipapa への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
追加情報です.

日本語beamerファイルの最初には,

%!TEX encoding = UTF-8 Unicode
%!TEX TS-program = XeLaTeX

と書いております.preambleの日本語関連は,

%% JAPANESE SETUP
\usepackage{xltxtra}
\usepackage{zxjatype}

といったところです.

よろしくお願い致します.
taipapa への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- Z. R. の投稿
\usepackage{xltxtra}
\usepackage{zxjatype}

これはプリアンブルの先頭にあるのですか? もしそうでない場合、先頭に持ってくるとどうでしょうか?

Z. R. への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
Z.R.さん,早速のアドバイス有難うございます.

\usepackage{xltxtra}
\usepackage{zxjatype}
これは,プリアンブルの後半においてます.

残念ながら,問題のiMacは職場に有り,週末は使えない状況です.週明けに試して,報告いたします.
taipapa への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
Z.R.さん,遅くなりましたが,前記の件やってみました.
少し長くなります.

\documentclass[svgnames, table, 14pt]{beamer}
\usepackage{xltxtra}
\usepackage{zxjatype}

とdocumentclassのすぐ下に持ってくると下記のようなエラーになります.

ERROR: xeCJK error: "conflict-package"

--- TeX said ---
! The `xltxtra' package is in conflict with xeCJK.
! Please do not use it or load it after xeCJK.
! See the xeCJK documentation for further information.
! Type <return> to continue.
!...............................................  
 
l.2818   }
 
--- HELP ---
From the .log file...

|'''''''''''''''''''''''''''''''''''''''''''''''
| LaTeX does not know anything more about this error, sorry.
| Try typing <return> to proceed.
| If that doesn't work, type X <return> to quit.
|...............................................

そこで,

\documentclass[svgnames, table, 14pt]{beamer}
\usepackage{zxjatype}
\usepackage[hiragino-dx]{zxjafont}
\usepackage{xltxtra}

のようにしてみると,それなりのpdfができるのですが,本来はゴシック体のはずが明朝体になってしまい間延びした感じです.そして,下記のようなエラーが出ます.

ERROR: Undefined control sequence.

--- TeX said ---
l.77 \edef\zxjf@xfeat{Scale=\zxjf@scale
                                       ,\zxjf@feat}
--- HELP ---
TeX encountered an unknown command name. You probably misspelled the
name. If this message occurs when a LaTeX command is being processed,
the command is probably in the wrong place---for example, the error
can be produced by an \item command that's not inside a list-making
environment. The error can also be caused by a missing \documentclass
command.

また,preambleの後半では,以下のようにフォント設定をしており,元々はzxjafontを使用しておりませんでした.

\def\minc{\fontspec[Scale=0.95]{Hiragino Mincho Pro W3}}
\def\bmin{\fontspec[Scale=0.95]{Hiragino Mincho Pro W6}}
\def\bgoth{\fontspec[Scale=0.96]{Hiragino Kaku Gothic Pro W6}}
\def\goth{\fontspec[Scale=0.96]{Hiragino Kaku Gothic Pro W3}}
\def\mgoth{\fontspec[Scale=0.95]{Hiragino Maru Gothic Pro W4}}
%
\def\lucidacal{\fontspec{LucidaCalligraphy-Italic}}
\def\lucidahwl{\fontspec{LucidaHandwriting-Italic}}
\def\chancery{\fontspec{Apple-Chancery}}
\def\chalk{\fontspec{Chalkboard}}
\def\chalkb{\fontspec{Chalkboard-Bold}}
\def\centuryb{\fontspec{CenturyGothic-Bold}}
\def\courier{\fontspec{CourierNewPSMT}}

\setmainfont[Scale=0.95]{Hiragino Kaku Gothic Pro W3} % \rmfamily のフォント
\setsansfont[Scale=0.95]{Hiragino Kaku Gothic Pro W3}            % \sffamily のフォント
%\setmainfont[Scale=0.95]{Hiragino Maru Gothic Pro W4} % \rmfamily のフォント
%\setsansfont[Scale=0.95]{Hiragino Maru Gothic Pro W4}            % \sffamily のフォント
\setmonofont[Scale=MatchLowercase]{CourierNewPSMT}    % \ttfamily のフォント

以上の情報で何かできることはありますでしょうか?
ご教示いただければ幸いです.
#古いパソコンでは,teslive2011で,最初のメールのpreambleでなんのエラーも吐かずにpdfを作成します.
taipapa への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
設定をさらに単純化してみました.

\documentclass[svgnames, table, 14pt]{beamer}
\usepackage{zxjatype}
\usepackage[hiragino-dx]{zxjafont}
\usepackage{xltxtra}

この後のフォント設定の部分(前回投稿に書いてた部分)をすべてコメントアウトしてみました.すると,比較的綺麗なpdfができました.ただ,私の元々の設定では英数字もヒラギノ角ゴシックになっていたのが,Helveticaになっているためか,スライドによっては枠をはみ出ます.しかし,これなら使えそうです.ただ,やはり,エラーを吐きます.

ERROR: Undefined control sequence.

--- TeX said ---
l.77 \edef\zxjf@xfeat{Scale=\zxjf@scale
                                       ,\zxjf@feat}

つまり,前回の投稿後半部のエラーと同じです.
zxjafont.styの77行目の\zxjf@featが未定義という解釈で良いのでしょうか?.
taipapa への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- Z. R. の投稿

すみません。今忙しいので、要点だけ書いておきます。

  • conflict-package のエラーが出るのは実は「想定通り」でした。2818行目でエラーが出るなら、元々の2720行目のエラーは回避できていることが解ります。先頭でも構わないのなら、そうしておきましょうか。
  • xltxtra パッケージは現在では不要なことが多いので、本当に必要か検討した方がいいかも知れません。
  • zxjafont でエラーが出るのは、新しい xeCJK + zxjatype の環境に対応できていないからです。最新の開発版(github)では修正されています。
  • 念のため言っておくと、zxjatype を使っている場合は、フォントは次のように指定します。
    \setsansfont{Helvetica} %「欧文の」\sffamily
    \setjasansfont[Scale=0.95]{Hiragino Kaku Gothic Pro W3} %「和文の」\sffamily
      % BoldFont とかは適宜指定…
    
    そして、(zajatype 併用時の)\usepackage[hiragino-dx]{zxjafont} は実質的に次の命令と同じです。(「和文」の方を設定していることに注意。)
    \setjamainfont[RawFeature=-palt,BoldFont=ヒラギノ明朝 Pro W6]{ヒラギノ明朝 Pro W3}
    \setjasansfont[RawFeature=-palt,BoldFont=ヒラギノ角ゴ Pro W6]{ヒラギノ角ゴ Pro W3}
    
Z. R. への返信

Re: MacTex2012で日本語beamer文書のコンパイルエラー

- taipapa の投稿
Z.R.さん,お忙しい中をわざわざ有り難うございます.頂いたアドバイスに従って,zxjafontをupdateしてから,以下のようにpreambleの最初の部分を設定し,以前のフォント設定は全て削除することにより,ほぼ以前と同等のものが得られるようになり,かつ,エラーも吐かなくなりました.また,仰るように,xltxtra パッケージは不要でした.

------------------------------------------------------------------------------------------
\documentclass[svgnames, table, 14pt]{beamer}
\usepackage{zxjatype}
\usepackage[hiragino-dx]{zxjafont}

\setjamainfont[Scale=0.95,BoldFont=ヒラギノ明朝 Pro W6]{ヒラギノ明朝 Pro W3}
\setjasansfont[Scale=0.95,BoldFont=ヒラギノ角ゴ Pro W6]{ヒラギノ角ゴ Pro W3}
------------------------------------------------------------------------------------------

zxjatype 併用しているので,RawFeature=-paltのオプションで等幅にする設定をわざわざ書かなくても,上記の指定で十分なわけですね.

これで,英数字の部分がhelvetica (?)っぽくなり,以前より引き締まった感じがするようになり,むしろ改善しました.設定も簡単になり,良い事ずくめです.

Z.R.さん,いつも本当に有難うございます.今回も非常に助かりました.