Mailing List CyrTeX-ru@vsu.ru Message #1553
From: neGODnick <CyrTeX-ru@vsu.ru>
Subject: Re: Re[10]: Восклицательный и вопросительный знаки с точками --- как набирать?
Date: Fri, 14 Aug 2009 21:54:55 +0400
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
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. . .

Недостаток такого решения в том, что всё вывернуто наизнанку:
чтобы получить точки ПОСЛЕ, нужно давать команду ДО.

___________________________


Вообще, такая вещь должна быть на СТАНе "--- специфичная для русского
языка, но абсолютно необходимая. Как Вы смотрите на то, чтобы сделать
для СТАНа пакет?


--
С уважением — Эдуард
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster