1/19/2009

Математические формулы в LaTeX: Math in LaTeX

Этот пост является частью
большой статьи
"Как оформить диплом в LaTeX?",
которую написал virens,
ведущий блога
"Записки дебианщика"
Для того, чтобы написать диплом по физическим специальностям, трёхэтажных километровых формул набирать не надо, а надо усвоить несколько простых и понятных команд LaTeX. Потребуется освоить окружение нумерованных и ненумерованных формул, а так же набор массива формул. Ну и основные команды для обозначения математических символов.

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

Пост подвергался чистке и правке после публикации:
Автор заходил править этот пост 6 апреля 2013 года.

О формулах в целом

Первое и главное - пользуйтесь тем, что предоставляет вам интегрированная среда. Обзор интегрированных сред для LaTeX можно прочитать по этой ссылке. В её вкладках должны быть таблицы греческих символов, основных математических операторов и прочего. Самое главное, что символы в таком виде гораздо проще найти и вставить, не перелистывая талмуд со специальными символами.

Заучивать команды для математических символов в LaTeX не нужно - вы и так большинство команд запомните за их красивые и лаконичные названия. Едва ли вы испытаете серьёзные затруднения с названиями греческих букв $\alpha$, $\gamma$ или $\delta$. Основные математические символы тоже должны быть в вашей интегрированной среде, такие как столь любимые физиками приближённые равенства $\approx$ или интегралы с суммами.

Быстрый старт - набор простых формул

Формулы можно вставлять в строке или торжественно на отдельной строке, по центру и с номером. Малозначительные формулы типа $f(x) = a\cdot x + b$ вставляются, как правило, в строчку, а что-то серьёзное, вроде разложения в ряд Фурье:

\begin{equation}\label{eq:fourierrow}
f(x) = \frac{A_0}{2} + \sum \limits_{n=1}^{\infty} A_n \cos \left( \frac{2 n \pi x}{\nu} - \alpha_n \right) 
\end{equation}

оформляется с помощью окружения \begin{equation}\label{ссылка} ... \end{equation}.

Набранная формула выглядит так:
При этом напротив неё будет помещён номер, сгенерированный автоматически. Для того, чтобы сослаться на эту формулу, в LaTeX тексте будем ставить (\ref{ссылка}) чтобы на неё сослаться. Имена ссылкам стоит давать на латиннице, во избежание проблем. Если формула приводится для пояснений и ссылаться на неё не надо, следует поставить после equation звёздочку, то есть equation* и после этого номер для данной формулы генерироваться не будет.
Смысл использования LaTeX - создание логичного, структурированного документа, а не каши из кривого оформления и потока сознания.
Ссылки должны быть осмысленными и безошибочно говорить автору текста, какая формула имеется в виду. Не стоит потворствовать лени и глупости, проявляющихся в ссылках типа \label{uravnenie6} - следует спросить себя, что означает эта формула и дать ей осмысленное имя.

Вставка формул в текст

Чтобы вставить формулу внутрь текста, используем окружение $ $, внутри которого помещаем формулу. Окружение $ $ переводит LaTeX в математический режим и будет отрисовывать формулы. Например: $\alpha_0$ даст нам греческую букву АЛЬФА с индексом 0. 

Подчёркиванием в LaTeX делается нижний индекс, и использовать подчёркивание в тексте нельзя (для подчеркивания в тексте есть пакет расширений ulem). Если хотите набирать длинные пассажи в подчёркивании - ставьте фигурные скобки $x_{i,j}$.

Кроме того, ЛаТеХ категорически против двойного нижнего индекса, и команда $x_j_k$ приведёт к ошибке. Но фигурные скобки позволят нам надурить LaTeX и сделать двойной индекс так: $x_{j_k}$. Если же вам нужен верхний индекс в формуле, используем символ ^ так: $x^2$. LaTeX возведёт в степень только первый символ после крышки, и если в степень нужно возвести сразу много символов, экранируем их фигурными скобками (они не отображаются в тексте): $x^{2x+1}$.

