Skip to content

Instantly share code, notes, and snippets.

@grigory-rechistov
Created February 13, 2014 07:58
Show Gist options
  • Save grigory-rechistov/8971436 to your computer and use it in GitHub Desktop.
Save grigory-rechistov/8971436 to your computer and use it in GitHub Desktop.
% Can be compied with XelaTeX from:
% * TL 2013 - recent versions
% FIXME: EB Garamond Bold font face is absent at the moment.
\documentclass[a5paper,11pt,twoside,titlepage, numbers=endperiod]{scrbook}
\def \documentversion {0.1} % increment and don't forget to update history.tex
\tolerance=9999 % let the text underfull be ugly as hell, nobody cares.
\widowpenalty=9998 % try to avoid widow lines
\clubpenalty=9998 % try to avoid orphan lines
\emergencystretch=3cm
% A switch to change between document rendering options
\usepackage{etoolbox}
\newtoggle{webpaper}
\toggletrue{webpaper}
%\togglefalse{webpaper}
\newtoggle{hasquiz} % An option to add quizes at the end of each chapter.
\togglefalse{hasquiz}
\toggletrue{hasquiz}
\newtoggle{showanswers} % An option to show answers in quizes.
\togglefalse{showanswers}
%\toggletrue{showanswers}
\newtoggle{inappendix} % we are now in appendix
\togglefalse{inappendix} % ... but not yet
\usepackage[top=2.0cm, bottom=2.0cm, left=1.84cm, right=1.5cm, footskip=1cm]{geometry}
\usepackage{fontspec}
%\usepackage[utf8]{inputenc} % uncomment for latex2rtf
\usepackage{xunicode} % some extra unicode support
\usepackage{xltxtra}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=modern]{russian} % for polyglossia
\setotherlanguage{english} % for polyglossia
% Common settings for all fonts
% 1. Attempt to make fonts be of the same size
% 2. Support TeX ligatures like --- = emdash, << >> = guillemets
\defaultfontfeatures{Scale=MatchLowercase, Mapping=tex-text}
% Playing with OTF font features of EB Garamond
% 1. Regular numbers (not old style)
% 2. Triangular variations for Russian "д" and "л"
% 3. Choose font for small caps and explicitly enable them
\newfontfamily\russianfont[Numbers=Uppercase,
StylisticSet={1},
SmallCapsFont={EBGaramond12-SC},SmallCapsFeatures={Letters=SmallCaps}]
{EB Garamond}
\setsansfont[Scale=MatchLowercase]{CMU Sans Serif}
\setmonofont[Scale=MatchLowercase]{CMU Typewriter Text}
\newcommand{\abbr}{\textit{англ.}\ }
\newcommand{\todo}[1][]{\textcolor{red}{TODO #1}}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{footnpag}
\usepackage{indentfirst}
\usepackage{underscore}
\usepackage{url}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily, breaklines=true, keepspaces=true }
\usepackage{appendix}
\renewcommand{\appendixname}{Приложения}
\renewcommand{\appendixtocname}{Приложения}
\renewcommand{\appendixpagename}{Приложения}
\let\plainappendixpage\appendixpage
\makeatletter
\renewcommand{\appendixpage}{% Delete page number in appendixpage
\begingroup
\let\ps@plain\ps@empty
\plainappendixpage
\endgroup}
\makeatother
\iftoggle{webpaper}{
\usepackage[language=auto, bibencoding=inputenc, style=gost-numeric, backend=biber, maxnames=4, refsection=chapter, isbn=true, ]{biblatex}
\renewcommand*{\multicitedelim}{\addcomma\space} % grouped cites separated by commas not semicolons
} {} % Bibliography to be added at the end, not per chapter
\usepackage{nameref}
\usepackage{amsthm}
\usepackage{enumitem} % continue enumeration
\usepackage{subfigure}
\renewcommand*{\thesubfigure}{\alph{subfigure})} % only one bracket in subfigures
\usepackage{mdwlist} % compact itemize lists environment
\renewcommand{\labelitemi}{--} % Use endash for itemized lists
\renewcommand{\dictumwidth}{0.5\textwidth}
\newcommand{\dictumtext}{\normalfont\normalcolor\sffamily\tiny}
\renewcommand{\dictumauthorformat}[1]{#1}
\setcounter{tocdepth}{2}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily, breaklines=true, keepspaces=true}
\usepackage[hang,flushmargin]{footmisc} % correct indent for footnotes
\usepackage{verbatim}
\usepackage{tikz}
\usetikzlibrary{shapes, calc, arrows, fit, positioning, decorations, patterns, decorations.pathreplacing, chains, snakes}
\usepackage{bytefield}
\renewcommand{\chapterheadstartvskip}{\vspace *{-\baselineskip }} % Move chapter titles higher
\setcapindent{0pt} % make multi-line captions to be not indented, save some space with this
\renewcommand{\captionformat}{~} % do not put colon after figures numbers
\newtheorem*{digression}{Замечание}
\usepackage[subfigure, titles]{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % Dots to TOC chapter titles
%\setlength{\cftaftertoctitleskip}{20pt}
\title{Программное моделирование вычислительных систем}
\date{\today}
\addtokomafont{caption}{\small}
\typeout{Copyright 2014 Grigory Rechistov}
\let\cleardoublepage\clearpage % do not start from even page
\setkomafont{pageheadfoot}{% Enforce header and footer to be correct.
\normalfont\normalcolor\itshape\small\rmfamily
}
\setkomafont{pagenumber}{\normalfont\rmfamily} % fix KOMA bug when footer/header inherits font settings from main text.
\pagestyle{plain} % no headers, page numbers in footers
\begin{document}
\pdfbookmark{Титульный лист}{title}
\newlength{\centeroffset}
\setlength{\centeroffset}{-0.5\oddsidemargin}
\addtolength{\centeroffset}{0.5\evensidemargin}
\thispagestyle{empty}
\vspace*{\stretch{1}}
\begin{center}
{\Huge\textsc{Программное \\ моделирование \\ \vspace{3pt} вычислительных систем}}
\vspace{1cm}\\
{\Large\textsc{Учебное пособие}}
\end{center}
% insert version number
\vspace{\stretch{1}}
\noindent\hspace*{\centeroffset}\makebox[0pt][l]{
\begin{minipage}{\textwidth}
\flushright
Версия~\documentversion \\
\today\\[3cm]
% \iftoggle{hasquiz}{Вариант с контрольными вопросами}{}
\end{minipage}
}
\pagebreak
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment