次の LaTeX コードをコンパイルするとエラーが発生します:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Code2000}
\begin{document}
abc
\end{document}
エラー:
\Undefined control sequence \setmainfont{Code2000}
私はUbuntu 12.04とKileバージョン2.1.0を使用しています。KDE開発プラットフォーム4.8.5(4.8.5)を使用しています。
texlive-full
パッケージをインストールしましたfontspec
。
コマンドが認識されないのは、何が欠けているのでしょうか\setmainfont
?
ログファイルは以下の通りです。
This is XeTeX, Version 3.1415926-2.2-0.9995.2 (TeX Live 2009/Debian) (format=xelatex 2014.3.20) 20 MAR 2014 20:00
entering extended mode
%&-line parsing enabled.
**demo_unicode4.tex
(./demo_unicode4.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, farsi, arabic, croatian, bulgarian, ukrainian, russian, czech, slov
ak, danish, dutch, finnish, french, basque, ngerman, german, german-x-2009-06-1
9, ngerman-x-2009-06-19, ibycus, monogreek, greek, ancientgreek, hungarian, san
skrit, italian, latin, latvian, lithuanian, mongolian2a, mongolian, bokmal, nyn
orsk, romanian, irish, coptic, serbian, turkish, welsh, esperanto, uppersorbian
, estonian, indonesian, interlingua, icelandic, kurmanji, slovenian, polish, po
rtuguese, spanish, galician, catalan, swedish, ukenglish, pinyin, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texmf-texlive/tex/xelatex/fontspec/fontspec.sty
Package: fontspec 2008/08/09 v1.18 Advanced font selection for XeLaTeX
(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2009/01/23 v0.5 Provides ifxetex conditional
)
\c@zf@newff=\count88
\c@zf@index=\count89
\c@zf@script=\count90
\c@zf@language=\count91
(/usr/share/texmf-texlive/tex/latex/longtableswas/calc.sty
Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
\calc@Acount=\count92
\calc@Bcount=\count93
\calc@Adimen=\dimen103
\calc@Bdimen=\dimen104
\calc@Askip=\skip43
\calc@Bskip=\skip44
LaTeX Info: Redefining \setlength on input line 76.
LaTeX Info: Redefining \addtolength on input line 77.
\calc@Ccount=\count94
\calc@Cskip=\skip45
)
(/usr/share/texmf-texlive/tex/latex/xkeyval/xkeyval.sty
Package: xkeyval 2008/08/13 v2.6a package option processing (HA)
(/usr/share/texmf-texlive/tex/generic/xkeyval/xkeyval.tex
\XKV@toks=\toks14
\XKV@tempa@toks=\toks15
\XKV@depth=\count95
File: xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
(/usr/share/texmf-texlive/tex/generic/xkeyval/keyval.tex)))
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
(/usr/share/texmf-texlive/tex/xelatex/euenc/eu1enc.def
File: eu1enc.def 2008/03/08 v0.1d Experimental unicode font encoding
)
LaTeX Font Info: Try loading font information for EU1+lmr on input line 100.
(/usr/share/texmf-texlive/tex/xelatex/euenc/eu1lmr.fd
File: eu1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
))
LaTeX Info: Redefining \itshape on input line 1163.
LaTeX Info: Redefining \slshape on input line 1166.
LaTeX Info: Redefining \scshape on input line 1169.
LaTeX Info: Redefining \upshape on input line 1172.
fontspec.cfg loaded.
(/usr/share/texmf-texlive/tex/xelatex/fontspec/fontspec.cfg))
(./demo_unicode4.aux)
\openout1 = `demo_unicode4.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for EU1/lmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
Package fontspec Info: Adjusting the maths setup (use [no-math] to avoid this).
on input line 4.
\symlegacymaths=\mathgroup4
LaTeX Font Info: Overwriting symbol font `legacymaths' in version `bold'
(Font) OT1/cmr/m/n --> OT1/cmr/bx/n on input line 4.
LaTeX Font Info: Redeclaring math accent \acute on input line 4.
LaTeX Font Info: Redeclaring math accent \grave on input line 4.
LaTeX Font Info: Redeclaring math accent \ddot on input line 4.
LaTeX Font Info: Redeclaring math accent \tilde on input line 4.
LaTeX Font Info: Redeclaring math accent \bar on input line 4.
LaTeX Font Info: Redeclaring math accent \breve on input line 4.
LaTeX Font Info: Redeclaring math accent \check on input line 4.
LaTeX Font Info: Redeclaring math accent \hat on input line 4.
LaTeX Font Info: Redeclaring math accent \dot on input line 4.
LaTeX Font Info: Redeclaring math accent \mathring on input line 4.
LaTeX Font Info: Redeclaring math symbol \colon on input line 4.
LaTeX Font Info: Redeclaring math symbol \Gamma on input line 4.
LaTeX Font Info: Redeclaring math symbol \Delta on input line 4.
LaTeX Font Info: Redeclaring math symbol \Theta on input line 4.
LaTeX Font Info: Redeclaring math symbol \Lambda on input line 4.
LaTeX Font Info: Redeclaring math symbol \Xi on input line 4.
LaTeX Font Info: Redeclaring math symbol \Pi on input line 4.
LaTeX Font Info: Redeclaring math symbol \Sigma on input line 4.
LaTeX Font Info: Redeclaring math symbol \Upsilon on input line 4.
LaTeX Font Info: Redeclaring math symbol \Phi on input line 4.
LaTeX Font Info: Redeclaring math symbol \Psi on input line 4.
LaTeX Font Info: Redeclaring math symbol \Omega on input line 4.
LaTeX Font Info: Redeclaring math symbol \mathdollar on input line 4.
LaTeX Font Info: Redeclaring symbol font `operators' on input line 4.
LaTeX Font Info: Encoding `OT1' has changed to `EU1' for symbol font
(Font) `operators' in the math version `normal' on input line 4.
LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
(Font) OT1/cmr/m/n --> EU1/lmr/m/n on input line 4.
LaTeX Font Info: Encoding `OT1' has changed to `EU1' for symbol font
(Font) `operators' in the math version `bold' on input line 4.
LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
(Font) OT1/cmr/bx/n --> EU1/lmr/m/n on input line 4.
LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
(Font) EU1/lmr/m/n --> EU1/lmr/m/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal'
(Font) EU1/lmr/m/n --> EU1/lmr/m/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal'
(Font) OT1/cmr/m/it --> EU1/lmr/m/it on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal'
(Font) OT1/cmr/bx/n --> EU1/lmr/bx/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal'
(Font) OT1/cmss/m/n --> EU1/lmss/m/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal'
(Font) OT1/cmtt/m/n --> EU1/lmtt/m/n on input line 4.
LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
(Font) EU1/lmr/m/n --> EU1/lmr/bx/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold'
(Font) EU1/lmr/m/n --> EU1/lmr/bx/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
(Font) OT1/cmr/bx/it --> EU1/lmr/bx/it on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
(Font) OT1/cmss/bx/n --> EU1/lmss/bx/n on input line 4.
LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
(Font) OT1/cmtt/m/n --> EU1/lmtt/bx/n on input line 4.
! Font \zf@basefont=Code2000 at 10.0pt not loadable: Metric (TFM) file or insta
lled font not found.
\zf@fontspec ...ntname \zf@suffix " at \f@size pt
\unless \ifzf@icu \zf@set@...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
! Undefined control sequence.
\zf@set@font@type ...onttype \zf@basefont \zf@tfm
\or \zf@atsuitrue \ifnum \...
l.5 \setmainfont{Code2000}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Font \zf@basefont=Code2000 at 10.0pt not loadable: Metric (TFM) file or insta
lled font not found.
\zf@fontspec ...ntname \zf@suffix " at \f@size pt
\fi \zf@firsttimetrue \zf@...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
\c@zf@famc@Code2000=\count96
Package fontspec Info: Defining font family for 'Code2000' with options [] on i
nput line 5.
! Font \@tempfontb=Code2000 at 10.0pt not loadable: Metric (TFM) file or instal
led font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempb {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
! Font \@tempfonta=Code2000 at 10.0pt not loadable: Metric (TFM) file or instal
led font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempa {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
! Font \@tempfontb=Code2000/B at 10.0pt not loadable: Metric (TFM) file or inst
alled font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempb {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
Package fontspec Info: Could not resolve font Code2000/B (it might not exist) o
n input line 5.
! Font \@tempfonta=Code2000 at 10.0pt not loadable: Metric (TFM) file or instal
led font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempa {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
! Font \@tempfontb=Code2000/I at 10.0pt not loadable: Metric (TFM) file or inst
alled font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempb {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
Package fontspec Info: Could not resolve font Code2000/I (it might not exist) o
n input line 5.
! Font \@tempfonta=Code2000 at 10.0pt not loadable: Metric (TFM) file or instal
led font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempa {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
! Font \@tempfontb=Code2000/BI at 10.0pt not loadable: Metric (TFM) file or ins
talled font not found.
\\zf@make@font@shapes ...f@suffix " at \f@size pt
\edef \@tempb {\fontname \...
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
Package fontspec Info: Could not resolve font Code2000/BI (it might not exist)
on input line 5.
! Font EU1/Code2000(0)/m/n/10=Code2000: at 10.0pt not loadable: Metric (TFM) fi
le or installed font not found.
<to be read again>
relax
l.5 \setmainfont{Code2000}
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
Missing character: There is no a in font nullfont!
Missing character: There is no b in font nullfont!
Missing character: There is no c in font nullfont!
Missing character: There is no 1 in font nullfont!
[1
] (./demo_unicode4.aux)
*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
fontspec.sty 2008/08/09 v1.18 Advanced font selection for XeLaTeX
ifxetex.sty 2009/01/23 v0.5 Provides ifxetex conditional
calc.sty 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
xkeyval.sty 2008/08/13 v2.6a package option processing (HA)
xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
fontenc.sty
eu1enc.def 2008/03/08 v0.1d Experimental unicode font encoding
eu1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
fontspec.cfg
***********
)
Here is how much of TeX's memory you used:
2186 strings out of 494665
44134 string characters out of 1166477
121792 words of memory out of 3000000
5460 multiletter control sequences out of 15000+50000
3648 words of font info for 15 fonts, out of 3000000 for 9000
669 hyphenation exceptions out of 8191
27i,4n,27p,449b,142s stack positions out of 5000i,500n,10000p,200000b,50000s
Output written on demo_unicode4.pdf (1 page).
答え1
質問の最初のバージョンは、未定義のコマンドエラーがあると特定しましたが、どのコマンドが未定義であるかを示していなかったため、誤解を招くものでした。エラーは
! Undefined control sequence.
\zf@set@font@type ...onttype \zf@basefont \zf@tfm
\or \zf@atsuitrue \ifnum \...
l.5 \setmainfont{Code2000}
したがって、未定義のコマンドは です\zf@tfm
。
ただし、このエラーは、本質的には最初のエラーで停止しないことによって発生する偽の内部エラーです。(エラーをスクロールして通過するときの TeX の回復アクションは、多くの場合特に役に立たず、多くの偽のエラーを引き起こすだけです)。
最初に報告されたエラーは
! Font \zf@basefont=Code2000 at 10.0pt not loadable: Metric (TFM) file or insta
lled font not found.
\zf@fontspec ...ntname \zf@suffix " at \f@size pt
\unless \ifzf@icu \zf@set@...
l.5 \setmainfont{Code2000}
Code2000
これは、Tex が期待する場所にフォントがインストールされていないか、まったくインストールされていないため、フォントが見つからないことを意味します。
答え2
問題は実際には2つありました。
- 私のシステムには、
fontspec
(パッケージに含まれている)の古いバージョンがありました。texlive-xetex
- code2000 パッケージがシステムに存在しませんでした。
1. システムに最新バージョンの fontspec がインストールされていることを確認します。
\listfiles
コードにコマンドを含めると、の正しいバージョンをトレースするのに役立ちますfontspec.sty
。ログ ファイルには次の情報が記載されています。fontspec.sty 2008/08/09 v1.18 Advanced font selection for XeLaTeX –
次のステップは、fontspecの最新バージョンをダウンロードすることです。
texlive-xetex
リポジトリから最新のパッケージをインストールします。XeTeXのインストールと使用パッケージをインストールします。
2. code2000 パッケージをインストールします。
- それぞれのリンクからパッケージをダウンロードしてくださいhttp://www.fonts2u.com/code2000.font
- コピー先
/usr/share/fonts/
fc-cache -fv
フォントリストを更新します。
これでコードがコンパイルされました。
答え3
フォント仕様パッケージに苦労していて、「未定義の制御シーケンス」エラーが継続的に発生する場合、これを解決するために私が見つけた方法があります。
私の場合、数時間後に、問題は Lyx やプリアンブルの定義ではないことが分かりました。問題の原因は MiKTeX です。そのためには、使用しようとしているパッケージを更新する必要がある場合があります。
MiKTeX の更新に移動し、ソースを更新 -> 次の場所からパッケージを取得します... 最も近いパッケージ リポジトリを使用します -> 次へ エラーの原因となっている fontspec パッケージを選択します -: 次へ パッケージが更新されます -> lyx を開いて、このひどいエラーの後に再び生活を楽しんでください ;)