2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5 ... 8  След.
 
 Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 18:35 


26/02/06
78
Russia, Nizhny Novgorod
Уважаемые коллеги,

(слова в заголовке повторяются из соображений SEO)

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

Есть в интернете серия статей на этот счет - от Сурового Челябинского Программиста и в Записках Дебианщика, но уж какие-то они сумбурные и суровые. Мне не хочется повторять их труд, поэтому скажем так - с введением в LaTeX знакомимся по соответствующей литературе, а готовый шаблон для адаптации под себя можно будет взять тут.

Итак, код комментирован, поэтому всё итак должно быть более ли менее понятно. Специфика:

  • Базовый класс - extarticle (аналог article)
  • Русский язык, русские символы в формулах, кодировка - UTF-8, мат. шрифты - AMS
  • Базовый размер шрифта - 14pt
  • Нумерация страниц (кроме первой) - правый верхний угол
  • Поля - 3 см - левое, 1 см - правое, верхнее и нижнее - 1 см
  • Красивые ссылки на литературу + стиль gost780u

Шаблон главного документа диплома

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
% $Id: diploma.tex 90 2009-06-11 12:51:46Z zyv $

% The extsizes classes and class options provide support for sizes eight, nine,
% ten, eleven, twelve, fourteen, seventeen and twenty points.
% http://www.ctan.org/tex-archive/macros/ ... /extsizes/
\documentclass[a4paper,14pt]{extarticle}

% PDF search & cut'n'paste
\usepackage{cmap}

% Better sans-serif fonts
\usepackage{pscyr}
\renewcommand{\rmdefault}{cmr}
\renewcommand{\sfdefault}{ftx}
\renewcommand{\ttdefault}{cmtt}

% Cyrillic support
\usepackage{mathtext}
\usepackage[T2A]{fontenc}
\DeclareSymbolFont{T2Aletters}{T2A}{cmr}{m}{it}
\usepackage[utf8]{inputenc}

% Also be sure to add
%
% english hyphen
% ruseng ruenhyph
% =russian
%
% to ~/.texlive2008/texmf-var/tex/generic/config/language.dat

\usepackage[english,russian]{babel}

% AMS font faces
\usepackage{amsmath, amsfonts, amssymb}

% Support for the upright and bold greek letters
\usepackage{bm}
\usepackage[Symbolsmallscale]{upgreek}
\makeatletter
        \newcommand{\bfgreek}[1]{\bm{\@nameuse{up#1}}}
\makeatother

% Detect whether PDFLaTeX is in use
\usepackage{ifpdf}

% Graphics
\ifpdf
        \usepackage[pdftex]{graphicx}
\else
        \usepackage{graphicx}
\fi

\graphicspath{{images/}}

% Indent the first paragraph as well
\usepackage{indentfirst}

% According to GOST, sections should be called chapters in diploma
\usepackage{titlesec}

\setcounter{tocdepth}{2}

\titleformat{\section}[block]{\bfseries\large\sffamily\raggedright}
        {Глава~\Roman{section}.}{1ex}{}
\titleformat{\subsection}[block]{\bfseries\normalsize\sffamily\raggedright}
        {\arabic{section}.\arabic{subsection}.}{1ex}{}
\titleformat{\subsubsection}[block]{\normalsize\sffamily\raggedright}
        {\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.}{1ex}{}

\titlespacing*{\section}      {0pt}{3.50ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\titlespacing*{\subsection}   {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

\usepackage[titles]{tocloft}

\renewcommand{\cftsecpresnum}{Глава~}
\renewcommand{\cftsecleader}{\bfseries\cftdotfill{\cftdotsep}}
\renewcommand{\cftsecaftersnum}{.}
\renewcommand{\cftsubsecaftersnum}{.}

\newlength{\zyvseclen}
\settowidth{\zyvseclen}{\bfseries\cftsecpresnum\cftsecaftersnum}
\addtolength{\zyvseclen}{2mm}
\addtolength{\cftsecnumwidth}{\zyvseclen}

\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}
\renewcommand{\thesubsubsection}
        {\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}

% Page numbering at the right topmost part of the page
\pagestyle{myheadings}

% Provides support for setting the spacing between lines in a document. Package
% options include singlespacing, onehalfspacing, and doublespacing.
% http://www.ctan.org/tex-archive/macros/ ... /setspace/
\usepackage{setspace}

% Alternative geometry
\usepackage[top=2cm, bottom=2cm, left=3cm, right=1cm]{geometry}

% Hyperlinks
\ifpdf
        \usepackage[pdftex]{hyperref}
\else
        \usepackage{hyperref}
\fi

\hypersetup{
        unicode=true,
        pdftitle={
        },
        pdfauthor={},
        pdfkeywords={
        },
        colorlinks,
        citecolor=black,
        filecolor=black,
        linkcolor=black,
        urlcolor=blue
}

% Fix links to floats
\usepackage[all]{hypcap}

% Nice citations [1,2,3,4] -> [1-4]
\usepackage[numbers,sort&compress]{natbib}

% [1] -> 1. in the bibliography
\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother

% Russian-styled figure and table captions
\usepackage[labelsep=period]{caption}

% Here we define the relationships for the counters: normaly we should
% reset the eq, figure & table counters every chapter
\makeatletter
\@addtoreset{equation}{section} % Equation counter
\@addtoreset{figure}{section} % Figure counter
\@addtoreset{table}{section} % Table counter
\makeatother

\renewcommand{\theequation}{\arabic{section}.\arabic{equation}}
\renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{table}}

% Keeps floats `in their place', preventing them from floating past a
% "\FloatBarrier" command into another section.  The floats should not move
% past every "\section".
\usepackage[section]{placeins}

% Compressed lists: compactitem etc.
\usepackage{paralist}

% Useful for individually placing figures on a separate page with
% \afterpage{\clearpage \begin{figure}[p] ... }
\usepackage{afterpage}

% Allow landscape pages for graphics, call like:
%
%       \afterpage{\clearpage
%       \begin{landscape}
%       \begin{figure}[p]
%       ...
%       \end{figure}
%       \end{landscape}
%       }
\ifpdf
        \usepackage{pdflscape}
\else
        \usepackage{lscape}
\fi

% This declaration makes TeX less fussy about line breaking. This can
% prevent overfull boxes, but may leave too much space between words.
% As this really isn't a fine art typography, we'll turn it on, so
% we won't have paragraphs which spans on the margins...
\sloppy

\begin{document}

% ------------------------------------------------------------------------------
% Обложка
\include{diploma-title}

% ------------------------------------------------------------------------------
% Оглавление
\tableofcontents

% ------------------------------------------------------------------------------
% Текст работы
\begin{onehalfspacing}
        \include{diploma-intro}
        \include{diploma-ch01}
        \include{diploma-ch02}
        \include{diploma-ch03}
        \include{diploma-conclusion}
        \include{diploma-safety}
\end{onehalfspacing}

% ------------------------------------------------------------------------------
% Список литературы
\phantomsection
\renewcommand{\refname}{Список литературы}
\addcontentsline{toc}{section}{Список литературы}

\bibliographystyle{gost780u}
\bibliography{biblio/diploma}

\end{document}


Шаблон титульной страницы

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
% $Id: diploma-title.tex 52 2009-06-04 09:46:14Z zyv $

\thispagestyle{empty}

\begin{center}

        \textsc{Федеральное агентство по образованию}\\[0.2cm]

        \textsc{Государственное образовательное учреждение высшего
профессионального образования \\ <<Иракский государственный университет
им.~Д.В.~Буша>>}\\[0.7cm]

        Арбузолитейный факультет\\[0.5cm]

        Специальность <<Фундаментальный исламизм и физическая
софистика>>\\[0.7cm]

        Кафедра общей демократии\\[0.7cm]

        \textsc{Дипломная работа}\\[0.7cm]

        \begin{large}
                \textsc{\textbf{Восстановление архитектуры разрушенных
городов по многобахчевым дынным полям методом всеобщего голосования}}
        \end{large}

\end{center}

\vspace{0.7cm}

\textit{<<К защите допущен>>:}

\begin{center}
        \begin{tabular}{ll}
                Зав. кафедрой общей демократии, \\
                профессор, д.ф.-м.н. &
                        \begin{tabular}{ll}
                                \underline{\phantom{Четкая подпись}} &
                                Иванов И.И.
                        \end{tabular}
        \\[0.7cm]
                Научный руководитель, \\
                профессор, в.н.с. ЁКЛ ЭМЭН,\\
                д.ф.-м.н. &
                        \begin{tabular}{ll}
                                \underline{\phantom{Четкая подпись}} &
                                Петров П.П.
                        \end{tabular}
        \\[0.7cm]
                Рецензент, \\
                зав. лаб. ЖЗ ИКЛ,\\
                д.ф.-м.н. &
                        \begin{tabular}{ll}
                                \underline{\phantom{Четкая подпись}} &
                                Сидоров С.С.
                        \end{tabular}
        \\[0.7cm]
                Консультант по технике\\
                безопасности, ассистент\\
                каф. софистики &
                        \begin{tabular}{ll}
                                \underline{\phantom{Четкая подпись}} &
                                Рейсфейдер Р.Р.
                        \end{tabular}
        \\[0.7cm]
        Дипломник &
                        \begin{tabular}{ll}
                                \underline{\phantom{Четкая подпись}} &
                                Ватманн В.В.
                        \end{tabular}
        \end{tabular}

        \vspace{1.5cm}

        г. Анкара, 2009

\end{center}
 

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 20:52 
Аватара пользователя


11/09/08
150
Могилев
Заголовки без засечек:
Используется синтаксис LaTeX
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}%
{0pt}{3.25ex plus 1ex minus .2ex}%
{1.5ex plus .2ex}{\bfseries\large\sffamily}}

\renewcommand{\subsection}{\@startsection{subsection}{2}%
{0pt}{3.25ex plus 1ex minus .2ex}%
{1.5ex plus .2ex}{\bfseries\let\sffamily}}
\makeatother


P.S. Из чистого любопытства: это какой такой ГОСТ, чтобы главы начинались со слова "Глава" в дипломах? Дипломы по каким специальностям предполагается так оформлять?

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 21:10 


26/02/06
78
Russia, Nizhny Novgorod
А теперь, как говорится, внимание, первый вопрос.

Надо сделать так, как я понимаю, из выданных мне шаблонов, чтобы, во-первых, главы назывались "Глава N. Blah-blah-blah", во-вторых, так и выводились в ToC, в-третьих, показывалось только два уровня вложенности заголовков (это я сделал уже), в-четвертых, после глав чтобы точечки тоже были до номера страницы, в-пятых, чтобы подразделы главы не назывались "Глава 1.2. Foo-foo-foo".

Нашел пакеты titlesec & titletoc, но не могу понять куда лошадь запрягать. Как не вызываю разные команды, ничего не компилируется. Помогите, пожалуйста.

Спасибо большое за ответ!

Хммм, вы знаете, я в это время искал способ сделать "главы". Смастерил вот что:

Используется синтаксис LaTeX
\renewcommand{\thesection}{\Roman{section}}
\titlelabel{Глава \thetitle. }
\renewcommand{\numberline}[1]{Глава #1. }


Плохо в этом коде то, что в оглавлении по какой-то причине у суб-секций теперь появляется вместо римских цифр типа 1.2., 1.3. и т.п. "Глава I.1", "Глава I.2" и т.д., что очень неприятно.

А ваш код, во-первых (у меня), работает только на section, но не на subsection, причем шрифт какой-то страшненький, если это CMR Sans-Serif, то я надеялся, что он не так катастрофичен. Может быть есть что-то более Helvetica-подобное? Во-вторых, он не отражается на оглавлении и плюс к тому выдаёт ошибку при компилировании с моим кодом для подстановки "Глава ".

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 21:17 
Аватара пользователя


11/09/08
150
Могилев
Поправил предыдущее сообщение.
Helvetica-подобного у меня вряд ли найдется - работаю под виндой. Есть пакет pscyr, но я с ним не работал.

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 21:41 


26/02/06
78
Russia, Nizhny Novgorod
yurik78 в сообщении #216780 писал(а):
P.S. Из чистого любопытства: это какой такой ГОСТ, чтобы главы начинались со слова "Глава" в дипломах? Дипломы по каким специальностям предполагается так оформлять?


Ссылку на номер ГОСТА не скажу, т.к. мне самому его не сказали, но специальность - без проблем: "Фундаментальная радиофизика и физическая электроника", радиофизический факультет госуниверситета города Н-ска. Вообще информации, конечно, кот наплакал, мне сказали, что мол, вот такие-то требования (я их выше озвучил) и выдали несколько PDF-ок с готовыми дипломами, которые им якобы удовлетворяют. Так что вот мучаюсь, что с этими главами делать...

А код ваш, тем не менее, не компилируется, теперь ни совместно с моим, ни без него, к сожалению, вот что выдает, когда сам по себе:

./diploma-ch01.tex:5:Extra }, or forgotten \endgroup. ...�ированные культуры (MEA)}

Когда с моим, то вылетает на первом же \section.

./diploma-ch01.tex:3:Undefined control sequence. ...�йрональной активности}

А откуда вы взяли эти числа, если не секрет, из article? Может быть есть стандартный пакет как-то для переключений... В частности в titlesec есть команда

\titleformat{ command }[ shape ]{ format }{ label }{ sep }{ before }[ after ]

Только я никак не пойму, как ей пользоваться.

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение24.05.2009, 23:01 
Аватара пользователя


11/09/08
150
Могилев
Числа примерно соответствуют отступам (сверху и снизу) классу article.

./diploma-ch01.tex:5:Extra }, or forgotten \endgroup. ...�ированные культуры (MEA)}

По-моему где-то синтаксическая ошибка. Все должно компилироваться, проверено много раз. Давайте преамбулу документа посмотрим, может что-нибудь найдем.

Попробуйте так:
Используется синтаксис LaTeX
\titleformat{\section}{\large\sffamily}{\thesection}{1ex}{}
\titlespacing{\section}{0\parindent}%
    {3.5ex plus .1ex minus .2ex}{2.3ex minus .1ex}{}

\titleformat{\subsection}{\sffamily}{\thesubsection}{1ex}{}
\titlespacing{\subsection}{0\parindent}%
    {3.5ex plus .1ex minus .2ex}{1.5ex minus .1ex}
 

Отточия в содержании после главы:
Используется синтаксис LaTeX
\dottedcontents{section}[1.5em]{}{2.3em}{1pc}

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 01:27 


26/02/06
78
Russia, Nizhny Novgorod
yurik78
Спасибо большое на помощь! Вы навели меня на правильно направление работ. Ваш код у меня не компилировался из-за команды \let. Не знаю почему. Но новые варианты через titlesec работают отлично.

Посмотрите, пожалуйста, мою новую преамбулу. Во-первых, я взял фонт Букварь из PSCyr для санс-серифов, потому, что CMR страшен как моя смерть, лучше уж повеситься. Во-вторых, я переопределил section, subsection и subsubsection как от нас требуют (а для subsubsection в каком файле мне найти правильный spacing?).

Осталась одна проблема - ToC. Ваша команда для точек действительно ставит точки, но, во-первых, убирает жирный, который там был, а, во-вторых, что самое неприятное, портит главы. Хотелось бы найти способ поставить точки, и, в одно и то же время убрать "Глава" из подсекций + сделать \thesection для подсекций не римским, а назад арабским. Что для этого надо сделать с \numberline понять не могу...

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 03:09 
Аватара пользователя


11/09/08
150
Могилев
ZYV, пожалуйста.

Исправьте определение section:
Код:
\renewcommand{\thesection}{\arabic{section}}
.........
\titleformat{\section}
   {\bfseries\large\sffamily}
   {Глава~\arabic{section}.~}{1ex}{}

arabic - это арабские цифры, Roman - большие римские.

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 08:32 
Аватара пользователя


01/02/09
206
ZYV в сообщении #216726 писал(а):
Код:
\documentclass[a4paper,14pt]{extarticle}

В случае, если надо использовать ГОСТ'овские рамки, см. eskdx.
ZYV в сообщении #216726 писал(а):
Код:
% Список литературы
\phantomsection
\addcontentsline{toc}{section}{Список литературы}

А
Код:
\renewcommand{\refname}{Список литературы}

задействовать не проще?

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 10:26 
Аватара пользователя


21/10/05
167
Иркутск
Такой вопрос, а как можно сделать так, чтобы элементы списка литературы не заключались в квадратные скобки? А то у меня сейчас он выглядит как:
[1] Книга1
[2] Книга2.
А хотелось, чтобы было так:
1. Книга1
2. Книга2.
Второй сопуствующий вопрос, как переименовать "Список литературы"? Чтобы вместо него выводился список использованных источников?

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 11:40 
Аватара пользователя


11/09/08
150
Могилев
Cat
Код:
\makeatletter
\renewcommand{\@biblabel}[1]{#1.\hfil}
\makeatother
\addto\captionsrussian{\def\refname{Список использованных источников}}

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 11:46 


26/02/06
78
Russia, Nizhny Novgorod
.Serj. в сообщении #216929 писал(а):
А
Код:
\renewcommand{\refname}{Список литературы}
задействовать не проще?


К сожалению, не проще. При этом, он не появляется в оглавлении, а если использовать только вашу команду + \addcontentsline - получаем проблемы со ссылкой на него из ToC - попадает на предыдущую главу.

Cat
Возьмите исправленный шаблон из первого поста, хотя yurik78 меня уже опередил. Замените там "Список литературы" на то, что вам нужно.

P.S. Таки тоже как я прогибаетесь под изменчивый ГОСТ, ха-ха! :) (шутка)

yurik78 в сообщении #216906 писал(а):
ZYV, пожалуйста.


Не-не-не, то ли я плохо объяснил, что мне нужно, то ли вы неправильно поняли. Давайте отталкиваться, от того, что есть сейчас: заголовки в самом тексте самым замечательным образом отформатированы как надо. Но надо исправить оформление ToC. А именно:

  • Добавить перед \sections "Глава" и номер сделать \Roman, для остальных (\subsection) не менять
  • Поставить точки после цифр (1.1., 2.3., Глава I. и т.п.)
  • Поставить отточие после \sections
  • Жирность для \section оставить как есть

Думаю тогда всё, больше ничего не нужно будет :) Я так понимаю, надо переопределить \dottedcontents для \section и \subsection, но не понимаю как :(

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 12:50 
Аватара пользователя


21/10/05
167
Иркутск
Спасибо, всё заработало. А как еще настроить подписи к рисункам, чтобы было не Рис.N:, а Рис.N?

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 13:03 


26/02/06
78
Russia, Nizhny Novgorod
Cat
Попробуйте добавить последней строчкой в мою преамбулу \usepackage{caption} - если сработает, поправлю первый пост. А вас ответ относительно ToC не интересует также как и меня? Может быть вместе чего-нибудь придумаем.

 Профиль  
                  
 
 Re: Оформление дипломной работы (диплома) в LaTeX
Сообщение25.05.2009, 14:27 
Аватара пользователя


11/09/08
150
Могилев
Пока сдаюсь.
Меня все чаще посещают мысли, что было бы проще переделать класс, в котором есть chapter.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 118 ]  На страницу 1, 2, 3, 4, 5 ... 8  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group