LINUX.ORG.RU

Русский язык в LaTeX

 , ,


0

3

Добрый день. Только начинаю пользоваться Латехом и столкнулся с тем, что в скомпилированном документе не отображаются русские символы.

apt list --installed | grep texlive
texlive/stable,now 2014.20141024-2 all [installed]
texlive-base/stable,now 2014.20141024-2 all [installed,automatic]
texlive-binaries/stable,now 2014.20140926.35254-6 amd64 [installed,automatic]
texlive-fonts-recommended/stable,now 2014.20141024-2 all [installed,automatic]
texlive-lang-cyrillic/stable,now 2014.20141024-1 all [installed]
texlive-latex-base/stable,now 2014.20141024-2 all [installed,automatic]
texlive-latex-recommended/stable,now 2014.20141024-2 all [installed,automatic]
Если я правильно понимаю, в начале документа надо вставить использование неких пакетов, после чего кириллица заведётся. Пожалуйста, подскажите, что и как надо для этого сделать.

★★

Ответ на: комментарий от Norong

Первая строка определяет кодировку документа. Вторая — для внутреннего представления TeX, емнип. Последняя — определяет язык документа.

ymn ★★★★★
()

Только начинаю пользоваться Латехом и

сразу постю на ЛОРчик. Всем чмоки.

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

А в какое место поставить mathtext, чтобы в формулах русский использовать? Так и не нашёл подходящего места, сплошь разные ошибки :(

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

А что именно пишет?

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage[T2A]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{indentfirst}
\begin{document}

$$\text{Е равно эмцэ квадрат}$$

\end{document}

Так работает?

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

Необходимо подключать пакеты amsmath и mathtext ПЕРЕД подключением языковых пакетов. Читать здесь, там подобные вопросы предельно разжеваны.

lu4nik ★★★
()

К предыдущим советам могу еще добавить, что полезно подключать бабель так:

\usepackage[english,russian]{babel}

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

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

Так - работает, а если попробовать

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage[T2A]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{indentfirst}
\begin{document}
\begin{equation}
    Энергия = m \cdot c^2
\end{equation}
\end{document}
, то уже
LaTeX Warning: Command \CYREREV invalid in math mode on input line 9.


LaTeX Warning: Command \cyrn invalid in math mode on input line 9.


LaTeX Warning: Command \cyre invalid in math mode on input line 9.


LaTeX Warning: Command \cyrr invalid in math mode on input line 9.


LaTeX Warning: Command \cyrg invalid in math mode on input line 9.


LaTeX Warning: Command \cyri invalid in math mode on input line 9.


LaTeX Warning: Command \cyrya invalid in math mode on input line 9.

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

У меня сложилось ощущение, что выглядеть всё это должно тогда вот так:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{mathtext}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian,english]{babel}

\begin{document}
\begin{equation}
    Энергия = m \cdot c^2
\end{equation}
\end{document}

Но при попытке сборки я получаю:

! LaTeX Error: Symbol font `T2Aletters' is not defined.

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

Вот полный пример, который у меня прекрасно работает:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\usepackage{indentfirst}
\usepackage[russian,english]{babel}
\usepackage[T2A]{fontenc}

\begin{document}

\begin{equation}
\text{Энергия} = m \cdot c^2
\end{equation}


\end{document}
ymn ★★★★★
()
Ответ на: комментарий от lu4nik
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb,amsthm,latexsym}
\usepackage{mathtext}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}
\usepackage{enumerate}
\usepackage{verbatim}

\title{Проба пера}
\begin{document}
\begin{equation}
    v_{средняя}=\frac{S_{конец}-S_{начало}}{\delta t}
\end{equation}
\end{document}

Вот так работает :)
Norong ★★
() автор топика
Ответ на: комментарий от XMs

Ээээ, а оно не устарело? Не, я не против, просто с тех пор я много чего понаписал... и оно тоже уже было давно.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Norong

Он как раз чтобы кириллица была в формулах, но лучше всё-таки все текстовые вставки делать через \text{} — это и английского тоже касается.

P.S. Для большей «русскости» можно подключить пакет misccorr

P.P.S. Если article не задан сверху как обязательный, то лучше использовать более другой класс. Я обычно использую scrartcl вместо него.

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

Наверное, лучше. Просто первое в Яндексе нашлось

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

Нет и на сколько я понимаю нет сейчас особого смысла его пробовать. Все фичи оттуда плавно перетекут в мэйнстрим, который будет скорее всего xelatex. Хотя я могу ошибаться.

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

С юникодом придётся смириться — я смирился и у тебя получится. Упрощённое добавление шрифтов тоже вещь таки полезная. Другое дело, что хороших шрифтов с кириллицей полторы штуки, но основное развитие идёт таки в данный момент отнюдь не в кириллическом секторе и это печально.

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