-
Notifications
You must be signed in to change notification settings - Fork 50
/
ErlangHandbook-RU.tex
174 lines (141 loc) · 6.15 KB
/
ErlangHandbook-RU.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
% !TEX encoding = UTF-8 Unicode
%% NOTE: Due to using fontspec and UTF8 to avoid encoding problems and stuff, Russian
%% version of this document builds using xe(la)tex and TexStudio
\documentclass[russian,14pt,oneside]{book}
\usepackage{extsizes} % additional font sizes for documentclass
%%%%%%
%% package includes
\usepackage{ifxetex}
\ifxetex
\else
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\fi
\usepackage[russian]{babel}
\usepackage{hyperref}
\usepackage{textcomp}
\usepackage{array}
\usepackage{color}
\usepackage[hmargin=2.5cm,vmargin=2.5cm]{geometry}
\usepackage{minted}
\usepackage{todonotes}
\usepackage{parskip}
\usepackage[Bjornstrup]{fncychap}
\usepackage{listings}
%%%%%%
%% package setup
\hypersetup{
colorlinks=true,
linktoc=all,
linkcolor=red,
}
%%%%%%
%% Fonts
\ifxetex
\usepackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont[Path=fonts/,ItalicFont=PTF56F.ttf,
BoldFont=PTF75F.ttf]{PTF55F.ttf}
\setmonofont[Ligatures={NoRequired,NoCommon,NoContextual},
Path=fonts/,BoldFont=FiraMono-Bold.ttf]{FiraMono-Regular.ttf}
\usepackage{titlesec}
\newfontfamily\erlChapterFont[Path=fonts/,BoldFont=PTF75F.ttf]{PTF55F.ttf}
\ChTitleVar{\erlChapterFont\fontsize{28}{28}\bf\selectfont\hfill}
\ChNameVar{\erlChapterFont\fontsize{16}{16}\bf\selectfont}
\fi
%%%%%%
%% hacks and macros
\newminted[erlang]{erlang}{xleftmargin=0cm,xrightmargin=0cm,frame=single,framerule=1pt}
%% Framed code fragment coloring, for code examples where Russian variable
%% names break syntax and coloring
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{erlangru}{Verbatim}{frame=single,samepage=true}
%% hack to fix the margin issue in \item s in 1.2.1
\newminted[erlangim]{erlang}{xleftmargin=-1.5cm}
%%% display todo notes or not?
\newcommand{\todonote}[1]{\todo[inline]{\textbf{Note:} #1}}
%\newcommand{\todonote}[1]{}
%% typesetting for the "results in" notation used.
\def\resultingin{$\quad\Rightarrow\quad$}
\usepackage{wrapfig}
\begin{document}
%%%%%%
%% Title
\begin{titlepage}
\centering
\vspace*{70pt}
\includegraphics[scale=0.3]{includes/erlang-logo.png}\\[0.8\baselineskip]
{\Huge \sffamily НАСТОЛЬНАЯ КНИГА}\\
\vspace{250pt}
{\LARGE Бьярн Дэкер (Bjarne D\"acker)}\par
{\LARGE Роберт Вирдинг (Robert Virding)}\par
\end{titlepage}
%%%%%%
%% Info Page
\clearpage
\thispagestyle{empty}
{\Huge Настольная книга по Erlang}\\[0.1\baselineskip]
\hspace{10pt}{\large{Бьярн Дэкер (Bjarne Däcker) и Роберт Вирдинг (Robert Virding)}}
\vspace{10pt}
{\Large \textbf{Версия:}\\[0.2\baselineskip]
\immediate\write18{git log -n1 | grep 'Date:' | sed 's/Date: //g' > _revision.tex}
\input{_revision}
\immediate\write18{rm _revision.tex}
}
\vspace{10pt}
{\large Последняя версия этой книги находится по адресу:\\
\url{http://opensource.erlang-solutions.com/erlang-handbook}}
\vfill
\textbf{Главный редактор}\\[0.1\baselineskip]
Омер Килич (Omer Kilic)
\textbf{Прочие участники}\\[0.1\baselineskip]
Перевод на русский: Дмитрий Литовченко (Dmytro Lytovchenko)
Список людей, которые помогли с изменениями и исправлениями находится
\href{https://github.com/esl/erlang-handbook/graphs/contributors}{в репозитории
проекта}.
\vspace{10pt}
\textbf{Соглашения}\\
Спецификации синтаксиса задаются с помощью \texttt{этого моноширинного шрифта}.
В квадратные скобки ([ ]) заключаются необязательные части. Термы, начинающиеся
с заглавной буквы, как например \textit{Integer} должны быть заменены на
какое-нибудь подходящее значение. Термы, начинающиеся со строчной буквы, как
например \texttt{end}, являются зарезервированными словами языка Erlang.
Вертикальная черта (\textbar{}) разделяет альтернативные варианты, как например
Integer \textbar{} Float.
\vspace{10pt}
\textbf{Ошибки и улучшения}\\
Это живой документ, пожалуйста присылайте исправления и рекомендации по улучшению
содержимого используя систему учёта задач Github по адресу
\url{https://github.com/esl/erlang-handbook}. Вы также можете создать свою ветвь
репозитория (fork) и прислать нам запрос на соединение ветвей (pull request) с
вашими предлагаемыми исправлениями и предложениями. Новые ревизии этого документа
будут публиковаться по мере накопления больших изменений.
\vspace{10pt}
\begin{wrapfigure}[2]{l}{0.15\textwidth}
\vspace{-12pt}
\includegraphics[scale=0.7]{includes/cc-by-sa.png}
\vspace{-12pt}
\end{wrapfigure}
Этот текст доступен согласно условиям лицензии Creative Commons
Attribution-ShareAlike 3.0 License. Вы имеете право копировать, распространять и
передавать эту книгу по условиям лицензии, описанным по адресу
\url{http://creativecommons.org/licenses/by-sa/3.0}
\newpage
%%%%%%
%% TOC
\tableofcontents
%%%%%%
%% Chapters
\input{chapters-RU/01-background}
\input{chapters-RU/02-structure-of-an-erlang-program}
\input{chapters-RU/03-data-types}
\input{chapters-RU/04-pattern-matching}
\input{chapters-RU/05-functions}
\input{chapters-RU/06-processes}
\input{chapters-RU/07-error-handling}
\input{chapters-RU/08-distributed-erlang}
\input{chapters-RU/09-ports-and-port-drivers}
\input{chapters-RU/10-code-loading}
\input{chapters-RU/11-macros}
\input{chapters-RU/12-further-reading}
\end{document}