LINUX.ORG.RU

latex переносы


0

0

Почему latex не делает русские переносы, пока ему яв\-но не по\-ка\-жешь, где их можно делать. Я искал в гугле, сделал всё как пишут.

В .tex файле прописано

\usepackage[russian,english]{babel}

В language.dat добавил строчки:

=russian
ruseng ruenhyph

Сделал texconfig init, там всё обновилось, но переносы latex делать не научился... Как можно исправить?

P. S. Slackware 12.2 + tetex.
У меня всё в utf-8, я менял на koi8-r — не помогло.


И да, отсутствие переносов говорит только о том, что тех не находит файл с переносами (ruhyphen). Смотри логи, может чего не обновил. tetex'а под рукой нет, куда смотреть не подскажу.

vaulter
()
Ответ на: комментарий от vaulter

Нет, спасибо. Перейти на texlive и др. не предлагать.

paxac
() автор топика
Ответ на: комментарий от vaulter

> И да, отсутствие переносов говорит только о том, что тех не находит файл с переносами (ruhyphen).

$ find . -name '*ruenhyph*'
./tex/generic/ruhyphen/ruenhyph.tex

paxac
() автор топика
Ответ на: комментарий от paxac

./tex/generic/ruhyphen/ruenhyph.tex

Не файла не существует, а тех не находит. Там черт ногу сломит в том, как оно ищет нужное :/

Честно не помню как оно в tetex, но должен быть файлик «ls-R» где-то в недрах /usr/share/texmf. Вот в нём и надо искать этот ruhyphen.

vaulter
()
Ответ на: комментарий от vaulter

> Честно не помню как оно в tetex, но должен быть файлик «ls-R» где-то в недрах /usr/share/texmf. Вот в нём и надо искать этот ruhyphen.

В ls-R тоже он есть. И в логе я посмотрел — там ошибок нет никаких.

paxac
() автор топика
Ответ на: комментарий от vaulter

Я недавно в отной теме спрашивал какую-нибудь статейку, где бы было описана внутренняя структура latex, каталогов, как он ищет файлы и т.д. Тогда никто не отвестил, может сейчас кто-нибудь знает такое? Из всех *nix программ наверно только tex отличается (непонятно зачем нужной) сложностью внутреннего устройства — «черный ящик», ей богу.

paxac
() автор топика
Ответ на: комментарий от paxac

Фу... Оказывается вся эта «мультиязычность» не работает! Строка

\usepackage[russian,english]{babel}

говорит не то, чтобы использовать и русские и английские переносы, а то, что использовать только _английские_. Т. е. берется тот язык, который стоит последним. Стоит заменить эту строку на

\usepackage[english,russian]{babel}

или, что ТОЖЕ САМОЕ

\usepackage[russian]{babel}

как русские переносы заработали. А вот как одновремнно научить его английскому и русскому моему разуму не понять... Пробовал

ruseng ruenhyph

с последующим прописыванием

\usepackage[ruseng]{babel}

но сразу вылетает

! Package babel Error: Language definition file ruseng.ldf not found.

и потом еще куча ошибок. Ж*па!

paxac
() автор топика
Ответ на: комментарий от paxac

Одновременно? Емнип, переключение между языками осуществляется специальной командой, а mixed-mode там нету.

nnz ★★★★
()
Ответ на: комментарий от anonymous

>Use Polyglossia

А она же вроде только с XeLaTeX'ом работает, не?

К тому же, в ней нет команды \asbuk, чтобы делать перечисления русскими буквами.

По крайней мере, так было в TeXLive 2008.

srj ★★
()
Ответ на: комментарий от nnz

Емнип, переключение между языками осуществляется специальной командой, а mixed-mode там нету.

Дело в том, что английские переносы не включаются и командой \selectlanguage{english}. Какой-то глюк tetex'а.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от paxac

> Я недавно в отной теме спрашивал какую-нибудь статейку, где бы было описана внутренняя структура latex, каталогов,

Внутренняя структура TeX Directory Structure aka TDS - достаточно набрать запрос в google ftp://ftp.tug.org/tex/tds/tds.pdf

как он ищет файлы

Поиском занимается библиотека kpathsea http://www.tug.org/kpathsea/

и т.д.

А вот по поводу и т.д. затрудняюсь что-либо сказать

Из всех *nix программ наверно только tex отличается (непонятно зачем нужной) сложностью внутреннего устройства — «черный ящик», ей богу.

Из всех программ (не только unix) tex - самая документированная программа. Только читать надо уметь.

Evgueni ★★★★★
()
Ответ на: комментарий от nnz

> Одновременно? Емнип, переключение между языками осуществляется специальной командой, а mixed-mode там нету.

А зачем тогда допустимы команды типа

\usepackage[english,russian]{babel}

?? Вроде бы я читал, что babel с какой-то там версии может одновременно подключать перносы от разных языков — их то в квадратных скобках и указываешь.

paxac
() автор топика
Ответ на: комментарий от paxac

А зачем тогда допустимы команды типа

\usepackage[english,russian]{babel}

?? Вроде бы я читал, что babel с какой-то там версии может одновременно подключать перносы от разных языков — их то в квадратных скобках и указываешь.

Теоретически для всех языков, указанных в квадратных скобках, в момент запуска латеха должны подключиться правила переноса (инклюдами), язык, стоящий последним будет считаться основным, а переключиться на английский можно командами \selectlanguage{english}, \English или просто \Eng.

А вот в tetex-е у нас с вами это почему-то не работает. Какая у вас версия tetex'а? У меня

rpm -q tetex-latex
tetex-latex-3.0-47mdv2009.0

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

а переключиться на английский можно командами \selectlanguage{english}, \English или просто \Eng.

Спасибо большое, дошло. Попробую (сейчас пока времени нет).

Какая у вас версия tetex'а?

$ ls /var/log/packages/tetex*
/var/log/packages/tetex-3.0-i486-5  /var/log/packages/tetex-doc-3.0-i486-5
paxac
() автор топика
Ответ на: комментарий от paxac

Спасибо большое, дошло. Попробую (сейчас пока времени нет).

Только, как я говорил выше, в этом tetex'е такие команды почему-то не работают.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от srj

> в ней нет команды \asbuk

Легко переносится из misccorr.

Sphinx ★★☆☆
()
Ответ на: комментарий от Eddy_Em

Только, как я говорил выше, в этом tetex'е такие команды почему-то не работают.

У меня работает. (tetex-3.0)

paxac
() автор топика
Ответ на: комментарий от paxac

У меня работает. (tetex-3.0)

Т.е. после команды \Eng переносы расставляются правильно? Хм, надо посмотреть, что у меня не так. Может быть, какой-нибудь из подключаемых пакетов выпендривается.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Т.е. после команды \Eng переносы расставляются правильно?

Я языки объявлял в порядке [russian,english]. Командой \selectlanguage{russian} включал русский, \selectlanguage{english} английский.

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