LINUX.ORG.RU

[LaTeX][utf8] Это нормально что в 2011 году оно до сих пор не переваривает utf8?

 ,


0

1
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{pscyr}
\usepackage{extsizes} 

\hyphenation{Офи-ги-тель-но-длин-ное-сло-во}

Package: `setspace' 6.7 <2000/12/01>
) (/usr/share/texmf-texlive/tex/latex/tools/indentfirst.sty))
! Improper \hyphenation will be flushed.
<recently read> \def 
                     
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
<recently read> \?\CYRO 
                        
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}

и как с этим бороться?
? 
! Improper \hyphenation will be flushed.
\T2A-cmd ...r \def \csname ?\string #1\endcsname {
                                                  \TextSymbolUnavailable #1}...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
\GenericError ...@ \else 6\fi \endcsname \protect 
                                                  \GenericError  
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
\GenericError  #1#2#3#4->\begingroup 
                                     \immediate \write \@unused   \def \Mess...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
\GenericError  #1#2#3#4->\begingroup \immediate 
                                                \write \@unused   \def \Mess...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
\GenericError  ...->\begingroup \immediate \write 
                                                  \@unused   \def \MessageBr...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Not a letter.
\GenericError  ...roup \immediate \write \@unused 
                                                    \def \MessageBreak  
 \s...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Improper \hyphenation will be flushed.
\GenericError  ...oup \immediate \write \@unused  
                                                   \def \MessageBreak  
 \se...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! LaTeX Error: Command \CYRO unavailable in encoding OT1.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Extra \endgroup.
\GenericError  ...                      \endgroup 
                                                  
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Too many }'s.
\T2A-cmd ...\endcsname {\TextSymbolUnavailable #1}
                                                  \fi \global \expandafter \...
l.7 \hyphenation{О
                   фи-ги-тель-но-длин-ное-сло-во}
? 
! Too many }'s.
l.7 ...-тель-но-длин-ное-сло-во}
                                                  
? 

И как с этим бороться?

★★★★★

Последнее исправление: Siado (всего исправлений: 1)

А есть хоть одна причина использовать UTF с латехом? Все эти умляуты с аксантегю неплохо набираются средствами самого теха, как и куча всего другого.

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

Конечно есть - у меня все в UTF-8 и мне не хочется иметь зоопарк с кодировками.

Все эти умляуты с аксантегю неплохо набираются средствами самого теха


Это про то, чтобы в тексте документа набивать «пе\-ре\-нос» ? Зак запариться можно во всем документе слово это заменять.

Siado ★★★★★
() автор топика

> Это нормально что в 2011 году оно до сих пор не переваривает utf8?

Это нормально, что в 2011 году ты не в курсе про XeTeX и polyglossia и пользуешься костылями с непонятной лицензией вроде pscyr?

reader
()
Ответ на: Я не очень в теме от GotF

Ну вообще была идея, но на сколько я понял - там набор команд неплохо так отличается от мейнстрима(LaTeX), под него гораздо меньше доп.модулей. Да и нет сейчас времени что-то новое изучать, но думаю раз такая беда с utf8 но после того как закончу работу думаю вполне возьмусь за что-то более современное.

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

Читай выше

и пользуешься костылями с непонятной лицензией вроде pscyr?


А что тут поделать, если надо? :)

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

> но думаю раз такая беда с utf8 но после того как закончу работу думаю вполне возьмусь за что-то более современное.

Странный человек: один раз настроить свой любимый редактор на нужную кодировку или написать простенький скрипт, который будет перекодировать тебе текст из одной кодировки в другую тебе влом, а изучать еще один непонятный клон теха — не влом.

Раньше я писал кириллические тексты в LaTex в koi8-r и нахожу, что это намного проще, чем возиться с непонятными utf глюками.

annoynimous ★★★★★
()

[troll-mode]
А вот я сижу себе на КОИ8-Р, и проблем никаких не знаю. Правда, сейчас начал с gtk ковыряться - вот там появились сложности с локализацией. Но это тоже легко решается - вся локализация «скидывается» в один заголовочный файл в дебильном юникоде, а остальные спокойненько пишутся в родной кодировке.
[/troll-mode]

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

Эээ ниче не настраивал, залепил только \usepackage[russian]{babel} и все.
Переносы-то у меня работают, только некоторые слова не переносятся.

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

Хотя вот тут мне он подсказывает, что для TexLive оно уже не нужно

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

А ты уверен, что должны? Вроде, там есть какие-то тонкости с запретом переносов в слове в конце абзаца и страницы.

annoynimous ★★★★★
()

\hyphenation нужно внутри \begin{document} писать, не?

У меня всё работает:

\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

\begin{document}

\section{Без установки переносов}

Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль

\hyphenation{Эйя-фьял-ла-йо-кудль}

\section{С установкой переносов}

Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль

\end{document}

Выдаётся:

1 Без установки переносов

Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эй-
яфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйя-
фьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьял-
лайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллай-
окудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль

2 С установкой переносов

Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйя-
фьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьял-
лайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьялла-
йокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайо-
кудль Эйяфьяллайокудль Эйяфьяллайокудль Эйяфьяллайокудль
static_lab ★★★★★
()
Ответ на: комментарий от Siado

>но на сколько я понял - там набор команд неплохо так отличается от мейнстрима(LaTeX), под него гораздо меньше доп.модулей.

Модули те же, что и под LaTeX, причём те, которыми приходилось пользоваться, прекрасно работают в XeLaTeX. Диплом сверстался без каких-либо проблем.

По поводу набора команд: всё «неплохое отличие» сводится к паре модулей для использования TTF/OTF шрифтов и polyglossia. В случае использования babel и других пакетов, использующих команды \cyr.* нужно подключить xecyr.

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

P.S.

\usepackage{extsizes}

Это нормально, что в 2011 году используют этот пакет вместо Koma-script и других современных классов?

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

>А ты уверен, что должны? Вроде, там есть какие-то тонкости с запретом переносов в слове в конце абзаца и страницы.

Точно должны. Например такая конструкция:

[code]
$A−$элементов, которые
[/code]

выдает:
[code]
$A−$элементов|здесь вылаз за лист
которые
[/code]

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

За-то при конструкции эле\-мен\-тов все прекрасно работает.

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

>>Это нормально, что в 2011 году используют этот пакет вместо Koma-script и других современных классов?

А у него на лбу написано что он протух?

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

>без pscyr работает, работает ли с ним, не знаю. А оно тебе вообще надо?

Вырубил pscyr не заработало.

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

Хмм, ну вообще говорят в преамбуле надо, но проверил как у тебя и все заработало, но то слово не перенеслось -_-

Siado ★★★★★
() автор топика

Разобрался в чем беда

Переносы не работают у меня в таких случаях:

 
Розенблатта\cite{Rosenblatt1959}
$A-$элементов

Оно думает, что это слитные слова и не знает как переносить.

Со вторым случаем лучше сделать так:

 
$A$---элементов

И все заработает, а вот как у первого отделить библиографию но не оставить пробела?

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

Хмм, ну вообще говорят в преамбуле надо

http://en.wikibooks.org/wiki/LaTeX/Formatting#Hyphenation

The hyphenation hints are stored for the language that is active when the hyphenation command occurs. This means that if you place a hyphenation command into the preamble of your document it will influence the English language hyphenation. If you place the command after the \begin{document} and you are using some package for national language support like babel, then the hyphenation hints will be active in the language activated through babel.

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

> А у него на лбу написано что он протух?

Прямо в коде.

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

Спасибо большое!)

eskdx заработал в XeLaTeX, после добавления команды \usepackage{xecyr} в преамбулу.

всё просто)

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