суббота, 7 июня 2008 г.

Верстаем диплом в LaTeX


Пришло время поделиться сакральным знанием и рассказать, как же все таки сделать ЭТО - сверстать диплом в замечательной среде LaTeX.

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

С философией покончено, переходим к практике. Перед нами стоит задача: сверстать диплом так, чтобы он понравился нормоконтролеру. В качестве средства мы выбираем LaTeX и приступаем.


Первыми идут титул и лист задания. И тут сюрприз - я их в LaTeX не верстал. Сначала нам на кафедре дали шаблоны для ворда. Ну дали и дали, мы их радостные распечатали и пошли собирать подписи (ну знаете там, БЖД, Экономика, Технология, свой руководитель...) Все было круто до тех пор пока не подошли к нормокнтроллеру. Он у нас товарищ интересный оказался - сказал, что шаблон не правильный (а че ты его даешь тогда?). В общем все заставили переделывать... В итоге подписи пришлось собирать по-новой... За 3 дня до защиты. Весело? Еще нет, подписи то мы собрали, а шапки листа задания оказались снова какими-то не такими... В итоге пришлось использовать старый студенческий способ - штрих и черную ручку...

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

Вообще все требования нормоконтроля я бы разделил на 2 группы - по содержанию и по оформлению. К требованиям по содержанию относятся такие как: чтобы страница была заполнена минимум на 2/3, если список нумерованый - в конце каждого элемента ставится точка, а сам элемент списка идет с большой буквы, если список маркированый - в конце элемента идет точка с запятой, а сам элемент с маленькой буквы и т.д. Требования по оформлению все и не перечислить (надо читать ГОСТы или методичку), но основные - каждый лист берется в рамку по ГОСТ 2.104-68, аннотация причем с особым штампиком, заголовки выделяются ариалом 16пт, сам текст - Times New Roman, 14пт, отступ между заголовками - 8 мм, между заголовком и текстом - 15 мм. Оглавление - ариал, 16пт, отступы между разделами в оглавлении - 15 мм. Абзац - 15мм. В качестве маркеров в маркированном списке используются тире. Нумерованый список - нумерация цифрами, после цифры пробел (не скобочка и не точка).

Это конечно же не все требования, но самые бросающиеся в глаза. Итак, как их добиться? Прежде всего нужно найти и скачать (например отсюда) набор стилей ЕСКД и пример диплома - отсюда. Собстенно стиль очень хороший и многие вещи (титул, аннотацию, штампики, рамки) умеет делать сам. Но и на солнце бывают пятна, поэтому стиль придется активно хачить.

Но прежде чем что-то хачить, давайте стилем воспользуемся. Для этого я создал следующую преамбулу документа:

\documentclass[a4paper,14pt,russian]{article}

\usepackage[T2A]{fontenc}

\usepackage[cp1251]{inputenc}

\usepackage[russian]{babel}

\usepackage{pscyr}

\usepackage{graphicx}

\usepackage{amstext}

\usepackage{amssymb}

\usepackage{lscape}

\usepackage{eskdpz}

\usepackage{makecell}

\usepackage{multirow}

\usepackage{ulem}

\usepackage{indentfirst}

\setcounter{tocdepth}{2}



\renewcommand{\rmdefault}{ftm}

\renewcommand\contentsname{Оглавление}

\renewcommand\theadfont{\normalsize}



\linespread{1.3}               % 1,5

\graphicspath{{images/}}



\gostklgi{230101.2008.504.00 ПЗ}

\gostrazrabotchik{Самолысов П.Е.}

\gostproveril{Пустыгин А.Н.}

\gostnormokontroler{Сяськов С.В.}

\gostutverdil{Кафтанников}

\gosttitledocument{Модуль электронной цифровой подписи к системе документооборота фирмы Naumen}

\gosttitlecompany{ЮУрГУ\\Кафедра ЭВМ}

\gostlitera{д}


Для чего нужны основные пакеты? pscyr - набор красивых шрифтов, graphicx - подключение рисунков, amstext - для отображения кирилицы в математических формулах, amssymb - подключаем дополнительный набор математических символов, lscape - некоторые страницы (например, содержащие сетевой график или длинные таблицы) лучше печатать альбомно, eskdpz - настраиваем оформление в соответствии с требованиями ГОСТ, makecell и multirow - позволяют создавать красивые таблицы (будет отдельный пост), ulem - подчеркивания, indentfirst - в начале каждого абзаца должен быть отступ, tocdepth - задаем глубину оглавления (в данном случае в оглавление будут выноситься всего 2 раздела).

