Имеется обычный русский текст, переносы расставлены автоматически. При
этом символ переноса (дефис) примерно на половину выступает за правую
"границу", за край выровненного по ширине текста. (Это правильное и
нормальное явление, называется висячая пунктуация. См. здесь например
http://www.artlebedev.ru/kovodstvo/sections/120/ ). Когда я задаю
переносы вручную с помощью команды \hyphenation (например
\hyphenation{пер-вую}) то тоже все прекрасно, поведение не изменяется.
ОДHАКО если я расставляю переносы непосредственно в тексте с помощью
сочетания символов \- (например пер\-вую), то получившийся перенос
перестает выступать, "свисать" с правой границы текста.
если из преамбулы убрать \defaulthyphenchar=127 то вообще ВСЕ переносы
переместятся "внутрь текста", перестанут "свисать" за правую
границу.
Иллюстрация: http://img155.imageshack.us/img155/2434/22692981zm9.gif
Пример документа:
---------------------------------------------------
\documentclass{article}
\lccode`\-=`\- % для переноса составных слов - никак не
влияет на "висячесть".
\defaulthyphenchar=127
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english, russian]{babel}
\begin{document}
% Hормальная линия переносов справа
\noindent приборостроение приборостроение приборостроение
приборостроение приборостроение
приборостроение приборостроение приборостроение приборостроение
приборостроение
приборостроение приборостроение приборостроение приборостроение
приборостроение
% переносы расставлены вручную - линия неправильная
\noindent фывфывфывфывф ывфывфывфывфывфывфыв тц\-тц\-тц\-тц\-тц\-тц\-тц
\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-
тц\-тц
тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц
\-тц\-тц\-тц\-тц\-тц\-тц\-тц\-тц
% переносы заданы правилом - линия правильная
\hyphenation{тц-тц-тц-тц-тц-тц-тц-тц-тц-тц-тц}
\noindent фывфывфывфывф ывфывфывфывфывфывфыв тцтцтцтцтцтцтцтцтцтцтц
тцтцтцтцтцтцтцтцтцтцтц тцтцтцтцтцтцтцтцтцтцтц тцтцтцтцтцтцтцтцтцтцтц
тцтцтцтцтцтцтцтцтцтцтц
\end{document}
------------------------------------------
ЗЫ. Использую MikTeX 2.7.
--
С уважением,
Дмитрий Морозов
DM> ОДHАКО если я расставляю переносы непосредственно в тексте с
DM> помощью сочетания символов \- (например пер\-вую), то
DM> получившийся перенос перестает выступать, "свисать" с правой
DM> границы текста.
from the TeXbook:
\danger The most common case of a discretionary break is a simple
discretionary hyphen
\begintt
\discretionary{-}{}{}
\endtt
for which \TeX\ accepts the abbreviation `^|\-|'. The next most common case is
т.е. \- эквивалентно \discretionary{-}{}{} а этот символ (-, код 45) не "висячий".
чтобы исправить, напишите:
\protected\def\-{\ifnum\hyphenchar\font>0\discretionary{\char\hyphenchar\font}{}{}\fi}
(\protected используется "на всякий случай", и является фичей eTeX, и
скорее всего будет работать во всех современных дистрибутивах TeX,
включая MikTeX; если в какомто дистрибутиве LaTeX все еще не основан
на eTeX, то \protected можно убрать, или использовать
\DeclareRobustCommand).
DM> если из преамбулы убрать \defaulthyphenchar=127 то вообще ВСЕ
DM> переносы переместятся "внутрь текста", перестанут "свисать" за
DM> правую границу.
это ожидаемое явление. именно символ с кодом 127 является висячим переносом.
Best,
v.
--
О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