Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
Vage Ogannisian committed Nov 28, 2021
1 parent a589aa2 commit 08ecc6d
Show file tree
Hide file tree
Showing 11 changed files with 2,024 additions and 0 deletions.
67 changes: 67 additions & 0 deletions commands.sty
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
\ProvidesPackage{commands}
%%
%% Объявление новых команд
%%

% \newcommand{\имя-команды}{определение команды}
% Если длинным сложным командам LaTeX надо присвоить имя, это делается с помощью \newcommand. Ниже определяется след оператора
\newcommand{\tr}{\operatorname{tr}}
\newcommand{\E}{\mathds{E}}
\newcommand{\R}{\mathds{R}}
\renewcommand{\P}{\mathds{P}}
\newcommand{\Y}{\mathds{Y}}
% Если команду надо переопределить используется \renewcommand. В этом есть необходимость, например, для определения мнимой части комплексного числа. Исходная LaTeX команда выдает не общепринятое обозначение
\renewcommand{\Im}{\operatorname{Im}}
\renewcommand{\Re}{\operatorname{Re}}

\newcommand{\scalar}[1]{\langle #1 \rangle}
\newcommand{\like}[2]{\ell\left( #1\ |\ #2 \right)}
\newcommand{\cprob}[2]{p\left( #1\ |\ #2 \right)}
\newcommand{\KL}[2]{\text{KL}\left( #1\ ||\ #2 \right)}

\newcommand{\norm}[1]{\lVert #1 \rVert}

\newcommand{\btfl}[1]{\mathcal{#1}}

\DeclareMathOperator{\mse}{MSE}
\DeclareMathOperator{\mae}{MAE}
\DeclareMathOperator{\rmse}{RMSE}
\DeclareMathOperator{\sign}{sign}

% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}

\usepackage{listings}

% Python style for highlighting
\newcommand\pythonstyle{\lstset{
language=Python,
basicstyle=\ttm,
morekeywords={self}, % Add keywords here
keywordstyle=\ttb\color{deepblue},
emph={MyClass,__init__}, % Custom highlighting
emphstyle=\ttb\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=tb, % Any extra options here
showstringspaces=false
}}


% Python environment
\lstnewenvironment{python}[1][]
{
\pythonstyle
\lstset{#1}
}
{}

% Python for external files
\newcommand\pythonexternal[2][]{{
\pythonstyle
\lstinputlisting[#1]{#2}}}

% Python for inline
\newcommand\pythoninline[1]{{\pythonstyle\lstinline!#1!}}
55 changes: 55 additions & 0 deletions environments.sty
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
\ProvidesPackage{environments}

%%
%% Объявление новых окружений
%%

% Пакет amsmath позволяет определить свои собственные окружения для оформления теорем, следствий, задач и похожих вещей.
% Есть три типа оформления окружений основная разница в двух вещах: (1) каким шрифтом оформляется заголовок окружения, (2) каким шрифтом пишется текст окружения.

% Переключение типов оформления идет с помощью команды \theoremstyle{тип} по умолчанию тип=plain

%% Теоремы
% Заголовок жирным, текст курсивом
\theoremstyle{plain}

% \newtheorem{имя-окружения-в-LaTeX}{печатаемое-имя-окружения}
% Эта команда создает новые нумеруемые окружения
\newtheorem{theorem}{Теорема}

% Каждое окружение типа теорема имеет свой счетчик для нумерации. То есть theorem и lemma будут нумероваться отдельно друг от друга. Если я хочу нумеровать леммы и теоремы одним счетчиком, то надо заменить счетчик для lemma на счетчик для theorem. (Можно сделать более хитрое подчинение, но я не буду это обсуждать).
% \newtheorem{имя-окружения-в-LaTeX}[имя-окружения-в-LaTeX-чей-счетчик-мы-используем]{печатаемое-имя-окружения}
\newtheorem{lemma}{Лемма}
\newtheorem{proposition}{Предложение}
\newtheorem{corollary}{Следствие}
\newtheorem{claim}{Утверждение}

% \newtheorem*{имя-окружения-в-LaTeX}{печатаемое-имя-окружения}
% Эта команда создает новые не нумеруемые окружения. Имя theorem* и т.д. не обязано содержать звездочку, но удобно, так как в LaTeX общепринято, что звездочка означает отсутствие нумерации
\newtheorem*{claim*}{Утверждение}
\newtheorem*{theorem*}{Теорема}
\newtheorem*{lemma*}{Лемма}
\newtheorem*{corollary*}{Следствие}

%% Определения
% Заголовок жирным, текст прямым шрифтом
\theoremstyle{definition}
\newtheorem{definition}{Определение}
\newtheorem{problem}{Задача}
\newtheorem{problems}{Задачи}

\newtheorem*{definition*}{Определение}
\newtheorem*{problem*}{Задача}
\newtheorem*{problems*}{Задачи}
\newtheorem*{fact*}{Факт}

%% Замечания и примеры
% Заголовок курсивом, текст прямым шрифтом
\theoremstyle{remark}
\newtheorem{example}{Пример}
\newtheorem{examples}{Примеры}
\newtheorem{remark}{Замечание}

\newtheorem*{example*}{Пример}
\newtheorem*{solution*}{Решение}
\newtheorem*{remark*}{Замечание}
51 changes: 51 additions & 0 deletions packages.sty
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
\ProvidesPackage{packages}
%%
%% Подключение и настройка пакетов
%%

% \usepackage[опции]{имя-пакета}
% Команда отвечает за подключение дополнительных пакетов с функциями, которых нет по умолчанию в \LaTeX
% Здесь я использую \RequirePackage вместо \usepackage. Можно использовать любую из них. Есть небольшая разница в их работе, я сам не большой специалист в этом и украл это оформление из книги Львовского ``Набор и верстка в LaTeX''

% Следующая группа пакетов делает возможным набор на русском языке. Сначала подключается кодировка шрифтов (в данном случае подключены две: T1 и T2A), чтобы правильно выводить русские символы, потом подключается кодировка ввода символов (выбран utf8 как наиболее переносимый), чтобы они правильно считывались с клавиатуры, потом подключается пакет с шрифтами babel (русскими и английскими).

% Кодировки шрифтов
\RequirePackage[T1,T2A]{fontenc}
% Кодировка текста
\RequirePackage[utf8]{inputenc}
% Подключение поддержки языков
\RequirePackage[english,russian]{babel}

% Пакет отвечает за изменение размеров полей и геометрии вывода на странице текста в целом
\RequirePackage[left=2cm,right=2cm, top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
%% Математические пакеты

% набор AMS пакетов используемых для работы с математическими формулами, символами и окружениями.
\RequirePackage{amsmath}
\RequirePackage{amssymb}
% Математические шрифты
\RequirePackage{amsfonts}
% Оформление теорем. Без этого пакета не доступны окружения теорем.
\RequirePackage{amsthm}

% Пакет позволяет включать рисунки различных форматов
\RequirePackage{graphicx}
% Пакет для набора простых коммутативных диаграмм. Я обычно использую более продвинутый xy
\RequirePackage{amscd}
\RequirePackage{multirow}
% Очень мощный пакет для рисования различных диаграмм. Я подключаю из него только матрицы, стрелки и кривые.
\RequirePackage[matrix,arrow,curve]{xy}

% Изначально в amsmath при наборе матриц есть ограничение на максимальное количество столбцов матрицы. Здесь я его увеличиваю до 20.
\setcounter{MaxMatrixCols}{20}

\RequirePackage{paralist}
% Этот пакет позволяет делать горизонтальные нумерованные перични
\RequirePackage{enumitem}

\RequirePackage{indentfirst}
\RequirePackage{float}
\RequirePackage{dsfont}

% Этот пакет позволяет делать активные цветные гиперссылки.
\RequirePackage[colorlinks=true, urlcolor=blue]{hyperref}
23 changes: 23 additions & 0 deletions python.aux
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart}
\catcode `"\active
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{russian}{}
\gdef \@abspage@last{1}
Loading

0 comments on commit 08ecc6d

Please sign in to comment.