Mailing List CyrTeX-ru@vsu.ru Message #532
From: Sergej V. Znamenskij <CyrTeX-ru@vsu.ru>
Subject: Re: endfloat по-русски
Date: Mon, 11 Aug 2008 13:58:45 +0400
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
Здравствуйте все!

On Thursday 07 August 2008 09:40, Evgeny M. Baldin wrote:
> Добрый день
>
>   Может кто знает: а что делает команда \T2A? Я уже не первый раз на
> неё натыкаюсь, в смысле когда возникают проблемы с поддержкой кириллицы.

Нет такой команды.

>   endfloat для перемещения картинок создаёт файл с расширением fff и в
> качестве подписи вместо скажем слова "проба" добавляет
>
>   \T2A\cyrp \T2A\cyrr \T2A\cyro \T2A\cyrb \T2A\cyra

Обратите внимание на пробелы между командами с непривычными именами:
\T2A\cyrp     \T2A\cyrr   \T2A\cyro   \T2A\cyrb   \T2A\cyra


>   Причём если в caption написать
>
>   \cyrp\cyrr\cyro\cyrb\cyra
>
>   то проблем не возникает. То есть все проблемы возникают из-за лишнего
> \T2A.

Увы, но чтобы избавиться от лишнего \T2A нужно чтобы \efloat@iwrite было
inputenc-совместимо переписано.

>   Код, который этим занимается в endfloat.sty:
>
> \def\figure{%
>       \efloat@condopen{fff}
>       \efloat@iwrite{fff}{\string\begin{figure*}}%
>      \if@domarkers%
>         \addtocounter{postfig}{1}% % bj
>         \figureplace%              % bj
>      \fi%
>      \def\@currenvir{efloat@float}%
>      \begingroup%
>      \let\do\ef@makeinnocent \dospecials%
>      \ef@makeinnocent\^^L% and whatever other special cases
>      \endlinechar`\^^M \catcode`\^^M=12 \ef@xfigure}%
> \def\efloat@foundend#1#2{\def\next{\endgroup\end{efloat@float}%
>            \efloat@iwrite{#1}{\string\end{#2}}%
>            \efloat@iwrite{#1}{\string\efloatseparator}%
>            \efloat@iwrite{#1}{ }}}%
> {\catcode`\^^M=12 \endlinechar=-1 %
>   \gdef\ef@xfigure#1^^M{\def\test{#1}%
>        \ifx\test\ef@endfiguretest
>             \efloat@foundend{fff}{figure*}
>        \else\ifx\test\ef@enddblfiguretest
>             \efloat@foundend{fff}{figure*}
>        \else%
>            \efloat@iwrite{fff}{#1}%
>            \let\next\ef@xfigure%
>        \fi \fi \next}%
> }%
>
> За запись текста, похоже отвечает вот это:
>
>     \ef@makeinnocent\^^L% and whatever other special cases
>      \endlinechar`\^^M \catcode`\^^M=12 \ef@xfigure}%
>
> Может быть есть команда, которая кириллицу переводит в строку вида:
> \cyrp\cyrr\cyro\cyrb\cyra? Тогда в подобных случаях можно было бы
> поставить костыль.
Есть и она используется в стандартном latex. Только ее сложно разыскать и
подключить.
Но может быть стоит просто записать в начало файла

\def\T#1#2{}

чтобы лишние \T2A исчезали бесследно? Разумеется, других определений \T
в документе быть не должно.

> С уважением
>   Евгений
>
> P.S. Пакетов, которые автоматически размещали картинке в конце статьи
> кроме endfloat не встречал.
>
> On Thu, 7 Aug 2008, Андрей Панов wrote:
> > On 7 августа 2008, Evgeny M. Baldin wrote:
> >> Добрый день
> >>
> >>   А можно чуть подробнее: что значит не работают с русским?
> >
> > Выдаются ошибки типа
> >
> > ! Undefined control sequence.
> > l.5 \T
> >       2A\cyra
> >
> > на этапе обработки файла с перечнем подписей рисунков.
> >
> >>   Освежил в памяти как правила подготовки статей для издательства МАИК
> >> Интерпериодика - там картинки в конце просто размещаются руками в
> >> соответсвии с шаблоном.
> >
> > Да, только указанные пакеты делают это автоматически.

--
 С уважением,
 С.В. Знаменский

---
Сергей Витальевич Знаменский <svz@latex.pereslavl.ru>
 
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster