LINUX.ORG.RU

TeX за*@ал!!!!


0

0

Проблема состоит в следующем: никак не хочет ТеХ переносить слова. Хотя я делал texconfig и писал в language.dat ссылку на файл ruhyphen.tex ( файл есть, где ему положено - в /usr/share/texmf/tex/generic/ruhyphen ), да и texconfig радостно заявил, что все прошло без ошибок.

Более того, при запуске самого ТеХ'-а появляется нечто такое:

Babel <v3.7h> and hyphenation patterns for american, british, russian, nohyphenation, loaded.

А переносов нет НИГДЕ!!!

Дак какого ж х**а этой твари еще надо ?! ( замучил меня уже - я с ним неделю уже ???сь, а толку -нихрена !!!)

P.S. Все это происходит в Debian woody ( хотя, как я понимаю, это не существенно )

anonymous

Не за*@ал, а в консерватории криво.

Woody -- существенно/не существенно, не знаю. Однако teTeX, начиная от Slackware 3.5 никаких проблем с переносами не имеет.

> Babel <v3.7h>

На v3.6x никаких проблем нет. Сломали в нестабильном woody?

C \hyphenpenalty играть не пробовал?

По поводу "нет переносов" -- как проверял?

Давай подробнее и с самого начала: что и как делал, лог сборки тестового документа.

> замучил меня уже - я с ним неделю уже ???сь, а толку -нихрена

А это не мсворд, тут знания нужны хотя бы в объеме книги Гуссенс/Миттельбах/Самарин.

Obidos ★★★★★
()

\usepackage[russian]{babel} в заголовке есть? Там есть \sloppy и \fussy (первая несколько ослабляет стандарты, а вторая отменяет действие первой). Действуют они на абзац. Можно еще в заголовке написать \hyphenation{спи-сок слов с ти-ре там где мож-но пе-ре-но-сить}. Кроме того, в \documentclass можно указать опцию draft - там, где тех не знает как слово перенести он будет черту на полях ставить.

Dimai
()

Проверял очень просто - в действии: беру файл и говорю

latex referat.tex

после чего dvips referat.dvi -o referat.ps и смотрю, чего выйдет.

А выходит то, что нигде нет переносов!

А теперь более подробно. Документ имеет примерно такой вид:

\documentclass[draft]{article}

\usepackage[koi8-r]{inputenc}

\usepackage[russian]{babel}

\begin{document}

А здесь некоторый текст на русском языке.

\end{document}

Лог такой:

This is TeX, Version 3.14159

LaTeX2e <2001/06/01>

Babel <v3.7h> and hyphenation patterns for american, british, russian, nohyphenation, loaded.

