Новый section в нашем документе, новый раздел - это "Формулы в несколько строк". Типичным разделителем строк в LaTeX является просто пустой абзац, как мы с вами уже изучили. Если вы оставляете пустую строку, то то, что вы будете писать после этого, LaTeX начнет с новой строки. Однако в математическом режиме это не работает. Давайте убедимся. Вот я перехожу в математический режим, пишу открывающуюся скобку со слэшем и закрывающуюся со слэшем. И я хочу написать, что, например, дважды два равно четыре. Оставлю пустую строку и напишу еще, что трижды три равно девять. Запущу это на обработку. Что произошло? Произошло сразу несколько ошибок. Вы видите в левой нижней части экрана 4 ошибки, но общее правило работы с ошибками - такое. Я думаю, что об ошибках мы еще дальше поговорим, но общее правило работы - такое: исправляйте первую встретившуюся ошибку. Не нужно смотреть на все ошибки, думать, какая из них самая важная, выбирать и разбираться с ней. Исправляйте первую ошибку - просто потому, что ошибки кроме первой могли быть вызваны тем, что в LaTeX что-то сломалось на этапе обработки вашей первой ошибки. Может быть, вы исправите только одну первую, и все остальные исчезнут сами собой. В данном случае первая ошибка называется "Missing $ inserted". То есть LaTeX говорит нам: "Вы где-то пропустили знак доллара". То есть вы где-то пропустили переход в математический режим. Или выход из математического режима. Это вполне естественно. LaTeX не приемлет пустых срок внутри формулы. То есть вы не можете, находясь внутри формулы, делать новый абзац так же, как вы делаете это в обычном тексте. Поэтому здесь возникла ошибка. Если я, скажем, уберу пустую строку и просто запущу получившийся документ, то все ошибки исчезнут, но то, что мы получим, будет далеко от того, что мы хотели. Поскольку один перенос строки, как я уже говорил, всегда воспринимается LaTeX как пробел, а пробелы в формулах почти всегда игнорируются, то этот перенос строки был просто проигнорирован. Мы увидели результат такой же, как мы бы увидели, если бы здесь было написано просто, что дважды два равно сорок три умножить на три равно девяти, что является полной ерундой. Что же, если мы хотим сделать формулу, состоящую из нескольких строк? Ну, если вы забыли, как это делается и вам негде подсмотреть, и никто не может вам помочь, то, в крайнем случае, вы можете просто начать новую формулу. Скажем, я могу здесь еще раз перейти в математический режим и написать, что трижды три равно девять. Запускаем. Ну, вот теперь результат получился более приемлемым. Теперь мы видим действительно те две формулы, которые хотели видеть. Действительно видим их в двух строках, как и хотели увидеть, но это не то, как надо действовать на самом деле. Потому что, ну, во-первых, между ними оказался огромный, огромный промежуток, между этими формулами. Гораздо больше, чем обычный промежуток между абзацами, что нам бы не хотелось. Во-вторых, может быть мы хотим создать формулы из нескольких строк и присвоить ей единый номер, что здесь тоже не получится сделать, поскольку это две различные формулы. Для того чтобы создавать формулы из нескольких строк, существуют несколько специальных инструментов. Давайте рассмотрим их по очереди. Первый инструмент, который я хочу рассмотреть, первый нюанс, будет относиться к очень длинным формулам. Что, если перед нами очень длинная формула? Так, вот, скажем, очень такая длинная формула, в которой есть сумма натурального ряда чисел с первого номера по сотый. Кстати, это равно, кажется, 5050. Если я хочу сообщить своему читателю вот такие сведения о том, что сумма всех чисел от одного до ста равна 5050, - причем я хочу сообщить это читателю именно так, как здесь написано, то есть хочу написать начало этого ряда, потом поставить многоточие, которое ставится командой \dots, потом середину этого ряда, а потом конец. Тоже после многоточия. Что получается? Получается не очень хорошо. Во-первых, вся формула как бы сжалась. Вы видите, что расстояние между плюсами отсутствует. Это пришлось сделать LaTeX, потому что если поставить нормальные пробелы между плюсами и цифрами, то формула бы просто не влезла в страницу. Ну и вообще не очень красиво выглядит. Такая длинная формула сложно воспринимается. Конечно, то, что я сейчас написал, это почти бессмысленная формула. Но легко представить себе… То есть можно было написать ее гораздо короче, и смысл был бы тот же самый. Но можно представить себе ситуации, когда у вас действительно какая-то сложная формула, состоящая из многих слагаемых, и вы хотите, чтобы она как-то правильно выглядела: и влезала в строку, и цифры, и буквы не были слишком мелкими. И, в общем, чтобы она как-то выглядела прилично. Чтобы это сделать, нужно воспользоваться окружением. То есть начиная с команды \begin и заканчивая командой \end. \begin, окружение multline. Соответственно, в конце нужно написать \end{multline}. multline. Что это окружение сделает? Правильный способ отображения очень длинных формул, то есть тот, который принят в наборе книг, вот какой: вы должны первую строку прижать к левой части страницы, все строки, кроме первой и последней, выровнять по центру, а последнюю строку прижать к правой части страницы. Это некоторым образом похоже на то, как оформляются, например, стихи Маяковского. Сначала слева, следующее слово в середине, и следующая строчка прижата к правой части. Чтобы сказать LaTeX, в каком именно месте мне нужно сделать разрыв, я должен поставить специальную команду в этих местах, которая отвечает за переход на новую строку. Эта команда - двойной бэкслэш. Вот так вот. Я хочу, чтобы было 2 переноса. Вот здесь и здесь, то есть после многоточий. У меня пока здесь еще не все правильно, потому мне нужно, чтобы плюс дублировался, когда я переношу его, чтобы он был и на старой строке, и на новой. Мы изучали в одном из предыдущих фрагментов команду \hm, которая позволяет автоматически это сделать, если вы заранее не знаете, где будет перенос. Но здесь я точно знаю, где будет перенос. Я так сделал эту формулу. Поэтому ничего страшного, если я напишу этот плюс 2 раза непосредственно. То есть до знака переноса строки и после знака переноса строки. Запускаем. И вот мы видим правильно сделанную формулу. Вот теперь она выглядит так, как и должна выглядеть. Она, кстати, получила номер. Номер 2, потому что, как вы помните, мы в одном из предыдущих фрагментов сделали номер 1. Формула MR = MC. Итак, это способ оформлять очень длинные формулы. То есть одно выражение, не несколько выражений, а одно выражение, которое вы хотите разнести на несколько строк, потому что оно очень длинное. Формулы в несколько строк приходится оформлять не только в этом случае, а в том случае, если вы хотите поместить несколько связанных друг с другом и логически, логически связанных. Тех, которые должны находиться рядом друг с другом, формул. Вот в какой-то блок между блоками текста. Для этого существует целый ряд команд. Давайте я наберу \subsection. И назову это "Несколько формул". Существует целый ряд команд. Я предлагаю начать с команды, которая называется align. Пишется вот так. align. Вот, мне LaTeX это сразу подсказывает. Содержимое. Внутри содержимого я могу написать свои уравнения, которые мне нужны. Скажем, то самое дважды два равно четыре. Тут новая новая строка делается точно так же, как и в multline, то есть двойным бэкслэшем. Новая строка. Трижды три равно девять. Хорошо. Ну давайте я еще одну строку для разнообразия сделаю, в которой я напишу, что десять умножить на вот такое число равно вот такому числу. Вот это все - верное равенство. После последней строки не надо ставить двойной блэкслэш, потому что больше некуда переносить. На этом все заканчивается. Давайте попробуем запустить это на обработку. Мы видим довольно приемлемый результат. На что можно обратить внимание? Во-первых, каждая формула получила номер. То есть каждая строчка получила номер. В следующем фрагменте мы обсудим, как это изменить. То есть как более тонко работать с номерами. Но если вам нужно, чтобы каждая строчка получила номер, то ничего менять не нужно. Во-вторых, они выровнены по правому краю. Особенность окружения align заключается в том, что оно позволяет добиваться правильного выравнивания, собственно, align и переводится, как выравнивание. Выравнивание, как правило, в LaTeX, всякие табуляторы и вообще, объекты, находящиеся в вертикальном соответствии друг с другом, ставятся с помощью команды амперсанд. Хорошим тоном является выравнивать, вот, группу формул, подобной этой, по знаку "равно", то есть чтобы знаки "равно" оказывались один под другим. По умолчанию здесь все выровнено по правому краю, и это не очень хорошо смотрится. Хотелось бы, чтобы знаки "равно", соответствовали друг другу вертикально, а не правая часть формул. Я ставлю амперсанд в том месте каждой строчки, где я хочу, чтобы было вертикальное соответствие, перед знаком "равно". Запускаю, и получаю результат, который хотел. То есть, теперь у меня здесь все выровнено по знаку "равно" независимо от того, какая ширина у объектов, которые находятся слева и справа от этого знака. Окружение align позволяет сделать еще более мощную вещь, а именно, сделать, чтобы не только было несколько формул в разных строчках, но и сделать целую таблицу из формул, то есть сделать несколько столбиков. Чтобы перейти к следующему столбику формул, мне нужно еще раз поставить амперсанд. Обратите внимание, все нечетные амперсанды отвечают за - то есть первый, третий, пятый - отвечают за выравнивание внутри столбцов. Все четные амперсанды - второй, вот который я сейчас поставил, дальше четвертый, шестой и так далее - отвечают за новый столбец формулы. Вот я сейчас поставил второй амперсанд, и захочу здесь, и хочу здесь написать формулу, что шесть умножить на восемь равно 48. Давайте я добавлю по одной формуле к каждой из строк. Здесь я хочу написать, например, что a плюс b равно c, равно c. А здесь, в последней строке, что дробь три вторых равна 1,5. Не забуду поставить еще по одному амперсанду перед знаками "равно", чтобы второй столбик тоже выровнялся, как нужно. И запущу на обработку. Вы видите аккуратно оформленные два столбика формул, каждый из которых выровнен по соответствующему знаку "равно", который я указал. И эти столбики разделены нужным расстоянием, то есть все это подобрано, где они должны находиться, подбирается автоматически. Здесь у меня не очень красиво получилось, вот, вы можете видеть, - иногда, когда вы будете писать текст, который вам кажется вполне нормальным, потом смотреть, что получилось - иногда получаются какие-то нюансы, которые вам бы хотелось исправить. Вот здесь, когда я смотрю на этот фрагмент, мне хочется исправить вот эту дробь три вторых, потому что вы можете видеть, что из-за нее последняя строка разъехалась, и вот здесь, в первом столбике, разрыв получился слишком большой. Это выглядит некрасиво. Поэтому в данном случае более удачно будет написать дробь три вторых не через команду \frac, а просто через обычный слэш, который означает деление. Да, что у меня там было написано? Что три вторых равно полтора. Вот, если запустить, сейчас, стало гораздо лучше. То есть, все строчки выглядят аккуратно и одинаково. Что, если вам нужно, чтобы не каждая строка в формуле, которую вы пишите, получала номер, а чтобы вся группа строк получила номер. Скажем, вы пишите формулировку какой-то задачи, там есть какая-нибудь целевая функция, ограничение, и все они относятся к одной задаче, которой вы хотите этот номер присвоить. Для этого есть окружение с очень похожим синтаксисом, который называется aligned. Я сейчас покажу, как это пишется. aligned. Давайте я вот возьму и скопирую сюда все, что у меня было в окружении align. И попробую запустить. Посмотрим, что получится. Ошибка. Давайте почитаем, что за ошибка. Здесь написано: "Ошибка пакета amsmath". Это один из пакетов, который мы подключали для расширенной работой с математикой. "\begin{aligned} allowed only in math mode". Это переводится так: "Ошибка пакета amsmath, которая заключается в том, что окружение aligned разрешается только в математическом режиме". В этом отличие окружения align, которое мы использовали перед этим, от окружения aligned, которое мы пытаемся использовать сейчас. Дело в том, что, чтобы использовать aligned, нужно перейти в математический режим. Если я хочу номер, то я тогда напишу \begin{equation} и \end{equation} вставлю в конец. То есть, когда я пишу просто align, то LaTeX понимает, что нужно перейти в математический режим. Когда я пишу aligned, он необязательно это понимает. Почему так сделано? Потому что aligned, то есть вот эта табличка с номером, она может быть внутри какой-то более сложной формулы. То есть кроме этой группы, которой вы хотите присвоить единый номер, в вашей формуле может быть еще что-то, например, вы можете поместить окружение aligned внутри окружения align. И поэтому окружение aligned воспринимается как часть математического режима, и нужно перейти в специальный математический режим, чтобы он работал. Сейчас, когда я ввел эти \begin{equation}, end{equation}, давайте запустим. И вы видите, что теперь у меня эти же самые формулы, но получили теперь единый номер. Номер шесть. Следующий способ, когда вы захотите получить формулу, состоящую из нескольких строчек, - это система уравнений. Давайте, я напишу здесь новый subsection. "Система уравнений". Система уравнений - это такая группа уравнений, которая отличается от aligned, использовавшегося нами перед этим, тем, что там есть большая фигурная скобка. Собственно, изменений совсем немного. Чтобы получить систему уравнений, нам нужно воспользоваться окружением aligned. То есть сделать то же самое, что мы делали в предыдущем случае. Вставляем. Ну, система уравнений вряд ли будет состоять из такой таблицы. То есть там будет, наверное, просто какая-то, какая-то группа уравнений, скажем, вот. Давайте я заменю это на переменные. Два умножить на икс равно четырем. Три умножить на игрек равно девяти. И десять умножить на это число равно зет. Если я сейчас запущу это обрабатываться, то я увижу просто табличку из трех формул. Нет, тут нужен еще один аперсанд перед знаком "равно". Чтобы поставить фигурную скобку, мне нужно сделать то, что мы уже делали. Как вы помните, фигурная скобка задается с помощью специальной команды, то есть вы не можете просто набрать ее с клавиатуры. Нужно набрать ее с бэкслэшем. Вот я набрал ее перед началом формулы. Вы видите, что TeXstudio, редактор, в котором я работаю, предложил мне автоматически закрывающуюся фигурную скобку. Вот она как раз мне не понадобится. У системы только с одной стороны есть фигурная скобка. Поэтому, я ее удаляю. Я ее удаляю. TeXstudio это не нравится: как вы видите, он выделяет красным, потому что открывающаяся скобка есть, а закрывающейся нет. Кроме того, мне нужно, чтобы эта фигурная скобка была нужной высоты. С этой задачей мы тоже уже сталкивались. Я могу написать здесь \left - как вы помните, когда я пишу \left, это создает фигурную скобку или любую другую скобку, нужной высоты. Ту скобку, которая следует за командой \left. Однако, LaTeX не нравится, что открывающаяся скобка есть, а закрывающейся нет. Если мы сейчас попробуем это обработать, то будет ошибка. Это сделано для того, чтобы вы сами следили за своим набором, то есть, может, вы случайно пропустили скобку, и тогда вам нужно об этом напомнить. Чтобы избежать случайных пропусков скобки, LaTeX ругается каждый раз, когда вы его пропускаете. Нужно четко сказать LaTeX, что мы ничего не пропустили. Ну, естественным было бы написать здесь \right и закрывающуюся фигурную скобку. И тогда у нас была бы система, которая с двух сторон обрамлена фигурными скобками: слева и справа. Но мы не хотим этого, нам не нужно, чтобы здесь было две фигурных скобки. Нам нужна только одна. Поэтому вместо фигурной скобки после команды \right мы поставим точку. Точка - это фантом скобки. То есть как будто бы она там есть, то есть LaTeX не нужно беспокоиться, что мы ее забыли, но отображена она не будет. Давайте попробуем запустить. Так, эта ошибка означает вот что: я сделал то, что только что советовал вам не делать, а именно, нужно все-таки поставить здесь бэкслэш перед фигурной скобкой. Это команда. У меня он был пропущен, поэтому это вызвало ошибку. Давайте теперь запустим. Итак, перед нами то, что мы хотели видеть. То есть система уравнений с фигурной скобкой, растянутой ровно так, как нужно, и с отсутствующей закрывающейся фигурной скобкой. Именно так, как нужно оформлять систему уравнений. Еще один случай, очень похожий на систему уравнений, это кусочное задание каких-нибудь функций. То есть когда вы можете сказать, что какая-нибудь функция равна одним значениям при каком-то условии, а при другом условии равна другим значениям. Там тоже используется фигурная скобка. И вы можете получить это с помощью того метода, который мы только что обсудили. Но есть специальный метод, который немного упрощает всю процедуру, этот метод называется cases. Давайте я перейду в математический режим, cases значит случай. То есть в разных случаях функция равна разным значениям. Так, давайте я, например, напишу, как определяется функция модуль икс. Модуль - это вертикальные черточки, я просто набрал их с клавиатуры - это можно сделать, они будут восприняты правильно. Итак, модуль икс, равен… В разных местах по-разному. Иногда он равен просто икс, а иногда он равен минус икс. Поэтому я пишу \begin{cases}, \end{cases} тоже нужно написать, но в TeXstudio они подставились автоматически. И, я могу написать, что "модуль икс равен икс", дальше запятая, могу написать здесь - "если", потом я могу написать, "икс", - нужно написать "больше или равно нулю". За знак больше или равно отвечает команда специальная \ge. Greater or equal, легко запомнить. Икс больше или равно нулю. Дальше я ставлю разрыв строки. И пишу второй случай, "минус икс, если икс меньше нуля". Это все правильно, с точки зрения математики. Но если я попробую просто запустить это, то LaTeX выдаст ошибку. Это уже знакомая наш, нам ошибка - пропущен доллар. Это значит, что мы как-то неправильно используем текстовый математический режим: или мы в текстовом режиме начали писать то, что нужно писать в математическом, или в математическом начали писать то, что нужно писать в текстовом. Здесь именно последний случай. Вот эта команда, это слово "если", оно не является формулой. И поэтому оно должно быть в текстовом режиме, а не в математическом. Если мы находимся внутри математики, как перейти в текстовый режим? Существует специальная команда \text. Если я напишу "если" внутри команды \text, то все будет хорошо. Ну, почти хорошо. Итак, я оба "если" заключил внутрь команды \text, и запускаю это обрабатываться. Ошибок нет. То есть, с точки зрения LaTeX, ошибок нет. Но если мы посмотрим, что получилось, - получилось не совсем то, что нужно. Потому что после "если" нет пробелов. Ну, действительно, все пробелы в математическом режиме игнорируются, кроме пробелов после запятой, как вы помните, который здесь оказался в нужном месте. Но остальные пробелы игнорируются, поэтому чтобы все было хорошо, пробел нужно поставить в текстовом режиме. Обратите внимание, что я после "если" ставлю пробел. Если б мы не подключили команду… Package… Пакет icomma, то тогда и здесь пришлось бы поставить пробел. Потому что после запятой тоже не было бы пробела без этого подключенного нами пакета. Давайте посмотрим, что получилось. Вот теперь уже лучше. Вот - это окончательный вариант. Ну, не очень окончательный все же. Потому что выравнивание, опять, не очень изящное. Хотелось бы, чтобы слова "если" начинались с какого-нибудь одного и того же горизонтального промежутка, то есть, хотелось бы, чтобы слова "если" находились в вертикальном соответствии. И этого очень просто достичь. Как всегда, нужно поставить амперсанд. Так же, как в окружении align, я ставлю амперсанд, и выравнивание получается такое, какое должно быть. Вот, очень красивая формула, которую мы сделали с помощью окружения cases.