Latex титульный лист курсовой работы

Предлагаемый вариант может использоваться для оформления курсовой, лабораторной работы. Разработан в соответствии с СТП РГАТУ.

begin{titlepage}

thispagestyle{empty}

centerline{Министерство образования и науки РФ}
centerline{РЫБИНСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ}
centerline{ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ имени П. А. Соловьева}

vfill

centerline{huge{Курсовая работа}}
centerline{large{по дисциплине}}
centerline{LARGE{...}}

vfill

Студент группы ... hfill ...

Преподаватель hfill ...

vfill

centerline{Рыбинск, 2014}
clearpage
end{titlepage}

Программирование

Assembler,
awk,
Bash,
Django,
HTML,
Java,
JavaScript,
Python,
PHP,
regexp,
sed,
south.

Базы данных

SQL,
MySQL,
SQLile,

Серверы

Apache2,
BGBilling,
Debian,
GNU/Linux,
Zabbix.

Сети

Все,
iptables.

Документация

LaTeX.

Образование

Все,
РГАТУ.

Прочее

CrackMe,
CryptoGuard,
DB,
DC,
EPG,
ffmpeg,
HowTo,
IPTV,
MediaWiki,
motion,
Tools,
TV,
Видеонаблюдение,
VLC,
wget,
XML.

Для тех, кто хочет примерно представлять как оформляется титульный лист диплома в LaTeX

Мой подробный самоучитель по верстке в LaTeX находится
здесь

Пример 1

begin{titlepage}
newpage
begin{center}
{bfseries Министерство образования и науки Российской Федерации \
Санкт-Петербургский государственный университет}
vspace{1cm}
%САНКТ-ПЕТЕРБУРГСКИЙ \*
%ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ \*
%hrulefill
%end{center}

%{КАФЕДРА ЯДЕРНОЙ ФИЗИКИ }
Кафедра ядерной физики
vspace{6em}



%vspace{2.0em}

%begin{center}
AndreyOlegovich.ru \
end{center}

vspace{1.2em}

begin{center}
%textsc{textbf{}}
Large Подробное описание сайта linebreak
AndreyOlegovich.ru
end{center}

vspace{5em}

begin{center}
%Large
магистерская диссертация
end{center}
vspace{6em}

%begin{center}
%begin{tabbing}
%begin{center}
%quad=Научный руководитель \
%>д.ф.м.н., Andrey В.А.\
%vspace{1.2em}
%>Рецензент \
%>к.ф.-м.н. Olegovich В.И.\
%end{tabbing}
%end{center}

begin{alltt}
Научный руководитель
д.ф.м.н., Andrey В.А.
Рецензент
к.ф.-м.н. Olegovich В.И.
end{alltt}


vspace{fill}

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

end{titlepage}

Пример 2

Титульный лист LaTeX изображение с сайта www.andreyolegovich.ru

Код для примера 2

documentclass[12pt]{article}
usepackage[utf8]{inputenc}
usepackage{graphicx}
usepackage{setspace}
setstretch{1.5}
usepackage{geometry}
geometry{a4paper, portrait, margin=30mm, bmargin=30mm, tmargin=30mm}
begin{document}
begin{center}
thispagestyle{empty}
LARGE{University of Innsbruck}\[-0.9ex]
LARGE{Faculty of Business and Management}\[2ex]
large{Department of Banking and Finance}\
vspace{0.3cm}
begin{center}
includegraphics[width=7cm]{universitaet-innsbruck-logo-cmyk-farbe.jpg}\
vspace{0.9cm}
textbf{LARGE{Master Thesis}}
medskippar
textbf{normalsize{submitted for the degree of}} \[2ex]
textbf{Large{Master of Science}}\
vspace{1.2cm}
Large{textbf{Lorem ipsum}}\[-0.5ex]
large{Lorem ipsum dolor sit amet, consectetur adipiscing elit}\[-1.5ex]
large{Praesent fermentum}
bigskippar
by par
large{Anton Wahrstätter, BSc LLB }\[-1ex]
large{Matriculation Nr.: 01515804}\ [-1ex]
large{ULG Digital Business}\[-1ex]
vspace{0.6cm}
end{center}
medskip
end{center}
begin{tabular}{ll}
Submission Date: & today \[-1ex]
Supervisors: & Satoshi Nakamoto \
end{tabular}

end{document}

Пример 3

Титульный лист LaTeX изображение с сайта www.andreyolegovich.ru

Код для примера 3

%* This is an unofficial template for a title page for thesis dissertation at SLU
%* and was created by Theodorik Leao, 2020. It uses the SLU thesis template v3, available for word at:
%* https://www.slu.se/site/bibliotek/publicera-och-analysera/registrera-och-publicera/dokumentmallar/


documentclass[a4]{article}

% Standard margins for SLU is 3.5 cm on each side. Add this code if desired:
usepackage[a4paper, left=3.5cm,right=3.5cm]{geometry}

