Работа в LaTeX. Создание документа на примере подготовки курсовой работы
Мы уже рассматривали издательский пакет LaTeX в цикле статей Каталог классов и стилей LaTeX. Эти статьи были посвящены отдельным классам и стилям пакета, а также особенностям работы с LaTeX, но не затрагивали вопросы применения LaTeX для подготовки документа «от начала и до конца». В данной статье мы восполним этот пробел и рассмотрим процесс создания LaTeX-документа на примере подготовки курсовой работы.
Знакомство с LaTeX лучше начинать с документов «среднего» масштаба (например, курсовой работы), так как на их примере можно изучить все основные принципы работы с LaTeX, и при этом не оказаться «погребённым» под ворохом технических особенностей и деталей реализации. Естественно, предварительно стоит познакомиться с документацией или книгой по вопросам вёрстки в LaTeX, но если хочется начать «здесь и сейчас», то можно начать с этой статьи, которая поможет избежать стандартных ошибок.
Дистрибутив LaTeX
Если у вас уже установлен и настроен дистрибутив LaTeX, то можно пропустить этот раздел. В противном случае дистрибутив LaTeX придётся установить, так без него продвинуться дальше не получится. Установка LaTeX – это простая задача, и для начала рекомендуется установить дистрибутив TeX Live. Устанавливать следует все имеющиеся в наличии пакеты.
Этот дистрибутив присутствует в большинстве популярных дистрибутивах GNU/Linux (пакет для установки texlive-full ). У пользователей Windows популярен MikTeX, а пользователю Mac OS, возможно, подойдёт дистрибутив MacTeX.
Текстовый редактор
LaTeX-документ (расширение tex) — это обычный текстовый файл, в котором содержится и некоторый объём команд для LaTeX процессора. В каком-то смысле это программа, по выполнении которой получается качественно оформленная печатная или электронная копия документа.
Поэтому для редактирования tex-файлов используются обычные текстовые редакторы. В принципе, подойдёт любой редактор, но, безусловно, для эффективного набора лучше выбрать специализированный текстовый редактор, например, emacs. Предварительно следует убедиться в том, что выбранный текстовый редактор поддерживает кодировку UTF-8 (общепринятая стандартная кодировка текста для символов Unicode). Этой кодировки следует придерживаться и при создании документов.
Можно также выбрать специализированный LaTeX-редактор, например, Texmaker или TeXstudio.
Ещё один хороший вариант — это LyX. Этот редактор совмещает поддержку команд LaTeX и визуальное редактирование WYSIWYM (What You See Is What You Mean).
Пример LaTeX-документа
В этом разделе мы представим первый LaTeX-документ. Для этого необходимо создать файл HelloWorld.tex, и поместить в него (скопировав или набрав) следующее содержание. Файл HelloWorld.tex и другие примеры можно найти в архиве latex_examples.zip в разделе «Материалы для скачивания».
Листинг 1. Исходный файл HelloWorld.tex
На первой строке загружается класс документа scrartcl . Этот класс входит в набор KOMA-Script — современный пакет с отличной документацией и богатыми возможностями. На следующих строках загружаются стилевые файлы, необходимые для «русификации» документа:
- inputenc — для выбора кодировки текста;
- babel — пакет для локализации;
- indentfirst — красная строка для первого параграфа;
- misccorr — пакет с дополнительными настройками для соответствия правилам отечественной полиграфии.
Стили graphicx и amsmath отвечают за вставку картинок и отображение математической нотации.
Сам текст документа набирается внутри окружения document , которое начинается с команды \begin и заканчивается конструкцией \end . Параграфы в тексте разделяются друг от друга пустой строкой.
После создания файла HelloWorld.tex, его можно скомпилировать с помощью программы pdflatex и посмотреть полученный в результате PDF-файл HelloWorld.pdf, как показано ниже
В принципе любой правильно настроенный современный специализированный LaTeX-редактор позволяет компилировать tex-файлы и просматривать полученный результат. Для просмотра PDF-документов в системе должна быть установлена соответствующая программа просмотра. В данном примере предполагалось, что доступна программа okular, но всегда можно скачать стандартную программу просмотра Adobe Reader. Готовый PDF-файл HelloWorld.pdf также можно найти в архиве latex_examples.zip.
Создание титульного листа
Перед началом работы следует попытаться найти готовый класс LaTeX, который учитывает все правила к оформлению научных публикаций, установленные в ВУЗе. Если такой файл найдётся (у других студентов или в администрации ВУЗа), то задачу по вёрстке документа можно считать решённой, что позволит сразу перейти к набору текста.
К сожалению, для российских ВУЗов такие файлы встречаются крайне редко, поэтому мы выполним оформление титульного листа «вручную», вставляя в него пробелы, выверенные линейкой на твёрдой копии образца.
В листинге 2 представлен пример оформления титульного листа, который можно использовать после внесения специфических изменений (файл KursTitle.tex также находится в архиве latex_examples.zip).
Листинг 2. Исходный код титульного листа курсовой работы
Титульный лист оформляется внутри окружения titlepage . Окружение center используется для выравнивания содержимого по центру. Окружение minipage представляет собой бокс фиксированной ширины и используется для формирования шапки с подписями.
Размер текста можно увеличивать с помощью команд \huge , \LARGE , \Large и \large (от большего к меньшему). Чтобы выделить текст можно применить следующие инструкции:
- \textbf — жирный текст;
- \textit — наклонный текст;
- \textsc — капитель;
- \underline — подчёркивание.
Вертикальные и горизонтальные пробелы можно выставить с помощью команд \vspace<> и \hspace<> . Принудительный перевод строки производится с помощью команды \\ . Инструкции \vfill и \hfill ставят растяжимые пробелы бесконечной длины по вертикали и горизонтали. Если слева от бокса minipage указать команду \hfill , то бокс будет прижат к правой границе текста.
Команда \textwidth определяет ширину текста, что позволяет указывать долю от него, если нужно. Аналогично можно использовать и высоту текста \textheight .
В примере присутствует и элемент программирования. С помощью команды \newlength была определена переменная длина \ML , которой была присвоена длина, нужная для вставки даты и месяца. Это позволило точно выровнять место, оставленное под подпись. Хотя это и мелочь, но именно такие незаметные аспекты и определяют восприятие документа читателем.
Набор текста
После оформления титульного листа можно переходить к набору текста. Пакет LaTeX берёт на себя работу по оформлению заголовков разделов и их автоматической нумерации. Достаточно только указать, что в данном месте начался новый раздел с помощью команд \section (раздел), \subsection (подраздел) и \subsubsection (подподраздел).
Листинг 3. Пример форматирования текста
Весь текст, который находится за символом % , считается комментарием, и поэтому не выводится при печати. Символ процента можно вывести с помощью команды \% , а символ
формирует неразрывный пробел.
Кроме символа процента необходимо экранировать символы < >$ & # _ . Также специальным является и символ \ .
Окружение enumerate формирует нумерованное перечисление. Аналогично ненумерованное перечисление создаётся с помощью окружения itemize .
Обратите внимание на метки, поставленные с помощью команды \label вслед за заголовками. Используя эти метки, можно с помощью команд \ref и \pageref сослаться на номер и страницу соответствующего раздела. Для выставления правильной нумерации в ссылках компилятору потребуется выполнить два прохода:
Пример исходного LaTeX-документа Kurs.tex и окончательного PDF-файла Kurs.pdf можно найти в архиве latex_examples.zip. Все последующие листинги тоже там дублируются.
Математика
Как неоднократно говорилось в статьях цикла «Каталог классов и стилей LaTeX» этот издательский пакет был изначально оптимизирован для набора математических публикаций. Но перед тем как начать набирать математические выражения, нам предстоит изучить соответствующую TeX-нотацию.
Листинг 4. Пример математической нотации
В любой книге по LaTeX присутствует глава с подробным объяснением TeX-нотации, кстати, эта же нотация используется и в WikiPedia для набора формул.
Вставка картинок
Файлы с изображениями следует готовить за пределами LaTeX, используя специализированные графические редакторы. Если в качестве компилятора используется pdflatex из актуальных дистрибутивов LaTeX, то в документ можно вставлять как векторные картинки в форматах eps и pdf, так и растровые в форматах jpeg и png. По возможности лучше использовать векторные форматы, так как они позволяют себя масштабировать без ухудшения качества изображения.
Для вставки файла KEDR.pdf (есть в архиве latex_examples.zip для экспериментов) его нужно положить в каталог, где уже находится исходный tex-файл (Kurs.tex). Вставка изображения в документ выполняется, как показано в листинге 5.
Листинг 5. Вставка изображения в LaTeX-документ
Команда \includegraphics вставляет картинку, а команда \caption формирует подпись к ней. Окружение figure является «плавающим», и поэтому может расположить картинку с подписью наиболее удачным способом. Но если картинок много, то LaTeX может с этим не справиться и тогда лучше формировать связки из нескольких команд \includegraphics в пределах одного элемента figure .
Вставка кода
Для добавления неформатируемых фрагментов текста (например, программного кода) в LaTeX-лучше всего использовать окружение verbatim , как показано в листинге 6.
Листинг 6. Пример включения неформатируемого текста в LaTeX-документ
В пятой статье из цикла «Каталог классов и стилей LaTeX» описано множество пакетов, которые специализируются на оформлении алгоритмов и программного кода.
Библиография
В конце любой научной работы обязательно должна присутствовать библиография, которую проще всего создать с помощью окружения thebibliography , как показано в листинге 7.
Листинг 7. Создание библиографии
Команды \bibitem формируют библиографические ссылки, на которые можно ссылаться с помощью команды \cite , как показано ниже (ссылаться можно даже из тех фрагментов текста, которые располагаются выше определения ссылки):
\cite
почитать
Как и в случае с перекрёстными ссылками для правильного отображения библиографических ссылок, исходный документ необходимо скомпилировать дважды.
Заключение
Сверстать документ так, чтобы его было приятно и удобно читать – это далеко не такая простая задача, как кажется изначально. Пакет LaTeX позволяет получить приемлемый результат за разумный промежуток времени без необходимости привлечения специалиста-верстальщика. Однако для создания сложных текстов всё-таки потребуется потратить время на изучение возможностей LaTeX. К счастью, для LaTeX присутствует множество информации, как по самому пакету, так и по его классам и стилям. Надеемся, что данная статья, знакомящая с основами вёрстки в LaTeX, побудит вас продолжить изучение LaTeX, чтобы раскрыть весь потенциал этого пакета.
Источник статьи: http://www.ibm.com/developerworks/ru/library/latex_tutorial_01/
Как оформить статью в LaTeX
Потребность набрать статью в TeX/LaTeX всегда возникает срочно. И срочность эта тем выше, чем меньше будущий автор знаком с LaTeX (или TeX). Поэтому не будем тратить время на исторический экскурс, установление разницы между TeX и LaTeX, и тонкости произношения названий, а сразу приступим к оформлению статьи.
Для этого нужно: 1) установить TeX и редактор для работы с ним, например, Texmaker или TeXstudio (я использую последний) или 2) воспользоваться онлайновым TeX-редактором, например Overleaf или ShareLaTeX (потребуется бесплатная регистрация).
Статья, которую мы хотим написать, выглядит так
Будем оформлять её постепенно.
1. Создадим простейший документ LaTeX:
Всё, что находится между \begin
Перед \begin
Она говорит, что созданный документ — статья (article).
В LaTeX существует множество классов, задающих то или иное оформление документа: статья, отчёт, книга, презентация и т. п.
Многие солидные журналы предлагают собственные классы для оформления статей. Например, публикации в журналах Американского физического общества оформляются при помощи класса revtex:
(четвёрка означает номер версии класса).
2. Добавим в документ произвольный текст, оттранслируем его
Как видно, набранный на русском языке текст не отображается в готовом документе. Исправим это.
3. Добавим в преамбулу следующие строки
Первая строка устанавливает поддержку кириллицы. Вторая указывает на кодировку, в которой набран текст. В нашем случае это UTF8, но можно указать и другие: cp1251, koi8-r, cp866, . Третья строка добавляет поддержку переносов в русском языке.
4. При наборе текста, абзацы нужно разделять пустой строкой. В качестве примера наберём следующий текст:
5. Теперь укажем название ( \title ), автора ( \author ) и дату создания статьи ( \date ):
Разумеется, можно указывать не все, а только часть этих данных.
Команда \maketitle отображает указанные данные в документе (можете убрать её и посмотреть, что получится).
В качестве даты мы указали сегодняшнее число ( \today ), поэтому результаты трансляции у нас с вами будут немного отличаться.
6. Добавим команды, управляющие начертанием шрифта и его размером:
Как видно, команда \textbf , действующая на текст «полужирным», отображает его в готовом документе полужирным шрифтом и т. п.
Поначалу кажется, что все эти команды будет трудно запомнить. На практике же, то что используются часто, запоминается сами собой. Для остальных команд существует меню
которые есть в любом редакторе для работы с TeX.
7. Наберём следующий текст:
Конструкция, помещённая в окружение \begin
8. Займёмся структурой документа. Мы уже немного умеем набирать текст — вот и поместим его в отдельный раздел. Остальные разделы зарезервируем под примеры вставки формул и рисунков.
Заголовок раздела создаётся командой \section . Нам нужно добавить заголовки
так, чтобы получилось следующее:
9. Формулы, которые размещаются внутри абзаца, окружают одиночными долларами $. $ или командами \(. \) .
Вынесенные в отдельный абзац, так называемые выключные формулы, окружаются \[ и \] или \begin
Добавим в раздел «Немного математики» следующий текст:
TeX автоматически сжимает внутритекстовые формулы так, чтобы они занимали меньше места по высоте. Вы можете проверить это, поместив внутрь абзаца интеграл из последней формулы.
Чтобы упростить набор формул, в редакторах TeX’а существуют панели инструментов с «подсказками»:
10. Рисунки, выполненные в виде файлов графических форматов (PNG, JPEG, PDF и т.п.), вставляются в документ при помощи команды \includegraphics :
В нашем случае, помимо вставки рисунка, выполняется уменьшение его размеров в 2 раза.
Файл TeX_lion.jpg должен находится в одном каталоге с текстом статьи.
Чтобы всё это сработало, нужно указать в преамбуле документа:
— что означает «подключить пакет graphicx».
Пакеты — это тематические наборы функций, расширяющие возможности TeX в том или ином направлении. Мы уже использовали их, когда нужно было обеспечить поддержку кириллицы.
11. Вставленный рисунок нужно центрировать и добавить к нему заголовок. Сделать это можно, поместив нужные команды в окружение figure :
Окружение figure создаёт «плавающий» объект. Это значит, что рисунок будет помещён в то место документа, где это обеспечит лучшее качество заполнения страницы. Опция h (here) рекомендует TеX’у разместить рисунок «здесь», то есть в том месте, где стоит команда \inludegraphics .
12. Чтобы сослаться на какой-то объект — рисунок, таблицу, раздел или уравнение — нужно пометить этот объект командой \label <имя_объекта>. Ссылка выполняется командой \ref <имя_объекта>.
Изменим текст раздела Иллюстрации следующим образом:
Обработка документа со ссылками происходит в два этапа: сначала транслятор сохраняет имена объектов и рассчитывает соответствующие им номера, затем он заменяет команды \ref этими номерами. Поэтому такой документ нужно, вообще говоря, транслировать дважды. Некоторые редакторы TeX’а достаточно «умны» и автоматически транслируют документ нужное число раз.
, стоящая перед \ref , задаёт неразрывный пробел.
13. Статья почти готова. Теперь можно добавить аннотацию
и заняться оформлением документа в целом, то есть размерами шрифтов, полей страницы и т. п.
14. Отчего мы не занялись этим раньше? От того, что редакция журнала, скорее всего, уже создала класс с настройками оформления статьи. Нам остаётся лишь указать его в \documentclass , чтобы документ стал выглядеть так, как того требуют правила журнала.
Подобные классы обычно основываются на базовом классе article, к которому добавлены некоторые настройки.
В качестве примера мы настроим: 1) базовый размер шрифта, а также 2) размер страницы и величину полей документа.
Увеличим размер базового шрифта с 10 пунктов (pt), принятых по умолчанию, до 12 пунктов
При этом соответственно увеличатся и все относительные размеры, заданные командами вроде \tiny и \Huge ).
Настройку параметров страницы выполним с помощью пакета geometry:
a4paper задаёт размер страницы (А4), остальные параметры задают размеры полей документа: левого, правого, верхнего и нижнего (в сантиметрах).
Транслируем документ и получим
Мы можем легко изменить оформление документа, использовав для этого другие классы. Например, разработанный в Германии пакет KOMA-Script предлагает использовать для оформления статей класс scrartcl.
Заменив в \documentclass article на scrartcl, получим
15. Примеры оформления статей и правила хорошего «типографического» тона можно найти в руководстве, подготовленном издательством ФИЗМАТЛИТ, и сборнике примеров.
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
Источник статьи: http://dkhramov.dp.ua/Comp.CreatingAnArticleInLatex