Created
February 13, 2014 07:58
-
-
Save grigory-rechistov/8971436 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% 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