Реферат в LaTeX

imageПотребовалось оформить реферат в LaTeX. По сути на изучение материала, необходимого на оформление (почти полное), потребовался один вечер. Ниже приведу куски кода, полную верстку и функции, которые определял для удобства. Почему почти? Я не использовал таблицы, а также некоторые другие специфичные структуры.

Содержимое реферата


  • Файл управления (придерживаюсь логики, что существует один корневой файл .tex, а его внутренности вынесены в отдельные файлы, которые подгружаются)
  • Титульная страница
  • Страницы с содержимым
  • Содержание


Файл управления


  • В нем содержатся
  • шапка документа
  • переопределение базовых функций и определение новых
  • управление подключениями

Теперь немного подробнее по пунктам:

Шапка(преамбула)

\documentclass[a4paper,12pt]{article}

Обычно реферат печатают на бумаге формата A4 его и указываем. Тут же указываем и общий размер шрифта. С параметром article сложнее. Он по сути отвечает за общее стилистическое оформление структуры документа. Чтобы было понятнее приведу сравнение с book, что заставило сменить тип документа. В книгах обычно есть Глава, Часть и т.д. Если указывать только часть, без указания главы, то в автоматически генерируемом содержании будет вставляться запись вида «0.1 Часть1». Нуль в этой записи очень режет глаз и лишний он тут. Это конечно можно изменить отредактировав формат вывода, но есть способ проще — указать тип article. У него как раз «Часть» это верхний уровень блока текста.
\usepackage[cp1251]{inputenc}

Устанавливаем кодировку, тут думаю все очевидно.
\usepackage[english,russian]{babel}

Указываем какие языки использовать (в нашем случае с переносами).
\usepackage{amssymb,amsfonts,amsmath,cite,enumerate,float,indentfirst}

Подключаем дополнительные пакеты.
\usepackage[dvips]{graphicx} 

В реферате должна быть возможность вставки картинок, поэтому подключаем соответствующее расширение.
\graphicspath{{images/}}

В TeX картинка вставляется достаточно необычно, он сканирует папку указанную в настройках(функция выше) получает имена файлов из неё и при обработке документа подставляет картинки. Стоит отметить, что для нормального отображения картинок в PDF нужно использовать их в разрешении eps.

Так же важный момент, это корректно задать размеры страницы, а именно отступы. Данный кусок кода даю с минимальными комментариями:
\usepackage{geometry} % Меняем поля страницы
\geometry{left=2cm}% левое поле
\geometry{right=1.5cm}% правое поле
\geometry{top=1cm}% верхнее поле
\geometry{bottom=2cm}% нижнее поле


Переопределение базовых функций и определение новых

