|
14.08.09, Alexey Malistov<CyrTeX-ru@vsu.ru> написал(а):
>
> Я думал, что у Вас всегда две точки после знаков ? и !.
> Вот общее решение (используя \fontdimen3 :))
Да нет, с чего бы :-)
> \catcode`\@=11 % Равносильно \makeatletter
О, действительно, а я и не догадался.
----
Вы настоящий мастер, спасибо. К сожалению, проблемы в закладках
остались "--- там иероглифы. В принципе, жить с этим можно, поскольку
перед публикацией можно поправить закладки руками (программы Foxit
Reader и PDF-XChange Viewer это позволяют). Намного легче поправить
несколько закладок, чем писать в тексте команды вместо "!..", "?.."
Если Вы сможете и последний недостаток исправить "--- будет просто
исполнение мечты. Сам я смог родить только вот это:
___________________________
Пока придумано следующее (нужен пакет ifthen), два варианта:
Можно сделать, чтобы вместо двух точек автоматически стави-
лось троеточие, если здесь не "!" или "?", а что-то другое:
\makeatletter
\def\dotted#1{\ifthenelse{\equal{#1}{?}}{%
?\kern0.42\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font}{\ifthenelse{\equal{#1}{!}}{%
!\kern\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font%
}{#1\dots}}}
\makeatother
\dotted! \dotted? ?\dotted! \dotted99 \dotted7 \dotted7\dotted! и
99\dots
! . . ?. . ?! . . 9. . . 9 7. . . 7. . . ! . . и 99. . .
Либо, чтобы не ставилось ничего:
\makeatletter
\def\dotted#1{\ifthenelse{\equal{#1}{?}}{%
?\kern0.42\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font}{\ifthenelse{\equal{#1}{!}}{%
!\kern\fontdimen3\font
.\kern\fontdimen3\font
.\kern\fontdimen3\font%
}{#1}}}
\makeatother
\dotted! \dotted? ?\dotted! \dotted99 \dotted7 \dotted7\dotted! и
99\dots
! . . ?. . ?! . . 99 7 7! . . и 99. . .
Недостаток такого решения в том, что всё вывернуто наизнанку:
чтобы получить точки ПОСЛЕ, нужно давать команду ДО.
___________________________
Вообще, такая вещь должна быть на СТАНе "--- специфичная для русского
языка, но абсолютно необходимая. Как Вы смотрите на то, чтобы сделать
для СТАНа пакет?
--
С уважением — Эдуард
|
|