Этот коммит содержится в:
MyPetIsBear 2014-01-11 03:08:15 +04:00
Коммит 417511be2c
19 изменённых файлов: 2483 добавлений и 0 удалений

3
.gitignore поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1,3 @@
*.sublime-project
*.sublime-workspace
.DS_Store

611
gost/G2-105.sty Обычный файл
Просмотреть файл

@ -0,0 +1,611 @@
% This package designed and commented in russian koi8-r encoding.
%
% Лицензия GNU GPL v2 и совместимые
%
% Стиль, задающий соответствие документа ГОСТ 2-105-95.
%
% Автор - Алексей Томин, с помощью списка рассылки latex-gost-request@ice.ru
% Все вопросы, замечания и пожелания сюда: mailto:alxt@yandex.ru
%
% Дальнейшая разработка и поддержка - Михаил Конник,
% связаться можно по адресу mydebianblog@gmail.com
%
% Используется:
% footmisc.sty для сносок снизу и нумерации на каждой странице
% amssymb для русских "меньше или равно" "больше или равно"
% leqno.clo формулы правильно
% caption оформление заголовков риснуков и таблиц
% icomma запятая в формулах
% longtable многостраничные таблицы
% Также дополнялся Иваном Коротковым и Всеволодом Крищенко.
% Основные изменения:
% 1) заработали cases и tabular;
% 2) добавлена опция utf8;
% 3) комментарии в UTF-8;
% 4) изменены отступы после тире в description;
% 5) добавлен \paragraph;
% 6) уменьшены отспупы после заголовков и учеличены --- до (хотя это, возможно, и нарушает 7-32);
% 7) сделаны отсупы в оглалвнеии (ГОСТ эту тему обходит, как мы поняли);
% 8) \normalfont
% 9) разные мелочи.
\ProvidesPackage{G2-105}[2003/07/07 v1.00 General reqs. GOST 2.105-95]
\NeedsTeXFormat{LaTeX2e}
\input{GostBase.clo}
%стиль страницы
\pagestyle{plain}
\pagenumbering{arabic}
\raggedbottom
\onecolumn
%нечто
\newcommand\@pnumwidth{1.55em}
\renewcommand\baselinestretch{}
\@lowpenalty 51 %
\@medpenalty 151 %
\@highpenalty 301 %
\renewcommand\topfraction{.7} %
\renewcommand\bottomfraction{.3} %
\renewcommand\textfraction{.2} %
\renewcommand\floatpagefraction{.5} %
\renewcommand\dbltopfraction{.7} %
\renewcommand\dblfloatpagefraction{.5}%
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ %
\fi
##1}}}}
\def\ps@myheadings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\@gobbletwo
\let\chaptermark\@gobble
\let\sectionmark\@gobble
}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\setlength\parskip{0\p@ \@plus \p@}
\setlength\leftmargini {2.5em}
\setlength\leftmarginii{2.2em}
\setlength\labelsep {.5em}
\setlength\labelwidth{\leftmargini}\addtolength\labelwidth{-\labelsep}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\newcommand\appendix{}
% Счётчики общего числа страниц, таблиц, рисунков и источников
\newcounter{totalpage}
\newcounter{totaltable} \setcounter{totaltable} {0}
\newcounter{totalfigure}\setcounter{totalfigure}{0}
\newcounter{totalbib} \setcounter{totalbib} {0}
\newif\if@tablesonchapter \@tablesonchapterfalse
\newif\if@figuresonchapter\@figuresonchapterfalse
% На последней странице ставятся метки с номерами
% - последней страницы
% - числа таблиц, имеющих caption
% - числа рисунков, имеющих caption
\def\totalobjects@putlabel{%
\addtocounter{totalpage} {\c@page}
\addtocounter{totaltable} {\c@table}
\addtocounter{totalfigure}{\c@figure}
\addtocounter{totaltable} {-1}
\addtocounter{totalfigure}{-1}
\addtocounter{totalbib}{-1}
\refstepcounter{totalpage} \label{reftotalpages}
\refstepcounter{totaltable} \label{reftotaltables}
\refstepcounter{totalfigure}\label{reftotalfigures}
\refstepcounter{totalbib} \label{reftotalbibs}
}
\AtEndDocument{\totalobjects@putlabel}
% Команды отображение общего числа ...
\newcommand\totalpages {\pageref{reftotalpages}}
\newcommand\totaltables {\ref{reftotaltables} }
\newcommand\totalfigures{\ref{reftotalfigures} }
\newcommand\totalbibs {\ref{reftotalbibs} }
% 3.6 Абзацный отступ - 15..17 мм
\setlength\parindent{15mm}
% 4.1.1 - 4.1.6 Деление документа
% Точки после номеров разделов, глав и тд. -- Коротков И.
% НЕВЕРНОЕ РЕШЕНИЕ Крищенко В.
% \renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname.\quad}
% Команды для подстройки вида заголовков:
% расстояние между заголовком и текстом
% Уменьшено --- Seva
% \newlength\GostAfterTitleSkip \setlength\GostAfterTitleSkip {3.2ex}%15mm}
\newlength\GostAfterTitleSkip \setlength\GostAfterTitleSkip {1.2ex}%5mm}
\newlength\GostBetweenTitleSkip \setlength\GostBetweenTitleSkip {1.8ex}%8mm}
% Увеличено --- Seva
% \newlength\GostBeforTitleSkip \setlength\GostBeforTitleSkip {1.8ex}%\GostAfterTitleSkip}
\newlength\GostBeforTitleSkip \setlength\GostBeforTitleSkip {3.2ex}%\GostAfterTitleSkip}
\newlength\GostBeforNoTitleSkip \setlength\GostBeforNoTitleSkip {1.0ex}
\newlength\GostHTitleSpace \setlength\GostHTitleSpace {2mm}
\newlength\GostTitleIndent \setlength\GostTitleIndent {\parindent}
\newlength\Gost@ChapterIndent \setlength\Gost@ChapterIndent {\GostTitleIndent}
\newlength\Gost@MainChapterIndent\setlength\Gost@MainChapterIndent{\parindent}
\newlength{\Gost@TitleDropSkip}
\setlength\Gost@TitleDropSkip{\GostBetweenTitleSkip}
\addtolength\Gost@TitleDropSkip{-\GostAfterTitleSkip}
% стиль всех заголовков, \normalfont оставлен
\newcommand\GostTitleStyle{\normalfont\bfseries}
\newcommand\Gost@MainChapterStyle{}
\newcommand\Gost@ChapterStyle{\Gost@MainChapterStyle}
% Раздел
\newcounter{chapter}
\renewcommand\thechapter{\@arabic\c@chapter}
\newcommand\chapter{%
\clearpage%
\if@figuresonchapter%
\addtocounter{totalfigure}{\c@figure}\setcounter{figure}{0}%
\fi%
\if@tablesonchapter%
\addtocounter{totaltable} {\c@table }\setcounter{table}{0}%
\fi%
\@startsection{chapter}{0}%
{\Gost@ChapterIndent}{0mm}{\GostAfterTitleSkip}%
{\GostTitleStyle\large\Gost@ChapterStyle}%
}
\newcommand*\chaptermark[1]{}
\newcommand\apart[2]{\chapter {#2\label{#1}}}
\newcommand\cpart[2]{\chapter*{#2\label{#1}}}
% Подраздел
\newcounter{section}[chapter]
\renewcommand\thesection{\thechapter.\@arabic\c@section}
\newcommand\section{%
\@startsection{section}{1}%
{\GostTitleIndent}{\GostBeforTitleSkip}{\GostAfterTitleSkip}%
{\GostTitleStyle}%
}
\newcommand{\asubpart}[2]{\section{#2\label{#1}}}
% Пункт
\newcounter{subsection}[section]
\renewcommand\thesubsection{\thesection.\@arabic\c@subsection}
% ... попадающий в оглавление
\newcommand\subsection{%
\@startsection{subsection}{2}%
{\GostTitleIndent}{\GostBeforTitleSkip}{\GostAfterTitleSkip}%
{\GostTitleStyle}%
}
\newcommand{\apara}[2]{\subsection{#2\label{#1}}}
% ... не попадающий в оглавление
\newcommand\nsubsection{%
\par\vspace{\GostBeforNoTitleSkip}%
\refstepcounter{subsection}\thesubsection%
\hspace{\GostHTitleSpace}%
}
\newcommand{\npara}[1]{\nsubsection\label{#1}}
% Подпункт
\newcounter{subsubsection}[subsection]
\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
% ... попадающий в оглавление
\newcommand\subsubsection{%
\@startsection{subsubsection}{4}%
{\GostTitleIndent}{\GostBeforTitleSkip}{\GostAfterTitleSkip}%
{\GostTitleStyle}%
}
\newcommand\asubpara[2]{\subsubsection{#2\label{#1}}}
% ... не попадающий в оглавление
\newcommand\nsubsubsection{%
\par\vspace{\GostBeforNoTitleSkip}%
\refstepcounter{subsubsection}\thesubsubsection%
\hspace{\GostHTitleSpace}%
}
\newcommand\nsubpara[1]{\nsubsubsection\label{#1}}
\newcommand\paragraph[1]{%
\par\vspace{\GostBeforNoTitleSkip}%
\textbf{#1}%
\hspace{\GostHTitleSpace}%
}
\newlength{\NirTitleDropSkip}
% Эта команда должна вставлятся между двумя заголовками
\newcommand\ttl{\vspace{\Gost@TitleDropSkip}}
% Нумеруются все заголовки
\setcounter{secnumdepth}{3}
% в оглавлении- тоже могут быть все.
\setcounter{tocdepth}{4} %% virens: обычно только первый подраздел
% перенос в словах-с-дефисом
\lccode`\-=`\-
\defaulthyphenchar=127
% Импорт необходимых пакетов
\if@usehyperref
\RequirePackage[unicode]{hyperref}
\fi
\if@usepscyr
\RequirePackage[math]{pscyr}
\fi
\RequirePackage{mathtext}%русские буквы в формулах
% \RequirePackage[T2A]{fontenc}
\RequirePackage{cmap} %теперь из pdf можно копипастить русский текст
\RequirePackage{ucs} %теперь из pdf можно копипастить русский текст
\RequirePackage[T2A]{fontenc} % T1 по этой же пичине, иначе акробату плохо.
\RequirePackage[\Gost@encoding]{inputenc}
\RequirePackage[english,russian]{babel}
\RequirePackage{flafter}
% 4.2.7 Перечисления
\newlength{\GostItemGap}
\newlength{\GostItemIndent}
\newlength{\GostItemNestedIndent}
\newcommand\Gost@List{%
\setlength{\itemsep}{0mm}% пробел между последовательными элементами
\setlength{\topsep}{3mm}% отступ от текста до перечня (и от перечня до текста)
\setlength{\partopsep}{0mm}% дополнительный отступ, если начали абзац
\setlength{\parsep}{0mm}% расстояние между абзацами внутри пункта
\setlength{\leftmargin}{0mm}% левый отступ до текста
\setlength{\itemindent}{\GostItemIndent}% дополнительный левый отступ первой строчки
\setlength{\labelsep}{2\GostItemGap}% от метки до текста
}
\newcommand\Gost@NestedList{%
\setlength{\itemsep}{0mm}% пробел между последовательными элементами
\setlength{\topsep}{0mm}% отступ от текста до перечня (и от перечня до текста)
\setlength{\partopsep}{0mm}% дополнительный отступ, если начали абзац
\setlength{\parsep}{0mm}% расстояние между абзацами внутри пункта
\setlength{\leftmargin}{\GostItemNestedIndent}% левый отступ до текста
\setlength{\itemindent}{0mm}% дополнительный левый отступ первой строчки
\setlength{\labelsep}{2\GostItemGap}% от метки до текста
}
\renewcommand{\@listI} {\Gost@List}
\renewcommand{\@listii}{\Gost@NestedList}
\setlength\GostItemGap{1mm} % небольшие отступы для пунктов перечисления
\setlength\leftmarginii{0mm}
\setlength\GostItemIndent{\parindent}
\setlength\GostItemNestedIndent{\parindent}
\addtolength\GostItemNestedIndent{6mm}
% ненумерованные перечисления
\newcommand{\labelitemi}{---}
% нумерованные перечисления
\renewcommand\theenumi {\asbuk{enumi}}
\renewcommand\theenumii{\arabic{enumii}}
\newcommand\labelenumi{\theenumi)}
\newcommand\labelenumii{\theenumii)}
\renewcommand\p@enumii{\theenumi}
% ссылка на нумерованное перечисление
\newcommand\pref[2]{%
\cyrp\cyre\cyrr\cyre\cyrch\cyri\cyrs\cyrl\cyre\cyrn\cyri\cyre~\ref{#2})~\ref{#1}}
%перечисление типа abbreviation - для списка сокращения
%заменено на description для совместимости -- Коротков И.
\newenvironment{description}{%
\list{}{%
\labelwidth \z@ \leftmargin 0mm%
\let\makelabel\abbreviationlabel%
}%
}{%
\endlist%
}
\newcommand*\abbreviationlabel[1]{\hspace\labelsep \textbf{#1}~---}% убран \normalfont
% 4.2.15 - 4.2.19 Формулы
\RequirePackage{amssymb} % для русских "меньше или равно" "больше или равно"
\RequirePackage{amsmath} % Пусть сразу будет, какой НИР без него -- Коротков И.
\RequirePackage{icomma}
\input{leqno.clo}
\renewcommand\eqref[1]{\ref{#1}} %Было newcommand -- Коротков И.
\def\@eqnnum{{\theequation}}% убран \normalfont
% Убраны скобки вокруг \arabic{equation} -- Крищенко В.
% В какой-то момент (после ams*?) стало появляться две пары скобок вокруг номеров формул.
%\renewcommand{\theequation}{\arabic{equation}}
\newlength\Gost@EqRemLen
\newlength\Gost@@EqRemLen
\newenvironment{eqrem}{%
\begin{tabular}{p{\Gost@@EqRemLen}p{\Gost@EqRemLen}}
\cyrg\cyrd\cyre
}{
\end{tabular}
}
% пояснения м.б. в виде
% \begin{eqrem}
% & X~--- неизвестная \\
% & Y~--- ещё неизвестная \\
% \end{eqrem}
% ... допускается нумерация формул в пределах раздела
% Скобки убраны
\newcommand\EqInChapter{%
\@addtoreset{equation}{chapter}%
\renewcommand{\theequation}{\thechapter.\arabic{equation}}%
}
%Перенос формул по =+-
%\begingroup
%\catcode`\+\active\gdef+{\mathchar8235\nobreak\discretionary{}%
% {\usefont{OT1}{cmr}{m}{n}\char43}{}}
%\catcode`\-\active\gdef-{\mathchar8704\nobreak\discretionary{}%
% {\usefont{OMS}{cmsy}{m}{n}\char0}{}}
%\catcode`\=\active\gdef={\mathchar12349\nobreak\discretionary{}%
% {\usefont{OT1}{cmr}{m}{n}\char61}{}}
%\endgroup
%\def\cdot{\mathchar8705\nobreak\discretionary{}%
% {\usefont{OMS}{cmsу}{m}{n}\char1}{}}
%\def\times{\mathchar8706\nobreak\discretionary{}%
% {\usefont{OMS}{cmsy}{m}{n}\char2}{}}
%\mathcode`\==32768
%\mathcode`\+=32768
%\mathcode`\-=32768
\renewcommand\leq{\leqslant}
\renewcommand\geq{\geqslant}
% 4.3.1 - 4.3.3 Иллюстрации
% Подпись по умолчанию слева (для таблиц, листингов и т.п.)
\RequirePackage[normal,nooneline]{caption}
% Длинное тире в качестве разделителя
\DeclareCaptionLabelSeparator*{emdash}{\space\textemdash\space}
% Между подписью и рисунком 10pt
\captionsetup{labelsep=emdash,aboveskip=10pt,belowskip=0pt,position=bottom}
% У рисунков вырвнивание по центру
\captionsetup[figure]{justification=centering}
% У таблиц -- слева, зазор 5pt вместо 10
\captionsetup[table]{position=top,aboveskip=5pt}
\def\fps@figure{bph}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename~\thefigure}
\newcounter{figure}
\newenvironment{figure} {\@float {figure}}{\end@float }
\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
% Подпись к рисунку
\addto\captionsrussian{\def\figurename{{\cyr\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}}}
% ... допускается нумерация рисунков в пределах раздела
\newcommand\PicInChapter{%
\@addtoreset{figure}{chapter}%
\@figuresonchaptertrue%
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}%
}
% 4.4 - таблицы
\newcounter{table}
\newenvironment{table} {\@float {table}}{\end@float }
\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
% Подпись к таблице
\addto\captionsrussian{\def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}}
% ... допускается нумерация таблиц в пределах раздела
% НЕ добавлена точка после таблицы. Крищенко
\newcommand\TableInChapter{%
\@addtoreset{table}{chapter}%
\@tablesonchaptertrue%
\renewcommand{\thetable}{\thechapter.\arabic{table}}%
}
\RequirePackage{longtable} % многостраничные таблицы
\LTleft=\z@
\LTright=\fill
\newcommand\subcaption[1]{ % Заголовок без "Таблица..." -- для заголовков на других стр.
\multicolumn{\LT@cols}{p{1\textwidth}}{#1}
}
\def\fps@table{bph}
\def\ftype@table{1}
\def\ext@table{lof}
\def\fnum@table{\tablename~\thetable}
% 4.3.4 - 4.1.14 Приложения
\renewcommand\appendix{\par
\setcounter{secnumdepth}{4}
\setcounter{chapter}{0}%
\EqInChapter\PicInChapter\TableInChapter%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Asbuk\c@chapter}%
\renewcommand\Gost@ChapterStyle{\cyr\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre~\Gost@MainChapterStyle}%
\setlength\Gost@ChapterIndent{0mm}%
}
% 4.5 Сноски
\RequirePackage[perpage,bottom]{footmisc}
% Части документа- для выбора вида заголовков и т.д.
% введение, обозначения
\newcommand\frontmatter{%
\setcounter{secnumdepth}{-1}%
\renewcommand\Gost@ChapterStyle{\centering}%
\setlength\Gost@ChapterIndent{0mm}%
}
% основная часть
\newcommand\mainmatter{
\setcounter{secnumdepth}{4}
\renewcommand\Gost@ChapterStyle{\Gost@MainChapterStyle}%
\setlength\Gost@ChapterIndent{\Gost@MainChapterIndent}%
}
% заключение, библиография
\newcommand\backmatter{
\setcounter{secnumdepth}{-1}
\renewcommand\Gost@ChapterStyle{\centering}%
\setlength\Gost@ChapterIndent{0mm}%
}
%всякие оглавления
\newcommand\tableofcontents{\chapter*{\contentsname}\@starttoc{toc}}
\newcommand\listoffigures{\chapter*{\listfigurename}\@starttoc{lof}}
\newcommand\listoftables{\chapter*{\listtablename}\@starttoc{lot}}
\newcommand{\l@chapter} {\@dottedtocline{1}{0mm}{1.6em}}
\newcommand{\l@section}{\@dottedtocline{2}{10mm}{2.8em}}
\newcommand{\l@subsection} {\@dottedtocline{3}{20mm}{4.0em}}
\newcommand{\l@subsubsection}{\@dottedtocline{4}{30mm}{5.2em}}
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\l@table {\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\@tocrmarg{2.55em} %отступ правого края оглавления перенесённых строк
\newcommand\@dotsep{4.5} %между точками в оглавлении в em
\linespread{\Gost@LineSpread} %полуторный межстрочный интервал
\AtBeginDocument{%
\makeatletter%
\setlength\Gost@EqRemLen{\textwidth}%
\addtolength\Gost@EqRemLen{-10mm}%
\settowidth\Gost@@EqRemLen{\cyrg\cyrd\cyre}%
\addtolength\Gost@EqRemLen{-\Gost@@EqRemLen}%
\makeatother%
}
%библиография
\newdimen\bibindent
\newenvironment{thebibliography}[1]{
\chapter*{\bibname}\addcontentsline{toc}{chapter}{\bibname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy\clubpenalty4000\widowpenalty4000%
\sfcode`\.\@m
}{
\setcounter{totalbib}{\c@enumiv}%
\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist
}
\renewcommand\@biblabel{}%
\setlength\bibindent{1.5em}
% Точки после номеров в библиографии. Несовместимо с natbib! -- Коротков И.
%\makeatletter
\renewcommand*{\@biblabel}[1]{\hfill#1.}
%\makeatother
%индекс
\newenvironment{theindex}{
\columnseprule \z@
\columnsep 35\p@
\twocolumn[\@makeschapterhead{\indexname}]%
\thispagestyle{plain}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem}
{\onecolumn}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%для русского языка
\righthyphenmin=2
\unitlength=1mm
\clubpenalty=10000
\widowpenalty=10000
%что-то, связаннное с разрывом строк
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\skip\@mpfootins = \skip\footins
% потерянные окружения и команды (далеко не все) -- Коротков И.
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
% убран \normalfont из всех \DeclareOldFontCommand
\DeclareOldFontCommand{\rm}{\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
% \nobreakingbeforechapters и \breakingbeforechapters
% добавлены кем-то с ИУ7 %)
\newcommand\nobreakingbeforechapters{
\makeatletter
\renewcommand\chapter{%
\if@figuresonchapter%
\addtocounter{totalfigure}{\c@figure}\setcounter{figure}{0}%
\fi%
\if@tablesonchapter%
\addtocounter{totaltable} {\c@table }\setcounter{table}{0}%
\fi%
\@startsection{chapter}{0}%
{\Gost@ChapterIndent}{0mm}{\GostAfterTitleSkip}%
{\GostTitleStyle\large\Gost@ChapterStyle}%
}
\makeatother
}
\newcommand\breakingbeforechapters{
\makeatletter
\renewcommand\chapter{%
\clearpage%
\if@figuresonchapter%
\addtocounter{totalfigure}{\c@figure}\setcounter{figure}{0}%
\fi%
\if@tablesonchapter%
\addtocounter{totaltable} {\c@table }\setcounter{table}{0}%
\fi%
\@startsection{chapter}{0}%
{\Gost@ChapterIndent}{0mm}{\GostAfterTitleSkip}%
{\GostTitleStyle\large\Gost@ChapterStyle}%
}
\makeatother
}

48
gost/G7-32.cls Обычный файл
Просмотреть файл

@ -0,0 +1,48 @@
% This package designed and commented in russian utf-8 encoding.
%
% Класс документов по ГОСТ 7.32-2001 "Отчёт о научно-исследовательской работе"
% на основе ГОСТ 2.105-95
% Автор - Алексей Томин, с помощью списка рассылки latex-gost-request@ice.ru,
% "extreport.cls", "lastpage.sty" и конференции RU.TEX
% Лицензия GPL
% Все вопросы, замечания и пожелания сюда: mailto:alxt@yandex.ru
% Дальнейшая разработка и поддержка - Михаил Конник,
% связаться можно по адресу mydebianblog@gmail.com
% Параметры:
% a4paper, a5paper - размер бумаги. По-умолчанию- a4paper.
% econom - одинарный интервал. По-умолчанию нет.
% 10pt, 12pt, 14pt - шрифт. По-умолчанию- 14pt
% draft, final - как обычно. По-умолчанию- final
% usehyperref - в DVI/PDF все ссылки будут активны. По-умолчанию нет.
% usepscyr - использовать шрифтовой пакет PsCyr. По-умолчанию нет.
% cp866,koi8-r,cp1251 - кодировка текста. По-умолчанию koi8-r.
% В дополнение к стандартным типам заголовков \subsection{} и \subsubsection{}
% есть \nsubsection и \nsubsubsection (именно без параметров),
% которые ставят номер, делают отступ, но не заносятся в оглавление -
% пункты и подпункты без заголовков, в терминах ГОСТ
% Уже подключены пакеты:
% hyperref - перекрёстные ссылки активны, с параметром unicode (если usehyperref)
% mathtext - для русских букв в формулах
% fontenc - кодировка шрифтов - T2A
% inputenc - входная кодировка - задаётся параметром
% babel - настройки языков - русский и английский
% geometry - устанавливает размер полей
% fancyhdr - устанавливает колонтитулы
% indentfirst - начинать абзацы с красной строки
% footmisc - установливает сноски всегда внизу страницы
% caption2 - настройка вида заголовков таблиц и рисунков
% amssymb - для русских "меньше или равно" "больше или равно"
% Используются группа пакетов extsizes.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{G7-32}[2003/07/01 v1.0 Non Standard LaTeX document class]
\RequirePackage{G2-105}
\RequirePackage[left=20mm,right=10mm,top=20mm,bottom=20mm,headsep=0pt]{geometry}
\RequirePackage{G7-32}
\endinput
% End of file `G7-32.cls'.

172
gost/G7-32.sty Обычный файл
Просмотреть файл

@ -0,0 +1,172 @@
% This package designed and commented in russian utf-8 encoding.
%
% Лицензия GNU GPL v2 и совместимые
%
% Автор - Алексей Томин, с помощью списка рассылки latex-gost-request@ice.ru
% Все вопросы, замечания и пожелания сюда: mailto:alxt@yandex.ru
%
% Дальнейшая разработка и поддержка - Михаил Конник,
% связаться можно по адресу mydebianblog@gmail.com
%
\ProvidesPackage{G7-32}[2003/07/07 v1.00 Titles for GOST 7.32-2001]
%стандартные части
\newcommand\Executors{%список исполнителей
\chapter*{\CYRS\cyrp\cyri\cyrs\cyro\cyrk~%
\cyri\cyrs\cyrp\cyro\cyrl\cyrn\cyri\cyrt\cyre\cyrl\cyre\cyr\cyrishrt}%
}
\newcommand\Referat{%реферат
\chapter*{\CYRR\cyre\cyrf\cyre\cyrr\cyra\cyrt}%
}
\addto\captionsrussian{%содержание
\def\contentsname{%
\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}%
}
\newenvironment{abstract}{%То же самое, только как у белых людей -- Коротков И.
\Referat
}{}
\newcommand\NormRefs{%нормативные ссылки
\chapter*{\CYRN\cyro\cyrr\cyrm\cyra\cyrt\cyri\cyrv\cyrn\cyrery\cyre~%
\cyrs\cyrs\cyrery\cyrl\cyrk\cyri}%
}
\newcommand\Defines{%глоссарий
\chapter*{\CYRG\cyrl\cyro\cyrs\cyrs\cyra\cyrr\cyri\cyrishrt}%
}
%\newcommand\Defines{%определения
% \chapter*{\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyrya}%
%}
\newcommand\Abbreviations{%обозначения и сокращения
\chapter*{\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyrya~\cyri~%
\cyrs\cyro\cyrk\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}%
}
\newcommand\Introduction{%введение
\chapter{\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre}%
}
\newcommand\Conclusion{%заключение
\chapter{\CYRZ\cyra\cyrk\cyrl\cyryu\cyrch\cyre\cyrn\cyri\cyre}%
}
\addto\captionsrussian{%список использованных источников
\def\bibname{%
\CYRS\cyrp\cyri\cyrs\cyro\cyrk~
\cyri\cyrs\cyrp\cyro\cyrl\cyrsftsn\cyrz\cyro\cyrv\cyra\cyrn\cyrn\cyrery\cyrh~
\cyri\cyrs\cyrt\cyro\cyrch\cyrn\cyri\cyrk\cyro\cyrv}%
}
%Элементы оформления титульной страницы
\newcommand\Nir@UdkName{\CYRU\CYRD\CYRK}
\newcommand\Nir@No{%
\No~\cyrg\cyro\cyrs\cyrr\cyre\cyrg\cyri\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyri%
}
\newcommand\Nir@Confirm{
{\small\CYRU\CYRT\CYRV\CYRE\CYRR\CYRZH\CYRD\CYRA\CYRYU}%
}
\newcommand\Nir@InventarNo{
\CYRI\cyrn\cyrv.~\No
}
\newcommand\Nir@Otchet{{%
\small\CYRO\CYRT\CYRCH\CYRYO\CYRT \\
\CYRO{} \CYRN\CYRA\CYRU\CYRCH\CYRN\CYRO-%
\CYRI\CYRS\CYRS\CYRL\CYRE\CYRD\CYRO\CYRV\CYRA\CYRT\CYRE\CYRL\CYRSFTSN\CYRS\CYRK\CYRO\CYRISHRT{} %
\CYRR\CYRA\CYRB\CYRO\CYRT\CYRE%
}}
\newcommand\Nir@AnnOtchet{ %отчёт аннотационный!?
}
\newcommand\Nir@MainBegin{%
\CYRR\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn{} %
\CYRN\CYRI\CYRR%
}
\newcommand\Nir@OrgLongName{%
\CYRP\cyro\cyrl\cyrn\cyro\cyre~
\cyrn\cyra\cyrz\cyrv\cyra\cyrn\cyri\cyre~
\cyro\cyrr\cyrg\cyra\cyrn\cyri\cyrz\cyra\cyrc\cyri\cyri%
}
\newcommand\Nir@StageNo{ % номер этапа работ
}
\newcommand\Nir@StageTitle{ % заголовок этапа работ
}
\newcommand\Nir@StageType{ % вид отчёта
}
\newcommand\Nir@BossPost{%
\CYRK\cyrt\cyro \newline
\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyra\cyre\cyrt%
}
\newcommand\Nir@BossName{\CYRF.~\CYRI.~\CYRO}
\newcommand\Nir@Year{\the\year}
\newcommand\Nir@Town{\CYRG\cyro\cyrr\cyro\cyrd}
\newcommand\Nir@ManagerPost{%
\cyrb\cyro\cyrl\cyrsftsn\cyrsh\cyro\cyrishrt{}
\cyrn\cyra\cyrch\cyra\cyrl\cyrsftsn\cyrn\cyri\cyrk%
}
\newcommand\Nir@ManagerName{\CYRI\cyrv\cyra\cyrn\cyro\cyrv}
\newcommand\NirTitle[1]{
\thispagestyle{empty}
\begin{centering}
\linespread{1.1}\normalsize
{\Nir@OrgLongName}
\vfill
\begin{tabular}{p{80mm}p{80mm}}
\Nir@UdkName \newline
\Nir@No \newline
\Nir@InventarNo \newline
&
\Nir@Confirm
\vspace{5mm}
\Nir@BossPost \newline \newline
\underline{~~~~~~~~~~~~~~~~~} \Nir@BossName \newline
<<\underline{~~~~}>>\underline{~~~~~~~~~~~~~~~~~} \Nir@Year~\cyrg.
\end{tabular}
\vfill
\Nir@AnnOtchet \Nir@Otchet
\vspace{8mm}
#1
\vspace{8mm}
\Nir@StageNo~~\Nir@StageTitle
(\Nir@StageType)
\vfill
\begin{tabular}{p{80mm}p{80mm}}
\Nir@MainBegin, \newline
\Nir@ManagerPost
&
~\newline\underline{~~~~~~~~~~~~~~~~~~~} \Nir@ManagerName \newline
\end{tabular}
\vfill
\vfill
\Nir@Town~\Nir@Year
\end{centering}
\linespread{\Gost@LineSpread}\normalsize
}
%Эти команды нужно вызвать для корректного определения титульной страницы
\newcommand\NirStage[3]{\renewcommand\Nir@StageNo{#1}\renewcommand\Nir@StageType{#2}\renewcommand\Nir@StageTitle{#3}}%%virens added: номер госрегистрации
\newcommand\NirIsAnnotacion[1]{\renewcommand\Nir@AnnOtchet{#1}} %%Если отчёт аннотационный
\newcommand\NirOrgLongName[1]{\renewcommand\Nir@OrgLongName{#1}}
\newcommand\NirBoss[2]{\renewcommand\Nir@BossPost{#1}\renewcommand\Nir@BossName{#2}}
\newcommand\NirYear[1]{\renewcommand\Nir@Year{#1}}
\newcommand\NirManager[2]{\renewcommand\Nir@ManagerPost{#1}\renewcommand\Nir@ManagerName{#2}}
\newcommand\NirTown[1]{\renewcommand\Nir@Town{#1}}%%virens added: указываем город написания отчёта
\newcommand\NirUdk[1]{\renewcommand\Nir@UdkName{#1}}%%virens added: для изменения УДК в тексте документа
\newcommand\NirGosNo[1]{\renewcommand\Nir@No{#1}}%%virens added: номер госрегистрации

26
gost/GostBase.clo Обычный файл
Просмотреть файл

@ -0,0 +1,26 @@
\newcommand\@ptsize{}
\newif\if@usehyperref\@usehyperreffalse
\newif\if@usepscyr \@usepscyrfalse
\newcommand\Gost@encoding{}
\newcommand\Gost@LineSpread{1.3}
\DeclareOption{a3paper}{\setlength\paperheight{420mm}\setlength\paperwidth{297mm}}
\DeclareOption{a4paper}{\setlength\paperheight{297mm}\setlength\paperwidth{210mm}}
\DeclareOption{a5paper}{\setlength\paperheight{210mm}\setlength\paperwidth{148mm}}
\DeclareOption{10pt}{\renewcommand\@ptsize{10}}
\DeclareOption{12pt}{\renewcommand\@ptsize{12}}
\DeclareOption{14pt}{\renewcommand\@ptsize{14}}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\DeclareOption{usehyperref}{\@usehyperreftrue}
\DeclareOption{usepscyr}{\@usepscyrtrue}
\DeclareOption{koi8-r}{\renewcommand\Gost@encoding{koi8-r}}
\DeclareOption{cp1251}{\renewcommand\Gost@encoding{cp1251}}
\DeclareOption{utf8}{\renewcommand\Gost@encoding{utf8x}}
\DeclareOption{cp866} {\renewcommand\Gost@encoding{cp866} }
\DeclareOption{econommode}{\newcommand\Gost@LineSpread{1.3}\erroqweqwe}
\ExecuteOptions{a4paper,14pt,final,utf8}
\ProcessOptions
\input{size\@ptsize.clo}

4
gost/cyrtimespatched.sty Обычный файл
Просмотреть файл

@ -0,0 +1,4 @@
\ProvidesPackage{cyrtimespatched} [2001/02/08 scalable-cyrfonts]
\renewcommand{\sfdefault}{fhv}
\renewcommand{\rmdefault}{ftm}
\endinput

1428
gost/gost780u.bst Обычный файл

Разница между файлами не показана из-за своего большого размера Загрузить разницу

0
inc/.gitignore поставляемый Обычный файл
Просмотреть файл

44
make.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,44 @@
# Pdflatex
PDFLATEX='pdflatex -interaction=nonstopmode -shell-escape -file-line-error'
GREP='grep ".*:[0-9]*:.*"' # показывает на выходе только ошибки
# Файлы/Папки
PDF='thesis.pdf'
TEX='tex'
INC='inc'
GOST='gost'
MAINTEX='thesis'
# Копирование файлов из папки gost
cd $GOST
cp -r * ../$TEX
cd ..
# Конвертация eps
find -E $INC/ -type f -name "*.eps" -exec epstopdf {} ";" ;
find -E $INC -type f -name "*.eps" -exec rm -f {} \;
# Копирование файлов из папки img
cd $INC
if [[ $(ls) ]]; then
cp -r * ../$TEX
fi
cd ..
# Сборка latex
cd tex
$PDFLATEX $MAINTEX | $GREP
BIBOUTPUT=$(bibtex $MAINTEX)
# Показывать output bibtex'a только в случае ошибок
if [[ "$BIBOUTPUT" =~ "error" ]]; then
echo "$BIBOUTPUT"
fi
$PDFLATEX $MAINTEX | $GREP
cp $PDF ..
cd ..
# Clear
find -E $TEX/ -type f ! -regex ".*\.(tex|bib|gitignore)" -exec rm -f {} \; ;
# find -E $TEX/ -type d -exec rm -rf {} \;

43
tex/00-preamble.tex Обычный файл
Просмотреть файл

@ -0,0 +1,43 @@
\sloppy
% Настройки стиля ГОСТ 7-32
% Для начала определяем, хотим мы или нет, чтобы рисунки и таблицы нумеровались в пределах раздела, или нам нужна сквозная нумерация.
\EqInChapter % формулы будут нумероваться в пределах раздела
\TableInChapter % таблицы будут нумероваться в пределах раздела
\PicInChapter % рисунки будут нумероваться в пределах раздела
% Добавляем гипертекстовое оглавление в PDF
\usepackage[
bookmarks=true, colorlinks=true, unicode=true,
urlcolor=black,linkcolor=black, anchorcolor=black,
citecolor=black, menucolor=black, filecolor=black,
]{hyperref}
% Изменение начертания шрифта --- после чего выглядит таймсоподобно.
% apt-get install scalable-cyrfonts-tex
\IfFileExists{cyrtimes.sty}
{
\usepackage{cyrtimespatched}
}
{
% А если Times нету, то будет CM...
}
\usepackage{graphicx} % Пакет для включения рисунков
\DeclareGraphicsExtensions{.jpg,.pdf,.png}
% С такими оно полями оно работает по-умолчанию:
% \RequirePackage[left=20mm,right=10mm,top=20mm,bottom=20mm,headsep=0pt]{geometry}
% Если вас тошнит от поля в 10мм --- увеличивайте до 20-ти, ну и про переплёт не забывайте:
\geometry{right=20mm}
\geometry{left=30mm}
% Пакет Tikz
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shadows}
% Произвольная нумерация списков.
\usepackage{enumerate}
\usepackage{tabu}

23
tex/01-title-page.tex Обычный файл
Просмотреть файл

@ -0,0 +1,23 @@
\begin{center}
\large МГТУ им. Н.Э. Баумана\\[5.5cm]
\huge Реферат \\[0.6cm] % название работы, затем отступ 0,6см
\large на тему: <<Указать тему>>\\[3.7cm]
\end{center}
\begin{flushright}
Выполнил: студент гр. \\
Иван Петров \\
\end{flushright}
\vfill
\begin{center}
\large Москва 2014
\end{center}
\thispagestyle{empty}

3
tex/02-intro.tex Обычный файл
Просмотреть файл

@ -0,0 +1,3 @@
\Introduction
Текст вступления

4
tex/10-chapter-one.tex Обычный файл
Просмотреть файл

@ -0,0 +1,4 @@
\chapter{Первая глава}
\label{cha:ch_1}
\includegraphics[width=0.8\textwidth]{matlab1}

2
tex/20-chapter-two.tex Обычный файл
Просмотреть файл

@ -0,0 +1,2 @@
\chapter{Вторая глава}
\label{cha:ch_2}

3
tex/80-conclusion.tex Обычный файл
Просмотреть файл

@ -0,0 +1,3 @@
\Conclusion % заключение к отчёту
Текст заключения

3
tex/81-biblio.tex Обычный файл
Просмотреть файл

@ -0,0 +1,3 @@
\nocite{*}
\bibliographystyle{gost780u}
\bibliography{thesis}

33
tex/thesis.bib Обычный файл
Просмотреть файл

@ -0,0 +1,33 @@
@Comment А вот так оформляется библиография при помощи BibTeX.
@Book{Berkutov,
author = {А.М. Беркутов},
title = {Системы комплекстной электромагнитотерапии},
publisher = {М.: Бином},
year = {2000},
language = "russian"
}
@Book{Zolotuhina_Ulaschik,
author = {И.Е. Золотухина, В.С. Улащик},
title = {Основы импульсной магнитотерапии},
publisher = {Витебск: Витебская областная типография},
year = {2008},
language = "russian"
}
@Book{Ulaschik_Physio,
author = {В.С. Улащик},
title = {Физиотерапия. Универсальная медицинская энциклопедия},
publisher = {Минск: Книжный дом},
year = {2008},
language = "russian"
}
@Book{Gular_Limpanskiy,
author = {С.А. Гуляр, Ю.П. Лиманский},
title = {Постоянные магнитные поля и их применение в медицине},
publisher = {Киев: Ин-т физиол. им. А.А. Богомольца НАН Украины},
year = {2006},
language = "russian"
}

33
tex/thesis.tex Обычный файл
Просмотреть файл

@ -0,0 +1,33 @@
%% Преамбула TeX-файла
% 1. Стиль и язык
\documentclass[utf8x, 12pt]{G7-32} % Стиль (по умолчанию будет 14pt)
% Остальные стандартные настройки убраны в preamble.inc.tex.
\include{00-preamble}
\begin{document}
\frontmatter % выключает нумерацию ВСЕГО; здесь начинаются ненумерованные главы: реферат, введение, глоссарий, сокращения и прочее.
\include{01-title-page}
\thispagestyle{empty}
\setcounter{page}{0}
\tableofcontents
\clearpage
\include{02-intro}
\include{10-chapter-one}
\include{20-chapter-two}
\backmatter %% Здесь заканчивается нумерованная часть документа и начинаются ссылки и
%% заключение
\include{80-conclusion}
\include{81-biblio}
\appendix % Тут идут приложения
\end{document}

Двоичные данные
thesis.pdf Обычный файл

Двоичный файл не отображается.