Я ввел всего одну новую команду, а именно вставку изображения. Вы можете её оформить под себя. У меня она выглядит следующим образом:
\newcommand{\imgh}[3]
{
\begin{figure}[h]
\center{\includegraphics[width=#1]{#2}}
\caption{#3}
\label{ris:#2}
\end{figure}
}


Её вызов — \imgh{45.25mm}{zb}{Пример}
  • Первый параметр — ширина
  • Второй параметр — название файла
  • Третий параметр — название подписи к изображению


Из переопределения удобно указать следующие команды:
\renewcommand{\theenumi}{\arabic{enumi}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumi}{\arabic{enumi}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\theenumii}{.\arabic{enumii}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}% Меняем везде перечисления на цифра.цифра
\renewcommand{\theenumiii}{.\arabic{enumiii}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}% Меняем везде перечисления на цифра.цифра


Управление подключениями

Место сбора всего документа.

\begin{document}
\input{RefProject-Title} % это титульный лист
\newpage
\tableofcontents % это оглавление, которое генерируется автоматически
\end{document}

Подключение конкретного файла осуществляется через input без указания разрешения. Удобно указывать перед каждым документом \newpage, тогда следующий автоматически начнется с новой страницы.

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


По сути в ней есть только один важный момент — фамилия преподавателя и студента должны начинаться на одном уровне. Для этого используется следующий код:
\newbox{\lbox}
\savebox{\lbox}{\hbox{Пупкин Иван Иванович}}
\newlength{\maxl}
\setlength{\maxl}{\wd\lbox}
\hfill\parbox{11cm}{
\hspace*{5cm}\hspace*{-5cm}Студент:\hfill\hbox to\maxl{Тест Пользователь\hfill}\\
\hspace*{5cm}\hspace*{-5cm}Преподаватель:\hfill\hbox to\maxl{Пупкин Иван Иванович}\\
\\
\hspace*{5cm}\hspace*{-5cm}Группа:\hfill\hbox to\maxl{NNN}\\
}

указание полного имени в savebox нужно для определения полной(максимальной) длины, если фамилия и имя полностью не помещаются на страницу нужно изменить значение параметра parbox.

Страница с текстом


На данной странице все тривиально, кроме места с первым абзацем, и приводить её пример не вижу смысла, поэтому разберу только узкое место.

Файл я начинаю с кода
\newpage
\section{Постановка задачи}

Т.е. говорю — это новая страница и указываю «Тему». После этого нужно начать текст с красной строки, но по умолчанию это не происходит приходится ставить расширение (мы его уже подключили) и использовать команду \indent.

Полный код:


Страница управления:

\documentclass[a4paper,12pt]{article} %размер бумаги устанавливаем А4, шрифт 12пунктов
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}	%кодировка
\usepackage[english,russian]{babel}%используем русский и английский языки с переносами
\usepackage{amssymb,amsfonts,amsmath,cite,enumerate,float,indentfirst} %пакеты расширений
\usepackage[dvips]{graphicx} %вставка графики
\graphicspath{{images/}}%путь к рисункам

\makeatletter
\renewcommand{\@biblabel}[1]{#1.} % Заменяем библиографию с квадратных скобок на точку:
\makeatother

\usepackage{geometry} % Меняем поля страницы
\geometry{left=2cm}% левое поле
\geometry{right=1.5cm}% правое поле
\geometry{top=1cm}% верхнее поле
\geometry{bottom=2cm}% нижнее поле

\renewcommand{\theenumi}{\arabic{enumi}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumi}{\arabic{enumi}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\theenumii}{.\arabic{enumii}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}% Меняем везде перечисления на цифра.цифра
\renewcommand{\theenumiii}{.\arabic{enumiii}}% Меняем везде перечисления на цифра.цифра
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}% Меняем везде перечисления на цифра.цифра

\newcommand{\imgh}[3]{\begin{figure}[h]\center{\includegraphics[width=#1]{#2}}\caption{#3}\label{ris:#2}\end{figure}}

\begin{document}
\input{RefProject-Title}% это титульный лист
\input{RefProject-Description}% это описание
\input{RefProject-Algoritm}% это описание алгоритмов
\input{RefProject-Finish}% заключение
\input{RefProject-App}% приложение
\newpage
\tableofcontents % это оглавление, которое генерируется автоматически
\end{document}


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

\begin{titlepage}
\newpage

\begin{center}
НАЗВАНИЕ УЧЕБНОГО ЗАВЕДЕНИЯ \\
\end{center}

\vspace{8em}

\begin{center}
\Large Название кафедры \\ 
\end{center}

\vspace{2em}

\begin{center}
\textsc{\textbf{Название темы работы \linebreak длинное очень, набранное в \LaTeX{}}}
\end{center}

\vspace{6em}



\newbox{\lbox}
\savebox{\lbox}{\hbox{Пупкин Иван Иванович}}
\newlength{\maxl}
\setlength{\maxl}{\wd\lbox}
\hfill\parbox{11cm}{
\hspace*{5cm}\hspace*{-5cm}Студент:\hfill\hbox to\maxl{Тест Пользователь\hfill}\\
\hspace*{5cm}\hspace*{-5cm}Преподаватель:\hfill\hbox to\maxl{Пупкин Иван Иванович}\\
\\
\hspace*{5cm}\hspace*{-5cm}Группа:\hfill\hbox to\maxl{NNN}\\
}


\vspace{\fill}

\begin{center}
Санкт-Петербург \\2011
\end{center}

\end{titlepage}


Пример сгенерированного оглавления:

image


P.S. Если что-то описал недостаточно подробно спрашивайте уточню.
Tags:
latex, диплом, tex, реферат, шаблон

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.