В этом видеофрагменте мы рассмотрим, как
создавать в LaTeX простые математические формулы.
Вы можете скачать из материалов курса шаблон 1.2.
Вот у меня он открыт на компьютере, я открыл его в программе TeXstudio.
Это программа, которую вы можете установить
к себе на Mac, или на Windows,
или на Linux, - она есть для всех этих операционных систем, - и работать в ней.
Если у вас есть такая возможность, то лучше так и
сделать, потому что тогда у вас будет доступ к редактированию ваших документов,
их компиляции, независимо от того, есть у вас сейчас интернет или нет,
и насколько хорошо работают сайты для
онлайн-редактирования этих документов, о которых я говорил.
Итак, вот документ, шаблон 1.2.
Начало уже привычное нам, такое же, как и в прошлый раз.
Здесь есть какой-то вступительный текст, который полностью
представляет собой комментарий, то есть не воспринимается системой.
Дальше идет команда \documentclass, которая задает класс
документа, такой же, как и в прошлый раз.
Опять это класс article, опять он с опциями бумага А4 и 12 пунктов.
Те же самые пакеты, что в прошлый раз подключены
для работы с русским языком, но один только добавлен.
Это пакет mathtext, который отвечает за
то, чтобы русские буквы в формулах отображались.
То есть если вам почему-то захочется
использовать в качестве переменных не латинские
или греческие буквы, а русские, то
вот подключение пакета mathtext сделает это возможным.
Я, однако, не советую это делать, то есть использовать это
только в крайнем случае, потому что, во-первых, вдруг вам захочется,
там, послать или перевести эту, написанную вами, написанный вами документ
на какой-нибудь другой язык, и русские буквы будут очень непривычны читателю.
Во-вторых, пакет mathtext, поскольку он неродной для LaTeX, то есть
изначально не предполагалось, что кириллические
буквы могут использоваться в формулах,
иногда он вызывает проблемы в работе, то есть подключение некоторых
других пакетов может стать
невозможным, если вы используете пакет mathtext.
Поэтому я здесь его подключаю, во всех дальнейших
документах, которые я буду предлагать вам, его не будет.
Итак, что здесь еще есть в преамбуле?
Здесь подключен целый ряд пакетов, многие из которых начинаются с ams.
AMS - это американское математическое общество, организация,
которая внесла очень большой вклад в развитие LaTeX
и написала вот эти пакеты, которые сейчас, в
общем, стали стандартными и одними из самых часто используемых.
Я не буду вдаваться в подробности, что каждый из них означает.
Если хотите, вы можете легко найти эту информацию.
Но многие из тех команд, которые я
сегодня буду показывать, они существуют благодаря этим
пакетам, то есть если не подключить их,
то система будет ругаться на неизвестные команды.
Поэтому я советую вам иметь эту строчку всегда в своей преамбуле.
Она ничего плохого в себе не несет, это стандартные
пакеты, которые ни с чем не конфликтуют и очень хорошо работают.
Еще один пакет, который здесь подключен, это
пакет icomma, это intelligent comma, умная запятая.
Я позже скажу о том, как она работает и почему она нам нужна.
Так, здесь есть, видите, два пакета, которые
можно подключить, - вернее один пакет и одна опция,
которую можно подключить, - но пока они у меня
начинаются со знака процента, то есть они не подключены.
Дальше я скажу, как их подключение повлияет на обработку документа.
Следующие два пакета ~ это шрифт Евклид, euscript и
еще один математический шрифт для… иногда, если латинские
и греческие буквы заканчиваются, то хочется использовать их же,
но написанных другими шрифтами всякими, там, курсивными или готическими.
Вот эти пакеты позволяют это сделать.
Так, здесь есть еще кое-что, что я, - вот это вот, - что я пока не буду обсуждать.
Дальше, когда мы столкнемся с использованием, я вернусь
к преамбуле и расскажу, зачем это было нужно.
Заголовок уже привычным нам способом сделан,
здесь есть автор, заглавие и дата.
Хорошо.
Теперь, если мы запустим этот документ - в
программе TeXstudio это делается нажатием клавиши F1
на клавиатуре или нажатием вот этих, вот этой вот двойной стрелочки, вот она здесь.
Он запускается на обработку.
Вот здесь внизу, вот здесь вот внизу мы
видим сообщение, которое LaTeX, может быть, хочет нам передать.
Сейчас, к счастью, все хорошо, процесс закончился нормально, это
означает, что выполнение документа не привело ни к каким ошибкам.
Ну еще бы, мы практически ничего не сделали, то есть подключены
несколько основных пакетов и просто
введена команда, которая отвечает за заголовок.
Кстати, отвлекаясь на секунду от этого документа, я хочу вам
показать, во что превратилась папка, в которой этот документ был.
Вот main1.2.tex ~ это файл, который был единственным
в этой папке еще несколько минут назад.
Это тот файл, который вы скачаете с сайта из материалов курса как шаблон 1.2.
Когда я запустил документ на обработку
с помощью LaTeX, создалось несколько других документов.
Ну, самый важный из них ~ это вот этот, PDF,
его можно открыть, и он откроется в обычной программе просмотра PDF.
Пока он пустой, очень, очень хорошо это видно.
Это документ, который точно вам понадобится.
Остальные файлы, которые здесь ~ это служебные
файлы, которые LaTeX сделал для своих нужд.
Здесь их еще совсем немного.
Если вы будете делать презентацию, или
картинки вставлять, или рисовать картинки сами,
или делать оглавление, список литературы, то
файлов этих здесь может быть больше десятка.
Ну, здесь вот файл log ~ это файл,
в котором записано все-все-все, что происходило во время компиляции.
Это написано на специальном языке, если
вы когда-нибудь станете продвинутым пользователем, то, может
быть, вам будет интересно изучить эти файлы,
особенно если происходят какие-то непонятные вам ошибки.
Файл aux, auxiliary, создан LaTeX
для того, чтобы быть картой документа, то есть если в вашем документе есть какие-то
перекрестные ссылки или нужно помнить номера страниц, на которых
находятся какие-то объекты, то файл aux содержит эти сведения.
Файл synctex позволяет, - то, о чем я говорил в прош…
в прошлом видео, - позволяет в каком-нибудь месте
получившегося PDF-документа, вот в этой программе просмотрщика, нажать правую
кнопку и перейти в место, которое ему соответствует в исходном документе.
Позже мы попробуем это сделать.
Эти файлы, ну кроме, естественно, исходного файла TeX, который
вы редактируете, и файла PDF вы можете смело удалить.
Они не пригодятся вам, если вы уже сделали итоговый файл.
Но учтите, что LaTeX будет создавать их
заново при каждой компиляции, и если
у вас нет причин удалять их, то можете оставить, потому что они все равно будут,
и вы никуда не денетесь от того, что они будут захламлять вашу папку. То
есть если вы хотите отправить кому-то содержимое
документа, то эти файлы отправлять ни к чему.
Но если они вам не мешают, то оставьте, потому что LaTeX будет использовать
их при последующих компиляциях, особенно файл
aux, и последующие компиляции будут проходить быстрее.
Иногда бывает так, что устаревший файл aux,
который LaTeX использует, а надо бы его не использовать,
а сделать новый, вызывает какие-то проблемы, то есть, например,
ссылки не обновляются или еще какие-то неожиданные вещи происходят.
То есть если вы уверены, что в вашем документе все хорошо, но тем не менее
он компилируется как-то не так или вообще не
компилируется и вызывает ошибки, то попробуйте сделать следующее.
Ну, просто, можно в папке вручную удалить эти файлы или вот здесь в
меню этой программы TeXstudio в разделе
"Инструменты" есть такой пункт "Очистить вспомогательные файлы".
Если я нажму его, ну он меня спросит, действительно ли я хочу это сделать, OK.
Удалены все файлы кроме .tex, .pdf ну и .synctex, почему-то TeXstudio
его не удаляет, если он вам мешает, вы можете удалить его вручную.
Вот.
И теперь при следующей компиляции все эти файлы будут
созданы заново, то есть LaTeX будет воспринимать этот документ,
как тот, который он видит в первый раз, и
не будет пользоваться никакими результатами,
которые получил при предыдущих компиляциях.
Итак, давайте начнем заниматься математикой.
Во-первых, что важно знать?
В LaTeX всегда неважно, сколько пустых строк вы оставите между абзацами.
Вот скажем, я хочу написать здесь "Первый", так,
"Первый абзац". Если
я просто нажму, нажму Enter и
начну здесь писать, скажем, "Второй абзац", то, после
того, как я запущу это на обработку, на самом деле
второго абзаца не получилось, то есть фраза
"Второй абзац" оказалась там же, где и первый.
Секрет в том, что LaTeX не достаточно
одного переноса строки, чтобы начать новый абзац.
Когда вы будете работать с большими
документами, вы поймете, что это очень удобно.
Вы можете внутри какого-нибудь большого абзаца, если вы хотите не делить его
в итоговом документе на части, но для себя логически разделить, чтобы понять,
что в нем написано, и, может быть, как-то переформулировать, то иногда это
удобно нажимать один раз Enter, чтобы,
например, каждое предложение начиналось с новой строки.
Но Enter, нажатый один раз, воспринимается просто как пробел.
Поэтому нового абзаца не получается.
Чтобы новый абзац получился, нужно оставить
по крайней мере одну пустую строку.
Можно видеть, что теперь, действительно, абзац превратился в абзац.
Можно оставить несколько пустых строк, это неважно.
LaTeX не оставит пустое место между первым и вторым абзацем,
если вы оставите там много пустых строк, потому что LaTeX понимает,
что, скорее всего, вы это сделали, чтобы, там, вставить что-нибудь потом
между ними, а не потому, что вы хотите большой вертикальный пробел.
Как делать вертикальные пробелы, мы дальше узнаем, но точно не
так, как вы это делаете в Word, нажимая Enter многократно.
Итак, у нас есть первый и второй абзац.
То же самое, кстати, касается пробелов.
Есть я поставлю много пробелов между словами "первый" и
"абзац", то это никак не отразится на итоговом результате.
LaTeX понимает, что, скорее всего, вы поставили много пробелов
по ошибке, и не нужно расширять промежуток между словами.
Если вам нужно расширить промежуток между словами, то есть специальная
команда горизонтального пробела, которую мы
в одном из следующих занятий рассмотрим.
Чтобы написать формулу, нужно вставить ее между знаками доллара.
Я могу написать: "$2 + 2 = 4$.
Вы можете видеть, что TeXstudio, программа, в которой
мы работаем, подсветила все, что между долларами, зеленым.
И сами доллары тоже.
Это значит, что мы перешли в математический
режим и пишем формулу, а не текст.
Внутри формулы можно поставить пробелы между символами, если хотите.
Любое количество пробелов.
Это неважно, LaTeX будет их всех игнорировать.
Он будет сам расставлять пробелы, горизонтальные, вертикальные
промежутки между знаками так, как считает правильным.
И, в очень большом числе случаев, это действительно так и должно быть.
То есть стоит доверить ему эту расстановку.
Если я запущу это на обработку, то я увижу формулу в своем документе PDF.
Вот здесь написано "2 + 2 = 4".
И вы видите, что несмотря на то, что здесь расставлено
много случайных пробелов, в исходном тексте, в итоговом тексте все хорошо.
Итак, 2 + 2 = 4.
Вот, формула, написанная внутри одних долларов, воспринимается как слово.
То есть я могу просто продолжать абзац.
То есть, вот, например, "Второй абзац", в нем встретилась эта формула.
После нее, я могу, например, поставить точку и продолжать писать свой текст.
Текст абзаца.
Эта формула просто окажется как формула внутри строки.
Вот так.
Иногда с этим связаны некоторые проблемы.
Например, если формула оказалась слишком длинной и не входит в строку.
То есть, или вам нужно перенести строку, и это какое-то неудачное место в формуле.
Или, может быть, формула не такая простая, представляет собой не
просто ряд символов горизонтальный а, например, содержит дроби или интегралы.
То есть какие-то символы, которые выше, чем сама строка.
В этих случаях вы захотите сделать формулу выключной.
Это такой термин, которым обозначаются
объекты, которым предназначается отдельная строка.
Если я хочу сделать выключную формулу, то есть
формулу, которая будет на отдельной строке, будет выровнена посередине,
то, вместо знака долларов, мне нужно использовать команду,
которая состоит из обратного слэша и открывающейся квадратной скобки.
Я набрал только обратный слэш и открывающуюся квадратную скобку.
Команду, которая закрывает математический режим, то
есть обратный слэш и закрывающуюся квадратную скобку,
LaTeX, не LaTeX, точнее, а TeXstudio,
программа, в которой мы работаем, поставила автоматически.
Это довольно удобно.
Если вам это не нравится, вы можете отключить это в настройках.
Что будет, если я сейчас здесь напишу формулу 2 + 2 = 4 и запущу это на обработку?
Можно видеть, что эта формула получила
отдельную строку и стала выровнена посередине.
Давайте попробуем выключить пакет icomma и посмотреть,
что будет, если бы мы его не использовали.
Я оставлю знак процента.
Это значит, LaTeX будет игнорировать строчку с пакетом icomma.
Вернемся сюда, и я напишу формулу, то есть, внутри знаков доллара, обычную,
внутри строчки, формулу, в которой будет десятичная дробь две целых четыре десятых.
2,4.
Запущу это на обработку.
Я увижу результат.
Результат этот, конечно, выглядит удовлетворительно, но не отлично,
потому что между запятой и четверкой оказался ненужный пробел.
Этот пробел появился там потому, что LaTeX
подумал, что я просто перечисляю какие-то, например, координаты.
То есть, если у точки есть две координаты, 2 и 4, то это
два разных числа, 2 однородных члена
предложения, которые нужно разделить запятой и пробелом.
Однако в нашем случае это не так.
Если это десятичная дробь, то не нужно разделять их пробелом.
Поэтому я включу пакет icomma, который сделает вот что.
Сейчас, если включить пакет icomma и запустить на обработку,
то мы видим, что пробел между двойкой и четверкой исчез.
То есть теперь это выглядит как нормальная десятичная дробь.
Но это, это не было бы умной запятой, icomma,
intelligent comma, если бы на этом заканчивалось действие этого пакета.
Этот пакет умеет вот что.
Что, если мне действительно нужно перечисление.
Скажем, я хочу написать координаты точки с координатами 2 и 4.
Я могу сделать это вот так.
Смотрите, чем отличается запись первая десятичной
дроби от записи точки с двумя координатами.
Тут я на самом деле поставил пробел.
То есть это единственный случай, когда пробел внутри формулы имеет значение.
Во всех остальных случаях пробелы в формулах
полностью игнорируются LaTeX, но если вы подключаете
пакет icomma, то пробелы после запятой не
игнорируются, и нужно быть внимательным при наборе.
Если вы написали 2,4 без пробела в
исходном тексте, то, значит, это десятичная дробь.
Если вы написали 2,4 с пробелом в исходном тексте, значит это
перечисление однородных членов предложения,
и пробел окажется в PDF-документе.
Давайте убедимся в этом, запустив на обработку.
Вот, можно увидеть, что результат разный.
То есть 2,4 в первом случае и 2, 4 во втором случае по-разному обработаны.
То есть там, где это десятичная дробь, пробела нет; там,
где это перечисление, пробел есть.
Иногда так случается, что формулы, которые мы
набираем внутри строки, попадают туда, где строка разрывается.
То есть начало формулы оказывается в одной строке, а конец - уже в следующей.
Традиции русскоязычного набора, как и, наверное, любого
другого набора, не запрещают делать так с формулами.
В этом нет ничего страшного.
Но традиции русскоязычного набора немножко отличаются
от традиций, принятых в других местах.
Давайте я покажу, чем заключается это отличие.
Ну, во-первых, мне нужна какая-нибудь длинная строчка со случайным набором букв.
Просто я хочу, чтобы формула, которую я сейчас наберу, оказалась в конце строки.
Скажем, в этой формуле я напишу, что 1 + 2 + 3 + 4 + 5 + 6, так, равно, кажется, 21.
Давайте посмотрим, где окажется эта формула, если я ее обработаю.
Да, она оказалась не там, где я
хотел, потому что она полностью влезла в строку.
Ну хорошо, давайте добавим сюда еще слов.
А теперь она вся перенеслась.
Это мне тоже не нужно.
Значит, слов слишком много.
Во.
Вот, то, что я хотел получить.
Смотрите.
Начало формулы оказалось в первой строке этого абзаца,
а окончание - в следующей строке этого абзаца.
Если бы мы писали книжку по-английски, то то, что произошло, было бы правильным.
То есть просто формула разорвалась, оставив знак арифметического действия
в предыдущей строке и начав новую строку со следующего символа.
Однако в русскоязычной традиции набора математических формул
принято переносить знак арифметического действия на новую строку тоже.
То есть дублировать его еще раз.
Есть способ сделать это разумно с помощью LaTeX.
Ну, что можно было бы сделать, если бы
мы хотели, вот, в порыве перфекционизма, продублировать этот знак.
Можно было бы здесь просто написать здесь второй знак плюс, прямо в формуле.
Запускаем.
Так.
И, в общем, произошло то, чего мы ожидали.
То есть после единички плюс есть как в первой
строке, так и в следующей строке он тоже оказался.
Недостаток такого подхода в том, что если мы
что-нибудь поменяем в тексте, который идет перед формулой и
разрыв окажется в другом месте, то эти два плюса
подряд будут идти там, где их быть не должно.
Существует способ, предложенный в пособии
Львовского, которое является нашей основной книжкой.
Способ этот заключается в том, чтобы задать вот такую команду.
В преамбуле это называется "Перенос знаков в формулах по Львовскому".
Я не буду вдаваться в подробности, что именно здесь происходит.
А-а.
И если вы еще не стали продвинутым пользователем, не советую вам разбираться.
Просто научитесь работать с этим.
Смотрите.
Когда я узнал, что у меня знак плюс после единички оказывается в конце строки и
разрывает эту строку, то я могу поместить этот плюс внутрь аргумента команды \hm.
Вот так вот.
Не нужно его дублировать, у меня остается один
плюс, но я помещаю его внутрь команды \hm.
То, что происходит, - он продублировался здесь.
Но давайте посмотрим, что было бы, если бы мне не нужно было дублировать.
То есть, если бы формула, начало формулы, не вошло в первую строку.
Тогда этот плюс остается единственным, как положено.
То есть команда \hm дублирует знак тогда, когда
нужно, и не дублирует тогда, когда не нужно.
Очень удобно использовать такую команду, чтобы разбираться
с этими случаями, когда формула разрывается между строками.
Мы с вами раньше использовали вот в
этом месте команду, которая делала выключную формулу 2 + 2 = 4.
Давайте сейчас сделаем так, чтобы эта
формула была содержательным объектом в тексте,
то есть, чтобы она получила номер и чтобы на нее можно было ссылаться.
Для того чтобы это сделать,
существует окружение, по-английски - environment, - если
вы будете читать какую-нибудь книжку, то
это будет называться environment, - \begin{equation}.
Вот я начал набирать, и мне уже TeXstudio подсказывает.
Это очень хорошая программа, которая позволяет мне до конца
не писать это слово, я нажимаю Enter, и он
уже сам \end тоже написал equation, то есть мне
осталось только написать, что за уравнение у меня там будет.
Ну давайте у меня там будет уравнение скажем, MR = MC.
Вот такое простое уравнение из микроэкономики.
Давайте я запущу это на обработку.
Посмотрю, что вышло.
Формула MR = MC оказалась выключной, она получила собственную строку,
выровнена посередине, получила отступы сверху и снизу и получила номер, номер 1.
Нумерация сквозная по умолчанию вдоль всего документа.
В одном из следующих уроков мы научимся изменять это, то есть делать
так, чтобы, например, уравнения нумеровались
как 1.1, где первая цифра ~
это номер секции, то есть номер раздела, и нумерация уравнений может подчиняться
какой-нибудь другой нумерации, например, нумерации
глав или разделов в вашей статье.
Так, хорошо.
Как мы с вами учились на прошлом
занятии, можно этому объекту приписать какой-то label.
\label, вот мне TeXstudio подсказывает, какой синтаксис у этой команды.
Вместо key нужно написать имя, которое мы ей присвоим.
Ну давайте присвоим ей имя eq, это класс equation, то есть тип equation,
ну и что-нибудь типа там mrmc, чтобы долго не запоминать, как мы его назвали.
Теперь я могу воспользоваться этим.
Я могу использовать команду \eqref, пишу в следующем абзаце "\eqref".
Вместо label нужно написать то, чему оно у
нас… то, какое значение присвоено, то есть "eq:mrmc".
Я могу написать, что это условие максимизации прибыли.
Это действительно так.
Давайте запустим это на обработку.
Что произошло?
У нас оказалось здесь, что единичка подставилась
сама собой, то есть тот именно номер, который
мы присвоили этому уравнению, не мы точнее, а
который система присвоила этому уравнению, оказался в ссылке.
Мы можем написать, что это не просто 1, а еще и на странице,