(./referat.tex (/usr/share/texmf/tex/latex/base/article.cls

Document Class: article 2001/04/21 v1.4e Standard LaTeX document class

(/usr/share/texmf/tex/latex/base/size10.clo))

(/usr/share/texmf/tex/latex/base/inputenc.sty

(/usr/share/texmf/tex/latex/cyrillic/koi8-r.def))

(/usr/share/texmf/tex/generic/babel/babel.sty

(/usr/share/texmf/tex/generic/babel/russianb.ldf

(/usr/share/texmf/tex/generic/babel/babel.def)

(/usr/share/texmf/tex/latex/cyrillic/t2aenc.def)))

No file referat.aux.

(/usr/share/texmf/tex/latex/cyrillic/t2acmr.fd)

Overfull \hbox (26.02728pt too wide) in paragraph at lines 25--34

\T2A/cmr/m/n/10 ГЮЛЕМХРЭ ВЕЛ-КХАН ДПСЦХЛ, МНБЛЕЯРЕ Я РЕЛ ХУ ОПХЛЕМХЛНЯРЭ Б ЙБЮМ РНБНИ РЕНПХХ НЦПЮМХВЕМЮ ЯННРМНЬЕМХЕЛ|

........................ и в том же духе ( поскольку нет переносов, то и получается переполнение )

Если вставить

\documentclass[draft]{article}

то черта получается возле _каждого_ слова, которое, по идее, надо переносить.

На

%---------------------------%----------------------------------%----- \hyphenation{пред-по-ло-же-ние,ма-те-риа-лис-ти-чес-кий,экс-пе-ри-мент}

%---------------------------%----------------------------------%-----

реакция вот такая

%---------------------------%----------------------------------%----- ! Improper \hyphenation will be flushed. <recently read> \def l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed. <recently read> \?\cyrp l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed.

\T2A-cmd ...r \def \csname ?\string #1\endcsname { \TextSymbolUnavailable #1}...

l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed.

\GenericError ->\protect \GenericError l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed.

\GenericError #1#2#3#4->\begingroup \immediate \write \@unused \def \Mess... l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed.

\GenericError #1#2#3#4->\begingroup \immediate \write \@unused \def \Mess...

l.8 \hyphenation{п ред-по-ло-же-ние, ма-те-риа-лис-ти-чес-кий, экс-пе-ри-мент}

! Improper \hyphenation will be flushed. \GenericError ...->\begingroup \immediate \write \@unused \def \MessageBr... %---------------------------%----------------------------------%-----

В общем, на каждую букву такие ругательства.

Дальше TeX совсем идет в разнос и вставляет $, там, где не надо: %--------------------------------%-----------------------------------%

Первая группа неточностей позволяет представить результат наблюдения в математическом формализме квантовой механики - сопоставить экспериментальной ситуации вектор состояния или волновую функцию \footnote{Для простоты предполагается, что описание ведется с максимально возможной в рамках квантовой механики полнотой. В более общем случае описание осуществляется с помощью матрицы плотности\cite{tutorials}}

%--------------------------------------------------------------------%

! Missing $ inserted. <inserted text> $ l.138 ... состояния или волновую функцию\footnote{ Для ! Missing number, treated as zero. <to be read again> \ l.138 ... состояния или волновую функцию\footnote{ Для ! Illegal unit of measure (pt inserted). <to be read again> \ l.138 ... состояния или волновую функцию\footnote{ Для ! Extra }, or forgotten $. \@textsuperscript ...{\fontsize \sf@size \z@ #1}}} } l.138 ... состояния или волновую функцию\footnote{ Для ! Extra }, or forgotten $. \@textsuperscript ...\fontsize \sf@size \z@ #1}}}} l.138 ... состояния или волновую функцию\footnote{ Для ! Extra }, or forgotten $. \@makefnmark ...script {\normalfont \@thefnmark }} l.138 ... состояния или волновую функцию\footnote{ Для ! Missing $ inserted. <inserted text> $

Потом, естественно, это приводит к ошибкам в формулах ( но они _ТОЧНО_ написаны правильно, когда нет \hyphenation{.....} , с формулами полный порядок)

Вот такое у меня веселье.....

2 Odibos: Набирать статьи в M$ Word?! Я не мазохист!!

anonymous
()

> Набирать статьи в M$ Word?! Я не мазохист!!

Это когда я подобную чушь сказал???

По делу: А если написать преамбулу так:

\documentclass[a4paper,12pt]{article}
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[russian]{babel}
\sloppy % IMHO, ключевой затык был здесь
\begin{document}
%собственно документ

Obidos ★★★★★
()

Похоже, я разобрался.

Надо было всего одну строчку закомментировать в файле ruhyphen.tex

%--------------------------------%-----------------------------------

\begingroup

% Please uncomment the encoding and pattern value you need before

% creating a new format file containing Russian hyphenation patterns:

\ifx\Encoding\undefined

\def\Encoding{t2a}

%\def\Encoding{ucy}

%\def\Encoding{lcy}

%\def\Encoding{ot2}

%\def\Encoding{koi}

% !!!! ВОТ ИМЕННО ИЗ-ЗА НЕЕ ВСЕ И НЕ РАБОТАЛО !!!!! \fi

\ifx\Pattern\undefined

%\def\Pattern{al}

\def\Pattern{as}

%\def\Pattern{ct}

%\def\Pattern{dv}

%\def\Pattern{vl}

%\def\Pattern{zn}

\fi

\input catkoi

\input koi2\Encoding

% Перекодируем hyphenation patterns из koi8-r (в которой они хранятся)

% в используемую TeX'-ом кодировку. Если не закомментировать

% злоплучную строчу \def\Encoding{koi}, то в итоге мы получим

% просто тождественное преобразование. Конечно, переносов при этом

% не будет!

\input ruhyph\Pattern

%-----------------------------------------%------------------------%

При такой переделке все заработало ( и без \sloppy )

P.S. m$ word'-у до TeX'-a - как до Киева раком. Ни перекрестных ссылок, ни нумерации формул, разделов. Да и сами формулы набирать в этом "чуде" довольно тяжко.

Может быть, конечно, что мне так кажется потому, что я сначала научился работать с UNIX ( Solaris ) и TeX, а потом уже встретил МелкоМягкое Слово

anonymous
()

В \hyphenation не надо в список слов запятые вставлять... Слова разделяются ПРОБЕЛАМИ.

Dimai
()

Про запятые: не помогает. Т.е. переносы теперь есть ( хвала Богам!!), но если я хочу добавить слова, которые ТеХ "не знает" ( в основном это физические термины ), то всякий текст, набранный не латиницей, вызывает сообщение об ошибках. Почему - я еще не разобрался. Может кто знает?

anonymous
()

А \hyphenation стоит до babel или после? (А также inputenc)? Он в лог
пишет про подключенные языки... Логично указывать
\usepackage[koi8-r]{inputenc}
\usepackage[t2a]{fontenc}
\usepackage[russian,english]{babel}
\hyphenation{}
\begin
У меня, по крайней мере, пашет...
Вообще рекомендую заглянуть на http://xtalk.msk.su (Домашняя страничка
Бориса Тоботраса) - там есть перевод Not too short introduction to
LaTeX (я, наверное, уже достал всех рекламой этой книжки, но она IMHO
совсем не плоха):))))

Dimai
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.