Команды начинающиеся на gost- используются для создания титула (если все-таки решите создавать его в LaTeX) и штампика аннотации. Команда gostlitera введена мною, используется для заполнения поля "литера" в штампике аннотации.

Команда \linespread{1.3} задает межстрочный интервал, в данном случае - полуторный (1.3 соответствует полуторному интервалу). Команда \graphicspath{{images/}} указывает путь к картинкам, в данном случае это - каталог images. Таким образом можно при включении картинок не указывать каталог явно. Удобно, если потом картинки "переедут" в другой каталог.

На сегодня - все. Далее поговорим о заполнении штампика аннотации и вообще о печати рамок - вопрос не такой уж простой как кажется (напечатайте одну страницу с рамкой и сравните ее с ГОСТ).

Продолжение следует...

Другие статьи серии:


Понравилось сообщение - подпишись на блог

18 комментариев:

Недочеловек комментирует...

"When altering ones mind becomes as eeasy as programming a computer what does it mean to be human"

Вообще не по теме, но почему eeasy?

Samolisov Pavel комментирует...

Ашипки и ачепятки )) Спасибо, что заметили.

virens комментирует...

А мой комментарий будет в тему :-)
Большое спасибо за ссылку - не возражаете, если я попользуюсь в разумных пределах вашим текстом для написания своей инструкции по оформлению диплома в LaTeX для физиков?

Михаил.

Samolisov Pavel комментирует...

Ни в коей мере не возражаю. Считаю, что чем больше людей будут использовать LaTeX для оформления курсовых/дипломов/дисертаций, тем будет лучше.

d0rM03D комментирует...

Возможно будет полезным упоминание о том, что для корректного отображения шрифта размера 14pt стоит использовать не article, a extarticle.

Samolisov Pavel комментирует...

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

conjuncte комментирует...

Я совсем новичок в LaTeX, вчера надумал верстать в нем диплом. Столкнулся с двумя проблемками и не знаю, как быть.

1. \documentclass[a4paper,14pt,russian]{article}

При компиляции выдается предупреждение, что 14pt -- некорректная опция. В интернете нашел, что лечится это установкой пакета "extsizes". Выкачал пакет, распаковал, сделал texhash... и ничего. 14-ый так и не появился.

2. Может быть, я неправильно устанвливал extsizes, а может быть, есть какой-то другой путь, если есть - хотелось бы узнать.

VerSus комментирует...

Класс документа в случае с extsizes должен быть extarticle, тогда и 14pt нормально будет.

Mite комментирует...

Огромное спасибо за цикл статей. Но ссылки на файлы (набор стилей ЕСКД и пример диплома) в этой статье не действительны. Не могли бы вы их перевыложить?

lamaster комментирует...

Павел, а можно заполучить файлы по ссылкам http://ppg.ice.ru/77639 и http://ppg.ice.ru/77637 ?

У вас в статье они упоминаются, то по ним ничего не скачивается. Тоже приближается дипломное проектирование в институте. Очень бы пригодились мне они. Спасибо

Pavel Samolisov комментирует...

Здравствуйте. К сожалению, у меня эти файлы не сохранились.

Seva комментирует...

Здравствуйте. Спасибо за серию статей. Вот только в моих требованиях к диплому размер шрифта 13, заголовки – 14. Можно ли этого достичь?

Pavel Samolisov комментирует...

Здравствуйте. В данной серии есть отдельная заметка про шрифты и заголовки. Попробуйте подобрать параметры.

Ольга комментирует...

У меня рамка для рисунка есть, а рисунка нет, в рамке надпись "ris-2.jpg". Файл "ris-2.jpg" находится в той же папке, где Тех.
\usepackage{graphicx}
\usepackage[pdftex]{graphicx}
.
.
.
\begin{figure}[h]
\centering
\centerline{\includegraphics[height=4cm]{ris-2.jpg}}
\end{figure}

Pavel Samolisov комментирует...

Возможно проблема в том, что Вы используете jpg-формат. Попробуйте переконвертировать рисунок в eps.

Ольга комментирует...

что я только не пробовала! В eps тоже.

Pavel Samolisov комментирует...

Вот здесь есть пример как я вставлял рисунки: http://samolisov.blogspot.com/2008/06/latex_12.html

Единственное отличие - у меня нет команды \centerline{}. Больше ничего не могу подсказать.

Pavel Samolisov комментирует...

Господа спамеры, предлагаю вам не беспокоиться, ваши сообщения не пройдут модерацию.

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!