вторник, января 12, 2010

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

Я готовил серию постов по 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]{\CTV\FmTi{#1}\par\nobreak\medskip}
\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} \number\year г.

\bigskip

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

\end{flushright}

\vspace{\fill}

ВАШ_ГОРОД \number\year
\clearpage
}

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

3 комментария:

  1. Дерьмовый код!. Ни хрена не компилится.

    ОтветитьУдалить
  2. >> Не обрамляйте титульник в \begin{titlepage}...\end{titlepage}, тогда он не будет включён в нумерацию и содержание будет стоять якобы на первой странице.

    Наоборот, не?

    ОтветитьУдалить
  3. Используй пробелы правильно!

    Д.\,Е.~Какой-то-тамов

    ОтветитьУдалить

Постоянные читатели

Архив