Оформление реферата в latex

Обновлено: 07.07.2024

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

Процесс будет рассматриваться со стороны Ubuntu/TeX Live, хотя всё рассказанное можно будет сделать и в Windows с использованием MikTeX и на Маке с использованием MacTeX. Также я затрону дополнительные open-source пакеты (версии которых, опять же, есть для всех операционных систем), которые помогут в процессе и опишу какие действия необходимо предпринять, чтобы получившийся в результате документ выглядел максимально близко к желаемому :). Это Inkscape, Gnumeric и пакеты pgfplots и pgfplotstable для LaTex.

Если вы в первый раз используете LaTeX, рекомендую стандартный вводный документ (англ., PDF) и небольшой справочник по форматированию текста (англ.).
В качестве документации к pgfplots подойдёт официальная: pgplots (англ., PDF) , pgplotstable (англ., PDF).

Установка

Создадим тестовый документ в любом редакторе (для gedit вы можете установить gedit-latex-plugin). Условимся, что наш основной документ будет называться work_0001_2010.tex, а все относящиеся к нему файлы будут использовать это название + какой-либо постфикс:

Вставим представленный тект в качестве содержимого, сохраним:

Скомпилируем и посмотрим, что получилось:

Если всё было сделано правильно - перед нами готовый результат.

Титульная страница

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

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

latex_habr_titlepage.jpg

Схемы

Есть много способов вставить изображение в LaTeX-документ, и вам подойдёт любой из них, но так как я обо всём рассказываю, то должен рассказать хотя бы об одном. Я подготавливаю схемы в Inkscape (свободный векторный редактор), экспортирую их в PDF и затем вставляю в LaTeX-документ.

Inkscape очень удобен для подготовки схем - у прямых линий (да и у фигур и кривых) можно установить с любых концов стрелки или сделать их пунктирными (Object -> Fill and Stroke -> Stroke Style), сектора можно делать ограничивая углы развёртки у круга, любую фигуру можно залить стандартными для таких схем кистями (хоть в полька-точечку (Object -> Fill and Stroke -> Fill Style -> Polka dots)), кривые удобно рисовать инструментом Кривая Безье и кроме всего прочего есть "примагничивание" (правда оно почему-то включается в свойствах документа (File -> Document Properties -> Snap)). Практически любой график или схему из методички/учебника можно перенести в векторный вид за полчаса.

Итак, экспорт из Inkscape. Исходный файл, по принятому ранее соглашению, назовём work_0001_2010_graph01.svg

В меню File -> Save as… выберем формат *.pdf:

latex_habr_graph01_save.jpg

И отметим конвертацию шрифтов в пути (в Stroke Style -> Width у надписей советую ставить значения 0.1-0.3, иначе надписи в pdf-файле получаются очень толстыми):

latex_habr_graph01_pdf.jpg

Теперь в шапку LaTeX-документа наряду с остальными пакетами нужно добавить пакет graphicx:

А в тело документа вставить новую картинку:

И вот результат:

latex_habr_graph01_inside.jpg

Пакеты pgf

Пакет pgfplotstable помогает очень гибко настраивать/составлять таблицы и позволяет считывать таблицу из csv-файла при компиляции.

Пакет pgfplots позволяет строить практически любые цветные настраиваемые графики на основе таблиц.

Установка пакетов на Windows/MikTex описана в документации (англ., PDF) , в случае Ubuntu нужно сделать следующее:

В конец файла добавить (заменять версию lucid на вашу не нужно):

Таблицы

Таблицы будем подготавливать в Gnumeric. Можно использовать любой табличный редактор, главное - гибкая возможность экспорта в текстовый вид.

Создадим таблицу, в первых трёх столбцах которой будут различные значения, а в четвёртом столбце - среднее по этим трём значениям и сохраним её под именем work_0001_2010_table01.gnumeric (кстати, gnumeric умеет сохранять таблицы в формате LaTeX, но мы намереваемся использовать пакет pgfplotstable, поэтому не будем этого делать):

latex_habr_table01_save.jpg

Теперь необходимо экспортировать таблицу в текстовый файл. Важно заметить две вещи, первая: в текстовый файл импортируется только текущий лист (Sheet), вторая: для того, чтобы удобно работать со столбцами при использовании пакета pgfplotstable, необходимо в первой строке таблицы указать короткие однословные названия (алиасы) для столбцов.

Таблицу можно сохранить в CSV, но если вы используете русскую локаль в операционной системе, то дробные числа в таблице будут представлены с использованием запятой. Так что лучше сохраним файл в формате Text (configurable), а назовём его, для удобства, work_0001_2010_table01.dat

latex_habr_table01_savecsv.jpg

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

latex_habr_table01_export.jpg

В результате должен получиться такой файл:

Теперь можно вставить таблицу в LaTeX-документ. Добавьте в заголовок:

Теперь, в теле документа, настроим вывод у пакета pgf (запятые в качестве дробных разделитей, округление до шести знаков) и загрузим файл с данными, привязав его к алиасу midvalues:

Теперь опишем саму таблицу:

Снова перекомпилируем файл, и вот результат:

latex_habr_table01_rendered.jpg

Графики

В завершение построим график по данной таблице.

Добавьте в заголовок документа:

И, в тело документа:

Мы указываем только значения для оси y и pgf автоматически подбирает значения на оси x, но в команде addplot также можно указать и столбец-источник для оси x: table[x=mid,y=b]

Снова перекомпиляция, и теперь мы видим отличный график-за-пять-минут по нашим значениям (значения я подбирал наугад, поэтому выглядят они не очень удачно (чуть лучше на графике с логарифмическими осями, однако задание сделать его таковым я лучше оставлю вам на дом), но надеюсь суть понятна).

latex_habr_plot01_rendered.jpg

Я привёл лишь простейший пример, но пакет pgfplots обладает настолько широкими возможностями, что если вы заинтересованы в данной теме, то вы просто обязаны хотя бы очень подробно рассмотреть всё руководство по пакету (англ., PDF).

Заключение

Итак, LaTeX и pgfplots - удобный способ оформлять не только текстовые документы с формулами, но и целые работы со схемами, графиками и таблицами. Причём делать их просто и удобно. Желаю вам большого количества полезных и легко созданных научных работ!

Читайте также: