Lista de Discussão CyrTeX-ru@vsu.ru Mensagem #1149
De: regonly.noreply <CyrTeX-ru@vsu.ru>
Assunto: Исправить пробел в датах вида "1945 г."
Data: Wed, 25 Mar 2009 20:06:23 +0300
Para: <CyrTeX-ru@vsu.ru>
Добрый день!

Не нравится мне, что в автоматически проставляемых датах,
например, \today и \displaydate{PubDate} (пакет datetime) про-
бел между годом и буквой "г." (1945 г.) слишком широкий.
Хочется полупробел "\,". Кроме того, он почему-то ещё и растя-
гивается, что выглядит в некоторых строках очень плохо, хотя
определён он как нерастяжимый "~" в соотв. файлах.
"PubDate" "--- это дата публикачии, которую я хочу автомати-
чески подставить на титул, в колонтитулы, свойства PDF и т. д.:

\usepackage{datetime} % ЗАГРУЖАТЬ ПОСЛЕ babel!
\newdate{PubDate}{12}{03}{2009}

Я нашёл, где это определяется:
==========================================
В бабеле:

\def\daterussian{%
      \def\today{\number\day~\ifcase\month\or
 \cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or
 \cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or
 \cyrm\cyra\cyrr\cyrt\cyra\or
 \cyra\cyrp\cyrr\cyre\cyrl\cyrya\or
 \cyrm\cyra\cyrya\or
 \cyri\cyryu\cyrn\cyrya\or
 \cyri\cyryu\cyrl\cyrya\or
 \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or
 \cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or
 \cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or
 \cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or
 \cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi
 \  \number\year~\cyrg.}}

В dt-russian.def:

\DeclareRobustCommand*\daterussian{%
\renewcommand{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\number\@day~\monthnamerussian[\@month]\ \number\@year~\cyrg.}}

==========================================
Пытаюсь в преамбуле  переопределить:

\addto{\daterussian}{\renewcommand*{\daterussian}{%
      \def\today{\number\day~\ifcase\month\or
 \cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or
 \cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or
 \cyrm\cyra\cyrr\cyrt\cyra\or
 \cyra\cyrp\cyrr\cyre\cyrl\cyrya\or
 \cyrm\cyra\cyrya\or
 \cyri\cyryu\cyrn\cyrya\or
 \cyri\cyryu\cyrl\cyrya\or
 \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or
 \cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or
 \cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or
 \cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or
 \cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi
 \  \number\year\,\cyrg.}}}

\makeatletter
\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\number\@day~\monthnamerussian[\@month]\ \number\@year\,\cyrg.}
\selectlanguage{russian}
\makeatother

но эффект проявляется только для \today, для команд пакета datetime
никакой разницы нет.

Не поможете разобраться?

С уважением, neGODnick
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mensagem para o Administrador da Lista