|
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 "--- тогда русское тире можно
будет набирать так, а перед обычными словами расставлять тильды. Это
уже возня вручную :—(
Если ничего придумать не получится, ну что ж...
--
С уважением — Эдуард
|
|