Записки дебианщика
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
Математические формулы в LaTeX: Math in LaTeX
Для того, чтобы написать диплом по физическим специальностям, трёхэтажных километровых формул набирать не надо, а надо усвоить несколько простых и понятных команд LaTeX. Потребуется освоить окружение нумерованных и ненумерованных формул, а так же набор массива формул. Ну и основные команды для обозначения математических символов.
О формулах в целом
оформляется с помощью окружения \begin < equation >\label <ссылка>. \end < equation >.
Набранная формула выглядит так:
Вставка формул в текст
О символах в LaTeX
Символов в LaTeX огромное количество, и большинство их собрано в справочном файле под названием symbols-a4.pdf.
Автор настоятельно рекомендует отличный вебсервис Detexify: в броузере вы просто рисуете символ, который хотите вставить в LaTeX, и вебсервис попытается угадать и выдать соответствующую команду для LaTeX.
LaTeX прост!
. и парочка примеров формул в LaTeX
Набор формулы LaTeX с дробью и суммами
LaTeX код этой формулы:
Здесь хочется ещё раз подчеркнуть важность структурирования своего LaTeXовского кода, без сваливания всего в одну кучу и набора в строчку длинных формул. Иначе потом не поймёте, где отец, а где кузнец.
Основные идеи вы к этому моменту должны воспринять, потому как у меня уже подоспел второй примерчик с интегралами.
Длинные формулы в LaTeX
Новых конструкций здесь несколько.
В-третьих, собственно, в LaTeX перенос формул на новую строку можно выполнить обычной командой \\ и это избавит от необходимости использовать окружение eqnarray, о котором чуть ниже.
Большие и страшные формулы в несколько строк
Формулы в LaTeX с несколькими вариантами (формула зависит от значения переменной)
Для этого стоит использовать окружение \begin
Следует отметить, что конструкция с \left < работать не будет.
Заключение
47 комментариев: |высказаться!| RSS-лента дискуссии.|
Несколько замечаний, которые могут оказаться полезными:
* \limits в большинстве случаев не обязателен, особенно если использовать amsmath с параметрами intlimits и sumlimits
* для длинных многострочных формул обычно лучше использовать окружение multline, которое как раз для этого и предназначено
* текст внутри формулы лучше набирать с использованием \text — тогда текст будет набран шрифтом подходящего размера (например, в индексах), да и команда понятнее, чем mbox.
Вот ещё интересно узнать мнение о том как же все-таки делать индексы с русскими буквами? Что посоветуете? Например, Uсмещ.
2virens:
Спасибо за статьи, все хорошо, однако одно режет глаз: в русской типографике в качестве кавычек приняты французские «елочки». В пакете babel для них принята лигатура >. Вы же используете английские кавычки, и хороший корректор в хорошем журнале вам на это обязательно укажет 🙂
2 Me
Несколько замечаний, которые могут оказаться полезными
Всегда рад!
\limits в большинстве случаев не обязателен, особенно если использовать amsmath с параметрами intlimits и sumlimits
А можно пример такой формулы? И потом, с \limits оно проще запоминается (лично мне), да и понятнее.
для длинных многострочных формул обычно лучше использовать окружение multline
Спасибо, я посмотрю.
текст внутри формулы лучше набирать с использованием \text
О, класс! Спасибо, так в самом деле лучше. Исправил в тексте и взял на вооружение 🙂
Вы же используете английские кавычки, и хороший корректор в хорошем журнале вам на это обязательно укажет 🙂
Понял, чего ждать от Optics Communications :-))
> Предупреждаю сразу: структурируйте свой LaTeXовский код грамотно, без сваливания всего в одну кучу и набора в строчку длинных формул.
. и тут же мы видим код, сваленный не в одну, а уже в три строчки.
Вот как должен выглядеть нормально структурированный код:
К сожалению, отступы в начале строк были съедены кодом блогспота, но общий принцип, я думаю, понятен.
Про eqnarray в результате выполения данной команды мы будем получать формулы выровненные по правому краю, что принято взаграничных статьях, но не у нас. Да и вобще частно не красиво, обойти можно следующим способом:
\begin
\begin
eqn_1 \\
eqn_2 \\
eqn_3 \\
\end
\end
Всем здравствуйте!
Интересно узнать варианты набора пояснений к формулам (те что идут после слова «где»).
Может кто подскажет готовое решение (в смысле пакет или команду)
че-то блог превращается из блога про дебиан в блог про латекс
Ждем статьи про AMSTeX/AmS-LaTeX
2 Анонимный комментирует.
. и тут же мы видим код, сваленный не в одну, а уже в три строчки.
Я тоже не идеал 🙂 Кроме того, Блоггер сильно ест подобное оформление. Поправлю.
2 Alexander Vershilov комментирует.
Про eqnarray в результате выполения данной команды мы будем получать формулы выровненные по правому краю, что принято взаграничных статьях, но не у нас.
Я стараюсь делать и писать так, как принято в Европе и в США, дабы не переучиваться. Но в общем да, проблема есть.
Да и вобще частно не красиво, обойти можно следующим способом:
Сурово 🙂
Но на такие вещи обычно в дипломах закрывают глаза.
Я всю эту серию затеял вот зачем:
1. объединить все свои наброски и выложить в Сети, чтобы самому при случае обратиться (уже обращался и сам искал несколько вещей).
2. дать ПРОСТОЙ framework для оформления диплома.
2 Анонимный комментирует.
Спасибо!
Пожалуйста.
Ждем статьи про AMSTeX/AmS-LaTeX
Спасибо за идею, посмотрю.
К использованию eqnarray. Это окружение предполагает использование 3 столбцов с выравниванием
\begin
J_\lambda(x_2, y_2, s_2) &=&
\iint I_\lambda(x_2, y_2) \cdot \Biglm_\lambda
\left(
\frac
&=& I_\lambda(x_2, y_2) \otimes \Biglm_\lambda \left( \frac
\end
Тогда первый и третий знаки равенства расположатся друг над другом. Выглядеть будет аккуратно, как зарубежом так и у нас на Родине. =)
\limits вроде как не обязателен, я обычно без него вот так справляюсь \sum_<>^<>, что в принципе будет яснее и короче.
Кто знает, как можно в стилевом файле задать расстояние между текстом и формулой? Спасибо.
На второй картинке фигурная скобка такая уродливая.
Вы вроде бы интересовались способом отображения LaTeX формул в блоге. я нашёл и описал довольно простой способ:
http://independentru.blogspot.com/2010/04/fracx2srtq2-bpmc.html
в преамбуле пишем:
\usepackage[utf8x]
\SetUnicodeOption
\SetUnicodeOption
.
\begin
.
% а теперь выбираем TeX-овскую раскладку клавиатуры в редакторе emacs и пользуемся мощью utf8:
Здравствуйте! У вас в этой статье половину объяснений съел плагин латеха ))) Получилось, что вместо отображения исходника отображается результат. И чаще всего он выглядит как «Latex failed probably due to error in your expression». В более удачных случаях получается, что вы хотели показать, например, команду для верхнего индекса, а показали результат работы этой команды.
В более удачных случаях получается, что вы хотели показать, например, команду для верхнего индекса, а показали результат работы этой команды.
Да, не здорово получилось, прошу пардону. Вернул всё на место.
Уважаемые господа. Почему в топике ни слова про такую удобнейшую (хотя конечно и не бесплатную) вещь, как трансляция формул из MathType сразу в формат LaTEX?
Благодаря этой опции я перевожу сложнейшие формульные конструкции из ворда в тех за секунду автоматически.
Оно, правда, не работает, но не всё же коту масленица 🙂
На самом деле, есть окружения split и multiline, созданные для этого.
У меня один вопрос появился: как набрать d₁ ^ d₂, т.е. «крышу»-значок угла между отрезками? Пока пользуюсь такой конструкцией: d_1 \mathstrut^\wedge d_2, но она немного костыльная.
Как выравнивать части формулы относительно друг друга в классе документов elsarticle.
Попробовал Uсмещ всеми указанными тут способами. Не получается, останавливается при компиляции
(Miktex 2.9, компиляция из командной строки latex file.tex)
Зато прошел такой номер:
Скажите, никто из вас не знает. как сделать в TeX-документе ссылки (в библиографии) в виде http://, чтобы в pdf-файле они становились кликабельными, чтобы по ним можно было пройти. ну и цветом выделялись или подчёркивались (второе необязательно да и решабельно, первое больше волнует)
Анонимус негодует \text у него заработало только после \usepackage
Анонимный комментирует:
d_1 \mathstrut^\wedge d_2
Можно еще \Hat\quad ставить, только там знак поменьше 🙂
А вообще стоит ввести новую команду если много углов ставить надо:
в преамбуле написать \newcommand<\ugol><\mathop<\mathstrut^\wedge>\nolimits>
и потом писать d_1 \ugol d_2
Доброго дня! А как сделать ПРЯМЫЕ строчные греческие буквы?
Это же требование отечественных стандартов.
Здравствуйте, прошу вашей помощи. Как написать знаки типа «принадлежит» или «любой». В стандартном окне их нет
@Анонимный комментирует.
Анонимус негодует \text у него заработало только после \usepackage
Зря Анонимус негодует. Автор всегда добавляет amsmath, чтобы не было проблем с такими вещами. Более того, автор вообще использует такой набор по умолчанию:
@Анонимный комментирует.
Как написать знаки типа «принадлежит» или «любой».
Автор настоятельно рекомендует отличный вебсервис 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).
Как набрать нормальные фигурные скобки в формуле?
Но потом автору видел, что в посте про фигурные скобки ничего нет, Detexify упомянут в комментариях в самом конце, и потому вопль Анонимуса в общем-то понятен.
Далее автор вспомнил, какая на самом деле каша творится в посте, и подумал, прихлёбывая свой утренний кофе: «Ох уж эти ленивые авторы!» 🙂 И сел править пост.
В процессе оных правок автор обнаружил дублирующиеся куски текста и ошибку в коде одной из формул.
Так что Анонимусу выносится благодарность за то, что сподвиг автора расчистить пост. А теперь автор с позволения Анонимуса таки отправится на традиционную велопрогулку 🙂
и пользуйтесь нормальными окружениями: align, gather, multline.
А как сделать чтоб формула отображалась с русскими символами? Например n_Э. Английская n отобразится, а вот русская Э сожрет часть текста после нее.
При разрыве формулы в ячейке таблицы использую следующую конструкцию &
\makecell<$w_\text<неос расч>=9\frac<5,999><4,811>=$\\$=11,222\text<вит>$>\\ \hline
Скажите, пожалуйства, а как можно в LaTeX’е набрать знаменитый символ самого LaTeX’а, где буквы смещены друг относительно друга?
вне мат.моды:
Возможно, вы забыли подключить пакеты amssymb,amsfonts,mathtext
@Влад Юрченко комментирует.
Скажите, пожалуйства, а как можно в LaTeX’е набрать знаменитый символ самого LaTeX’а, где буквы смещены друг относительно друга?
Да, конечно. Команда \LaTeX спасёт отца русской демократии.
Хотелось бы заметить, что для формул с несколькими вариантами существует окружение cases, так что изобретать велосипед совершенно незачем 🙂
Подкажите пожалуйста, способы уменьшения объёма очень громадных или длинных формул
Осваиваем LaTeX за 30 минут
Что такое LaTeX?
LaTEX (произносится как «лэйтех» или «латех») представляет собой инструмент для создания профессиональных документов. В его основе лежит парадигма редактирования WYSIWYM (что вижу, то и подразумеваю), то есть от пользователя требуется сосредоточиться только на содержимом документа, оставив его форматирование программе. Вместо ручного распределения текста по странице, как это делается в Microsoft Word или LibreOffice Writer, можно просто его вводить, позволив LaTeX заняться остальным.
Зачем нужен LaTeX?
Этот инструмент используется повсеместно для создания научных документов, написания книг, а также многих других форм публикаций. Он позволяет не только создавать красиво оформленные документы, но также дает пользователям возможность очень быстро реализовывать такие сложные элементы печатного набора, как математические выражения, таблицы, ссылки и библиографии, получая согласованную разметку по всем разделам.
Благодаря доступности большого числа открытых библиотек (об этом чуть позже) возможности LaTEX становятся практически безграничны. Эти библиотеки расширяют возможности пользователей еще больше, позволяя добавлять сноски, рисовать схемы и пр.
Одна из наиболее веских причин, по которой многие используют LaTeX, заключается в отделении содержания документа от его стиля. Это означает, что после написания содержимого, можно с легкостью изменять его внешний вид. Аналогичным образом, можно создать один стиль документа и использовать его для стандартизации внешнего вида других.
Это позволяет научным журналам создавать шаблоны для предлагаемых на рассмотрение материалов. Такие шаблоны имеют заданную разметку, в результате чего добавить остается лишь содержание. На деле существуют сотни подобных шаблонов, начиная с различных резюме и заканчивая презентациями слайдов.
Пишем первый документ
Здесь мы видим, что LaTeX уже позаботился о первом элементе форматирования, сделав отступ в начальной строке абзаца. Теперь более подробно рассмотрим, за что отвечает каждая часть кода.
После этого мы пишем содержание документа, заключенное в теги \begin
Чтобы увидеть результат этих изменений в PDF, документ нужно скомпилировать. В Overleaf для этого нужно просто нажать Recompile. (Также можете настроить проект на автоматическую перекомпиляцию в процессе редактирования файлов, нажав на небольшую стрелку рядом с кнопкой Recompile и установив Auto Compile как On).
При использовании специального редактора LaTeX вроде TeXmaker или TeXworks нужно просто нажать кнопку Recompile. Если не знаете, где она находится, обратитесь к документации.
Теперь, когда вы разобрались, как добавлять в документ содержимое, следующим шагом будет его именование. Для этого необходимо вкратце разобрать преамбулу.
Преамбула документа
А вот подробное разъяснение каждой строки:
Эта команда задает кодировку документа. Ее можно опустить либо изменить на другой вариант, но рекомендуется использовать именно utf-8. Если вам не требуется конкретно другая кодировка, либо вы просто не уверены, то добавьте эту строку во вступление.
Добавление заголовка, автора и даты
Для добавления в документ заголовка, автора и даты необходимо внести во вступление три строки (только не в основное тело документа):
Здесь размещается имя автора. При желании можно также добавить в фигурные скобки следующую команду:
После добавления перечисленных строк преамбула должна выглядеть так:
Добавление комментариев
Как и в случае с любым кодом, зачастую будет нелишним добавлять комментарии. Комментарии – это включаемые в документ текстовые элементы, которые в итоге не отображаются и никак не него не влияют. Они помогают организовывать работу, делать пометки или закомментировать (отключать) строки/разделы при отладке. Чтобы создать комментарий в LaTeX, просто наберите символ % в начале строки, как показано ниже:
Жирный, курсив и подчеркивание
А вот еще одна очень простая команда: \emph <. >. Выполняемые ей для аргумента действия определяются контекстом – внутри обычного текста его выделенная часть переводится в курсив, а при использовании команды в курсивном тексте происходит обратное.
Добавление изображений
В Overleaf для добавления изображений их сначала нужно будет загрузить.
Команда \graphicspath <
Примечание: расширение файла включить можно, но лучше его опустить. В этом случае LaTeX будет искать все поддерживаемые форматы. Также при загрузке файлов обычно рекомендуется указывать расширение в нижнем регистре.
Подписи, метки и ссылки
С помощью окружения figure изображения можно подписывать, размечать, а также делать на них ссылки:
В примере выше показаны три важные команды:
Примечание: если вы используете подписи и ссылки на собственном компьютере, то вам потребуется скомпилировать документ дважды, чтобы они сработали. Overleaf делает это автоматически.
Создание списков
Списки в LaTeX создаются очень просто. Делается это с помощью различных окружений списков. Окружения – это разделы, которые требуется представить отличным от остальной части документа образом. Начинаются они с \begin <. >, а завершаются на \end <. >.
Существует два основных типа списков: упорядоченные и неупорядоченные. Каждый из них реализуется в собственном окружении.
Неупорядоченные списки
По умолчанию отдельные записи обозначаются черной точкой, или буллетом. Текст в записях может иметь неограниченную длину.
Упорядоченные списки
Для упорядоченных списков используется тот же синтаксис, но в другом окружении. В данном случае этим окружением выступает enumerate :
Добавление математических выражений
Одно из главных удобств LaTeX состоит в простоте использования математических выражений. Этот инструмент предоставляет два режима их написания: режим inline (встраивание) и режим display (отображение). Первый используется для написания формул, являющихся частью текста. Второй позволяет создавать выражения, не входящие в состав текста или абзаца, а размещаемые на отдельных строках. Вот пример режима встраивания:
Режим отображения предлагает два варианта: без нумерации и с нумерацией.
Важно: окружение equation* предоставляется в виде стороннего пакета. Подробнее об этом рекомендую почитать статью по amsmath.
Для использования многих команд при работе с математикой необходим пакет amsmath, поэтому не забудьте его добавить. Ниже показан пример некоторых его базовых команд:
Возможности использования математики в LaTeX безграничны, и перечислить их все здесь просто нереально. Так что рекомендую дополнительно почитать соответствующие материалы по теме:
Базовое форматирование
Теперь разберем написание аннотаций, а также форматирование документов LaTeX в разных главах, разделах и абзацах.
Аннотации
Абзацы и перевод строки
Когда при написании документа вам требуется начать новый абзац, нужно дважды нажать «Ввод», вставив таким образом двойную пустую строку. Имейте ввиду, что отступ абзацев LaTeX делает автоматически.
Чтобы создать новую строку без создания очередного абзаца нужно вставить точку разрыва строки, для чего используется \\ (двойной обратный слэш, как в примере) или команда \newline.
При этом не следует использовать несколько \\ или \newline для «имитации» абзацев с увеличенными интервалами между ними, так как это приведет к конфликту с внутренними алгоритмами LaTeX. Для подобного эффекта рекомендуется использовать двойные пустые строки, после чего добавлять во вступление \usepackage
Дополнительную информацию по теме можно найти в статье Paragraphs and new lines.
Главы и разделы
Команды для организации документа варьируются в зависимости от его типа. Простейшей формой организации выступает деление на разделы, доступное во всех форматах.
Более подробный разбор структуры документа описан в статье Sections and Chapters.
Создание таблиц
Простые таблицы
Вот простейший пример создания таблицы:
Добавление границ
Окружение tabular достаточно гибкое и позволяет размещать разделяющие строки между каждым столбцом.
Подписи, метки и ссылки
Примечание: если вы используете подписи и ссылки на своем компьютере, то для работоспособности ссылок нужно будет скомпилировать документ дважды. Overleaf делает это автоматически.
Добавление содержания
Процесс создания содержания очень прост и реализуется командой \tableofcontents :
Скачивание готового документа
Завершенный документ в формате PDF можно скачать через расположенное слева меню, кликнув PDF.
Есть и более быстрый способ через нажатие кнопки Download PDF в окне просмотра PDF, как показано ниже:
Написание формул на LaTeX, ч. II
Дополнительные возможности
Греческие буквы
Имя команды, задающей греческую букву совпадает c английским названием этой буквы. Исключение составляет буква «o» (омикрон), она совпадает c латинской буквой «o», поэтому специальной команды для нее не предусмотрено. Кроме того, некоторые греческие буквы имеют по два варианта написания, что также отражено в таблице.
\(\Gamma, \Delta, \Theta, \Lambda, \Xi, \Pi,\)
\(\Sigma, \Upsilon, \Phi, \Psi, \Omega\)
Символы бинарных операций
При выводе символов бинарных операций (наподобие знаков сложения, вычитания и т.д.) оставляются небольшие пробелы по обе стороны от знака. Вот список символов бинарных операций:
Отрицания
\(\not =, \not \subset, \not = \subset\)
Для некоторых часто используемых перечеркнутых символов существуют специальные команды, которыми и надо пользоваться:
Символы бинарных отношений
B следующей таблице приведены символы бинарных отношений. Вокруг них, как и вокруг символов бинарных операций, оставляются небольшие пробелы.
Работа c множествами
B данном разделе собраны команды для работы c множествами, a именно, символы для включения, принадлежности и т.п.
\( \cup, \cap, \setminus, \bigtriangleup\)
\( \in, \notin, \subset, \supset, \subseteq, \supseteq, \ni\)
Крышки, подчеркивания и т.д.
Можно использовать также следующие команды:
\(\overbrace
Отметим, что первая группа команд действует только на один символ и не «растягивается» на все выражение. Сравните:
Шрифты
Bce эти команды действуют на один следующий за ними символ. Если нужно изменить шрифт группы символов, то группу надо заключить в фигурные скобки. Кроме того, некоторые шрифты действуют только на прописные буквы:
Для изменения размера шрифта используются команды:
Bce эти команды изменяют размер шрифт от места появления команды и до конца формулы (или до следующей команды смены размера шрифта). Если нужно изменить размер только части формулы, то нужно писать так