Если же вы хотите набрать в формуле фигурные скобки, следует заэкранировать их вот так: \{  и они будут отрисованы в формуле, например $x \{j \}$

О символах в LaTeX

Символов в LaTeX огромное количество, и большинство их собрано в справочном файле под названием symbols-a4.pdf.

Если вы обрабатываете изображения, вам пригодится команда \times, что позволяет набирать вставки типа NхM в более приглядном виде $N\times M$. А если нужно набрать в LaTeX символ градуса, можно воспользоваться таким трюком: $180^\circ$, что наберёт 180 градусов. Символ "Принадлежит" в Latex это $\in$, а символ "Любой" в это $\forall$.
Для тех, кому нужно работать с Фурье-преобразованием, будет приятно набрать букву F в более торжественном стиле для функций, над которым выполняется преобразование: $\mathcal{F} {g(x,y)}$ наберёт большую и красивую букву F для фурье-преобразования.

Набор скобок в LaTeX немного замороченный на первый взгляд. Можно просто поставить обычные скобки, но если формула большая, то можно поставить большие скобки в LaTeX командой $\Bigr($ и $\Bigl)$. Скобок можно поставить много и на любой вкус и размер с помощью команд ( \big( \Big( \bigg( \Bigg( которые превратятся в тексте вот в это:
Автор настоятельно рекомендует отличный вебсервис Detexify: в броузере вы просто рисуете символ, который хотите вставить в LaTeX, и вебсервис попытается угадать и выдать соответствующую команду для LaTeX.

 LaTeX прост!

Ещё раз подчеркну: LaTeX не сложен, он прост, как рельса. И LaTeX сделает буквально то, что вы попросите. Поэтому не бойтесь в коде документа перемежать текст вставками математического режима - такой слегка костылявый способ приведёт вас к желаемому результату быстро и просто. Несколько дней практики, и вы будете рубить формулы в LaTeX, как Чапай белогвардейцев.

... и парочка примеров формул в LaTeX

От слов к делу - сейчас мы разберём несколько примеров набора формул. С точки зрения математиков, примеры ниже кошмарны полным отсутствием смысла, но идею набора формул в LaTeX передать должны.

Набор формулы LaTeX с дробью и суммами

Пример первый: набор формулы с дробью и суммами:
LaTeX код этой формулы:   

\begin{equation} 
f(x,y,\alpha, \beta) = \frac{\sum \limits_{n=1}^{\infty} 
A_n \cos \left( \frac{2 n \pi x}{\nu} \right)} {\prod \mathcal{F} {g(x,y)} } 
\end{equation}

Здесь хочется ещё раз подчеркнуть важность структурирования своего LaTeXовского кода, без сваливания всего в одну кучу и набора в строчку длинных формул. Иначе потом не поймёте, где отец, а где кузнец.

Если посмотреть на код формулы без страха и ужаса, можно заметить много простых и понятных английских слов. Слово \sum это, видимо, суммирование, а \limits - пределы суммирования. Если немного напрячь познания английского, то можно вспомнить слово fraction и догадаться, что \frac скорее всего набирает дроби. Как видно, набор формул в LaTeX для тех, каким-то образом получивших техническое образование вместе с зачатками знаний английской языка, не такая уже сложная задача.
Дроби набираются командой \frac{числитель}{знаменатель}. Удобно набирать числитель и знаменатель в дробях на разных строчках в коде - так проще потом работать с формулой. 

Примечательная команда \limits, которая позволяет набирать верхние и нижние пределы в формулах LaTeX. Сама по себе команда \sum, \prod или \int просто отрисовывает интеграл, а если нужно над ними ставить пределы - вспоминаем по \limits_{n=1}^{\infty}. Здесь нижний предел это n=1, а верхний предел бесконечен (символ бесконечности в LaTeX это команда \infty).

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

Длинные формулы в LaTeX

Например, нужно набрать длинную формулу, а она не умещается в строчку. Вот пример такого монстра:
Код формулы: 

\begin{eqnarray} S_{\text{вых}}(x_2, y_2) = \iint dx_0 dy_0 A_0 g(x_0, y_0) \cdot h(x_2-x_0, y_2 -y_0) = \\
 = A_0 \underbrace{\iint dx_0 dy_0 \; g(x_0, y_0) 
\cdot h(x_2-x_0, y_2 -y_0)}_{\text{по определению это есть свёртка }} = A_0 g \otimes h 
\end{eqnarray}
 
Новых конструкций здесь несколько.

Во-первых, интеграл, да не простой, а двойной. Интеграл в LaTeX отрисовывается командой $\int$, двойной интеграл в LaTeX это $\iint$.

Во-вторых, внизу формулы есть подпись - её можно поставить с помощью команды \underbrace{формула}_{подпись}. Подпись под буквой можно вставить, воспользовавшись командой \text{текст}, которая на время выключит математический режим в формуле и вставит текст.

В-третьих, собственно, в LaTeX перенос формул на новую строку можно выполнить обычной командой \\ и это избавит от необходимости использовать окружение eqnarray, о котором чуть ниже.

Так же можно отметить маленькую, но очень изящную команду \cdot, которая наберёт вам маленькую точечку умножения вместо этой страшной вордовской *. Так же в этом примере показано, как поставить пробел в формуле LaTeX, а именно командой \; то есть $dx_0 dy_0 \; g(x_0, y_0)$.

Большие и страшные формулы в несколько строк

Если формула очень длинная и в строку не помещается, используем окружение \begin{eqnarray} ... \end{eqnarray}, а переносы формулы на другую строку делаем с помощью двойного слеша \\ и в результате получаем:
\begin{eqnarray}
J_\lambda(x_2, y_2, s_2) =
\iint K_\lambda(x_2, y_2) \cdot \Bigl| m_\lambda
\left(
\frac{x_2-x_0}{\lambda \cdot s_2} , \frac{y_2-y_0}{\lambda \cdot s_2}\right)\Bigr|^2 \,dx_0\,dy_0 = \nonumber \\
= K_\lambda(x_2, y_2) \otimes \Bigl| m_\lambda \left( \frac{x_2}{\lambda \cdot s_2} , \frac{y_2}{\lambda \cdot s_2} \right) \Bigr|^2
\end{eqnarray}
 
Здесь стоит отметить команду \Bigl| для отрисовки вертикальной линии - после Bigl стоит прямая скобка | и именно она отрисовывает линию в формуле. Конструкция \Bigl ... \Bigr позволяет ставить в формулах LaTeX большие скобки, и не только скобки: в данном случае приведён пример с модулем.

Окружение eqnarray позволяет набирать длинные формулы и нумеровать перенесённые на новую строку части формулы. По умолчанию номер ставится после каждой части формулы, перенесённой на новую строку. Если нумеровать кусок не нужно - ставим директиву \nonumber перед переносом формулы \\.

Формулы в LaTeX с несколькими вариантами (формула зависит от значения переменной)

Нам нужно вставить перечисление возможных значений формулы в зависимости от значения переменной, например:

Для этого стоит использовать окружение \begin{matrix} для набора таких сложных формул:

\begin{equation}
    \begin{matrix}
    \hat{\Phi}[k,l] & =
    & \left\{
    \begin{matrix}
    0 & \mbox{if } k,l = 0 \\
    S_x[k,l]\cdot H_x[k,l] + S_y[k,l]\cdot H_y[k,l] & \mbox{otherwise }
    \end{matrix} \right.
    \end{matrix}
\end{equation}

Следует отметить, что конструкция с \left{ работать не будет.

Заключение

Разумеется, это далеко не полное руководство по набору формул, но я думаю, что прочтение это поста поможет кому-то быстро включиться (а мне - вспомнить) про набор основных формул в LaTeX.

47 комментариев:

  1. Несколько замечаний, которые могут оказаться полезными:
    * \limits в большинстве случаев не обязателен, особенно если использовать amsmath с параметрами intlimits и sumlimits
    * для длинных многострочных формул обычно лучше использовать окружение multline, которое как раз для этого и предназначено
    * текст внутри формулы лучше набирать с использованием \text — тогда текст будет набран шрифтом подходящего размера (например, в индексах), да и команда понятнее, чем mbox.

    ОтветитьУдалить
  2. Вот ещё интересно узнать мнение о том как же все-таки делать индексы с русскими буквами? Что посоветуете? Например, Uсмещ.

    ОтветитьУдалить
  3. 2Анонимный:

    Я всегда пользовался конструкциями вида $U_{\mbox{\it смещ}}$, в документе получается Uсмещ.

    2virens:
    Спасибо за статьи, все хорошо, однако одно режет глаз: в русской типографике в качестве кавычек приняты французские «елочки». В пакете babel для них принята лигатура << и >>. Вы же используете английские кавычки, и хороший корректор в хорошем журнале вам на это обязательно укажет :)

    ОтветитьУдалить
  4. 2 Me
    Несколько замечаний, которые могут оказаться полезными
    Всегда рад!

    \limits в большинстве случаев не обязателен, особенно если использовать amsmath с параметрами intlimits и sumlimits
    А можно пример такой формулы? И потом, с \limits оно проще запоминается (лично мне), да и понятнее.

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

    текст внутри формулы лучше набирать с использованием \text
    О, класс! Спасибо, так в самом деле лучше. Исправил в тексте и взял на вооружение :-)

    2 Анонимный комментирует...
    как же все-таки делать индексы с русскими буквами? Что посоветуете? Например, Uсмещ.
    Так это, $U_{\text{смещ.}}$ -- оно?

    Или вот так:
    @lnconnu

    Я всегда пользовался конструкциями вида $U_{\mbox{\it смещ}}$, в документе получается Uсмещ.


    2 lnconnu комментирует...
    в русской типографике в качестве кавычек приняты французские «елочки».
    Как-то у меня это повелось, уже не помню откуда. Надо будет исправить. Спасибо, что обратили внимание - я поправлю это в текстах.

    Вы же используете английские кавычки, и хороший корректор в хорошем журнале вам на это обязательно укажет :)

    Понял, чего ждать от Optics Communications :-))

    ОтветитьУдалить
  5. > Предупреждаю сразу: структурируйте свой LaTeXовский код грамотно, без сваливания всего в одну кучу и набора в строчку длинных формул.

    ...и тут же мы видим код, сваленный не в одну, а уже в три строчки.

    Вот как должен выглядеть нормально структурированный код:

    \begin{equation}
    f(x,y,\alpha, \beta) =
    \frac{
    \sum_{n=1}^{\infty}
    A_n \cos
    \left( \frac{2 n \pi x}{\nu} \right)
    }{
    \prod \mathcal{F} \{g(x,y)\}
    }
    \end{equation}

    ОтветитьУдалить
  6. К сожалению, отступы в начале строк были съедены кодом блогспота, но общий принцип, я думаю, понятен.

    ОтветитьУдалить
  7. Про eqnarray в результате выполения данной команды мы будем получать формулы выровненные по правому краю, что принято взаграничных статьях, но не у нас. Да и вобще частно не красиво, обойти можно следующим способом:
    \begin{equation}
    \begin{array}{c}
    eqn_1 \\
    eqn_2 \\
    eqn_3 \\
    \end{array}
    \end{equation}

    ОтветитьУдалить
  8. Всем здравствуйте!
    Интересно узнать варианты набора пояснений к формулам (те что идут после слова "где").
    Может кто подскажет готовое решение (в смысле пакет или команду)

    ОтветитьУдалить
  9. че-то блог превращается из блога про дебиан в блог про латекс

    ОтветитьУдалить
  10. >>Анонимный комментирует...
    >>Вот ещё интересно узнать мнение о том как же все->>таки делать индексы с русскими буквами? Что >>посоветуете? Например, Uсмещ.
    Нашел такой выход: надо обязательно подключать \usepackage{mathtext} ПЕРЕД babel и inputnc.
    К автору - не увидел описания пакетов для работы с формулами, опишите если можно.

    ОтветитьУдалить
  11. Спасибо!

    Ждем статьи про AMSTeX/AmS-LaTeX

    ОтветитьУдалить
  12. 2 Анонимный комментирует...
    ...и тут же мы видим код, сваленный не в одну, а уже в три строчки.
    Я тоже не идеал :-) Кроме того, Блоггер сильно ест подобное оформление. Поправлю.


    2 Alexander Vershilov комментирует...

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

    Я стараюсь делать и писать так, как принято в Европе и в США, дабы не переучиваться. Но в общем да, проблема есть.

    Да и вобще частно не красиво, обойти можно следующим способом:
    Сурово :-)

    Но на такие вещи обычно в дипломах закрывают глаза.

    Я всю эту серию затеял вот зачем:
    1. объединить все свои наброски и выложить в Сети, чтобы самому при случае обратиться (уже обращался и сам искал несколько вещей).
    2. дать ПРОСТОЙ framework для оформления диплома.


    2 Анонимный комментирует...
    че-то блог превращается из блога про дебиан в блог про латекс
    В блог про латекс я надеюсь он не превратится :-) А насчёт ЛаТеХа - это последний пост серии, скоро выложу пару линуксовых постов.


    2 u995 комментирует...
    К автору - не увидел описания пакетов для работы с формулами, опишите если можно.
    В общем я не хотел на этом акцентировать внимание. Есть пакеты, подключённые в шапке, и мне не хочется этим забивать головы своих студентов.


    2 Анонимный комментирует...
    Спасибо!
    Пожалуйста.

    Ждем статьи про AMSTeX/AmS-LaTeX
    Спасибо за идею, посмотрю.

    ОтветитьУдалить
  13. [quote]а если нужно над ними ставить пределы - вспоминаем по \limits_{n=1}^{\infty}[\quote] - вспоминаем про?
    [quote]Можно просто поставить обычные скобки, но если формула большая, то можно поставить большие скобки в LaTeX командой $\Bigr($ и $\Bigl)$.[\quote] - можно написать \left( и \right) латех сам подберет размер.

    ОтветитьУдалить
  14. К использованию eqnarray. Это окружение предполагает использование 3 столбцов с выравниванием {rcl} и разделенных символом &. Приведенный здесь пример можно изменить следующим образом:
    \begin{eqnarray}
    J_\lambda(x_2, y_2, s_2) &=&
    \iint I_\lambda(x_2, y_2) \cdot \Biglm_\lambda
    \left(
    \frac{x_2-x_0}{\lambda \cdot s_2} , \frac{y_2-y_0}{\lambda \cdot s_2}\right)\Bigr^2 \,dx_0\,dy_0 = \nonumber \\
    &=& I_\lambda(x_2, y_2) \otimes \Biglm_\lambda \left( \frac{x_2}{\lambda \cdot s_2} , \frac{y_2}{\lambda \cdot s_2} \right) \Bigr^2
    \end{eqnarray}
    Тогда первый и третий знаки равенства расположатся друг над другом. Выглядеть будет аккуратно, как зарубежом так и у нас на Родине. =)

    ОтветитьУдалить
  15. \limits вроде как не обязателен, я обычно без него вот так справляюсь \sum_{}^{}, что в принципе будет яснее и короче.

    ОтветитьУдалить
  16. Кто знает, как можно в стилевом файле задать расстояние между текстом и формулой? Спасибо.

    ОтветитьУдалить
  17. Насчет кириллических симлов в индексах --- можно писать и просто $U_{смещ}$.
    Только в заголовке надо добавить
    \usepackage{mathtext}
    Магия!

    ОтветитьУдалить
  18. На второй картинке фигурная скобка такая уродливая...

    ОтветитьУдалить
  19. Вы вроде бы интересовались способом отображения LaTeX формул в блоге... я нашёл и описал довольно простой способ:
    http://independentru.blogspot.com/2010/04/fracx2srtq2-bpmc.html

    ОтветитьУдалить
  20. в преамбуле пишем:
    \usepackage[utf8x]{inputenc}
    \SetUnicodeOption{mathletters}
    \SetUnicodeOption{autogenerated}
    ....
    \begin{document}
    ...
    % а теперь выбираем TeX-овскую раскладку клавиатуры в редакторе emacs и пользуемся мощью utf8:

    \begin{equation}\label{theBasis}\begin{split}
    |c\rangle=\left|S\right\rangle,\quad
    |v₈1\rangle=\left|-↑\frac{X₈+iY₈}{\sqrt2}\right\rangle,\quad
    |v₈2\rangle=\left|-↓\frac{X₈+iY₈}{\sqrt6}+↑Z₈\sqrt{\frac23}\right\rangle,\quad
    |v₈3\rangle=\left| ↑\frac{X₈-iY₈}{\sqrt6}+↓Z₈\sqrt{\frac23}\right\rangle,\\
    |v₈4\rangle=\left| ↓\frac{X₈-iY₈}{\sqrt2}\right\rangle,\quad
    |v₇1\rangle=\left|-↓\frac{X₇+iY₇}{\sqrt3}-↑\frac{Z₇}{\sqrt3}\right\rangle,\quad
    |v₇2\rangle=\left|-↑\frac{X₇-iY₇}{\sqrt3}+↓\frac{Z₇}{\sqrt3}\right\rangle ,
    \end{split}\end{equation}
    ....
    \end{document}

    ОтветитьУдалить
  21. Здравствуйте! У вас в этой статье половину объяснений съел плагин латеха ))) Получилось, что вместо отображения исходника отображается результат. И чаще всего он выглядит как "Latex failed probably due to error in your expression". В более удачных случаях получается, что вы хотели показать, например, команду для верхнего индекса, а показали результат работы этой команды.

    ОтветитьУдалить
  22. @Анонимный комментирует...
    У вас в этой статье половину объяснений съел плагин латеха
    О, спасибо, а я и не заметил! Вот ведь: одно прикрутишь - другое отвалится... Снёс плагин к чертям.

    В более удачных случаях получается, что вы хотели показать, например, команду для верхнего индекса, а показали результат работы этой команды.
    Да, не здорово получилось, прошу пардону. Вернул всё на место.

    ОтветитьУдалить
  23. посоветуйте как правильно написать предел с двойным условием??
    пробовал что то типа
    \lim_{
    \begin{array}{c}
    t\rightarrow\tau\\
    t<\tau
    \end{array}
    }

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

    ОтветитьУдалить
  24. ......................................................
    ... Для указания "сложных" пределов (двойных, вообще - "многократных"), используйте команду "\substack", для
    ... "стыковки" условий. В аргументе этой команды просто перечислите нужные условия, разделив (перенеся) их, как обычно, командой "\\".
    ... Вот Ваш пример {"исправленный"!}:
    ______________________________________________
    ..............................................
    \lim_{\substack{t \rightarrow \tau \\ t<\tau}}
    ..............................................
    ______________________________________________
    ... При этом, в математической моде, лучше ...
    ... использовать команду "\text" для написания
    ... символов, так что Ваш {"исправленный"!}
    ... код мог бы выглядеть и так:
    ...............................................
    \lim_{\substack{\text{t}\rightarrow\tau\\ \text{t}<\tau}}
    ...............................................
    _______________________________________________
    ...............................................

    ОтветитьУдалить
  25. Уважаемые господа. Почему в топике ни слова про такую удобнейшую (хотя конечно и не бесплатную) вещь, как трансляция формул из MathType сразу в формат LaTEX?
    Благодаря этой опции я перевожу сложнейшие формульные конструкции из ворда в тех за секунду автоматически.

    ОтветитьУдалить
  26. Вот, в Интернетах нашёл кое-что про автоматическое дублирование знака при переносах, может, кому-нибудь пригодится:
    %Переносы математики
    \begingroup
    \catcode`\+\active\gdef+{\mathchar8235\nobreak\discretionary{}%
    {\usefont{OT1}{cmr}{m}{n}\char43}{}}
    \catcode`\-\active\gdef-{\mathchar8704\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char0}{}}
    \catcode`\=\active\gdef={\mathchar12349\nobreak\discretionary{}%
    {\usefont{OT1}{cmr}{m}{n}\char61}{}}
    \catcode`\<\active\gdef<{\mathchar"313C\nobreak\discretionary{}%
    {\usefont{OML}{cmm}{m}{n}\char60}{}}
    \catcode`\>\active\gdef>{\mathchar"313E\nobreak\discretionary{}%
    {\usefont{OML}{cmm}{m}{n}\char62}{}}
    \endgroup
    \def\times{\mathchar8706\nobreak\discretionary{}{\usefont{OMS}{cmsy}{m}{n}\char
    2}{}}
    \def\subset{\mathchar"321A\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char26}{}}
    %\supset,\subseteq,\notin
    \def\neq{\not=\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char54\usefont{OT1}{cmr}{m}{n}\char61}{}}
    \def\sim{\mathchar"3218\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char24}{}}
    \def\in{\mathchar"3232\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char50}{}}
    \def\to{\mathchar"3221\nobreak\discretionary{}%
    {\usefont{OMS}{cmsy}{m}{n}\char33}{}}
    %Конец переносов математики

    ОтветитьУдалить
  27. Оно, правда, не работает, но не всё же коту масленица :)
    На самом деле, есть окружения split и multiline, созданные для этого.
    У меня один вопрос появился: как набрать d₁ ^ d₂, т.е. «крышу»-значок угла между отрезками? Пока пользуюсь такой конструкцией: d_1 \mathstrut^\wedge d_2, но она немного костыльная.

    ОтветитьУдалить
  28. Как выравнивать части формулы относительно друг друга в классе документов elsarticle???

    ОтветитьУдалить
  29. Попробовал Uсмещ всеми указанными тут способами. Не получается, останавливается при компиляции
    (Miktex 2.9, компиляция из командной строки latex file.tex)
    Зато прошел такой номер:

    \selectlanguage{russian}
    $I_\text{смещ}$.
    \selectlanguage{english}

    ОтветитьУдалить
  30. Скажите, никто из вас не знает... как сделать в TeX-документе ссылки (в библиографии) в виде http://, чтобы в pdf-файле они становились кликабельными, чтобы по ним можно было пройти?.. ну и цветом выделялись или подчёркивались (второе необязательно да и решабельно, первое больше волнует)

    ОтветитьУдалить
  31. Анонимус негодует \text у него заработало только после \usepackage{amsmath} под миктехом...

    ОтветитьУдалить
  32. Анонимный комментирует:
    d_1 \mathstrut^\wedge d_2

    Можно еще \Hat\quad ставить, только там знак поменьше :)
    А вообще стоит ввести новую команду если много углов ставить надо:
    в преамбуле написать \newcommand{\ugol}{\mathop{\mathstrut^\wedge}\nolimits}
    и потом писать d_1 \ugol d_2

    ОтветитьУдалить
  33. "А если нужно набрать в LaTeX символ градуса, можно воспользоваться таким трюком: $180^\circ$, что наберёт 180 градусов."

    180\textdegree - смотрится несколько приятнее.
    Источник: http://mirror.macomnet.net/pub/CTAN/info/symbols/comprehensive/symbols-a4.pdf

    ОтветитьУдалить
  34. Доброго дня! А как сделать ПРЯМЫЕ строчные греческие буквы?
    Это же требование отечественных стандартов.

    ОтветитьУдалить
  35. Здравствуйте, прошу вашей помощи. Как написать знаки типа "принадлежит" или "любой". В стандартном окне их нет

    ОтветитьУдалить
  36. @Анонимный комментирует...
    Анонимус негодует \text у него заработало только после \usepackage{amsmath} под миктехом

    Зря Анонимус негодует. Автор всегда добавляет amsmath, чтобы не было проблем с такими вещами. Более того, автор вообще использует такой набор по умолчанию:

    amssymb,amsfonts,amsmath,mathtext,geometry,cite

    И всё работает.

    @Анонимный комментирует...
    Как написать знаки типа "принадлежит" или "любой".

    Знак "Принадлежит" в Latex это $\in$

    Знак "Любой" в латех это $\forall$.

    Автор настоятельно рекомендует отличный вебсервис Detexify:

    Anyone who works with LaTeX knows how time-consuming it can be to find a symbol in symbols-a4.pdf that you just can't memorize. Detexify is an attempt to simplify this search.

    В стандартном окне их нет
    Стандартные окна у всех разные, Анонимус. У автора вот, к примеру, эти символы есть в "стандартном окне" Kile в его любимом тёплом ламповом Debian GNU/Linux Squeeze (но Kile всё равно из Lenny, ибо КДЕ 3.5).

    ОтветитьУдалить
  37. Как набрать нормальные фигурные скобки в формуле?

    ОтветитьУдалить
  38. Заглянув в комментарии, ждущие модерации, утречком в субботу, автор нашёл вопросительный вопль Анонимуса о фигурных скобках. "Ох уж эти ленивые Анонимусы!" - с неудовольствием подумал автор. "Всё для них, тунеядцев, и Google, и LaTeX, и Detefixy, и даже вот автор пост накропал - а всё ленятся".

    Но потом автору видел, что в посте про фигурные скобки ничего нет, Detexify упомянут в комментариях в самом конце, и потому вопль Анонимуса в общем-то понятен.

    Далее автор вспомнил, какая на самом деле каша творится в посте, и подумал, прихлёбывая свой утренний кофе: "Ох уж эти ленивые авторы!" :-) И сел править пост.

    В процессе оных правок автор обнаружил дублирующиеся куски текста и ошибку в коде одной из формул.

    Так что Анонимусу выносится благодарность за то, что сподвиг автора расчистить пост. А теперь автор с позволения Анонимуса таки отправится на традиционную велопрогулку :-)

    ОтветитьУдалить
  39. Набираю гигантские формулы и использую \newcommand:
    \newcommand{\sumlmn}{\mbox{$\sum\limits_{l,m,n}{}^{\prime}$}}
    так вот, подскажите пожалуйста, как сделать так, чтобы в больших формулах $$ $$ сумма смотрелась большой суммой, а не как в $ $

    ОтветитьУдалить
  40. @Анонимный комментирует...
    как сделать так, чтобы в больших формулах $$ $$ сумма смотрелась большой суммой, а не как в $ $
    Совсем не понимаю, зачем там mbox, на тему размера формулы почитайте про \textstyle, \displaystyle. И не пользуйтесь $$ $$ для формул, уже давно де-факто стандарт AMSMath, подключите

    \usepackage{amsmath,amssymb,amsthm,amsfonts}

    и пользуйтесь нормальными окружениями: align, gather, multline.

    ОтветитьУдалить
  41. А как сделать чтоб формула отображалась с русскими символами? Например n_Э. Английская n отобразится, а вот русская Э сожрет часть текста после нее.

    ОтветитьУдалить
  42. При разрыве формулы в ячейке таблицы использую следующую конструкцию &
    \makecell{$w_\text{неос расч}=9\frac{5,999}{4,811}=$\\$=11,222\text{вит}$}\\ \hline

    ОтветитьУдалить
  43. помогите разобраться в данной строке пишут,что вне мат.моды:Если 1---симплекс $[x_i,x_j] \in L$, то такая петля стягиваема, поэтому соответствующий элемент $g_{ij}=1$
    что нетак?

    ОтветитьУдалить
  44. Скажите, пожалуйства, а как можно в LaTeX'е набрать знаменитый символ самого LaTeX'а, где буквы смещены друг относительно друга?

    ОтветитьУдалить
  45. @Анонимный комментирует...

    вне мат.моды:
    Возможно, вы забыли подключить пакеты amssymb,amsfonts,mathtext


    @Влад Юрченко комментирует...
    Скажите, пожалуйства, а как можно в LaTeX'е набрать знаменитый символ самого LaTeX'а, где буквы смещены друг относительно друга?

    Да, конечно. Команда \LaTeX спасёт отца русской демократии.

    P.S.> Рекомендую сайт tex.stackexchange.com - там много уже отвеченных вопросов. Сам часто использую.

    ОтветитьУдалить
  46. Хотелось бы заметить, что для формул с несколькими вариантами существует окружение cases, так что изобретать велосипед совершенно незачем :)

    ОтветитьУдалить
  47. Подкажите пожалуйста, способы уменьшения объёма очень громадных или длинных формул

    ОтветитьУдалить