Mailing List CyrTeX-ru@vsu.ru Message #1499
From: neGODnick <CyrTeX-ru@vsu.ru>
Subject: Re: Настроить labelsep в description
Date: Fri, 3 Jul 2009 00:55:45 +0400
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
02.07.09, Isao YASUDA<CyrTeX-ru@vsu.ru> написал(а):
> Что вы хотите, уничтожить "лишний пробел" команды "--- ?
> или сделать "--- тем же, как "--* ?

Собственно, ни то, ни другое. Надо, чтобы если после метки был обычный
пробел (одинарный, обычного размера) независимо от того, что идёт в
коде после метки ---

\item[метка] слово через пробел
\item[метка] "--- русское тире

Тут на ум приходят такие пути:

1. Изменить самО русское тире, убрав пробельчик перед ним "--- что Вы и сделали.
2. Научить метку распознавать русское тире и убирать в этом случае
ненужный пробел.
3. Научить labelsep обнуляться, если после метки идёт русское тире.

Я пробовал так:

\makeatletter
\renewcommand*\descriptionlabel[1]%
{\hspace\labelsep\normalfont\bfseries  #1%
\@ifnextchar"{\hspace{0ex}}{\hspace{1ex}}}

\renewenvironment{description}{%
\list{}{%
\labelwidth\z@
\itemindent-\leftmargin
\labelsep=0ex% здесь уберём доп. отступ после метки
\let\makelabel\descriptionlabel}%
}%
{\endlist}
\makeatother

но видимо знак " не распознаётся командой \@ifnextchar

> Собственно, думаю, "--- это нечто иное, как "--*.
>

Конечно, разные вещи и оба очень нужны.

> \begin{description}
> \def\skraju{\hskip0pt\relax}
> \item[Это]  \skraju{}"---  русское тире. С краю"--- да, внутри "--- увы.
> \item[Это]  "--*  русское тире для  прямой  речи. С краю"--- да,
> внутри "--- увы.
> \end{description}

Ну, можно так, а можно обнулить labelsep "--- тогда русское тире можно
будет набирать так, а перед обычными словами расставлять тильды. Это
уже возня вручную :—(
Если ничего придумать не получится, ну что ж...

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