Тот же бред сейчас. Мало того, при компиляции раз пять скачивает и устанавливает fontspec и раза три euenc. Хотя все работало прекрасно. Это я позавчера MikTeX обновил.
-- Ср июн 23, 2010 06:57:45 --Вроде уже все в порядке, перестал скачивать пакеты.
Проблема локализована.
Код:
\! Undefined control sequence.
<argument> ..." at \f@size pt \zf@check@ot@script
{cyrl}\if@tempswa \addfont...}
производит cyrl, а
Код:
! Undefined control sequence.
<argument> ...ewfontfamily }\fi \zf@check@ot@lang
{RUS}\if@tempswa \addfontf...
производит RUS.
Будем разбираться.
-- Ср июн 23, 2010 07:03:43 --Ага, понятно. В папке fontspec у меня файл следующего содержания:
- This is XeTeX, Version 3.1415926-2.2-0.9995.1 (MiKTeX 2.8) (preloaded format=xelatex 2010.3.19) 30 MAR 2010 21:36
- entering extended mode
- **fontspec.sty
- ("D:\Program Files\MiKTeX 2.8\tex\xelatex\fontspec\fontspec.sty"
- LaTeX2e <2009/09/24>
- Babel <v3.8l> and hyphenation patterns for english, dumylang, nohyphenation, ge
- rman, ngerman, german-x-2009-06-19, ngerman-x-2009-06-19, french, russian, ukra
- inian, loaded.
-
- LaTeX Warning: You have requested package `',
- but the package provides `fontspec'.
-
- Package: fontspec 2008/08/09 v1.18 Advanced font selection for XeLaTeX
- ("D:\Program Files\MiKTeX 2.8\tex\latex\ifxetex\ifxetex.sty"
- Package: ifxetex 2009/01/23 v0.5 Provides ifxetex conditional
- )
-
- ! LaTeX Error: Missing \begin{document}.
-
- See the LaTeX manual or LaTeX Companion for explanation.
- Type H <return> for immediate help.
- ...
-
- l.19 \newif\ifzf@
- firsttime
- ? x
-
- Here is how much of TeX's memory you used:
- 22 strings out of 430209
- 432 string characters out of 3187417
- 45444 words of memory out of 3000000
- 3292 multiletter control sequences out of 15000+200000
- 3640 words of font info for 14 fonts, out of 3000000 for 9000
- 198 hyphenation exceptions out of 8191
- 12i,0n,7p,105b,14s stack positions out of 5000i,500n,10000p,200000b,50000s
- No pages of output.
Разбираемся дальше...
-- Ср июн 23, 2010 07:22:26 --Ага, ну это ничего страшного.
Страшно другое. В новой версии fontspec этих двух команд просто нет! Хотя вот
тут про них пишут (стр. 45), то есть раньше они были.
Короче говоря, надо ждать новую версию пакета polyglossia.
А пока она не вышла, использовать как временное решение следующий кусок кода в преамбуле (вырезано из вышеприведенного руководства
):
\makeatletter
\newcommand\zf@check@ot@script[1]{%
\zf@iv@strnum{#1}%
\@tempcntb\XeTeXOTcountscripts\zf@basefont
\c@zf@index\z@ \@tempswafalse
\loop\ifnum\c@zf@index<\@tempcntb
\ifnum\XeTeXOTscripttag\zf@basefont\c@zf@index=\@tempcnta
\@tempswatrue
\c@zf@index\@tempcntb
\else
\advance\c@zf@index\@ne
\fi
\repeat}
\newcommand\zf@check@ot@lang[1]{%
\zf@iv@strnum{#1}%
\@tempcntb\XeTeXOTcountlanguages\zf@basefont\c@zf@script
\c@zf@index\z@ \@tempswafalse
\loop\ifnum\c@zf@index<\@tempcntb
\ifnum\XeTeXOTlanguagetag\zf@basefont\c@zf@script\c@zf@index=\@tempcnta
\@tempswatrue
\c@zf@index\@tempcntb
\else
\advance\c@zf@index\@ne
\fi
\repeat}
\newcommand\zf@iv@strnum[1]{%
\zf@iv@strnum@i#1 \@nil}
\def\zf@iv@strnum@i#1 \@nil{%
\zf@iv@strnum@ii#1\@empty\@empty\@nil}
\def\zf@iv@strnum@ii#1#2#3#4#5\@nil{%
\@tempcnta\z@
\@tempcntb`#1\relax
\multiply\@tempcntb"1000000\advance\@tempcnta\@tempcntb
\@tempcntb`#2
\multiply\@tempcntb"10000\advance\@tempcnta\@tempcntb
\expandafter\@tempcntb\ifx\@empty#332\else`#3\fi
\multiply\@tempcntb"100\advance\@tempcnta\@tempcntb
\expandafter\@tempcntb\ifx\@empty#432\else`#4\fi
\advance\@tempcnta\@tempcntb}
\newcommand\zf@v@strnum[1]{%
\expandafter\zf@iv@strnum@i\@gobble#1 \@nil}
\makeatother