|
Уважаемый neGODnick!
"neGODnick" <CyrTeX-ru@vsu.ru> san wrote at :
> Во-вторых, длина задана жёстко, а в таком случае надо, чтобы
> промежуток был растяжимым, как обычные пробелы. Но если задать 1ex
> plus 1pt minus 1pt, то слова ?plus 1pt minus 1pt? будут напечатаны
> в тексте! (Какой, кстати должен быть правильный размер и клей для
> пробела?)
Значение размерности приобретают выражения, как ?plus 1pt minus 1pt?,
только когда они следуют за \hskip, \fill, и т.п.,
лишь по отношению к размерным регистрам.
"neGODnick" <CyrTeX-ru@vsu.ru> san wrote at :
> 2. Если \labelsep не равен нулю, то перед русским тире "---
> получается лишний пробел. Если же обнулить \labelsep, то придётся
Посмотрите на дефиниции \@Adash, \@Cdash в файле russian.ldf.
У "--- есть \hskip.2em перед \cyrdash, так являет "лишний пробел".
Попробуйте следующий документ:
%-- test code ------------------
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\begin{document}
\parindent=0pt\relax%
Before:
\begin{description}
\item[Это] "--- русское тире.
\item[Это] "--* русское тире для прямой речи.
\end{description}
% in original russianb.ldf
% "--- <русское тире>:
% \def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
% \cyrdash\hskip.2em\ignorespaces}% ~~~~~~~~~~+->"лишний пробел"
% "--* <русское тире для прямой речи>:
% \def\@Ccdash{\leavevmode
% \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
% +-> nothing ~~~~~~~~~~~+-> spacing after тире
% Now we re-define "--- <русское тире>:
\makeatletter
\def\@Acdash{%
\ifdim\lastskip>\z@\unskip\nobreak\fi% "\hskip.2em" by "\fi" deleted
\cyrdash\hskip.2em\ignorespaces}%
\makeatother
After:
\begin{description}
\item[Это] "--- русское тире.
\item[Это] "--* русское тире для прямой речи.
\end{description}
\end{document}
%-------------------------------
С уважением,
Isao Yasuda.
E-Mail: isao@yasuda.homeip.net
|
|