% Necessary packages for the titlepage:
usepackage{tikz}
usetikzlibrary{calc}
usepackage{graphicx}
usepackage{newtxtext}
usepackage{float}
usepackage{comment}
% This command changes the font style where SLU promotes Arial
newenvironment{myfont}{fontfamily{phv}selectfont}{par}


% Begin document:
begin{document}

% Add title page:
include{titlePageSLU}



end{document}

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}{wdlbox}
hfillparbox{11cm}{
hspace*{5cm}hspace*{-5cm}Студент:hfillhbox tomaxl{Тест Пользовательhfill}\
hspace*{5cm}hspace*{-5cm}Преподаватель:hfillhbox tomaxl{Пупкин Иван Иванович}\
\
hspace*{5cm}hspace*{-5cm}Группа:hfillhbox tomaxl{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}{wdlbox}
hfillparbox{11cm}{
hspace*{5cm}hspace*{-5cm}Студент:hfillhbox tomaxl{Тест Пользовательhfill}\
hspace*{5cm}hspace*{-5cm}Преподаватель:hfillhbox tomaxl{Пупкин Иван Иванович}\
\
hspace*{5cm}hspace*{-5cm}Группа:hfillhbox tomaxl{NNN}\
}


vspace{fill}

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

end{titlepage}
Пример сгенерированного оглавления:

image

P.S. Если что-то описал недостаточно подробно спрашивайте уточню.

Ниже я намереваюсь конспективно дать ответ на этот сакраментальный вопрос всех начинающих латехников: «так куды лошадь-то запрягать!?». Конкретно: как оформить диплом или сделать курсовик в LaTeX? Здесь не будет сотен страниц ненужной белиберды вроде «набора стихов» и «формул в шесть этажей». Изложение ведётся конспективно, с упором на физиков и их конкретные LaTeXнические проблемы. Написанию диплома в латехе посвящена серия статей об использовании основных команд LaTeX для написания несложной технической документации. Другие материалы по LaTeX можно посмотреть, кликнув на тег . Под любыми операционными системами состав приложений для комфортной работы с LaTeX примерно один и тот же. Более того, часть программ кроссплатформенные, то есть будут работать на любых системах, даже альтернативных. Итак, для полноценной работы в LaTeX вам потребуется джентльменский набор начинающего ЛаТеХника: Так же могут потребоваться программы для работы с библиографией, поточные графические редакторы и некоторые вспомогательные программы. Для пользователей GNU/Linux и *BSD-систем, как всегда, всё очень и очень просто: вам потребуется установить пакеты и Для более подробной справки есть мои посты по и , а так же . Для других дистрибутивов отличаться будут только пакетные менеджеры, а пакеты будут скорее всего теми же. Счастливые пользователи дистрибутивов Linux, основанных на Debian, устанавливают LaTeX в один клик вместе со всеми нужными приложениями — просто скопируйте и вставьте строчку в рутовую консоль: Эту команду можно выполнять не только от рута, но и используя sudo. Пакеты можно поставить через любую графическую оболочку (synaptic, например). Пользователи Windows наслаждаются отсутствием пакетной системы и выкачивают MikTeX, GhostScript, ImageMagick, а так же где-то ищут оболочку для работы в LaTeX — WinEdit или TexMaker. О том, как установить LaTeX в Windows, у меня . Перечисленных программ вам хватит для оформления диплома по физике (математикам, химикам и представителям других наук нужно проконсультироваться с местными авторитетами). Самое трудное — это начать делать что-то новое. Поэтому всё описание я проведу на примере создания сферической пояснительной записки к дипломному проекту в вакууме под названием «Исследование торсионных наногенераторов стволовых клеток для борьбы с терроризмом». Я надеюсь, что такое нелепое название заставит внимательнее относиться к тексту примера и не лениться менять приведённый текст на свой собственный. Итак, создаём сначала самый главный файл, который будет содержать ссылки на всё остальное содержимое вашего диплома — DiplomProject.tex в который копируем следующее: Поясняю: в моём документе используется кодировка koi8-r, если у вас другая — исправьте строчку и впишите свою: utf8 или cp1251. Описание того, что означают все эти usepackages, можно . Я считаю, что следует создавать отдельные файлы для каждой из глав. Для этого в основной файл мы будем подключать файлы, содержащие главы диплома. Такой подход имеет много преимуществ и мало недостатков: так проще отлаживать код, проще организовывать материал и таскать его по разным файлам глав, проще работать только с одной главой и не компилировать всякий раз всю работу. Поэтому каждую главу создаём в отдельном tex-файле и подключаем их с помощью директивы здесь пишем имя файла. Итак, ядро документа создано, теперь давайте сделаем титульную страницу и оглавление. Для этого создаём файл DiplomProject-Title.tex следующего содержания: Далее компилируем главный файл — и если всё сделано правильно, у нас должен получиться документ на две страницы, на первой странице будет титульный лист, а на второй — оглавление. Как всегда, под конец припасён десерт: оглавление генерируется автоматически и будет перегенерироваться каждый раз, когда вы меняете структуру документа. Дополнительную справку по пакетам расширения в LaTeX можно найти , где приведено описание наиболее часто используемых пакетов расширений и хаков в LaTeX. Для начала нам нужно набирать собственно текст диплома в LaTeX. Делается это легко, просто нужно учитывать некоторые особенности вёрстки текста в LaTeX. Поэтому сначала следует обратиться к разделу: Если часть диплома написана в Word или OpenOffice то можно перегнать материал в LaTeX при помощи . Полученный код придётся допилить, но это лучше, чем ничего.

Наверх ↑ Вниз ↓

Абзацный отступ

По умолчанию TeX делает первую строку текста, следующую после заголовка структурного элемента, лишенной абзацного отступа. Таковы британские полиграфические традиции. Изменить эту установку поможет пакет indentfirst

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

ex — единица измерения, равная ширине латинской буквы ‘x’ шрифта по умолчанию (Computer Modern Roman, 14 пт).

Видео

Пакеты pgf

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

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

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

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

Сноски

Сноски обозначаются надстрочными знаками в виде арабских цифр со скобкой

Текст сноски должен отделяться от основного текста линией шириной 30—40 мм. Ширина (width) и высота (height) этой линии (или, если угодно, её длина и толщина) задаются командой footnoterule . Установим ширину линии сноски равной 40 мм:

Установка LaTeXila

Latexila — это текстовый редактор LaTeX для оболочки Gnome, написанный на GTK, поэтому вы сможете использовать его только в Linux. Для Windows можно взять любой другой редактор, в конце концов, синтаксис LaTex везде один и тот же. Для установки редактора в Ubuntu достаточно выполнить одну команду, поскольку он есть в официальных репозиториях:

sudo apt install latexila latexila-data texlive-lang-cyrillic

Пакет texlive-lang-cyrillic нам необходим для норм

Пакет texlive-lang-cyrillic нам необходим для нормальной поддержки кириллицы. Система загрузит около 400 мегабайт пакетов и после установки программа появится в главном меню:

Горячая линия: Титульный лист и начало работы (LaTeX)

Я готовил серию постов по LaTeX ещё к Новому Году, но решил немного придержать их, чтобы подрихтовать оформление. Первым идёт по порядку титульный лист научной работы. Какая это именно работа, значения практически не имеет: это может быть семестровая, курсовая или лабораторная — оформляются они одинаково или почти так. Я привожу только преамбулу и первую страницу. Преамбула немного перегружена (“на будущее”), но лишь немного. Итак, нормальное и качественное начало документа выглядит на LaTeX так:

Нетрудно заметить,что оно оптимизировано для программистов: тонко настроен пакет listings. Для титульного листа этого вполне достаточно, но для всей работы надо будет написать ещё кое-что — в следующем посте уточню, что именно. А пока — титульник (Title.tex):

Важно писать пробелы после инициалов (Ж.У.).Вместо “Курсовая работа” может стоять и “отчёт по семестровой работе”, и что угодно, опять же. Не обрамляйте титульник в begin…end, тогда он не будет включён в нумерацию и содержание будет стоять якобы на первой странице. На мой взгляд, сделано ладно. Но это только начало, дальше будет наверняка хуже. 🙂 А. Я. Яковлев.

Шаблон курсовой работы в Latex

image

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

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

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

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

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

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

Устанавливаем кодировку, тут думаю все очевидно.

Указываем какие языки использовать (в нашем случае с переносами).

Подключаем дополнительные пакеты.

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

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

Так же важный момент, это корректно задать размеры страницы, а именно отступы. Данный кусок кода даю с минимальными комментариями:

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

Я ввел всего одну новую команду, а именно вставку изображения. Вы можете её оформить под себя. У меня она выглядит следующим образом:

  • Первый параметр — ширина
  • Второй параметр — название файла
  • Третий параметр — название подписи к изображению

Из переопределения удобно указать следующие команды:

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

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

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

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

По сути в ней есть только один важный момент — Фамилия преподавателя и студента должны начинаться на одном уровне. Для этого используется следующий код:

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

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

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

Файл я начинаю с кода

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

Полный код:
Страница управления:
Титульная страница

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

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

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

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

Установка

Устанавливаем LaTeX:

$ sudo apt-get install tex-common texlive-base texlive-base-bin texlive-common 
texlive-doc-base texlive-fonts-recommended texlive-lang-cyrillic 
texlive-latex-base texlive-latex-recommended

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

$ touch ./work_0001_2010.tex
$ gedit ./work_0001_2010.tex

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
documentclass[a4paper,12pt]{article}
usepackage[T2A]{fontenc}
usepackage[utf8]{inputenc} % любая желаемая кодировка
usepackage[russian,english]{babel}
usepackage[pdftex,unicode]{hyperref}
usepackage{indentfirst} % включить отступ у первого абзаца

title{Заголовок документа}
author{Имя автора}
date{02/2010}

begin{document} % начало документа

maketitle % заголовок

Тестовый документ, подготовленный в LaTeX
end{document} % конец документа

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

$ pdflatex ./work_0001_2010.tex
$ evince ./work_0001_2010.pdf

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

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
begin{document} % начало документа

begin{titlepage} % начало титульной страницы

begin{center} % включить выравнивание по центру

large Российский технический институт <<ACME-ТЕХ>>\[4.5cm]
% название института, затем отступ 4,5см

huge Теоретическая работа No 5\[0.6cm] % название работы, затем отступ 0,6см
large по~теме <<Хабраобщество. Внутреннее и внешнее влияние>>\[3.7cm]
% тема работы, затем отступ 3,7см

begin{minipage}{0.5textwidth} % начало маленькой врезки в половину ширины текста
begin{flushleft} % выровнять её содержимое по левому краю
emph{Автор:} Цокотуха~Флай\
emph{Группа:} 7822\
emph{Факультет:} МХХПХХ\
emph{Преподаватель:} Шаманова~Эллина~Канделябровна
end{flushleft} % конец выравнивания по левому краю
end{minipage} % конец врезки

vfill % заполнить всё доступное ниже пространство

{large today} % вывести дату
{large LaTeX} % вывести логотип LaTeX

end{center} % закончить выравнивание по центру

thispagestyle{empty} % не нумеровать страницу
end{titlepage} % конец титульной страницы

tableofcontents % содержание

section{Глава I}
section{Глава II}
section{Глава III}
section{Глава IV}

Тестовый документ, подготовленный в LaTeX
end{document} % конец документа

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

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

Схемы

Есть много способов вставить изображение в 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:

Сохранение в PDF

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

Опции экспорта в PDF

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

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

Картинка:

begin{figure}
centering
includegraphics[width=0.9textwidth]{work_0001_2010_graph01.pdf}
caption{Преломление света}
label{fig:graph01}
end{figure}

Заново компилируем:

$ pdflatex ./work_0001_2010.tex
$ evince ./work_0001_2010.pdf

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

SVG-картинка в PDF

Пакеты pgf

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

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

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

$ sudo nano /etc/apt/sources.list

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

deb http://ppa.launchpad.net/johannes-reinhardt/ppa/ubuntu lucid main

Выполнить:

$ sudo apt-get update
$ sudo apt-get install pgfplots

Таблицы

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

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

Сохранение gnumeric-таблицы

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

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

Сохранение таблицы в CSV

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

Параметры экспорта для CSV

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


a b c mid
0.09 0.07 0.072 0.0773333333333333
0.15 0.073 0.073 0.0986666666666667
0.155 0.074 0.8 0.343
0.156 0.078 0.9 0.378
0.17 0.079 0.99 0.413
0.18 0.08 0.1 0.12
0.189 0.09 0.12 0.133
0.192 0.1 0.14 0.144
0.195 0.12 0.153 0.156
0.2 0.128 0.16 0.162666666666667

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

usepackage{pgfplotstable}

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

pgfkeys{/pgf/number format/.cd,precision=6,use comma,fixed,1000 sep={}}

pgfplotstableread{work_0001_2010_table01.dat}midvalues

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
newpage

Таблица

begin{table}[h]
centering
caption{Средние числа}
pgfplotstabletypeset[
    columns={a,b,c,mid},  % алиасы колонок, определённые в первой строке таблицы
    columns/a/.style={ column name=Значение $a$ }, % стиль столбца: определяем только заголовок
    columns/b/.style={ column name=Значение $b$ }, % стиль столбца: определяем только заголовок
    columns/c/.style={ column name=Значение $c$ }, % стиль столбца: определяем только заголовок
    columns/mid/.style={ column name=Среднее значение }, % стиль столбца: определяем только заголовок
    every head row/.style={ before row=hline, after row=hlinehline }, % одиночная линия над и двойная линия под первой строкой таблицы
    every last row/.style={ after row=hline }, % одиночная линия под последней строкой таблицы
    every first column/.style={
        column type/.add={|}{} % вертикальная линия перед первым столбцом
    },
    every last column/.style={
        column type/.add={|}{|} % вертикальные линии с обоих сторон последнего столбца
    }
]midvalues \[0.5cm]
label{tab:midvalues}
end{table}

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

Как выглядит таблица

Графики

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

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

usepackage{pgfplots}
pgfplotsset{compat=newest} % использовать новые возможности pgfplots

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
newpage

begin{tikzpicture}
    begin{axis}[ % начать график
        xlabel=Измерение, % метка для оси x
        ylabel=Значение, % метка для оси y
        xtick align=center, % риски оси x внутри графика
        yminorgrids, ymajorgrids, % линии для основных и второстепенных значений по оси y
        xmajorgrids, % линии для основных значений по оси x
        minor y tick num=4, % 4 второстепенных риски между каждыми основными рисками по оси y
        legend style={at={(0.74,0.74)}, anchor=south west} % позиционирование легенды относительно нижнего левого угла
    ],
    addplot[green!40!black,mark=x] table[y=a] from midvalues; % тёмно-зелёным отметить данные из столбца 'a' таблицы midvalues на оси
    addlegendentry{$a$ (таб. ref{tab:midvalues})} % добавить линию на легенду
    addplot[red!60!black,mark=x] table[y=b] from midvalues; % тёмно-красным отметить данные из столбца 'b' таблицы midvalues на оси
    addlegendentry{$b$ (таб. ref{tab:midvalues})} % добавить линию на легенду
    addplot[yellow!80!black,mark=x] table[y=c] from midvalues; % тёмно-жёлтым отметить данные из столбца 'c' таблицы midvalues на оси
    addlegendentry{$c$ (таб. ref{tab:midvalues})} % добавить линию на легенду
    addplot[blue!80!black,mark=o,smooth] table[y=mid] from midvalues; % тёмно-синим сглаженной линией отметить данные из столбца 'mid' таблицы midvalues на оси
    addlegendentry{Среднее (таб. ref{tab:midvalues})}  % добавить линию на легенду
    end{axis}
end{tikzpicture}

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

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

Как выглядит график

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

Заключение

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

Содержание

  1. Реферат в LaTeX
  2. Содержимое реферата
  3. Файл управления
  4. Титульная страница
  5. Страница с текстом
  6. Полный код:
  7. Работа в LaTeX. Создание документа на примере подготовки курсовой работы
  8. Дистрибутив LaTeX
  9. Текстовый редактор
  10. Пример LaTeX-документа
  11. Создание титульного листа
  12. Набор текста
  13. Математика
  14. Вставка картинок
  15. Вставка кода
  16. Библиография
  17. Заключение
  18. LaTeX + диплом
  19. Ставим задачу
  20. Установка
  21. Сборка диплома
  22. Настройка заголовков
  23. Другие заголовки
  24. Текст заголовков
  25. Нумерация
  26. Оглавление
  27. Библиографический список
  28. Шрифт Times New Roman/12 pt
  29. Заключительные положения

Реферат в LaTeX

%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9Потребовалось оформить реферат в LaTeX. По сути на изучение материала, необходимого на оформление (почти полное), потребовался один вечер. Ниже приведу куски кода, полную верстку и функции, которые определял для удобства. Почему почти? Я не использовал таблицы, а также некоторые другие специфичные структуры.

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

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

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

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

Устанавливаем кодировку, тут думаю все очевидно.

Указываем какие языки использовать (в нашем случае с переносами).

Подключаем дополнительные пакеты.

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

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

Так же важный момент, это корректно задать размеры страницы, а именно отступы. Данный кусок кода даю с минимальными комментариями:

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

Я ввел всего одну новую команду, а именно вставку изображения. Вы можете её оформить под себя. У меня она выглядит следующим образом:

Из переопределения удобно указать следующие команды:

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

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

begin
input % это титульный лист
newpage
tableofcontents % это оглавление, которое генерируется автоматически
end

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

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

По сути в ней есть только один важный момент — фамилия преподавателя и студента должны начинаться на одном уровне. Для этого используется следующий код:

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

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

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

Файл я начинаю с кода

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

Полный код:

Страница управления:
Титульная страница
Пример сгенерированного оглавления:

%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9

P.S. Если что-то описал недостаточно подробно спрашивайте уточню.

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

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

Не надо пропускать:

Источник

Работа в LaTeX. Создание документа на примере подготовки курсовой работы

dw author

Мы уже рассматривали издательский пакет 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

После создания файла 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. Исходный код титульного листа курсовой работы

Набор текста

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

Листинг 3. Пример форматирования текста

формирует неразрывный пробел.

Обратите внимание на метки, поставленные с помощью команды 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-документ

Вставка кода

Листинг 6. Пример включения неформатируемого текста в LaTeX-документ

В пятой статье из цикла «Каталог классов и стилей LaTeX» описано множество пакетов, которые специализируются на оформлении алгоритмов и программного кода.

Библиография

Листинг 7. Создание библиографии

cite, а для использования LaTeX<> лучше
почитать

Как и в случае с перекрёстными ссылками для правильного отображения библиографических ссылок, исходный документ необходимо скомпилировать дважды.

Заключение

Сверстать документ так, чтобы его было приятно и удобно читать – это далеко не такая простая задача, как кажется изначально. Пакет LaTeX позволяет получить приемлемый результат за разумный промежуток времени без необходимости привлечения специалиста-верстальщика. Однако для создания сложных текстов всё-таки потребуется потратить время на изучение возможностей LaTeX. К счастью, для LaTeX присутствует множество информации, как по самому пакету, так и по его классам и стилям. Надеемся, что данная статья, знакомящая с основами вёрстки в LaTeX, побудит вас продолжить изучение LaTeX, чтобы раскрыть весь потенциал этого пакета.

Источник

LaTeX + диплом

Продолжаем тему LaTeX + диплом.

Ставим задачу

Исходные условия:
Компьютер Acer Aspire One. Очень удачная машинка для студента, надо заметить. Нетбуки в Европе так и называют — студенческие компьютеры.
Операционная система — Linpus (читай Fedora 8).
Система верски — Latex в реализации teTex, ныне свернутая.

Требуется в течение недели получить текст диплома, оформленного по всем правилам учебного заведения.

В качестве основы для публикации после непродолжительного анализа был выбран пакет disser. Самое главное, что в нем подкупило — это ощущение целостности и наличие файла для сборки (т.е. Makefile).

Установка

Сначала автор хотел установить TeXLive, но это не получилось. Почему-то не запустился инсталлятор, а поскольку в perl’е автор не силен, желания разбираться не было никакого. Из пакетов с помощью yum был установлен teTeX.

Надо отметить, что процесс этот проходил не быстро, благо GPRS-интернет от Мегафон — удовольствие не быстрое (это не камень в огород Мегафона, а констотация факта. GPRS-интернет медленный!)

После этого из CTAN (www.ctan.org) были установлены пакеты disser и связанные с ним. Как определялись пакеты, которые надо установить? Экспериментальным путем.
В теле документа thesis.tex пишется usepackage<какой_то_пакет>, затем дается команда

и проверяется наличие ошибки вида «не найден какой_то_пакет.sty». Если такая ошибка есть, то этот пакет скачивался из интернета, инсталлировался (с обязательным выполнением команды sudo texhash ) и процесс повторялся. Надо сказать, что автор установил довольно много пакетов, прежде чем понять, что же ему надо и на чем можно остановиться, поэтому намеренно не привожу перечень пакетов, которые были установлены.

Про среду следует сказать отдельно.

В документации к пакету disser приводятся примеры разных работ — кандидатской, докторской и магистерской диссертаций, а также работа бакалавра. Содержатся они в каталоге templates. Если бы было право на запись, то можно было бы прямо в каталоге, например, bachelor выполнить make и получить на выходе dvi-файл.

Но поскольку права на запись нет, примеры были скопированы в каталог

/Documents и работа велась там.

В Makefile были внесены изменения (был прописан абсолютный путь в директиве include), чтобы уже в копии можно было выполнять make.

Далее начался собственно процесс верстки.

Сборка диплома

Текст изначально планировался к набору в кодировке utf-8, но позже выяснилось, что BiBTeX не умеет обрабатывать библиотечные файлы в этой кодировке, а совместить две кодировки в одном проекте не получается. Может это и возможно, но дешевле оказалось весь проект верстать в cp1251.

Набор текста производился в редакторе geany, от которого требовалась только подсветка синтаксиса и умение работать в кодировке cp1251. Немаловажным фактом оказалась и возможность работать в режиме полного экрана (отключены все элементы интерфейса, кроме строки меню), поскольку экран компьютера маленький.

Пакет disser предполагает разбиение документа на небольшие, логически связанные порции. Так, введение и заключение находятся в отдельных файлах, intro.tex и concl.tex соответственно. Главы находятся в файлах 1.tex, 2.tex, 3.tex и т.д. Приложения в файлах app-1.tex, app-2.tex и т.д.

Сборка документа производится путем указания в файле thesis.tex (основной документ) следующих строк между begin и end:

Оглавление, по требованиям, находится в начале документа и начинается со страницы 2. Титульный лист для дипломной работы выдавался (печатался отдельно), поэтому никакой необходимости его верстать и включать в документ не было. Для отключения титульного листа в заголовке документа было указывается notitlepage, т.е.

где многоточием заменены другие опции.

Размер листа устанавливается пакетом geometry:

usepackage[
a4paper, includefoot,
left=3cm, right=1cm, top=2cm, bottom=1.5cm,
headsep=1cm, footskip=1cm
]

Настройка заголовков

Надо отметить, что в пакете disser очень грамотно произведена настройка элементов текста, т.е. названий глав, секций, подсекций и т.д.

Например, для оформления названия главы имеются следующие команды:

thechapteralign
thechapterfont
prethechapter
postthechapter
chapteralign
chapterfont
beforechapter
afterchapter

Команды определяют оформление разных частей заголовка: thechapteralign — выключку номера, thechapterfont — шрифт номера, prethechapter — текст до номера, postthechapter — текст после номера, chapteralign — выключку текста заголовка, chapterfont — шрифт текста заголовка, beforechapter — отступ до заголовка, afterchapter — отступ после заголовка.

Такая же серия команд есть и для оформления заголовка в оглавлении.

Подобная настройка произведена для каждого уровня заголовков. Подробности — в файле disser.pdf.

Такое разбиение позволяет сделать, например, такой заголовок:

Глава 1.
Анализ текущего состояния

и указать разное оформление для номера и для текста заголовка.

В итоге, для диплома в преамбуле документа появились такие команды (показана только настройка главы):

> % ставим точку и пробел после номер
renewcommand<chapterfont> <normalsizebfseries>% шрифт текста заголовка
renewcommand<tocprethechapter><> % в оглавлении убираем слово «Глава»

Перекомпилируем и получаем правильно оформленные заголовки главы.

Другие заголовки

По умолчанию все заголовки в пакете disser набираются более крупным шрифтом, нежели основной текст. По требованиям же заголовки должны набираться тем же кеглем, что и основной текст (12), полужирного начертания.

Поэтому в преамбулу вписываем:

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

Для этого в преамбулу включаем команды (основной текст имеет отступ 1 см)

Отступ от заголовка до текста должен быть не менее 6 пунктов:

Поскольку в дипломе было много мест, где подряд шли несколько заголовков разного уровня, автор пошел на некоторое нарушение в угоду визуальной составляющей и уменьшил размер отступа для заголовков третьего уровня до трех пунктов:

Текст заголовков

По требованиям заголовки набираются заглавными буквами. Исправить это оказалось довольно просто. В преамбуле указываем

По каким-то причинам «ОГЛАВЛЕНИЕ» и «БИБЛИОГРАФИЧЕСКИЙ СПИСОК» пришлось вставлять в тело документа, причем последнее — непосредственно перед библиографией.

Нумерация

Диплом по требованиям начинается с титульной страницы, после которой идет оглавление. Оглавление печатается на странице 2 и далее. Делается это с помощью команды

непосредственно перед tableofcontents.

Приложения нумеруются с цифры 1. По умолчанию пакет disser предлагает нумерацию приложений с буквы «А» (кириллица). Для изменения формата номера в преамбуле пишется команда

renewcommand<theappendix><arabic> % заменяем нумерацию приложений на цифры

Кроме того, текст «ПРИЛОЖЕНИЕ 1» выключается вправо. Делается это командой

в преамбуле. Команда hfill заполняет все свободное пространство строки, «раздавливая» то, что стоит до и после нее в разные стороны строки.

Оглавление

В оглавление должны включаться заголовки всех уровней. По умолчанию пакет disser включает в оглавление только главы и секции. Подсекции — не включаются.

Чтобы исправить, в преамбулу добавляем команду

В случае с дипломом автора этого оказалось достаточно, поскольку заголовки ниже subsection не использовались. Если это будет не так, то нужно указать 3 или даже 4 в команде выше.

Команды разбиения текста (chapter, section и пр.) имеют необязательный параметр, позволяющий указать текст, который будет включен в оглавление. Это удобно использовать для переноса строк в случае длинных заголовков. Команда

позволяет по-разному оформить заголовок в тексте и в оглавлении.

Приложения в оглавления начинаются со слова «ПРИЛОЖЕНИЯ», которое ссылается на ту же страницу, что и первое приложение, т.е.

ПРИЛОЖЕНИЯ. 51
ПРИЛОЖЕНИЕ 1. Сводная таблица. 51

Делается это просто. В тексте первого приложения (в файле app-1.tex) в начало добавляются две команды:

clearpage нужно для того, чтобы команды addcontentsline и chapter попали на одну страницу.

Библиографический список

Пакет disser для формирования библиографии использует команду bibtex8. В поставке teTeX этой команды нет, во всяком случае в тех репозиториях, которые подключены по умолчанию.

Поэтому автор скачал исходный код утилиты и собрал ее самостоятельно, после чего поместил ее в каталог /usr/bin рядом с утилитой bibtex, а в каталог с дипломом поместил файл gost705.bst, используемый пакетом disser.

Шрифт Times New Roman/12 pt

Нормоконтроллер не пропустил шрифт cm-super, используемый по умолчанию. Поэтому пришлось подключить пакет PsCyr для того, чтобы текст верстался именно Times New Roman. Мне этот шрифт категорически не нравится, но это формальность, так что пришлось сделать как указано.

По каким-то причинам при указании опции 12pt в documentclass Latex отказался менять размер шрифта. Пришлось последовательно (с пересборкой диплома) указать шрифт 8pt, 9pt, 11pt и затем 12pt. После этого шрифт стал нужного размера.

Заключительные положения

Следует отметить, что на все эксперименты и настройку суммарно ушло около 3 дней. Это с учетом того, что знание Latex у автора до этого было довольно поверхностное.

Основную информацию автор почерпнул из книг К. В. Воронцова «Latex2e в примерах», С.М. Львовского «Набор и вёрстка в системе Latex» и, конечно, документации пакета disser, какой бы скудной она ни была.

Преимущества Latex для работ подобного плана огромны — ссылочный аппарат позволяет не заботиться о том, в каком порядке идут приложения, элементы библиографического списка, таблицы, рисунки и проч.; работа ведется с простыми текстовыми файлами, поэтому потеря форматирования из-за проблем внутри MS Word/OO Writer невозможна в принципе; высокое полиграфическое качество; совершено прозрачная работа с математикой.

Проблемы, конечно, тоже есть, но они нивелируются достоинствами: сложности с форматированием длинных таблиц, сложная работа с рисунками, особенно крупноформатными; не всегда очевидные способы борьбы с проблемными местами в тексте (висячие строки, слова, overfull, underfull) и т.д. В целом, для качественной работы в Latex нужно несколько больше знаний в полиграфии и программировании, чем при простой верстке в Word/Writer. Но оно того стоит.

Рыба текста главного файла диплома с использованием пакета disser:
documentclass[bachelor,subf,12pt,notitlepage]
usepackageusepackage[
a4paper, mag=1000, includefoot,
left=3cm, right=1cm, top=2cm, bottom=1.5cm, headsep=1cm, footskip=1cm
]

usepackage[T2A]
usepackage[cp1251]
usepackage[english,russian]
usepackage
usepackage

> % Меняем регистр слова «Приложение»
renewcommand <tocpretheappendix>

Источник

  1. Дневник
  2. Горячая линия: Титульный лист и начало работы (LaTeX)

2010-01-12T12:14:00+06:00

Я готовил серию постов по LaTeX ещё к Новому Году, но решил немного придержать их, чтобы подрихтовать оформление. Первым идёт по порядку титульный лист научной работы. Какая это именно работа, значения практически не имеет: это может быть семестровая, курсовая или лабораторная — оформляются они одинаково или почти так.
Я привожу только преамбулу и первую страницу. Преамбула немного перегружена (“на будущее”), но лишь немного.
Итак, нормальное и качественное начало документа выглядит на LaTeX так:

documentclass[a4paper,12pt]{report}
usepackage{mathtext}
usepackage[T2A]{fontenc}
usepackage[utf8]{inputenc}
usepackage[english,russian]{babel}
%если не подключить английский, потеряете переносы в английских словах...очень плохо
usepackage{indentfirst}
usepackage{graphicx}
usepackage{listings}
lstloadlanguages{Perl}
%здесь проставить нужные языки и их диалекты...можно написать и свои правила подсветки
lstset{extendedchars=false,%надо ставить false всегда при работе с UTF-8
commentstyle=it,
stringstyle=bf,
belowcaptionskip=5pt,
numbers=left, %нумерация строк
numberstyle=tiny,
stepnumber=3,
numbersep=5pt,
breaklines=true, %автоперенос длинных линий
breakatwhitespace=true}
%перенос ТОЛЬКО по пробелам и табуляциям

renewcommand{lstlistingname}{Листинг}
usepackage[labelsep=period]{caption}

usepackage{fncychap}
ChNameVar{large}
ChTitleVar{Large rm bfseries}
%ChTitleUpperCase %- почему-то не работает
ChNameUpperCase

makeatletter
renewcommand{DOTI}[1]{CTVFmTi{#1}parnobreakmedskip}
makeatother

setcounter{secnumdepth}{-1} % не хочу нумеровать главы
setcounter{tocdepth}{1} % глубина оглавления

usepackage{geometry} % Меняем поля страницы
geometry{left=3cm} % левое поле
geometry{right=1cm}% правое поле
geometry{top=2cm}% верхнее поле
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}.}

renewcommand{baselinestretch}{1.5}
%если поставить меньше, то дроби на строках будут сливаться друг с другом
righthyphenmin=2 % Минимальное число символов при переносе - 2.

begin{document}renewcommand{contentsname}{Содержание}
%Строго говоря, Оглавление - это когда текст разбит на главы.
%Когда текст разбит на секции - это Содержание.

input{Title}

Нетрудно заметить,что оно оптимизировано для программистов: тонко настроен пакет listings. Для титульного листа этого вполне достаточно, но для всей работы надо будет написать ещё кое-что — в следующем посте уточню, что именно. А пока — титульник (Title.tex):

{
thispagestyle{empty}
newpage
centering

textbf{
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ\
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ\
ОЧЕНЬ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\*
Сумасшедший факультет\
Кафедра всякой хрени и сопутствующих областей}

vfill

{large КУРСОВАЯ РАБОТА}

bigskip

<<ЗДЕСЬ НАЗВАНИЕ>>medskip

студента какого-то курса, М-666 группыmedskip

Букова Аз Есьма\
medskip

Специальность 010503 - <<Математическое обеспечение и
администрирование информационных систем>>

vfill

begin{flushright}
Руководитель: \
К.п.н., доцент \
Е. Н. Какой-то-левов\
makebox[5cm]{hrulefill}

bigskip

Работа защищена с оценкой\
<< makebox[1cm]{hrulefill} >> ( makebox[3.6cm]{hrulefill} )\
<< makebox[1cm]{hrulefill} >> makebox[3cm]{hrulefill} numberyear г.

bigskip

Зав. кафедрой триангуляции торсионных полей,\
д.-р п. х. наук, профессор\
makebox[3.5cm]{hrulefill} Д. Е. Какой-то-тамов

end{flushright}

vspace{fill}

ВАШ_ГОРОД numberyear
clearpage
}

Важно писать пробелы после инициалов (Ж.У.).Вместо “Курсовая работа” может стоять и “отчёт по семестровой работе”, и что угодно, опять же. Не обрамляйте титульник в begin{titlepage}…end{titlepage}, тогда он не будет включён в нумерацию и содержание будет стоять якобы на первой странице.
На мой взгляд, сделано ладно. Но это только начало, дальше будет наверняка хуже. 🙂
А. Я. Яковлев.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *