В прошлом занятии мы научились вставлять в текст нашего документа различные математические выражения. И хотя Дональд Кнут изначально ставил качественную математическую верстку в качестве одной из задач для своей системы LaTeX, для своей системы TeX, точнее, естественно, это далеко не единственное, что можно вставлять в ваш документ. Сегодня мы займемся картинками и таблицами. Двумя видами объектов, с которыми иногда возникают трудности, когда вы пытаетесь вставить их в свой документ. Но прежде чем мы это сделаем, я хочу познакомить вас с системой единиц измерения расстояний, которые существуют в LaTeX. Поскольку нам нужно будет сегодня эти расстояния менять. Есть несколько довольно интуитивных единиц измерения, я здесь привел некоторые, на самом деле их гораздо больше. В любом пособии по LaTeX вы найдете полный их список, но наиболее знакомые нам с вами - это миллиметры, сантиметры и дюймы. Они имеют вполне естественные аббревиатуры. Это абсолютные единицы измерения. То, чему равен 1 см не зависит ни от размера бумаги, на которой вы находитесь, ни от шрифта, который вы выбрали для своего документа, ни от каких других параметров. Это просто 1 см. Второй вид единиц измерения - это единицы измерения, зависящие от размера шрифта, который вы сейчас используете. Это em и ex. em - это ширина заглавной буквы М в текущем шрифте. То есть какой шрифт вы сейчас используете, какой размер этого шрифта - от этого зависит, чему будет равна длина этой единицы измерения. Ну и единица измерения ex - это высота буквы x, опять же, в том шрифте, который является текущим. Использование этих единиц измерения полезно, если вы вдруг захотите изменить шрифт во всем документе, и, например, таблица, в которой находится текст, должна растянуться пропорционально. Если высота строчек в ней или ширина столбцов будет задана с помощью этих условных единиц измерения, то это произойдет именно так, как вы того ожидаете. Третий вид единиц измерения - это единицы измерения, зависящие от параметров документа, который вы используете. То есть или от размера бумаги, или от ширины текста - то есть размер бумаги минус поля, или от высоты текста, или от каких-то еще параметров. Их есть великое множество, ну просто, в качестве примера, я здесь привел \pagewidth и \textheight. Это, соответственно, ширина страницы, которая зависит от размера выбранной вами бумаги. И высота текста, которая зависит не только от размера бумаги, но и от полей, которые есть сверху и снизу. Иногда бывает удобно, например, задать размер картинки как половину от ширины страницы, чтобы половину занимала картинка, а половину текст. Тогда это сделать очень просто: вы просто пишете 0.5\textwidth, и ширина указанного вами объекта автоматически рассчитывается как половина ширины текста. Если вы в дальнейшем захотите изменить поля или захотите изменить размер бумаги, то автоматически размер вашего объекта изменится, так как его ширина пересчитается в соответствии с новой шириной текста. Итак, давайте начнем с рисунков. Во-первых, небольшой… небольшая ликвидация безграмотности для тех, кто плохо знает теорию компьютерной графики. Рисунки бывают двух видов: растровые и векторные. Растровый рисунок - это такой рисунок, в котором объектом является точка. Каждой точке присваивается некоторый цвет, и в таком виде это записывается в файл. Например, растровыми картинками являются фотографии. Если вы снимаете что-то на фотоаппарат, то матрица вашего фотоаппарата записывает, какого цвета должна быть какая точка. Второй вид рисунков - это векторные. Векторные рисунки - это рисунки, в которых содержится не только… в информации о которых содержатся не только точки, но и, скажем, формулы тех линий, которые там нарисованы. К чему это приводит? Вот на этом экране один и тот же рисунок в растровом и векторном виде. Я нарисовал его сначала в векторном виде, вы может быть помните этот рисунок из первого занятия, а потом просто сделал его скриншот и с тех пор он стал растровым. Потому что в скриншоте просто написано, какого цвета должна быть какая точка. К чему это приводит? Ну, издалека разница незаметна, но если мы приблизим эти картинки, сделаем zoom in или захотим напечатать их на высококачественном принтере, то есть захотим сделать высококачественные полиграфические документы, разница будет заметна. Когда мы приближаем векторный рисунок, который справа, вы можете видеть, что его качество от этого не ухудшается. Потому что просто пересчитываются формулы. Поскольку там написано, в самом файле написано, какие формулы… по каким формулам нужно рассчитывать местоположение тех или иных линий, или какие буквы нужно писать, и какого размера, и в каких местах, то всё это просто пересчитывается, и мы видим изображение такого же высокого качества, как оно было до приближения. Что касается растрового рисунка, то ему неоткуда взять информацию о том, как он должен выглядеть вблизи. Скажем, если вы сфотографировали Эйфелеву башню издалека, то вы никак не сможете узнать, что происходило вблизи, потому что если вы приблизите это место на своей фотографии, то вы увидите просто какие-то точки, которые просто раньше были маленькими, а теперь стали большими. То есть приближение растровой картинки приводит к зернистости. Из этого следует, что если у вас есть возможность использовать в вашем документе векторную картинку, то так и нужно сделать. Потому что векторные картинки, - ну зачастую они еще и занимают меньше размера в байтах - но, кроме того, они позволяют печатать докумены более высокого качества и лучше смотрятся на хороших экранах. Существует несколько известных форматов растровых картинок, которые вы, конечно, знаете. Вот они здесь перечислены. И несколько векторных форматов, которые, может быть, вы знаете хуже. Ну, очень известный формат PDF, который мы привыкли использовать как формат для текстовых документов, но, на самом деле, векторные картинки также можно хранить в этом же самом формате PDF. Формат EPS, Encapsulated PostScript, наследником которого является формат PDF. Ну и здесь я еще привел в пример формат AI - это формат программы Adobe Illustrator, в котором тоже иногда распространяются векторные файлы. Ну и есть еще множество форматов, в которых векторные файлы могут храниться. Чтобы вставить картинку, будь она растровая или векторная, в ваш документ, в LaTeX нужно использовать команду \includegraphics. При этом файл с картинкой должен лежать где-то неподалеку. Конечно, когда вы получите PDF, вам уже не нужно будет таскать этот файл с картинкой отдельно за собой. Он будет встроен в документ. Но когда вы редактируете исходный текст, то есть когда вы, например, хотите поделиться с соавторами вашим исходным TeX-документом, то все картинки нужно к нему приложить. Потому что естественно, что в текстовый файл картинка не встраивается. LaTeX просто подгрузит его из той папки, которую вы укажете. Да, ну, что касается поддерживаемых форматов, то в LaTeX можно вставить практически любой растровый формат. Рекомендую использовать JPEG, а еще лучше PNG - это форматы, которые сокращают размер конечного документа, а PNG сокращает его еще и без потери качества изображения. Но если у вас есть возможность использовать векторную картинку, то нужно так и сделать. Откуда может взяться у вас векторная картинка? Например, если вы строите график в каком-нибудь математическом или статистическом пакете, будь то MATLAB, или Stata, или Maple, или Mathematica, все они умеют так или иначе экспортировать графики, построенные в них, в один из векторных форматов. Самый удобный формат для вставки в LaTeX - это формат PDF. Если программа, с которой вы работаете, не умеет экспортировать документ в формат PDF, то, скорее всего, она умеет экспортировать его в формат EPS. Но если у вас есть документ формата EPS, то конвертировать его в PDF очень просто. В следующем видео я покажу, как это сделать. Второй объект, о котором мы сегодня говорим, второй тип объектов, о которых мы сегодня говорим - это таблицы. Они вставляются в LaTeX-документ, как мы увидим, многими способами, но самый частый, который вы скорее всего будете использовать, - это окружение \begin{tabular} … \end{tabular}. Между началом и концом этого окружения нужно будет написать содержимое вашей таблицы. Опять же, написать его нужно будет на специальном языке, то есть вы не сможете просто взять таблицу из Excel и скопировать ее сюда. Точнее, сможете, но для этого нужно будет применить какое-то средство конвертации. Если вы хорошо освоили материал предыдущего занятия, то вставка в тексты содержимого этих таблиц не будет для вас очень сложной, потому что синтаксис здесь очень похож на математические окружения для верстки, например, табличек формата align. Потому что столбцы разделяются амперсандом, а строчки разделяются двойным бэкслэшем - точно так же, как там. Когда вы напишете начало окружения \begin{tabular}, то у него есть один обязательный аргумент, в котором нужно перечислить столбцы. Вот, скажем, у меня здесь три столбца, каждый из них обозначается буквой с от слова center. Это значит три столбца, каждый с выравниваем по центру. И вертикальная линия есть между первым и вторым столбцом. А между вторым и третьим - нет. Когда я задал таким образом вертикальную линию, то она будет нарисована вдоль всей таблицы именно так. Если я поставлю еще одну вертикальную линию вот здесь, то, значит, между вторым и третьим столбцом также будет разделение. Вот. Ну и в этом языке горизонтальные линии создаются с помощью специальной команды \hline, от слов horizontal line. Давайте попробуем теперь реализовать эти команды на практике.