kia999 / babel-russian

Russian language module for Babel package for LaTeX system of typesetting
8 stars 1 forks source link

Redefine \cyrdash #4

Open kia999 opened 3 years ago

kia999 commented 3 years ago

В результате бурного обсуждения с участием Ольги Георгиевны Лапко и Вячеслава Андреева созрело решение изменить определение команды \cyrdash и сделать \cyrdash синонимом команды \textemdash. В текущей и предыдущих версиях команда \cyrdash определена как фейк, если этой команды нет в текущей кодировке:

\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}`.

Она есть только в кодировках T2A, T2B, T2C, X2. Для этих кодировок используются шрифты семейства LH или cm-super, в которых тире несколько короче, чем в латинских шрифтам CM. Отсюда возник миф, что русское тире должно быть на 20\% короче латинского. Указанное выше фейковое определение команды \cyrdash формирует тире длиной 0.8em, при том что в шрифтах CM длина тире 1em. Однако в других шрифтах длина тире может быть совершенно другой. Поэтому, имея ввиду то разнообразие шрифтов, которое позволяют использовать новые компиляторы xelatex и lualatex, лучше брать тире из шрифта. Следовательно, нужно определить \cyrdash так:

\let\cyrdash=\textemdash

Вероятно, следует предусмотреть опцию, которая имитирует прежнее определение \cyrdash.

LSinev commented 3 years ago

Возможно, этот https://github.com/kia999/babel-russian/blob/master/russianb.dtx#L958-L967 кусок документации тоже стоит обновить в связи с произошедшими изменениями.