Date Редакция Категория comp Теги LaTeX / формулы

По умолчанию LaTeX игнорирует кириллицу в формулах

\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\begin{document}

\[
v_{ср} = \frac{S_{кон}-S_{нач}}{\Delta t}.
\]

\end{document}

cf1.png

Исправить это можно:

1. C помощью пакета mathtext. Его следует подгружать до babel и/или fontenc:

\documentclass[a4paper]{article}
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
...

cf2.png

Опция warn включает предупреждения о том, что в формулах используются символы кириллицы.

В отличие от латиницы, кириллица в формулах печатается прямым шрифтом. Чтобы изменить это умолчание, в преамбулу документа добавляют команду переопределения шрифта

\DeclareSymbolFont{T2Aletters}{T2A}{cmr}{m}{it}

cf3.png

Заметим, что как это обычно происходит в математическом режиме, пробелы в кириллическом тексте игнорируются:

\[
Текст внутри формулы.
\]

cf4.png

Если вы сделали все, как описано выше, но символы кириллицы не отображаются, то, скорее всего, "виноват" пакет hyperref. Проблема исправляется загрузкой hyperref перед mathtext:

\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
...

2. С помощью пакета amsmath, который определяет команду \text, позволяющую вставлять в формулы обычный текст, в том числе и кириллицу

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

\begin{document}

\[
v_\text{ср} = \frac{S_\text{кон}-S_\text{нач}}{\Delta t}.
\]

\end{document}

Команда \text пробелы не игнорирует, а потому слова не сливаются

\[
\text{Текст внутри формулы}.
\]

cf5.png



Комментарии

comments powered by Disqus