diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index f8026b5..5a1d861 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -13,14 +13,24 @@ jobs: - run: sudo apt-get update - run: make depext-deb - - run: make + - name: build VKR + run: make vkr.pdf - - name: Upload PDF file + - name: build talk + run: make talk.pdf + + - name: Upload PDF VKR file uses: actions/upload-artifact@v3 with: name: VKR path: vkr.pdf + - name: Upload PDF talk file + uses: actions/upload-artifact@v3 + with: + name: talk + path: talk.pdf + # - name: example-class-relations--svg # uses: dante-ev/latex-action@latest # with: diff --git a/.gitignore b/.gitignore index c0f6809..03f5c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,17 +4,22 @@ *.aux *.bbl *.blg +*.nav +*.snm +*.vrb *.pag *.toc *.xdv -*.pdf +/vkr.pdf +/talk.pdf *.dvi *.fls /.aspell* -/*.synctex.gz +*.synctex.gz *.fdb_latexmk _minted-* + # Tex Studio files *.txss2 diff --git a/LICENSE.CC0 b/LICENSE.CC0 new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE.CC0 @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/Makefile b/Makefile index 695d17a..0d2b59c 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,19 @@ -NAME ?= vkr +VKR ?= vkr +TALK ?= talk ENGINE ?= xelatex # Only `xelatex` or `lualatex` are allowed here .PHONY: $(NAME).pdf clean dist-clean format depext depext-deb +.SUFFIXES: .pdf .tex -all: $(NAME).pdf +all: $(VKR).pdf $(TALK).pdf -$(NAME).pdf: - latexmk -$(ENGINE) -synctex=1 -interaction=nonstopmode -file-line-error -shell-escape $(NAME).tex +%.pdf: %.tex + latexmk -$(ENGINE) -synctex=1 -interaction=nonstopmode -file-line-error -shell-escape $^ clean: - latexmk -c $(NAME).tex + latexmk -c $(VKR).tex $(TALK).tex + @$(RM) *.pdf *.nav *.snm *.vrb *.synctex.gz _ + @$(RM) -r _minted-* dist-clean: latexmk -C $(NAME).tex diff --git a/beamerthemeSPbGU.sty b/beamerthemeSPbGU.sty new file mode 100644 index 0000000..c12d13f --- /dev/null +++ b/beamerthemeSPbGU.sty @@ -0,0 +1,51 @@ +% Copyright 2004 by Manuel Carro +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/licenses/LICENSE for more details. + +\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/beamerthemeBoadilla.sty,v 1.2 2007/01/28 20:48:30 tantau Exp $ + +\mode + +\newcommand{\btVFill}{\vskip0pt plus 1filll} + +\newif\ifbeamer@secheader +\beamer@secheaderfalse + +\DeclareOptionBeamer{secheader}{\beamer@secheadertrue} +\ProcessOptionsBeamer + +\usecolortheme{rose} +\useinnertheme[shadow=true]{rounded} +\useoutertheme[footline=authorinstitutetitle]{miniframes} +\usecolortheme{beaver} +\useoutertheme{infolines} + +\setbeamerfont{block title}{size={}} +\setbeamercolor{titlelike}{parent=structure,bg=white} + +% Tills' opinion: should be done in an inner theme, not here. + +\usesubitemizeitemtemplate{% + \tiny\raise1.5pt\hbox{\color{beamerstructure}$\blacktriangleright$}% +} +\usesubsubitemizeitemtemplate{% + \tiny\raise1.5pt\hbox{\color{beamerstructure}$\bigstar$}% +} + +\setbeamersize{text margin left=1em,text margin right=1em} + +\ifbeamer@secheader\else\setbeamertemplate{headline}[default]\fi + +\mode + + + +% + +%\mode +% diff --git a/figures/Activ_SEL_Processing.pdf b/figures/Activ_SEL_Processing.pdf new file mode 100644 index 0000000..2e6862f Binary files /dev/null and b/figures/Activ_SEL_Processing.pdf differ diff --git a/figures/SPbGU_Logo.png b/figures/SPbGU_Logo.png new file mode 100644 index 0000000..31265ed Binary files /dev/null and b/figures/SPbGU_Logo.png differ diff --git a/figures/dist.png b/figures/dist.png new file mode 100644 index 0000000..b0e2e05 Binary files /dev/null and b/figures/dist.png differ diff --git a/figures/in3.pdf b/figures/in3.pdf new file mode 100644 index 0000000..69b808c Binary files /dev/null and b/figures/in3.pdf differ diff --git a/figures/out3.pdf b/figures/out3.pdf new file mode 100644 index 0000000..b35abf5 Binary files /dev/null and b/figures/out3.pdf differ diff --git a/matmex-diploma-custom.cls b/matmex-diploma-custom.cls index f998183..f995ec5 100644 --- a/matmex-diploma-custom.cls +++ b/matmex-diploma-custom.cls @@ -203,71 +203,7 @@ \def\sigspace{\\[3em]}} } -%% Параметры заполнения титульного листа -\usepackage{xkeyval} - -%% Русскоязычный вариант -\define@key[ru]{mytitle}{chair}{\def\my@title@chair@ru{#1}} -\define@key[ru]{mytitle}{title}{\def\my@title@title@ru{#1}} -\define@key[ru]{mytitle}{group}{\def\my@title@group@ru{#1}} -\define@key[ru]{mytitle}{author}{\def\my@title@author@ru{#1}} -\define@key[ru]{mytitle}{supervisor}{\def\my@title@supervisor@ru{#1}} -\define@key[ru]{mytitle}{supervisorPosition}{\def\my@title@supervisorPosition@ru{#1}} -\define@key[ru]{mytitle}{reviewer}{\def\my@title@reviewer@ru{#1}} -\define@key[ru]{mytitle}{reviewerPosition}{\def\my@title@reviewerPosition@ru{#1}} -\define@key[ru]{mytitle}{consultant}{\def\my@title@consultant@ru{#1}} -\define@key[ru]{mytitle}{consultantPosition}{\def\my@title@consultantPosition@ru{#1}} -\define@key[ru]{mytitle}{year}{\def\my@title@year@ru{#1}} -\define@key[ru]{mytitle}{specialty}{\def\my@title@specialty@ru{#1}} -\define@key[ru]{mytitle}{programme}{\def\my@title@programme@ru{#1}} -\define@key[ru]{mytitle}{profile}{\def\my@title@profile@ru{#1}} -\define@choicekey*[ru]{mytitle}{type}{coursework,practice,prediploma,master,bachelor,production}{\def\my@title@type@ru{#1}} -\define@choicekey*[ru]{mytitle}{kind}{solution,experiment,production,comparison,theoretical}{\def\my@title@kind@ru{#1}} - -%% Англоязычный вариант -\define@key[en]{mytitle}{chair}{\def\my@title@chair@en{#1}} -\define@key[en]{mytitle}{title}{\def\my@title@title@en{#1}} -\define@key[en]{mytitle}{group}{\def\my@title@group@en{#1}} -\define@key[en]{mytitle}{author}{\def\my@title@author@en{#1}} -\define@key[en]{mytitle}{supervisor}{\def\my@title@supervisor@en{#1}} -\define@key[en]{mytitle}{supervisorPosition}{\def\my@title@supervisorPosition@en{#1}} -\define@key[en]{mytitle}{reviewer}{\def\my@title@reviewer@en{#1}} -\define@key[en]{mytitle}{reviewerPosition}{\def\my@title@reviewerPosition@en{#1}} -\define@key[en]{mytitle}{consultant}{\def\my@title@consultant@en{#1}} -\define@key[en]{mytitle}{consultantPosition}{\def\my@title@consultantPosition@en{#1}} -\define@key[en]{mytitle}{year}{\def\my@title@year@en{#1}} -\define@key[en]{mytitle}{specialty}{\def\my@title@specialty@en{#1}} -\define@key[en]{mytitle}{programme}{\def\my@title@programme@en{#1}} -\define@key[en]{mytitle}{profile}{\def\my@title@profile@en{#1}} -\define@choicekey*[en]{mytitle}{type}{coursework,practice,prediploma,master,bachelor}{\def\my@title@type@en{#1}} -\define@choicekey*[en]{mytitle}{kind}{solution,experiment,production,comparison,theoretical}{\def\my@title@kind@en{#1}} - -\newcommand{\filltitle}[2]{ - %% Значения по умолчанию для обоих языков - \ifthenelse{\equal{#1}{ru}} - { - \presetkeys[#1]{mytitle}{ - year = {\the\year}, - type = {practice}, - reviewer = {}, - consultant = {}, - profile = {} - }{} - } - {} - \ifthenelse{\equal{#1}{en}} - { - \presetkeys[#1]{mytitle}{ - year = {\the\year}, - type = {practice}, - reviewer = {}, - consultant = {}, - profile = {} - }{} - } - {} - \setkeys[#1]{mytitle}{#2} -} +\input{pretitle.tex} %% Титульная страница на русском языке \newcommand\maketitleru{ diff --git a/preamble.tex b/preamble.tex index 8fee1f6..ea0bba0 100644 --- a/preamble.tex +++ b/preamble.tex @@ -28,9 +28,6 @@ \usepackage{multirow} \usepackage{siunitx} % для таблиц с единицами измерений -\newcommand{\cd}[1]{\texttt{#1}} -\newcommand{\inbr}[1]{\left<#1\right>} - % Для названий стоит использовать \textsc{} \newcommand{\OCaml}{\textsc{OCaml}} \newcommand{\miniKanren}{\textsc{miniKanren}} @@ -41,16 +38,8 @@ \newcommand{\GitHub}{\textsc{GitHub}} \newcommand{\SMT}{\textsc{SMT}} -\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} -%\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} -\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} - -% Команды и пакеты, не используемые в шаблоне, которые тем не менее могут быть полезными. - -% \newcolumntype{Y}{>{\centering\arraybackslash}X} - -% \usepackage{mathrsfs} +\definecolor{eclipseGreen}{RGB}{63,127,95} % \lstdefinelanguage{ocaml}{ % keywords={@type, function, fun, let, in, match, with, when, class, type, % nonrec, object, method, of, rec, repeat, until, while, not, do, done, as, val, inherit, and, @@ -67,7 +56,38 @@ % morecomment=[s]{(*}{*)} % } +\usepackage[autostyle]{csquotes} % Правильные кавычки в зависимости от языка \usepackage{totcount} \usepackage{setspace} +\usepackage{amsmath, amsfonts, amssymb, amsthm, mathtools} % "Адекватная" работа с математикой в LaTeX + +\makeatletter +\@ifclassloaded{beamer}{ + %%% Обязательные пакеты + %% Beamer + \usepackage{beamerthemesplit} + \usetheme{SPbGU} + \beamertemplatenavigationsymbolsempty + \usepackage{appendixnumberbeamer} + + %% Локализация + \usepackage{fontspec} + \setmainfont{CMU Serif} + \setsansfont{CMU Sans Serif} + \setmonofont{CMU Typewriter Text} + %\setmonofont{Fira Code}[Contextuals=Alternate,Scale=0.9] + %\setmonofont{Inconsolata} + + %% Графика + \usepackage{pdfpages} % Позволяет вставлять многостраничные pdf документы в текст + + % Математические окружения с русским названием + \newtheorem{rutheorem}{Теорема} + \newtheorem{ruproof}{Доказательство} + \newtheorem{rudefinition}{Определение} + \newtheorem{rulemma}{Лемма} + \usepackage{fancyvrb} +} +{} +\makeatother -\definecolor{eclipseGreen}{RGB}{63,127,95} \ No newline at end of file diff --git a/pretitle.tex b/pretitle.tex new file mode 100644 index 0000000..87d2ffb --- /dev/null +++ b/pretitle.tex @@ -0,0 +1,68 @@ +%!TEX root = vkr.tex + +%% Параметры заполнения титульного листа +\usepackage{xkeyval} + +%% Русскоязычный вариант +\define@key[ru]{mytitle}{chair}{\def\my@title@chair@ru{#1}} +\define@key[ru]{mytitle}{title}{\def\my@title@title@ru{#1}} +\define@key[ru]{mytitle}{group}{\def\my@title@group@ru{#1}} +\define@key[ru]{mytitle}{author}{\def\my@title@author@ru{#1}} +\define@key[ru]{mytitle}{supervisor}{\def\my@title@supervisor@ru{#1}} +\define@key[ru]{mytitle}{supervisorPosition}{\def\my@title@supervisorPosition@ru{#1}} +\define@key[ru]{mytitle}{reviewer}{\def\my@title@reviewer@ru{#1}} +\define@key[ru]{mytitle}{reviewerPosition}{\def\my@title@reviewerPosition@ru{#1}} +\define@key[ru]{mytitle}{consultant}{\def\my@title@consultant@ru{#1}} +\define@key[ru]{mytitle}{consultantPosition}{\def\my@title@consultantPosition@ru{#1}} +\define@key[ru]{mytitle}{year}{\def\my@title@year@ru{#1}} +\define@key[ru]{mytitle}{specialty}{\def\my@title@specialty@ru{#1}} +\define@key[ru]{mytitle}{programme}{\def\my@title@programme@ru{#1}} +\define@key[ru]{mytitle}{profile}{\def\my@title@profile@ru{#1}} +\define@choicekey*[ru]{mytitle}{type}{coursework,practice,prediploma,master,bachelor,production}{\def\my@title@type@ru{#1}} +\define@choicekey*[ru]{mytitle}{kind}{solution,experiment,production,comparison,theoretical}{\def\my@title@kind@ru{#1}} + +%% Англоязычный вариант +\define@key[en]{mytitle}{chair}{\def\my@title@chair@en{#1}} +\define@key[en]{mytitle}{title}{\def\my@title@title@en{#1}} +\define@key[en]{mytitle}{group}{\def\my@title@group@en{#1}} +\define@key[en]{mytitle}{author}{\def\my@title@author@en{#1}} +\define@key[en]{mytitle}{supervisor}{\def\my@title@supervisor@en{#1}} +\define@key[en]{mytitle}{supervisorPosition}{\def\my@title@supervisorPosition@en{#1}} +\define@key[en]{mytitle}{reviewer}{\def\my@title@reviewer@en{#1}} +\define@key[en]{mytitle}{reviewerPosition}{\def\my@title@reviewerPosition@en{#1}} +\define@key[en]{mytitle}{consultant}{\def\my@title@consultant@en{#1}} +\define@key[en]{mytitle}{consultantPosition}{\def\my@title@consultantPosition@en{#1}} +\define@key[en]{mytitle}{year}{\def\my@title@year@en{#1}} +\define@key[en]{mytitle}{specialty}{\def\my@title@specialty@en{#1}} +\define@key[en]{mytitle}{programme}{\def\my@title@programme@en{#1}} +\define@key[en]{mytitle}{profile}{\def\my@title@profile@en{#1}} +\define@choicekey*[en]{mytitle}{type}{coursework,practice,prediploma,master,bachelor}{\def\my@title@type@en{#1}} +\define@choicekey*[en]{mytitle}{kind}{solution,experiment,production,comparison,theoretical}{\def\my@title@kind@en{#1}} + +\newcommand{\filltitle}[2]{ + %% Значения по умолчанию для обоих языков + \ifthenelse{\equal{#1}{ru}} + { + \presetkeys[#1]{mytitle}{ + year = {\the\year}, + type = {practice}, + reviewer = {}, + consultant = {}, + profile = {} + }{} + } + {} + \ifthenelse{\equal{#1}{en}} + { + \presetkeys[#1]{mytitle}{ + year = {\the\year}, + type = {practice}, + reviewer = {}, + consultant = {}, + profile = {} + }{} + } + {} + \setkeys[#1]{mytitle}{#2} +} + diff --git a/talk.tex b/talk.tex new file mode 100644 index 0000000..8ce16eb --- /dev/null +++ b/talk.tex @@ -0,0 +1,254 @@ +% !TEX TS-program = xelatex +% !BIB program = bibtex +% !TeX spellcheck = ru_RU +% !TEX root = talk.tex + +\documentclass + [aspectratio=1610] % Для защит онлайн лучше использовать разрешение не 4х3 + {beamer} + + +\input{preamble.tex} +\makeatletter + +\input{pretitle.tex} +\input{title.tex} + +\newcommand{\academicGroup}{\my@title@group@ru} +\newcommand{\advisorChair}{\my@title@chair@ru} +% То, что в квадратных скобках, отображается внизу по центру каждого слайда. +\title[Короткое название]{\my@title@title@ru} +% То, что в квадратных скобках, отображается в левом нижнем углу. +\author[\my@title@author@ru]{\my@title@author@ru, группа \academicGroup} +\institute[СПбГУ]{} +\newcommand{\supervisor}{\my@title@supervisor@ru} +\newcommand{\supervisorPosition}{\my@title@supervisorPosition@ru} +\newcommand{\consultant}{\my@title@consultant@ru} +\newcommand{\consultantPosition}{\my@title@consultantPosition@ru} +\newcommand{\reviewer}{\my@title@reviewer@ru} +\newcommand{\reviewerPosition}{\my@title@reviewerPosition@ru} +\newcommand{\defenseYear}{\my@title@year@ru} + +\makeatother +\begin{document} +{ +\setbeamertemplate{footline}{} +% Лого университета или организации, отображается в шапке титульного листа +\begin{frame} + \includegraphics[width=1.4cm]{figures/SPbGU_Logo.png} + \vspace{-35pt} + \hspace{-10pt} + \begin{center} + \begin{tabular}{c} + \scriptsize{Санкт-Петербургский государственный университет} \\ + \scriptsize{\advisorChair} + \end{tabular} + \titlepage + \end{center} + + \btVFill + + {\scriptsize + % У научного руководителя должна быть указана научная степень + \textbf{Научный руководитель:} \supervisorPosition~\supervisor \\ + % Консультанта может и не быть. Должна быть указана должность или ученая степень + \textbf{Консультант:} \consultantPosition~\consultant \\ + % Для учебной практики не обязателен. Должна быть указана должность или ученая степень + \textbf{Рецензент:} \reviewerPosition~\reviewer \\ + % TODO: добавить условие на включение рецензента в зависимости от вида отчета + } + \makeatother + \begin{center} + \vspace{5pt} + \scriptsize{Санкт-Петербург\\ \defenseYear} + \end{center} +\end{frame} +} + +\begin{frame}{Введение} + \begin{itemize} + \item Краткий обзор тематики работы (как вариант~--- устно, пока показывается титульный слайд) + \item Не нужно определять общеизвестные понятия + \item Применимость/полезность данной работы, обоснование выбора именно этой темы + \item Если тема похожа на темы других работ (в том числе прошлых лет), надо явно описать разницу + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Существующие решения (инструменты, подходы, алгоритмы)} + \begin{itemize} + \item Перечислить инструменты/подходы, применяемые в области + \item Указать их преимущества и недостатки (критика существующих решений/подходов) + \end{itemize} + +\end{frame} + +\begin{frame} + \frametitle{Существующие решения} + Возможно, предметная область сложна и потребуется больше одного слайда, но затягивать введение не стоит. Постарайтесь уложиться в 1--2 слайда + \begin{itemize} + \item Выводы + \begin{itemize} + \item Подвести итог + \item Указать недостатки существующих подходов, на борьбу с которыми + направленна данная работа + \item Чётко сформулировать существующую проблему, которая будет решаться в данной работе + \end{itemize} + \end{itemize} +\end{frame} + +% Обязательный слайд: четкая формулировка цели данной работы и постановка задачи +% Описание выносимых на защиту результатов, процесса или особенностей их достижения и т.д. +\begin{frame} + \frametitle{Постановка задачи} + \textbf{Целью} работы является решение какой-то проблемы %озвученной выше + \vspace{1em} + + \textbf{Задачи}: + \begin{itemize} + \item Выбрать алгоритм, подход, метод %основываясь на проведённом анализе проблемы, области, существующих решений + \item Разработать алгоритм, делающий то-то с тем-то + \item Доказать корректность алгоритма + \item Реализовать предложенный алгоритм + \item Провести экспериментальное исследование предложенной реализации + \end{itemize} +\end{frame} + +%Идеально, если есть по одному слайду на каждую поставленную задачу + +\begin{frame} + \frametitle{Алгоритм ABC\footnote{Результаты и обоснования выбора пути достижения цели}} + За основу решения взят алгоритм ABC + \begin{itemize} + \item Почему именно он, а не другие + \item Ключевые особенности выбранного алгоритма, важные для решения поставленных задач + \end{itemize} +\end{frame} + +% TODO(Kakadu): lstlisting will be better +\defverbatim[colored]{\CodeExample}{ +\begin{Verbatim}[commandchars=\\\{\}] +\textcolor{blue}{string} res = \textcolor{orange}{""}; +\textcolor{blue}{for}(i = 0; i < l; i++) \{ + res = \textcolor{orange}{"()"} + res; +\} +\end{Verbatim} +} + +\begin{frame}%[fragile] + \frametitle{Новый алгоритм} + \framesubtitle{Иллюстративные возможности: таблицы, картинки, код} + % Задается ширина столбцов +\begin{columns}[T] + \begin{column}[t]{.4\textwidth} + \begin{minipage}{2in} \CodeExample \end{minipage} + Аппроксимация:\\ + \includegraphics[width=2.5cm]{figures/in3.pdf} + + Грамматика: + {\begin{align*} + start& & &\Coloneq & &s \\ + s & & &\Coloneq & &\mbox{\texttt{LBR }} s \mbox{\texttt{ RBR }} s \\ + s & & &\Coloneq & &\varepsilon + \end{align*}} + \end{column} +%\hspace{1cm} + \begin{column}[T]{.6\textwidth} + \vspace{-2em} + \includegraphics[width=1\textwidth]{figures/out3.pdf} + \end{column} +\end{columns} +\end{frame} + +\begin{frame} + \frametitle{Доказательство корректности алгоритма} + {\small Формулировки утверждений. Идеи доказательств проговариваются устно.} + \begin{rutheorem}[Пифагора: геометрическая формулировка] + В прямоугольном треугольнике площадь квадрата, построенного на гипотенузе, равна сумме площадей квадратов, построенных на катетах. + \end{rutheorem} + + \begin{rutheorem}[Пифагора: алгебраическая формулировка] + В прямоугольном треугольнике квадрат длины гипотенузы равен сумме квадратов длин катетов. + + То есть, если обозначить длину гипотенузы треугольника через $c$, а длины катетов + через $a$ и $b$, получим верное равенство: $a^2 + b^2 = c^2$. + \end{rutheorem} + + \begin{rutheorem}[Обратная теорема Пифагора] + Для всякой тройки положительных чисел $a$, $b$ и $c$, такой, что $a^2 + b^2 = c^2$, существует прямоугольный треугольник с катетами $a$ и $b$ и гипотенузой $c$. + \end{rutheorem} +\end{frame} + +\begin{frame} + \frametitle{Архитектура решения} + \begin{itemize} + \item В реализации интересны архитектура, библиотеки, инструменты + \item Не надо добавлять на слайд примеры кода + \item Текст в квадратиках должен быть читаемым (крупным, а не как тут) + \end{itemize} + \begin{center} + \includegraphics[width=0.7\textwidth]{figures/Activ_SEL_Processing.pdf} + \end{center} +\end{frame} + +\begin{frame}[t] + \frametitle{Экспериментальное исследование} + Постановка эксперимента + \begin{itemize} + \item На каком наборе данных проводилось экспериментальное исследование, почему были выбраны именно эти данные + \item На каком оборудовании проводилось исследование + \item Какие решения были выбраны для сравнения и почему + \end{itemize} +\end{frame} + +\begin{frame}[t] + \frametitle{Результаты экспериментального исследования} + \begin{itemize} + \item Какие результаты показало экспериментальное исследование + \item Желательно привести графики, иллюстрирующие полученные результаты + \begin{itemize} + \item У иллюстраций должны быть подписи, у графиков~--- легенда, подписи к осям, например: + \end{itemize} + \end{itemize} + \includegraphics[width=13cm]{figures/dist.png} +\end{frame} + +\begin{frame} + \frametitle{Результаты} + \begin{itemize} + \item Практически то же, что и на слайде с постановкой задачи, но в совершенной форме~--- что делал лично автор + \item Четкое отделение результатов своей работы (особенно для коллективных работ) + \item Формулировать глаголами совершенного вида в прошедшем времени (\enquote{сделано}, \enquote{получено}) + \item Обсуждение (ограничения, валидность, альтернативы) + \item Не нужно слайдов типа \enquote{Все}, \enquote{Вопросы?}, \enquote{Спасибо за внимание} + \end{itemize} + + \begin{itemize} + \item Если результаты были представлены на конференции и опубликованы, это желательно указать + \end{itemize} +\end{frame} + +%\addtocounter{framenumber}{1} +\appendix + +\begin{frame} + \frametitle{Дополнительный слайд} + Например, с огромной страшной формулой всего, которая нужна для пояснения деталей при ответе на частый вопрос + + \begin{align*} + \MoveEqLeft \lim_{\bigtriangleup t \to 0^+}\int_{\bigtriangleup t}^{T} \! \int_{\Omega} \! D(t_1,x) \frac{\varphi(t_1-\bigtriangleup t,x)-\varphi(t_1,x)}{(-\bigtriangleup t)} \, \mathrm{d}x \, \mathrm{d}t_1 \\ + &= \lim_{\bigtriangleup t \to 0^+} \int_{0}^{T} \! \int_{\Omega} \! D(t_1,x) \frac{\varphi(t_1-\bigtriangleup t,x)-\varphi(t_1,x)}{(-\bigtriangleup t)} \chi_{(\bigtriangleup t,T)}(t_1) \, \mathrm{d}x \, \mathrm{d}t_1 \\ + &=\int_{0}^{T} \! \int_{\Omega} \! D(t_1,x) \frac{\partial \varphi}{\partial t_1} (t_1,x) \, \mathrm{d}x \, \mathrm{d}t_1 . + \end{align*} +\end{frame} + +\begin{frame} + \frametitle{Второй дополнительный слайд} + \begin{itemize} + \item Много дополнительных слайдов не надо: 1--2 вполне достаточно в большинстве случаев + \item Кроме формул здесь могут быть схемы, рисунки, таблицы и другие вспомогательные материалы + \end{itemize} + +\end{frame} + +\end{document} \ No newline at end of file