initial commit

This commit is contained in:
k-a-z-u
2018-06-05 11:29:16 +02:00
parent 6d649df87d
commit 5248f3339d
17 changed files with 2578 additions and 0 deletions

228
presentation/.gitignore vendored Normal file
View File

@@ -0,0 +1,228 @@
# ---> TeX
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
## Intermediate documents:
*.dvi
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
# gnuplottex
*-gnuplottex-*
*.gnuploterrors
# gregoriotex
*.gaux
*.gtex
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Comment the next line if you want to keep your tikz graphics files
*.tikz
*-tikzDictionary
# listings
*.lol
# makeidx
*.idx
*.ilg
*.ind
*.ist
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# nomencl
*.nlo
# pax
*.pax
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# todonotes
*.tdo
# easy-todo
*.lod
# xindy
*.xdy
# xypic precompiled matrices
*.xyc
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# Kile
*.backup
# KBibTeX
*~[0-9]*
# auto folder when using emacs and auctex
/auto/*
# expex forward references with \gathertags
*-tags.tex
#TeXstudio
*.bak~
#project specific
presentation.pdf
\.vscode/

View File

@@ -0,0 +1,595 @@
% Name : beamerthemefhws.sty
% Author : Markus Ebner (markus.ebner@student.fhws.de)
% Author : Séverin Lemaignan (severin.lemaignan@epfl.ch)
% Author : Benjamin Weiss (benjamin.weiss@kreatiefton.de)
% License : This file may be distributed and/or modified under the
% GNU Public License.
\ProvidesPackage{beamerthemefhws}
% SETUP MATH
\RequirePackage{bm} % standard math notation (fonts)
\RequirePackage{fixmath} % standard math notation (fonts)
\RequirePackage{amsfonts} % standard math notation (fonts)
\RequirePackage{amssymb} % standard math notation (fonts)
\RequirePackage{amsmath} % standard math notation (vectors/sets/...)
\RequirePackage{math} % standard math notation (vectors/sets/...)
\usepackage{color}
\usepackage{etoolbox}
\usepackage{eso-pic}
\usepackage{tikz}
\usepackage{pgfkeys}
\newif\if@doSectionPage
\@doSectionPagefalse
\DeclareOption{nosectionpages}{\@doSectionPagetrue}
\newif\if@dominted
\@domintedfalse
\DeclareOption{minted}{\@domintedtrue}
\ProcessOptions
\mode<presentation>
%---------------------------------------------------------------------
% TOC
%---------------------------------------------------------------------
\useoutertheme[subsection=false,shadow]{miniframes}
\setbeamertemplate{section in toc}[sections numbered]
\setbeamertemplate{subsection in toc}[subsections numbered]
%---------------------------------------------------------------------
% custom commands
%---------------------------------------------------------------------
\newcommand{\rightTextArrow}{→}
\newcommand{\quoted}[1]{#1}
\newcommand{\doublequoted}[1]{»#1«}
\RequirePackage{xspace}
\newcommand{\eg}{e.g.\xspace}
\newcommand{\etal}{\textit{et al.}\xspace}
\newcommand{\ie}{i.e.\xspace}
\newcommand{\etc}{etc.\xspace}
\newcommand{\vs}{\textit{vs.}\xspace}
\RequirePackage{xstring}
%---------------------------------------------------------------------
% Itemize
%---------------------------------------------------------------------
\setbeamertemplate{itemize item}{$\circ$}
\setbeamertemplate{itemize subitem}{\rightTextArrow}
\setbeamertemplate{itemize subsubitem}{--}
\setlength{\parskip}{0.5em}
%---------------------------------------------------------------------
% Background
%---------------------------------------------------------------------
\setbeamertemplate{background}{
\ifnum \value{page}=1
\includegraphics[width=\pagewidth,height=\paperheight]{style/background.pdf}
\else
\includegraphics[width=\paperwidth,height=\paperheight]{style/slide-background.pdf}
\fi
}
%---------------------------------------------------------------------
% Colors
%---------------------------------------------------------------------
\definecolor{FHWSBlack20}{rgb}{0.88,0.88,0.88}
\definecolor{FHWSBlack40}{rgb}{0.60,0.60,0.60}
\definecolor{FHWSBlack60}{rgb}{0.40,0.40,0.40}
\definecolor{FHWSBlack80}{rgb}{0.20,0.20,0.20}
\definecolor{FHWSOrange}{rgb}{0.92941176, 0.43137254902, 0}
\definecolor{FHWSGreen}{rgb}{0.56078, 0.8313725, 0}
\definecolor{FHWSBlue}{rgb}{0.0, 0.47843, 0.8}
% Primary Colors
\definecolor{hriRed}{rgb}{0.882352941,0,0.098039216}
\definecolor{hriRedDark}{rgb}{0.588235294,0,0.058823529}
\definecolor{hriWarmGreyDark}{rgb}{0.274509804,0.254901961,0.235294118}
\definecolor{hriWarmGreyLight}{rgb}{0.666666667,0.647058824,0.62745098}
% Secondary Colors
\definecolor{hriSec1}{rgb}{0,0.588235294,0.509803922}
\definecolor{hriSec1Dark}{rgb}{0,0.392156863,0.31372549}
\definecolor{hriSec1Comp}{rgb}{0.294117647,0.745098039,0.882352941}
\definecolor{hriSec1CompDark}{rgb}{0.196078431,0.490196078,0.568627451}
\definecolor{hriSec2}{rgb}{0.607843137,0.764705882,0.156862745}
\definecolor{hriSec2Dark}{rgb}{0.411764706,0.490196078,0.098039216}
\definecolor{hriSec2Comp}{rgb}{0.254901961,0.156862745,0.509803922}
\definecolor{hriSec2CompDark}{rgb}{0.176470588,0.098039216,0.333333333}
\definecolor{hriSec3}{rgb}{0.509803922,0.078431373,0.31372549}
\definecolor{hriSec3Dark}{rgb}{0.338345865,0.058823529,0.196078431}
\definecolor{hriSec3Comp}{rgb}{1,0.509803922,0}
\definecolor{hriSec3CompDark}{rgb}{0.666666667,0.333333333,0}
% General
\setbeamercolor{titlepage text}{fg=white}
\setbeamercolor{normal text}{fg=hriWarmGreyDark}
\setbeamercolor{structure}{fg=hriWarmGreyDark}
\setbeamercolor{alerted text}{fg=hriRed}
\setbeamercolor{example text}{fg=white}
\setbeamercolor{copyright text}{fg=hriWarmGreyLight}
\setbeamercolor{palette primary}{fg=hriWarmGreyDark}
\setbeamercolor{palette secondary}{fg=hriWarmGreyDark,bg=FHWSBlack20}
\setbeamercolor{palette tertiary}{fg=white,bg=FHWSBlack80}
\setbeamercolor{palette quaternary}{fg=white, bg=FHWSOrange}
% Titlepage
\setbeamercolor{title}{parent=titlepage text}
\setbeamercolor{subtitle}{parent=titlepage text}
\setbeamercolor{date}{parent=titlepage text}
\setbeamercolor{author}{parent=titlepage text}
\setbeamercolor{institute}{parent=titlepage text}
% Sectionpages
\setbeamercolor{section title}{fg=FHWSBlack80, bg=FHWSBlack80}
% Content
\setbeamercolor{frametitle}{parent=palette quaternary}
% Blocks
\setbeamercolor{block title}{parent=palette quaternary}
\setbeamercolor{block body}{parent=palette secondary}
\setbeamercolor{block title example}{fg=white, bg=hriSec1Dark}
\setbeamercolor{block body example}{fg=white, bg=hriSec1}
\setbeamercolor{block title alerted}{fg=white, bg=hriRedDark}
\setbeamercolor{block body alerted}{fg=white, bg=hriRed}
% Notes
\setbeamercolor{note page}{fg=hriWarmGreyDark,bg=hriWarmGreyLight}
\setbeamercolor{note title}{fg=white, bg=hriWarmGreyDark}
\setbeamercolor{note date}{parent=note title}
% Page Number
\setbeamercolor{page number in head/foot}{fg=hriWarmGreyDark}
%---------------------------------------------------------------------
% Fonts
%---------------------------------------------------------------------
\renewcommand\UrlFont{\bf}
% Titlepage
\setbeamerfont{title}{size=\fontsize{20}{20}}
\setbeamerfont{subtitle}{size=\fontsize{12}{14}}
\setbeamerfont{date}{size=\fontsize{8}{10}}
\setbeamerfont{author}{size=\fontsize{12}{15}}
\setbeamerfont{institute}{size=\fontsize{8}{10}}
% Section
\setbeamerfont{section title}{size=\Huge}
% Content
\setbeamerfont{frametitle}{size=\large}
\setbeamerfont{copyright text}{size=\tiny}
\setbeamerfont{block title}{family=\bf,size=\large}
\setbeamerfont{block title alerted}{family=\bf,size=\large}
\setbeamerfont{alerted text}{family=\bf}
% Captions
\setbeamerfont{caption name}{family=\bf}
%---------------------------------------------------------------------
% Titlepage
%---------------------------------------------------------------------
% Titlepage structure
\def\maketitle{\ifbeamer@inframe\titlepage\else{\frame[plain]{\titlepage}}\fi}
\def\titlepage{
\usebeamertemplate{title page}
}
\setbeamertemplate{title page}
{
% Add background to title page
\begin{minipage}[b][\paperheight]{\textwidth}
\vspace*{5mm}
\includegraphics[height=14mm]{style/FHWS}\par
\vspace*{5mm}
\ifx\insertsubtitle\@empty%
\else%
{\usebeamerfont{title}\usebeamercolor[fg]{title}\inserttitle\par}%
\fi%
\ifx\insertsubtitle\@empty%
\else%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\vspace*{5mm}
\fi%
\ifx\insertdate\@empty%
\else%
{\usebeamerfont{date}\usebeamercolor[fg]{date}\insertdate\par}%
\fi%
\vfill
\ifx\insertauthor\@empty%
\else%
{\usebeamerfont{author}\usebeamercolor[fg]{author}\insertauthor\par}%
\fi%
\ifx\insertinstitut\@empty%
\else%
\vspace*{3mm}
{\usebeamerfont{institute}\usebeamercolor[fg]{institute}\insertinstitute\par}%
\fi%
\vspace*{5mm}
\end{minipage}
}
%---------------------------------------------------------------------
% Sectionpages
%---------------------------------------------------------------------
% Make Sectionhead uppercase
\newcommand{\insertsectionHEAD}{%
\expandafter\insertsectionHEADaux\insertsectionhead}
\newcommand{\insertsectionHEADaux}[3]{\MakeUppercase{#3}
}
\if@doSectionPage\@empty
\else
% Insert frame with section title at every section start
\AtBeginSection[]
{
\begingroup
\setbeamertemplate{background}{}
\setbeamercolor{background canvas}{bg=FHWSBlack80}
\begin{frame}[plain]
\centering
\vfill\usebeamerfont{section title}\textcolor{white}{\insertsectionHEAD}\vfill
\end{frame}
\endgroup
}
\fi
%---------------------------------------------------------------------
% Frametitle
%---------------------------------------------------------------------
\setbeamertemplate{frametitle}
{
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.3cm,rightskip=0.3cm,ht=3ex,dp=1.5ex]{frametitle}
\usebeamerfont{frametitle}\MakeUppercase{\insertframetitle}%
\end{beamercolorbox}
}
%---------------------------------------------------------------------
% Footline
%---------------------------------------------------------------------
\usenavigationsymbolstemplate{} % hides small icons in bottom right corner use to navigate the presentation
\setbeamertemplate{footline}
{%
\begin{beamercolorbox}[wd=\textwidth,ht=3ex,dp=1.5ex,leftskip=0.3cm,rightskip=0.3cm]{structure}%
\usebeamerfont{page number in head/foot}%
\hfill\insertframenumber%
\end{beamercolorbox}%
}
%---------------------------------------------------------------------
% Captions
%---------------------------------------------------------------------
\setbeamertemplate{caption label separator}{: }
%---------------------------------------------------------------------
% Blocks
%---------------------------------------------------------------------
\newcommand{\blockhline}{
\vspace{-1ex}
\hspace{-0.5ex}\noindent\textcolor{FHWSBlack40}{\rule{\textwidth - 1ex}{0.8pt}}
}
\setbeamertemplate{block begin}
{
\setbeamercolor{item}{parent=block body}
\par\vskip\medskipamount%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex]{block title}
\usebeamerfont*{block title}\insertblocktitle%
\end{beamercolorbox}%
{\parskip0pt\par}%
{\nointerlineskip\vskip-0.5pt}%
\usebeamerfont{block body}%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex,vmode]{block body}%
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
}
\setbeamertemplate{block end}
{\end{beamercolorbox}\vskip\smallskipamount}
\setbeamertemplate{block alerted begin}
{
\setbeamercolor{item}{parent=block body alerted}
\par\vskip\medskipamount%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex]{block title alerted}
\usebeamerfont*{block title alerted}\insertblocktitle%
\end{beamercolorbox}%
{\parskip0pt\par}%
{\nointerlineskip\vskip-0.5pt}%
\usebeamerfont{block body alerted}%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex,vmode]{block body alerted}%
}
\setbeamertemplate{block alerted end}
{\end{beamercolorbox}\vskip\smallskipamount}
\setbeamertemplate{block example begin}
{
\par\vskip\medskipamount%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex]{block title example}
\usebeamerfont*{block title example}\insertblocktitle%
\end{beamercolorbox}%
{\parskip0pt\par}%
{\nointerlineskip\vskip-0.5pt}%
\usebeamerfont{block body example}%
\begin{beamercolorbox}[sep=.5ex,leftskip=0.5ex,rightskip=0.5ex,vmode]{block body example}%
}
\setbeamertemplate{block example end}
{\end{beamercolorbox}\vskip\smallskipamount}
%%%%%%%%%%%%%%%%%%%%%%%%%% Syntax coloring with minted %%%%%%%%%%%%%%%%%%%%
\if@dominted
\RequirePackage[cache]{minted}
\renewcommand{\theFancyVerbLine}{
\sffamily\textcolor[rgb]{0.5,0.5,0.5}{\scriptsize\arabic{FancyVerbLine}}}
\newminted{cpp}{frame=lines,
linenos=false,
fontsize=\small,
xleftmargin=1.8em}
\newmintinline[cpp]{cpp}{fontsize=\small}
\newminted{python}{frame=lines,
linenos=false,
fontsize=\small,
xleftmargin=1.8em}
\newmintinline[python]{python}{fontsize=\small}
\newminted{sh}{frame=lines,
linenos=false,
fontsize=\small,
xleftmargin=1.8em}
\newmintinline[sh]{sh}{fontsize=\small}
\newminted{xml}{frame=lines,
linenos=false,
fontsize=\small,
xleftmargin=1.8em}
\newmintinline[xml]{xml}{fontsize=\small}
\fi
%---------------------------------------------------------------------
% Images
%---------------------------------------------------------------------
\newbox\mytempbox
\newdimen\mytempdimen
\newcommand\graphicscopyright[3][]{%
\leavevmode\vbox{\vskip3pt\raggedright\setbox\mytempbox=\hbox{\includegraphics[#1]{#2}}%
\mytempdimen=\wd\mytempbox\box\mytempbox\par\vskip1pt%
\usebeamerfont{copyright text}{\usebeamercolor[fg]{copyright text}{\vbox{\hsize=\mytempdimen#3}}}\vskip3pt%
}}
\pgfkeys{
/background/.is family, /background,
default/.style = {scale = 1.0,color=white,caption=\empty},
scale/.estore in = \bgScale,
color/.estore in = \bgColor,
caption/.estore in = \bgCaption,
}
\newcommand\badge[1]{%
\begin{tikzpicture}[remember picture,overlay]%
\node [xshift=-1cm,yshift=-1.4cm] at (current page.north east){\includegraphics[width=2cm,height=2cm,keepaspectratio]{#1}};%
\end{tikzpicture}%
}
\newcommand\fullbackground[2][]{%
\pgfkeys{/background, default, #1}%
\setbeamertemplate{background}{
%\includegraphics[width=\paperwidth, height=\paperheight,keepaspectratio]{#1}
\begin{tikzpicture}[remember picture,overlay,background
rectangle/.style={fill=\bgColor}, show background rectangle]
\node at (current page.center){\includegraphics[width=\bgScale\paperwidth,height=\bgScale\paperheight,keepaspectratio]{#2}};
\end{tikzpicture}
}
}
\newcommand\imageframe[2][]{%
\pgfkeys{/background, default, #1}%
{
\setbeamertemplate{background canvas}{
\begin{tikzpicture}[remember picture, overlay,background
rectangle/.style={fill=\bgColor}, show background rectangle]
\useasboundingbox (current page.north east) rectangle (current page.south west);
\node at (current page.center){\includegraphics[width=\bgScale\paperwidth,height=\bgScale\paperheight,keepaspectratio]{#2}};
\end{tikzpicture}
}
\setbeamertemplate{background}{}
\begin{frame}[plain]
\ifdefequal{\bgCaption}{\empty}{%
}{%
\begin{tikzpicture}[remember picture,overlay]
\node at (-1, -4.5) [anchor=south west,shape=rectangle,fill=hriSec3Dark, opacity=0.7, align=right, text width=0.6\paperwidth]
{\usebeamerfont{subtitle}\usebeamercolor[bg]{subtitle}\bgCaption\par};
\end{tikzpicture}
}%
\end{frame}
}
}
\newcommand\grid{
\draw[help lines] (current page.south west) grid (14,10);
\foreach \x in {-5,...,5} {
\foreach \y in {-5,...,5} {
\node at (\x,\y) [anchor=south west,gray]{{\fontsize{1.2mm}{0.1em}\selectfont (\x,\y)}};
}
}
}
\newcommand\bgframe[2][]{%
{
\setbeamertemplate{background canvas}{
\noindent\colorbox{black}{%
\parbox[c][\paperheight][c]{\paperwidth}{%
\ifstrempty{#1}{
% #1 is empty
}{
\centering
\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{#1}
}
}
}
}
\setbeamertemplate{background}{}
\begin{frame}[plain]
#2
\end{frame}
}
}
% for a video like: figs/video1.mpg, an image called figs/video1_thumb.jpg
% exists, it is used to preview the video. Otherwise a blank object is returned.
\newcommand{\includepreview}[1]{{
\makeatletter
\filename@parse{#1}
\edef\videoThumb{\filename@area\filename@base_thumb.jpg}%
\makeatother
\IfFileExists{\videoThumb}{
\begin{tikzpicture}
\node at (0, 0) {\includegraphics{\videoThumb}};
\node[circle] at (1,5) {};
\end{tikzpicture}
}{\phantom{a}}
}}
% the optional argument is the aspect ratio
% (default to full-screen, ie 4:3 for Beamer)
% for instance, for 16:9 (9/16 = 0.56): \videoframe[0.56]{myvideo.webm}
\newcommand\videoframe[2][]{%
{
\setbeamertemplate{background canvas}{
\ifstrempty{#1}{
% #1 is empty
\noindent\colorbox{black}{%
\parbox[c][\paperheight][c]{\paperwidth}{%
\href{run:#2}{\resizebox{\paperwidth}{\paperheight}{\includepreview{#2}}}
}
}
}{
\noindent\colorbox{black}{%
\parbox[c][\paperheight][c]{\paperwidth}{%
\href{run:#2}{\resizebox{\paperwidth}{#1\paperwidth}{\includepreview{#2}}}
}
}
}
}
\setbeamertemplate{background}{}
\begin{frame}[plain]
\end{frame}
}
}
\newcommand\video[3][]{%
\ifstrempty{#1}{
% #1 is empty, we assume an aspect ratio of 16:9
\href{run:#3}{\resizebox{#2}{#2*\real{0.56}}{\includepreview{#3}}}
}{
\href{run:#3}{\resizebox{#2}{#2*\real{#1}}{\includepreview{#3}}}
}
}
\newcommand\paper[1]{%
\setbeamertemplate{footline}
{%
\begin{beamercolorbox}[wd=\textwidth,ht=3ex,dp=1.5ex,leftskip=0.3cm,rightskip=0.3cm]{structure}%
\usebeamerfont{page number in head/foot}%
[#1]\mbox{}\hfill\insertframenumber%
\end{beamercolorbox}%
}
}
\newcommand\licenseframe[1]{%
\begin{frame}[plain]
\centering
\vfill
\includegraphics[width=0.3\paperwidth]{style/by-sa}
This presentation is released under the terms of the\\
{\bf \href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons Attribution-Share Alike}} license.
\vspace{1em}
\small You are free to reuse it and modify it as much as you want as long as\\
\small (1) you mention me as being the original author,\\
\small (2) you re-share your presentation under the same terms.\\
\normalsize\vspace{1em}
You can download the sources of this presentation here:\\
{\bf\footnotesize\IfBeginWith{#1}{http}{\url{#1}}{\href{https://#1}{#1}}}
\end{frame}
}
%%%%%%%%%%%%%%%%% Bubbles to add explanations
\usetikzlibrary{shapes.callouts}
\usepackage{xparse}
\tikzset{
invisible/.style={opacity=0,text opacity=0},
visible on/.style={alt=#1{}{invisible}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}
\NewDocumentCommand{\bubble}{r<> O{230} O{0.5cm} O{2cm} m m}{%
\tikz[remember picture, overlay]\node[align=center, fill=hriSec3Comp!60,font=\footnotesize, text width=#4,
opacity=0.8,text opacity=1,visible on=<#1>,rectangle callout,anchor=pointer,callout relative pointer={(#2:#3)}]
at (#5) {#6};
}
\NewDocumentCommand{\bubblemark}{O{-0.5ex} m}{%
\tikz[overlay,remember picture,baseline=#1] \node (#2) {};
}
%%%%%%%%% Highlight (math) text by putting it in a red colorbox
\NewDocumentCommand{\highlight}{r<> m}{%
\alt<#1>{\colorbox{red!50}{$#2$}}{#2}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Special coordinate system to refer to absolute page coordinates
%
% Taken from: http://tex.stackexchange.com/questions/89588/positioning-relative-to-page-in-tikz
\makeatletter
\def\parsecomma#1,#2\endparsecomma{\def\page@x{#1}\def\page@y{#2}}
\tikzdeclarecoordinatesystem{page}{
\parsecomma#1\endparsecomma
\pgfpointanchor{current page}{north east}
% Save the upper right corner
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
% save the lower left corner
\pgfpointanchor{current page}{south west}
\pgf@xb=\pgf@x%
\pgf@yb=\pgf@y%
% Transform to the correct placement
\pgfmathparse{(\pgf@xc-\pgf@xb)/2.*\page@x+(\pgf@xc+\pgf@xb)/2.}
\expandafter\pgf@x\expandafter=\pgfmathresult pt
\pgfmathparse{(\pgf@yc-\pgf@yb)/2.*\page@y+(\pgf@yc+\pgf@yb)/2.}
\expandafter\pgf@y\expandafter=\pgfmathresult pt
}
\makeatother
\mode
<all>

View File

@@ -0,0 +1,81 @@
\begin{frame}[fragile]
\frametitle{Publikationen - 2014}
\begin{itemize}
%\scriptsize
%\item L. Köping, T. Mühsam, C. Ofenberg, B. Czech, M. Bernard, J. Schmer, und F. Deinzer. Indoor Navigation Us-ing Particle Filter and Sensor Fusion, Annual of Navigation, vol. 19, no. 2, pp. 3140, December 2012.
\item F. Ebner, F. Deinzer, L. Köping und M. Grzegorzek.\newline
\emph{Robust self-localization using Wi-Fi, step/turn-detection and recursive density estimation}.\newline
Int. Conference on Indoor Positioning and Indoor Navigation (IPIN), 2014 %International Conference on. IEEE, Okt. 2014, S. 627-635
\item Toni Fetzer, Frank Deinzer, Lukas Köping und Marcin Grzegorzek.\newline
\emph{Statistical indoor localization using fusion of depth-images and step detection}.\newline
Int. Conference on Indoor Positioning and Indoor Navigation (IPIN), 2014 %International Conference on. IEEE, Okt. 2014, S. 407-415
%\item Lukas Köping, Frank Deinzer. „Realidades Virtuales/Aumentadas para el Desarrollo Social: Experiencias Entre Europa y Latinoamerica“. 2014. Kap. Real-Time Indoor Localization for Augmented and Virtual Reality Applications.
%\item Francisco Serón, Carlos Vaz de Carvalho, Melanie Saul, Frank Deinzer, Roberto Guerrero, Juan Carlos Parra, Cristiano Costa und Sandro Rigo. „Realidades Virtuales/Aumentadas para el Desarrollo Social: Experiencias Entre Europa y Latinoamerica“. 2014. Kap. Virtual Reality, Augmented Reality and Ubiquitous Computing: Concepts, Technology and Practice.
\item L. Köping, F. Ebner, M. Grzegorzek, F. Deinzer.\newline
\emph{Indoor Localization Using Step and Turn Detection Together with Floor Map Information}.\newline
FHWS Science Journal 1, 2014
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Publikationen - 2015/16}
\begin{itemize}
%\item L. Köping, M. Grzegorzek, F. Deinzer, S. Bobek, M. Slazynski und G.J. Nalepa. Improving indoor localization by user feedback. Information Fusion (Fusion), 2015 18th International Conference on. IEEE, Juli 2015, S. 10531060
\item F. Ebner, T. Fetzer, L. Köping, M. Grzegorzek, F. Deinzer.\newline
\emph{Multi Sensor 3D Indoor Localisation}.\newline
Int. Conference on Indoor Positioning and Indoor Navigation (IPIN), 2015 %International Conference on. IEEE, Oktober 2015, S. 1-11
\item T. Fetzer, F. Ebner, L. Köping, M. Grzegorzek, F. Deinzer.\newline
\emph{On Monte Carlo Smoothing in Multi Sensor Indoor Localisation}.\newline
Int. Conference on Indoor Positioning and Indoor Navigation (IPIN), 2016, %Interna-tional Conference on. IEEE, Oktober 2016
\item F. Ebner, T. Fetzer, F. Deinzer, M. Grzegorzek.\newline
\emph{On Prior Navigation Knowledge in Multi Sensor Indoor Localisation}.\newline
Int. Conference on Information Fusion (FUSION), 2016%, International Conference on. IEEE, Juli 2016
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Publikationen - 2017}
\begin{itemize}
\item Joaquín Torres-Sospedra, Antonio R. Jiménez, Stefan Knauth, Adriano Moreira, Yair Beer, Toni Fetzer, Viet-Cuong Ta, Raul Montoliu, Fernando Seco, Germán M. Mendoza-Silva, Oscar Belmonte, Athanasios Koukofikis, Maria João Nicolau, António Costa, Filipe Meneses, Frank Ebner, Frank Deinzer, Dominique Vaufreydaz, Trung-Kien Dao und Eric Castelli.\newline
\emph{The Smartphone-Based Offline Indoor Location Competition at IPIN 2016: Analysis and Future Work}.\newline
IEEE Sensors, 2017
\item Frank Ebner, Toni Fetzer, Frank Deinzer und Marcin Grzegorzek.\newline
\emph{On Wi-Fi Model Optimizations for Smartphone-Based Indoor Localization}.\newline
International Journal of Geo-Information (ISPRS), 2017.
\item T. Fetzer, F. Ebner, L. Köping, M. Grzegorzek und F. Deinzer.\newline
\emph{Recovering From Sample Impoverishment in Context of Indoor Localisation}.\newline
International Conference on Indoor Positioning and Indoor Navigation (IPIN), 2017% Sapporo, Japan: IEEE, Sep. 2017, S. 1-8.
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Publikationen - 2018}
\begin{itemize}
\item M. Bullmann, T. Fetzer, F. Ebner, M. Grzegorzek und Frank Deinzer.\newline
\emph{Fast Kernel Density Estimation using Gaussian Filter Approximation}.\newline
21st International Conference on Information Fusion (FUSION), 2018 %Cambridge, UK. Juli 2018. erscheint
\end{itemize}
In Arbeit:
\begin{itemize}
\item \emph{Smartphone-based Indoor Localization within a 13th Century Historic Building}
\end{itemize}
\end{frame}

View File

@@ -0,0 +1,61 @@
\RequirePackage{environ}
% ### DEFINE NumberLine ENVIRONMENT ###
% define numberLine/area parameters
\pgfkeys{/numberLine/area/.is family, /numberLine/area,
height/.estore in = \numberLineAreaHeight,
color/.estore in = \numberLineAreaColor,
opacity/.estore in = \numberLineAreaOpacity,
label/.store in = \numberLineAreaLabel,
textcolor/.store in = \numberLineAreaTextcolor,
textabove/.store in = \numberLineAreaTextPosition
}
\pgfkeys{/numberLine/area, default/.style = {height=0.2, color=orange, opacity=1, label=, textcolor=black, textabove=0.2ex}}
% define numberLine/area parameters
\pgfkeys{/numberLine/point/.is family, /numberLine/point,
size/.estore in = \numberLinePointSize,
color/.estore in = \numberLinePointColor,
textcolor/.store in = \numberLinePointTextcolor,
textabove/.store in = \numberLinePointTextPosition
}
\pgfkeys{/numberLine/point, default/.style = {size=0.1, color=orange, textcolor=black, textabove=0.3ex}}
% define environment
\NewEnviron{numberLine}[3][]{
% Draw an xtick at (1: x-position, 2: label to display)
\newcommand{\xtick}[2]{
\draw (##1,0.1) -- + (0,-0.2) node[below] {$##2$}
}
% Draw an area on the number-line (1: from x, 2: to x, 3: color)
\newcommand{\area}[3][]{
\pgfkeys{/numberLine/area, default, ##1}
\begin{pgfonlayer}{areas}
\fill [\numberLineAreaColor,fill opacity=\numberLineAreaOpacity] (##2,-0.1) rectangle (##3,{-0.1 + \numberLineAreaHeight})
node[pos=.5,yshift=\numberLineAreaTextPosition,label={[\numberLineAreaTextcolor]\numberLineAreaLabel}] {};
\end{pgfonlayer}
}
% Draw a point on the number-line (1: x-position, 2: color, 3: size)
\newcommand{\point}[3][]{
\pgfkeys{/numberLine/point, default, ##1}
\begin{pgfonlayer}{points}
\fill[\numberLinePointColor] (##2,0) circle (\numberLinePointSize)
node[above=\numberLinePointTextPosition,text=\numberLinePointTextcolor] {##3};
\end{pgfonlayer}
}
\pgfdeclarelayer{areas}
\pgfdeclarelayer{points}
\pgfsetlayers{areas,main,points}
\begin{tikzpicture}[#1]
\BODY
%draw horizontal line above everything else (except the x-ticks)
\draw (#2,0) -- (#3,0);
%draw xticks above everything else
\foreach \x in {#2,...,#3}
\xtick{\x}{\x};
\end{tikzpicture}
}

View File

@@ -0,0 +1,44 @@
\RequirePackage{environ}
% Pipelines
\usepackage{calc}
\tikzset{%
pipelineStep/.style = {rectangle, draw, minimum width=5em, align=center, minimum height=2em},
pipelineInput/.style = {coordinate, draw, circle, inner sep=0pt,minimum size=0.7cm},
pipelineOutput/.style = {coordinate, draw, circle, inner sep=0pt,minimum size=0.7cm},
pipelineConnection/.style = {draw, -latex'}
}
\newcounter{previouspipelineelementindexcounter}
\newcounter{nextpipelineelementindexcounter}
\NewEnviron{pipeline}[1][]{
\setcounter{previouspipelineelementindexcounter}{0}
\setcounter{nextpipelineelementindexcounter}{1}
\newcommand{\pipelineInput}[2][]{
\node[pipelineInput,##1] (step0) {##2};
}
\newcommand{\pipelineElement}[2][]{
\node[pipelineStep, right of=step\thepreviouspipelineelementindexcounter,##1](step\thenextpipelineelementindexcounter){##2};
\path[pipelineConnection] (step\thepreviouspipelineelementindexcounter) -- (step\thenextpipelineelementindexcounter);
\addtocounter{previouspipelineelementindexcounter}{1}
\addtocounter{nextpipelineelementindexcounter}{1}
}
\newcommand{\pipelineOutput}[2][]{
\node[pipelineOutput, right of=step\thepreviouspipelineelementindexcounter,##1](step\thenextpipelineelementindexcounter){##2};
\path[pipelineConnection] (step\thepreviouspipelineelementindexcounter) -- (step\thenextpipelineelementindexcounter);
\addtocounter{previouspipelineelementindexcounter}{1}
\addtocounter{nextpipelineelementindexcounter}{1}
}
% Group a range of pipeline elements within a rectangle
% param 1: from (number of the first element)
% param 2: to (number of the last element)
% param 3: Title of the group
\newcommand{\pipelineGroupSegment}[4][]{
\node[draw,inner sep=2mm,label=above:##4,fit=(step##2) (step##3),##1] {};
}
\begin{tikzpicture}[#1]
\BODY
\end{tikzpicture}
}

13
presentation/make.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
PATH=$PATH:/mnt/vm/programme/texlive/bin/x86_64-linux/
PATH=$PATH:/apps/texlive/bin/x86_64-linux
PATH=$PATH:/storage/data/vm/programme/texlive/bin/x86_64-linux
lualatex presentation.tex
#okular diss.pdf &
#rm *.aux
#rm *.toc
#rm *.log

222
presentation/math.sty Normal file
View File

@@ -0,0 +1,222 @@
%%
%% This is file `math.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% math.dtx (with options: `package,version2')
%%
%% Copyright (C) 2000 by Dietrich Paulus. All rights reserved.
%%
%%
%% This file is part of the LME TeX package
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file. You may however copy this file
%% to a file with a different name and then change the copy.
%%
%% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
%% to take money for the distribution or use of this file (or a changed
%% version) except for a nominal charge for copying etc.
%%
%% You are allowed to distribute this file under the condition that it is
%% distributed together with all files mentioned below.
%%
%% If you receive only some of these files from someone, complain!
%%
%% Error Reports in case of UNCHANGED versions to
%%
%% Dietrich Paulus
%% Lehrstuhl f. Mustererkennung
%% D 91054 Erlangen
%% Internet: <info@immd4.cs.fau.de>
%%
%% $Id: math.dtx,v 1.12 2003/05/14 15:17:34 deutsch Exp $
%% Copyright (C) 2000 Dietrich Paulus
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{math}
[2002/02/13 v1.02 Math Package (LME)]
\def\twolang#1#2{#1} % ^^A Default
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%% \iffalse meta-comment
%% ===================================================================
%% @LaTeX-package-file{
%% author = {Dietrich Paulus},
%% version = "$Revision: 1.12 $",
%% date = "$Date: 2003/05/14 15:17:34 $"
%% filename = "math.sty",
%% address = {Dietrich Paulus,
%% Martensstr. 3 \
%% D-91058 Erlangen
%% telephone = "+49-9131-8527894",
%% email = "paulus@cs.fau.de",
%% codetable = "ISO/ASCII",
%% keywords = "LaTeX2e, \shipout",
%% supported = "yes",
%% docstring = "LaTeX package which defines a new hook
%% \EveryShipout".
%% }
%% ===================================================================
%% \fi
\RequirePackage{bm}
\def\abs#1{{\mathord{| #1 |}}}
\def\mod{{\mathbin{\rm mod}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Das Folgende muss noch vervollst"andigt werden in der Dokumentation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\div}{{\mathbin{\rm div}}}
\def\ggT#1#2{{\mathord{{\rm ggT}\left({#1},{#2}\right)}}}
\def\kgV#1#2{{\mathord{{\rm kgV}\left({#1},{#2}\right)}}}
\def\floor#1{{\mathord{\left\lfloor #1 \right\rfloor}}}
\def\ceil#1{{\mathord{\left\lceil #1 \right\rceil}}}
\def\sign{{\mathord{{\rm sign}}}}
\def\Undefined{{\mathord{\perp}}}
\def\invers#1{{#1}^{-1}}
\def\defequal{{\mathbin{:=}}}
\def\Defequal{{\mathbin{=:}}}
\def\shouldbe{{\mathbin{\stackrel{\rm !}{=}}}}
\def\conjugate#1{\bar{#1}}
\makeatletter \def\argmax{\mathop{\operator@font argmax}}
\makeatletter \def\argmin{\mathop{\operator@font argmin}}
\def\defequivalent{{\mathbin{:\Leftrightarrow}}}
\def\Defequivalent{{\mathbin{\Leftrightarrow:}}}
\def\equivalent{{\mathbin{\Leftrightarrow}}}
\def\implies{{\mathbin{\Rightarrow}}}
\def\Implies{{\mathbin{\Leftarrow}}}
\def\existsone{{\mathop{\stackrel{.}{\exists}}}}
\def\logand{{\mathbin{\wedge}}}
\def\logor{{\mathbin{\vee}}}
\def\funv#1{{\mathord{\rm {#1}}}}
\def\defunvar#1#2{{#1}\mapsto{#2}}
\def\funbuild#1#2{\left\langle\defunvar{#1}{#2}\right\rangle}
\def\domain{{\mathord{\rm dom}}}
\def\range{{\mathord{\rm ran}}}
\def\image{{\mathord{\rm im}}}
\def\mapsinj{{\mathbin{\stackrel{\rm inj}{\longrightarrow}}}}
\def\mapssur{{\mathbin{\stackrel{\rm sur}{\longrightarrow}}}}
\def\mapsbij{{\mathbin{\stackrel{\rm bij}{\longrightarrow}}}}
\def\mapspartial{{\mathbin{\rightharpoonup}}}
\def\funprod{{\mathbin{\circ}}}
\def\defunran#1#2{{#1}\longrightarrow{#2}}
\def\depfunran#1#2{{#1}\mapspartial{#2}}
\def\defunction#1#2#3#4{\left\{\begin{array}{l}\defunran{#1}{#2}\\ \defunvar{#3}{#4}\end{array}\right.}%}
\def\depfunction#1#2#3#4{\left\{\begin{array}{l}\depfunran{#1}{#2}\\ \defunvar{#3}{#4}\end{array}\right.}%}
\def\band{{\mathbin{\wedge}}}
\def\bor{{\mathbin{\vee}}}
\def\bxor{{\mathbin{\not\equiv}}}
\def\bnot#1{\bar{#1}}
\def\vecpl{\left(}
\def\vecpr{\right)}
\def\matpl{\left(}
\def\matpr{\right)}
\def\vecprod{{\mathbin{\times}}}
\def\scalprod{{\mathbin{\cdot}}}
\def\tensorprod{{\mathbin{\otimes}}}
\def\matprod{\,}
\def\transpose#1{{#1}^{\rm T}}
\def\adjungate#1{{#1}^\ast}
\def\norm#1{{\mathord{\| #1 \|}}}
\def\determinant#1{{\mathord{\det\left( #1 \right)}}}
\def\unitvec#1{{\mathord{\vec{e}_{#1}}}}
\def\mat#1{\ensuremath{\bm#1}}
\def\vec#1{\ensuremath{\bm#1}}
\def\idmat#1{{\mat{{I\!d}}}_{#1}}
\def\@endlist{listend}
\long\def\@parselist(#1)(#2){% 1:sepSymbol 2:List
% define loop for parsing list
\global\long\def\toendoflist##1,##2){%
\ifx##2\@endlist ##1 \else ##1 #1 \toendoflist##2) \fi
}
% execute loop
\expandafter\toendoflist#2,\@endlist)
}
\long\def\rowvec(#1){{ \vecpl
\@parselist(,)(#1)
\vecpr }}
\long\def\colvec(#1){{%
\vecpl
\begin{array}{c}
\expandafter\@parselist(\\)(#1)
\end{array}
\vecpr
}}
\def\Matrix(#1,#2){\left(\begin{array}{*{#2}{c}}}
\def\endMatrix{\end{array}\right)}
\def\setv#1{{#1}} % Nach LME Richtlinie: \cal nur fuer Strukturen
\long\def\set(#1){{\mathord{\left\{\@parselist(,)(#1)\right\}}}}
\def\seqv#1{{\mathord{\cal #1}}}
\long\def\sequence(#1){{\mathord{\left\langle\@parselist(,)(#1)\right\rangle}}}
\long\def\without#1(#2){{{#1}\setminus\set(#2)}}
\long\def\with#1(#2){{{#1}\setunion\set(#2)}}
\def\setunion{{\mathbin{\cup}}}
\def\setint{{\mathbin{\cap}}}
\def\setdisun{{\mathbin{\stackrel{.}{\setunion}}}}
\def\setprod{{\mathbin{\times}}}
\def\cardinality#1{{\mathord{\left| {#1} \right|}}}
\def\powerset#1{{\mathord{2^{#1}}}}
\def\real{\mathord{\rm I\!R}}
\def\cardinal{\mathord{\rm I\!N}}
\def\cardzero{\mathord{\rm I\!N}_0}
\def\imaginary{\mathord{\rm I\!I}}
\def\integer{\mathord{\rm Z\!\!Z}}
\def\complex{{\mathord{\rm C}}}
\def\rational{{\mathord{\rm Q}}}
\def\vecspace#1#2{{#1}^{#2}}
\def\matspace#1#2#3{{#1}^{\,({#2},{#3})}}
\def\funspace#1#2{{#2}^{#1}}
\def\half{\frac{\scriptstyle 1}{\scriptstyle 2}}
\def\onethird{\frac{\scriptstyle 1}{\scriptstyle 3}}
\def\twothird{\frac{\scriptstyle 2}{\scriptstyle 3}}
\def\dfrac#1#2{\frac{\displaystyle #1}{\displaystyle #2}}
\def\tfrac#1#2{\frac{\textstyle #1}{\textstyle #2}}
\def\scfrac#1#2{\frac{\scriptstyle #1}{\scriptstyle #2}}
\def\scscfrac#1#2{\frac{\scriptscriptstyle #1}{\scriptscriptstyle #2}}
\def\p#1{{\mathord{\sf #1}}}
\def\pti#1#2{{\mathord{\sf #1}_{\rm #2}}}
\def\ptline#1#2#3#4{\overline{{\sf #1}_{\rm #2}{\sf #3}}_{\rm #4}}
\long\def\opolygon(#1){{\overline{\@parselist(\,)(#1)}}}
\long\def\cpolygon(#1,#2){{\overline{#1\,\@parselist(\,)(#2)\,#1}}}
\def\D{\displaystyle}
\def\T{\textstyle}
\def\SC{\scriptstyle}
\def\SCSC{\scriptscriptstyle}
\def\complexity#1{{${\rm O}(#1)$}}
\def\laplacesym{{\mathord{\cal L}}}
\def\fouriersym{{\mathord{\rm FT}}}
\def\laplace#1{\laplacesym\{{#1}\}}
\def\fourier#1{\fouriersym\{{#1}\}}
\def\ilaplace#1{\invers{\laplacesym}\{{#1}\}}
\def\ifourier#1{\invers{\fouriersym}\{{#1}\}}
\endinput
%%
%% End of file `math.sty'.

View File

@@ -0,0 +1,111 @@
%!TEX program = lualatex
%!TEX encoding = utf8
%--------------------------------------------------------------------------
% Document setup
%--------------------------------------------------------------------------
\documentclass[compress,aspectratio=169]{beamer}
%\usepackage{fontspec}
%\usepackage{unicode-math}
%\setmainfont{Latin Modern Roman}
\usepackage[utf8]{luainputenc}
\usepackage[T1]{fontenc}
\usepackage[english,ngerman]{babel}
%--------------------------------------------------------------------------
% Package dependencies
%--------------------------------------------------------------------------
%\usepackage{pgfpages} % required for notes on second screen
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
%\usepackage{algpseudocode}
%\usepackage{algorithmicx}
%\usepackage{wasysym}
%\usepackage{tikz} %graph
\usepackage{siunitx}
%\usetikzlibrary{arrows, arrows.meta, backgrounds, graphdrawing, graphs, positioning, decorations, decorations.markings, fit, quotes}
%\usegdlibrary{circular, layered, trees, force}
%--------------------------------------------------------------------------
% Theme setup
%--------------------------------------------------------------------------
\usetheme{fhws}
%\usefonttheme{professionalfonts}
%--------------------------------------------------------------------------
% Macros
%--------------------------------------------------------------------------
%\input{lib/numberLine.tex}
%\input{lib/pipeline.tex}
%\input{resources/macros.tex}
%\input{resources/problems.tex}
%\input{resources/symbols.tex}
%--------------------------------------------------------------------------
% Document config
%--------------------------------------------------------------------------
\title{Doktorandentreffen}
\subtitle{Forschungsgruppe: Indoor Navigation}
\date{\today}
\author{Markus Bullmann, Frank Ebner, Toni Fetzer}
\institute{Hochschule für angewandte Wissenschaften Würzburg-Schweinfurt}
%--------------------------------------------------------------------------
% Notes settings
%--------------------------------------------------------------------------
%\setbeameroption{show notes on second screen=left}
%--------------------------------------------------------------------------
% Presentation
% For great usage instructions, have a look at this article:
% https://en.wikibooks.org/wiki/LaTeX/Presentations
%--------------------------------------------------------------------------
\begin{document}
\maketitle
% TODO: remove examples!
%\input{chapters/examples.tex}
\input{chapters/bib}
\begin{frame}[fragile]
\frametitle{Forschungsbereiche}
\begin{itemize}
\item
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Achievements}
%\begin{itemize}
\begin{tabular}{lr}
University of Applied Sciences Würzburg-Schweinfurt (DE) & \SI{5.4}{\meter} \\
Samsung, DMS R\&D Center (KR) \& R\&D Center (PL) & \SI{8.2}{\meter} \\
ICT \& Beijing University (CN) & \SI{18.7}{\meter} \\
RMIT University (AU) & \SI{44.1}{\meter} \\
Xiamen University (CN) & \SI{55.7}{\meter} \\
Institute of Computer Science, University of Bern (CH) & \SI{58.2}{\meter} \\
\end{tabular}
%\end{itemize}
\end{frame}
\end{document}

View File

@@ -0,0 +1,50 @@
% Math
\renewcommand{\vec}[1]{\bm{#1}}
\newcommand{\mathtuple}[1]{\left<#1\right>}
\DeclareMathOperator\cost{cost}
\DeclareMathOperator\edgeCost{c}
\DeclareMathOperator\minimum{min}
\DeclareMathOperator\cheapest{billigst}
\DeclareMathOperator\nodeDegree{deg}
% Some colors
\definecolor{darkpastelgreen}{rgb}{0.01, 0.75, 0.24}
% TikZ
\tikzstyle{thickArrow}=[line width=1mm, draw=black,-triangle 45,postaction={draw, line width=3mm, shorten >=4mm, -}]
% Allowes to draw a line parallel to an edge
% Example:
% 1. Declare a style in your graph: parallel/.style={decoration={sl,raise=-.75mm},decorate}
% 2. Use the style: \draw[-,parallel] (a) to (b);
% This draws a line parallel to the edge a--b
\pgfdeclaredecoration{sl}{initial}{
\state{initial}[width=\pgfdecoratedpathlength-1sp]{
\pgfmoveto{\pgfpointorigin}
}
\state{final}{
\pgflineto{\pgfpointorigin}
}
}
% Beamer
\newcommand{\pageItemNote}[2]{
\only<#1>{
\note{
\begin{itemize}
#2
\end{itemize}
}
}
}
\newcommand{\pageNote}[2]{
\only<#1>{
\note{
#2
}
}
}

View File

@@ -0,0 +1,39 @@
% GENERAL
\newcommand{\PROBLEMname}[1]{\textrm{#1}}
\newcommand{\PROBLEMinputs}{\mathcal{D}}
\newcommand{\PROBLEMinput}{I}
\newcommand{\PROBLEMsolution}{\sigma}
\newcommand{\PROBLEMsolutionsFor}[1]{S(#1)}
\newcommand{\PROBLEMsolutionsForInput}{\PROBLEMsolutionsFor{\PROBLEMinput}}
\newcommand{\PROBLEMoptimalSolutionFor}[1]{\text{OPT}(#1)}
\newcommand{\PROBLEMoptimalSolutionForInput}{\PROBLEMoptimalSolutionFor{\PROBLEMinput}}
\newcommand{\PROBLEMinputLength}{|\PROBLEMinput|}
\newcommand{\PROBLEMlength}{n}
% REDUCTION
\newcommand{\REDUCTION}[2]{$#1 \leq_{\textrm{T}} #2$}
% GÜTE
\newcommand{\GUETEguaranteedAlgo}[1]{\rho_{#1}}
\newcommand{\GUETEguaranteed}{\GUETEguaranteedAlgo{\ALGOapprox}}
\newcommand{\GUETEguaranteedForInput}{\GUETEguaranteed(\PROBLEMinput)}
\newcommand{\GUETEguaranteedForLength}{\GUETEguaranteed(\PROBLEMlength)}
\newcommand{\GUETEdeviance}{\rho'_\ALGOapprox}
\newcommand{\GUETEworstCase}{\rho_A^{wc}}
\newcommand{\GUETEworstCaseForLength}{\GUETEworstCase(\PROBLEMlength)}
% ERRORS
\newcommand{\ERRORrelative}{\epsilon_\ALGOapprox}
\newcommand{\ERRORrelativeForLength}{\ERRORrelative(\PROBLEMlength)}
% Traveling Salesman Problem
\newcommand{\PROBLEMtsp}{\PROBLEMname{TSP}}
\newcommand{\PROBLEMtspOfGuete}[1]{\PROBLEMtsp[#1]}
\newcommand{\PROBLEMtspMetric}{\Delta\PROBLEMtsp}
% Hamilton
\newcommand{\PROBLEMhamilton}{\PROBLEMname{HAMILTON}}
% Minimal Spanning Tree
\newcommand{\PROBLEMmst}{MST}

View File

@@ -0,0 +1,67 @@
% GENERAL
\newcommand{\mathset}[1]{\vec{#1}}
\newcommand{\numbersystem}[1]{\mathbb{#1}}
\newcommand{\numbersystemNatural}{\numbersystem{N}}
\newcommand{\numbersystemReal}{\numbersystem{R}}
\newcommand{\optimalTour}{R^*}
\newcommand{\tour}{R}
% Limit-Notation
\newcommand{\LIMITbigO}{O}
\newcommand{\LIMITbigOmega}{\Omega}
\newcommand{\LIMITbigTheta}{\Theta}
% NP / P
\newcommand{\NPnotP}{\textrm{NP} \not= \textrm{P}}
% Algorithms
\newcommand{\ALGOapprox}{A}
\newcommand{\ALGOapproxSolutionForI}{\ALGOapprox(\PROBLEMinput)}
% Graphs
\newcommand{\GRAPHfullyConnected}[1]{K_{#1}}
\newcommand{\GRAPHedges}{\vec{E}}
\newcommand{\GRAPHedgesCount}{|\GRAPHedges|}
\newcommand{\GRAPHvertices}{\vec{V}}
\newcommand{\GRAPHverticesCount}{|\GRAPHvertices|}
\newcommand{\GRAPHcost}{c}
\newcommand{\GRAPHcostOf}[2]{\GRAPHcost({#1},{#2})}
\DeclareMathOperator{\GRAPHneighbors}{\bm{\Gamma}}
% Insert-Heuristics
\DeclareMathOperator\EH{EH}
% Christofides
\DeclareMathOperator\CH{CH}
% Vertexcolor
\newcommand{\GREEDYISstep}{t}
\DeclareMathOperator\GREEDYISdelete{lösch}
\newcommand{\GREEDYISdeletionStepSize}{\gamma_\GREEDYISstep}
\newcommand{\GREEDYISdeletedStepGoodNodes}{\kappa_\GREEDYISstep}
\newcommand{\GREEDYISnodeWithSmallestDeg}{u_\GREEDYISstep}
\newcommand{\GREEDYISindependentSet}{\vec{U}}
\newcommand{\GREEDYISindependentSetCount}{|\GREEDYISindependentSet|}
\newcommand{\GREEDYISoptimalIndependentSet}{\GREEDYISindependentSet^*}
\newcommand{\GREEDYISoptimalIndependentSetCount}{|\GREEDYISoptimalIndependentSet|}
% Impossibletsp
\newcommand{\IMPOSSIBLETSPguete}{r}
%-------------
% Algo-Names
%-------------
% GreedyIS
\newcommand{\ALGOgreedyIS}{\textsc{GreedyIS}}
% GreedyCol
\newcommand{\ALGOgreedyColor}{\textsc{GreedyCol}}
% GreedyCol2
\newcommand{\ALGOgreedyColorTwo}{\textsc{GreedyCol2}}

BIN
presentation/style/FHWS.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="120" height="42" id="svg2759" sodipodi:version="0.32" inkscape:version="0.45+devel" version="1.0" sodipodi:docname="by-sa.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs id="defs2761"/>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#8b8b8b" borderopacity="1" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1" inkscape:cx="179" inkscape:cy="89.569904" inkscape:document-units="px" inkscape:current-layer="layer1" width="120px" height="42px" inkscape:showpageshadow="false" inkscape:window-width="1198" inkscape:window-height="624" inkscape:window-x="488" inkscape:window-y="401"/>
<metadata id="metadata2764">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
<g transform="matrix(0.9937807,0,0,0.9936694,-177.69409,-74.436409)" id="g287" inkscape:export-filename="/mnt/hgfs/Bov/Documents/Work/2007/cc/identity/srr buttons/big/by-sa.png" inkscape:export-xdpi="300.23013" inkscape:export-ydpi="300.23013">
<path id="path3817_2_" nodetypes="ccccccc" d="M 182.23532,75.39014 L 296.29928,75.59326 C 297.89303,75.59326 299.31686,75.35644 299.31686,78.77344 L 299.17721,116.34033 L 179.3569,116.34033 L 179.3569,78.63379 C 179.3569,76.94922 179.51999,75.39014 182.23532,75.39014 z" style="fill:#aab2ab"/>
<g id="g5908_2_" transform="matrix(0.872921,0,0,0.872921,50.12536,143.2144)">
<path id="path5906_2_" cx="296.35416" ry="22.939548" cy="264.3577" type="arc" rx="22.939548" d="M 187.20944,-55.6792 C 187.21502,-46.99896 180.18158,-39.95825 171.50134,-39.95212 C 162.82113,-39.94708 155.77929,-46.97998 155.77426,-55.66016 C 155.77426,-55.66687 155.77426,-55.67249 155.77426,-55.6792 C 155.76922,-64.36054 162.80209,-71.40125 171.48233,-71.40631 C 180.16367,-71.41193 187.20441,-64.37842 187.20944,-55.69824 C 187.20944,-55.69263 187.20944,-55.68591 187.20944,-55.6792 z" style="fill:#ffffff"/>
<g id="g5706_2_" transform="translate(-289.6157,99.0653)">
<path id="path5708_2_" d="M 473.88455,-167.54724 C 477.36996,-164.06128 479.11294,-159.79333 479.11294,-154.74451 C 479.11294,-149.69513 477.40014,-145.47303 473.9746,-142.07715 C 470.33929,-138.50055 466.04281,-136.71283 461.08513,-136.71283 C 456.18736,-136.71283 451.96526,-138.48544 448.42003,-142.03238 C 444.87419,-145.57819 443.10158,-149.81537 443.10158,-154.74451 C 443.10158,-159.6731 444.87419,-163.94049 448.42003,-167.54724 C 451.87523,-171.03375 456.09728,-172.77618 461.08513,-172.77618 C 466.13342,-172.77618 470.39914,-171.03375 473.88455,-167.54724 z M 450.76657,-165.20239 C 447.81982,-162.22601 446.34701,-158.7395 446.34701,-154.74005 C 446.34701,-150.7417 447.80529,-147.28485 450.72125,-144.36938 C 453.63778,-141.45288 457.10974,-139.99462 461.1383,-139.99462 C 465.16683,-139.99462 468.66848,-141.46743 471.64486,-144.41363 C 474.47076,-147.14947 475.88427,-150.59069 475.88427,-154.74005 C 475.88427,-158.85809 474.44781,-162.35297 471.57659,-165.22479 C 468.70595,-168.09546 465.22671,-169.53131 461.1383,-169.53131 C 457.04993,-169.53131 453.59192,-168.08813 450.76657,-165.20239 z M 458.52106,-156.49927 C 458.07074,-157.4809 457.39673,-157.9715 456.49781,-157.9715 C 454.90867,-157.9715 454.11439,-156.90198 454.11439,-154.763 C 454.11439,-152.62341 454.90867,-151.55389 456.49781,-151.55389 C 457.54719,-151.55389 458.29676,-152.07519 458.74647,-153.11901 L 460.94923,-151.94598 C 459.8993,-150.0805 458.32417,-149.14697 456.22374,-149.14697 C 454.60384,-149.14697 453.30611,-149.64367 452.33168,-150.63653 C 451.35561,-151.62994 450.86894,-152.99926 450.86894,-154.7445 C 450.86894,-156.46008 451.37123,-157.82159 452.37642,-158.83013 C 453.38161,-159.83806 454.63347,-160.34264 456.13423,-160.34264 C 458.35435,-160.34264 459.94407,-159.46776 460.90504,-157.71978 L 458.52106,-156.49927 z M 468.8844,-156.49927 C 468.43353,-157.4809 467.77292,-157.9715 466.90201,-157.9715 C 465.28095,-157.9715 464.46988,-156.90198 464.46988,-154.763 C 464.46988,-152.62341 465.28095,-151.55389 466.90201,-151.55389 C 467.95304,-151.55389 468.68918,-152.07519 469.10925,-153.11901 L 471.36126,-151.94598 C 470.31301,-150.0805 468.74007,-149.14697 466.64358,-149.14697 C 465.02587,-149.14697 463.73095,-149.64367 462.75711,-150.63653 C 461.78494,-151.62994 461.29773,-152.99926 461.29773,-154.7445 C 461.29773,-156.46008 461.79221,-157.82159 462.78061,-158.83013 C 463.76843,-159.83806 465.02588,-160.34264 466.55408,-160.34264 C 468.77027,-160.34264 470.35776,-159.46776 471.3154,-157.71978 L 468.8844,-156.49927 z"/>
</g>
</g>
<path d="M 297.29639,74.91064 L 181.06688,74.91064 C 179.8203,74.91064 178.80614,75.92529 178.80614,77.17187 L 178.80614,116.66748 C 178.80614,116.94922 179.03466,117.17822 179.31639,117.17822 L 299.04639,117.17822 C 299.32813,117.17822 299.55713,116.94922 299.55713,116.66748 L 299.55713,77.17188 C 299.55713,75.92529 298.54297,74.91064 297.29639,74.91064 z M 181.06688,75.93213 L 297.29639,75.93213 C 297.97998,75.93213 298.53565,76.48828 298.53565,77.17188 C 298.53565,77.17188 298.53565,93.09131 298.53565,104.59034 L 215.4619,104.59034 C 212.41698,110.09571 206.55077,113.83399 199.81835,113.83399 C 193.083,113.83399 187.21825,110.09913 184.1748,104.59034 L 179.82666,104.59034 C 179.82666,93.09132 179.82666,77.17188 179.82666,77.17188 C 179.82664,76.48828 180.38329,75.93213 181.06688,75.93213 z" id="path294"/>
<g enable-background="new " id="g296">
<path d="M 265.60986,112.8833 C 265.68994,113.03906 265.79736,113.16504 265.93115,113.26172 C 266.06494,113.35791 266.22119,113.42969 266.40088,113.47608 C 266.58154,113.52296 266.76807,113.54639 266.96045,113.54639 C 267.09033,113.54639 267.22998,113.53565 267.3794,113.51368 C 267.52784,113.4922 267.66749,113.44972 267.79835,113.3877 C 267.92823,113.32569 268.03761,113.23975 268.12355,113.13086 C 268.21144,113.02197 268.25441,112.88379 268.25441,112.71533 C 268.25441,112.53515 268.19679,112.38916 268.08156,112.27685 C 267.9673,112.16455 267.81594,112.07177 267.62941,111.99658 C 267.44386,111.92236 267.23195,111.85693 266.9966,111.80078 C 266.76027,111.74463 266.52101,111.68262 266.27883,111.61377 C 266.02981,111.55176 265.78762,111.47559 265.55129,111.38525 C 265.31594,111.29541 265.10402,111.17822 264.9175,111.03515 C 264.73098,110.89208 264.58059,110.71337 264.46535,110.49853 C 264.35109,110.28369 264.29347,110.02392 264.29347,109.71923 C 264.29347,109.37646 264.36671,109.07958 264.51222,108.82763 C 264.6587,108.57568 264.85011,108.36572 265.08644,108.19726 C 265.32179,108.02929 265.58937,107.90478 265.8882,107.82372 C 266.18605,107.74315 266.48488,107.70263 266.78273,107.70263 C 267.13136,107.70263 267.46535,107.74169 267.78566,107.81982 C 268.105,107.89746 268.39015,108.02392 268.6382,108.19824 C 268.88722,108.37256 269.08449,108.59521 269.23097,108.86621 C 269.37648,109.13721 269.44972,109.46582 269.44972,109.85156 L 268.02784,109.85156 C 268.01514,109.65234 267.97315,109.4873 267.90284,109.35693 C 267.83155,109.22607 267.73682,109.12353 267.61964,109.04834 C 267.50148,108.97412 267.36671,108.9209 267.21534,108.89014 C 267.063,108.85889 266.89796,108.84326 266.71827,108.84326 C 266.60108,108.84326 266.48292,108.85596 266.36573,108.88037 C 266.24757,108.90576 266.14112,108.94922 266.04542,109.01123 C 265.94874,109.07373 265.86964,109.15137 265.80812,109.24463 C 265.7466,109.33838 265.71535,109.45654 265.71535,109.59961 C 265.71535,109.73047 265.73976,109.83643 265.78957,109.91699 C 265.83937,109.99804 265.93801,110.07275 266.08352,110.14111 C 266.22903,110.20947 266.43118,110.27832 266.68899,110.34668 C 266.9468,110.41504 267.28372,110.50244 267.70071,110.60791 C 267.82473,110.63281 267.99661,110.67822 268.21731,110.74365 C 268.43801,110.80908 268.65676,110.91308 268.87454,111.05615 C 269.09231,111.1997 269.27981,111.39111 269.43899,111.63037 C 269.59719,111.87012 269.67629,112.17676 269.67629,112.55029 C 269.67629,112.85547 269.61672,113.13867 269.49856,113.3999 C 269.3804,113.66162 269.20461,113.8872 268.97122,114.07666 C 268.73782,114.26709 268.44876,114.41455 268.10403,114.52051 C 267.75833,114.62647 267.35794,114.6792 266.90481,114.6792 C 266.53762,114.6792 266.18118,114.63379 265.83547,114.54346 C 265.49074,114.45313 265.18508,114.31104 264.92043,114.11768 C 264.65676,113.92432 264.4468,113.67774 264.29055,113.37891 C 264.13528,113.07959 264.06106,112.7251 264.06692,112.31397 L 265.4888,112.31397 C 265.48877,112.53809 265.52881,112.72803 265.60986,112.8833 z" id="path298" style="fill:#ffffff"/>
<path d="M 273.8667,107.8667 L 276.35986,114.53076 L 274.8374,114.53076 L 274.33349,113.04638 L 271.84033,113.04638 L 271.31787,114.53076 L 269.84326,114.53076 L 272.36377,107.8667 L 273.8667,107.8667 z M 273.95068,111.95264 L 273.11084,109.50928 L 273.09229,109.50928 L 272.22315,111.95264 L 273.95068,111.95264 z" id="path300" style="fill:#ffffff"/>
</g>
<g enable-background="new " id="g302">
<path d="M 239.17821,107.8667 C 239.49559,107.8667 239.78563,107.89502 240.04735,107.95068 C 240.30907,108.00683 240.53368,108.09863 240.72118,108.22607 C 240.9077,108.35351 241.05321,108.52295 241.15575,108.73437 C 241.25829,108.94579 241.31005,109.20703 241.31005,109.51806 C 241.31005,109.854 241.23388,110.13329 241.08056,110.35742 C 240.92822,110.58154 240.70165,110.76465 240.40283,110.90771 C 240.81494,111.02587 241.12256,111.23291 241.32568,111.5288 C 241.5288,111.82469 241.63037,112.18114 241.63037,112.59814 C 241.63037,112.93408 241.56494,113.22509 241.43408,113.47119 C 241.30322,113.7168 241.12646,113.91748 240.90576,114.07324 C 240.68408,114.229 240.43115,114.34424 240.14795,114.41845 C 239.86377,114.49365 239.57275,114.53075 239.27295,114.53075 L 236.03662,114.53075 L 236.03662,107.86669 L 239.17821,107.86669 L 239.17821,107.8667 z M 238.99071,110.56201 C 239.25243,110.56201 239.46727,110.5 239.63622,110.37597 C 239.80419,110.25146 239.88817,110.05029 239.88817,109.77099 C 239.88817,109.61572 239.85985,109.48828 239.80419,109.38915 C 239.74755,109.28954 239.67333,109.21239 239.57958,109.15624 C 239.48583,109.10058 239.37841,109.06151 239.25731,109.04003 C 239.13524,109.01806 239.00926,109.00732 238.8784,109.00732 L 237.50535,109.00732 L 237.50535,110.56201 L 238.99071,110.56201 z M 239.07664,113.39014 C 239.22019,113.39014 239.35691,113.37647 239.48777,113.34815 C 239.61863,113.32032 239.73484,113.27344 239.83445,113.2085 C 239.93406,113.14307 240.01316,113.0542 240.07273,112.94239 C 240.1323,112.83058 240.1616,112.68751 240.1616,112.51319 C 240.1616,112.17139 240.06492,111.92725 239.87156,111.78126 C 239.6782,111.63527 239.42234,111.56202 239.10496,111.56202 L 237.50535,111.56202 L 237.50535,113.39014 L 239.07664,113.39014 z" id="path304" style="fill:#ffffff"/>
<path d="M 241.88914,107.8667 L 243.53269,107.8667 L 245.09324,110.49854 L 246.64402,107.8667 L 248.27781,107.8667 L 245.80418,111.97315 L 245.80418,114.53077 L 244.33543,114.53077 L 244.33543,111.93604 L 241.88914,107.8667 z" id="path306" style="fill:#ffffff"/>
</g>
<g id="g6316_1_" transform="matrix(0.624995,0,0,0.624995,391.2294,176.9332)">
<path id="path6318_1_" cx="475.97119" ry="29.209877" cy="252.08646" type="arc" rx="29.209877" d="M -175.0083,-139.1153 C -175.00204,-129.7035 -182.62555,-122.06751 -192.03812,-122.06049 C -201.44913,-122.05341 -209.08512,-129.67774 -209.09293,-139.09028 C -209.09293,-139.09809 -209.09293,-139.10749 -209.09293,-139.1153 C -209.09919,-148.52784 -201.47413,-156.1623 -192.06311,-156.17011 C -182.65054,-156.17713 -175.01456,-148.55207 -175.0083,-139.14026 C -175.0083,-139.13092 -175.0083,-139.1239 -175.0083,-139.1153 z" style="fill:#ffffff"/>
<g id="g6320_1_" transform="translate(-23.9521,-89.72962)">
<path id="path6322_1_" d="M -168.2204,-68.05536 C -173.39234,-68.05536 -177.76892,-66.25067 -181.35175,-62.64203 C -185.02836,-58.90759 -186.86588,-54.48883 -186.86588,-49.38568 C -186.86588,-44.28253 -185.02836,-39.89416 -181.35175,-36.22308 C -177.67673,-32.55114 -173.29859,-30.71521 -168.2204,-30.71521 C -163.07974,-30.71521 -158.62503,-32.56677 -154.85312,-36.26996 C -151.30307,-39.78558 -149.52652,-44.15827 -149.52652,-49.38568 C -149.52652,-54.6123 -151.33432,-59.03265 -154.94843,-62.64203 C -158.5625,-66.25067 -162.98599,-68.05536 -168.2204,-68.05536 z M -168.17352,-64.69519 C -163.936,-64.69519 -160.33752,-63.20221 -157.37655,-60.21466 C -154.38748,-57.25836 -152.89214,-53.64899 -152.89214,-49.38568 C -152.89214,-45.09186 -154.35466,-41.52856 -157.28438,-38.69653 C -160.36876,-35.64727 -163.99849,-34.12304 -168.17351,-34.12304 C -172.34856,-34.12304 -175.94701,-35.63244 -178.96892,-38.64965 C -181.9908,-41.66918 -183.50176,-45.24657 -183.50176,-49.38567 C -183.50176,-53.52398 -181.97518,-57.13414 -178.92205,-60.21465 C -175.9939,-63.20221 -172.41107,-64.69519 -168.17352,-64.69519 z"/>
<path id="path6324_1_" d="M -176.49548,-52.02087 C -175.75171,-56.71856 -172.44387,-59.22949 -168.30008,-59.22949 C -162.33911,-59.22949 -158.70783,-54.90448 -158.70783,-49.1372 C -158.70783,-43.50982 -162.57194,-39.13793 -168.39383,-39.13793 C -172.39856,-39.13793 -175.98297,-41.60277 -176.63611,-46.43877 L -171.93292,-46.43877 C -171.7923,-43.92778 -170.1626,-43.04418 -167.83447,-43.04418 C -165.1813,-43.04418 -163.4563,-45.50908 -163.4563,-49.27709 C -163.4563,-53.22942 -164.94693,-55.32244 -167.74228,-55.32244 C -169.79074,-55.32244 -171.55948,-54.57787 -171.93292,-52.02087 L -170.56418,-52.02789 L -174.26734,-48.32629 L -177.96894,-52.02789 L -176.49548,-52.02087 z"/>
</g>
</g>
<g id="g313">
<circle cx="242.56226" cy="90.224609" r="10.8064" id="circle315" sodipodi:cx="242.56226" sodipodi:cy="90.224609" sodipodi:rx="10.8064" sodipodi:ry="10.8064" style="fill:#ffffff"/>
<g id="g317">
<path d="M 245.68994,87.09766 C 245.68994,86.68116 245.35205,86.34424 244.93603,86.34424 L 240.16357,86.34424 C 239.74755,86.34424 239.40966,86.68115 239.40966,87.09766 L 239.40966,91.87061 L 240.74071,91.87061 L 240.74071,97.52295 L 244.3579,97.52295 L 244.3579,91.87061 L 245.68993,91.87061 L 245.68993,87.09766 L 245.68994,87.09766 z" id="path319"/>
<circle cx="242.5498" cy="84.083008" r="1.63232" id="circle321" sodipodi:cx="242.5498" sodipodi:cy="84.083008" sodipodi:rx="1.63232" sodipodi:ry="1.63232"/>
</g>
<path clip-rule="evenodd" d="M 242.53467,78.31836 C 239.30322,78.31836 236.56641,79.4458 234.32715,81.70215 C 232.0293,84.03516 230.88086,86.79736 230.88086,89.98633 C 230.88086,93.1753 232.0293,95.91846 234.32715,98.21338 C 236.625,100.50781 239.36133,101.65527 242.53467,101.65527 C 245.74756,101.65527 248.53272,100.49853 250.88819,98.18359 C 253.10889,95.98681 254.21827,93.2539 254.21827,89.98632 C 254.21827,86.71874 253.08936,83.95751 250.83057,81.70214 C 248.57178,79.4458 245.80615,78.31836 242.53467,78.31836 z M 242.56396,80.41797 C 245.2124,80.41797 247.46142,81.35156 249.31103,83.21875 C 251.18115,85.06592 252.11572,87.32227 252.11572,89.98633 C 252.11572,92.66992 251.20068,94.89746 249.36963,96.66699 C 247.4419,98.57275 245.17334,99.52539 242.56397,99.52539 C 239.9546,99.52539 237.70557,98.58252 235.81739,96.6958 C 233.92774,94.80957 232.98389,92.57324 232.98389,89.98633 C 232.98389,87.3999 233.93799,85.14404 235.84619,83.21875 C 237.67676,81.35156 239.9165,80.41797 242.56396,80.41797 z" id="path323" style="fill-rule:evenodd"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,993 @@
%%
%% This is file `minted.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% minted.dtx (with options: `package')
%% Copyright 2013--2014 Geoffrey M. Poore
%% Copyright 2010--2011 Konrad Rudolph
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% Additionally, the project may be distributed under the terms of the new BSD
%% license.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The Current Maintainer of this work is Geoffrey Poore.
%%
%% This work consists of the files minted.dtx and minted.ins
%% and the derived file minted.sty.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{minted}[2013/12/21 v2.0-alpha3 ]
\RequirePackage{keyval}
\RequirePackage{kvoptions}
\RequirePackage{fancyvrb}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{ifplatform}
\RequirePackage{pdftexcmds}
\RequirePackage{etoolbox}
\RequirePackage{xstring}
\RequirePackage{lineno}
\AtBeginDocument{\@ifpackageloaded{color}{}{\RequirePackage{xcolor}}}
\DeclareVoidOption{chapter}{\def\minted@float@within{chapter}}
\DeclareVoidOption{section}{\def\minted@float@within{section}}
\newboolean{minted@cache}
\DeclareVoidOption{cache}{%
\minted@cachetrue
\AtEndOfPackage{\ProvideDirectory{\minted@outputdir\minted@cachedir}}%
}
\StrSubstitute{\jobname}{ }{_}[\minted@jobname]
\StrSubstitute{\minted@jobname}{"}{}[\minted@jobname]
\StrSubstitute{\minted@jobname}{*}{-}[\minted@jobname]
\newcommand{\minted@cachedir}{.minted-\minted@jobname}
\let\minted@cachedir@windows\minted@cachedir
\define@key{minted}{cachedir}{%
\@namedef{minted@cachedir}{#1}%
\StrSubstitute{\minted@cachedir}{/}{\@backslashchar}[\minted@cachedir@windows]}
\let\minted@outputdir\@empty
\let\minted@outputdir@windows\@empty
\define@key{minted}{outputdir}{%
\@namedef{minted@outputdir}{#1/}%
\StrSubstitute{\minted@outputdir}{/}%
{\@backslashchar}[\minted@outputdir@windows]}
\newboolean{minted@langlinenos}
\DeclareVoidOption{langlinenos}{\minted@langlinenostrue}
\DeclareBoolOption{draft}
\ProcessKeyvalOptions*
\newcommand{\minted@infile}{\jobname.out.pyg}
\newcommand{\minted@cachefiles}{}
\newcommand{\minted@addcachefile}[1]{%
\expandafter\gdef\expandafter\minted@cachefiles\expandafter{%
\minted@cachefiles,#1}%
\expandafter\gdef\csname minted@current@#1\endcsname{}%
}
\newcommand{\minted@savecachefiles}{%
\immediate\write\@mainaux{%
\string\gdef\string\minted@oldcachefiles\string{%
\minted@cachefiles\string}}%
}
\newcommand{\minted@cleancache}{%
\ifthenelse{\boolean{minted@cache}}{%
\ifcsname minted@oldcachefiles\endcsname
\def\do##1{%
\ifthenelse{\equal{##1}{}}{}{%
\ifcsname minted@current@##1\endcsname\else
\DeleteFile[\minted@outputdir\minted@cachedir]{##1}%
\fi
}%
}%
\expandafter\docsvlist\expandafter{\minted@oldcachefiles}%
\else
\fi
}{}%
}
\ifthenelse{\boolean{minted@cache}}%
{\AtEndDocument{%
\ifthenelse{\boolean{minted@draft}}%
{\ifcsname minted@oldcachefiles\endcsname
\let\minted@cachefiles\minted@oldcachefiles
\minted@savecachefiles
\fi}%
{\minted@savecachefiles
\minted@cleancache}}%
}%
{}%
\ifwindows
\providecommand{\DeleteFile}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\IfFileExists{#2}{\immediate\write18{del "#2"}}{}}%
{\IfFileExists{#1/#2}{%
\StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir]
\immediate\write18{del "\minted@windir\@backslashchar #2"}}{}}}
\else
\providecommand{\DeleteFile}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\IfFileExists{#2}{\immediate\write18{rm "#2"}}{}}%
{\IfFileExists{#1/#2}{\immediate\write18{rm "#1/#2"}}{}}}
\fi
\ifwindows
\newcommand{\ProvideDirectory}[1]{%
\StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir]
\immediate\write18{if not exist "\minted@windir" mkdir "\minted@windir"}}
\else
\newcommand{\ProvideDirectory}[1]{%
\immediate\write18{mkdir -p "#1"}}
\fi
\newboolean{AppExists}
\newread\minted@appexistsfile
\newcommand{\TestAppExists}[1]{
\ifwindows
\DeleteFile{\jobname.aex}
\immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd)
do set >\jobname.aex <nul: /p
x=\string^\@percentchar \string~$PATH:i>>\jobname.aex}
%$ <- balance syntax highlighting
\immediate\openin\minted@appexistsfile\jobname.aex
\expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar}
\endlinechar=-1\relax
\readline\minted@appexistsfile to \minted@apppathifexists
\endlinechar=\@tmp@cr
\ifthenelse{\equal{\minted@apppathifexists}{}}
{\AppExistsfalse}
{\AppExiststrue}
\immediate\closein\minted@appexistsfile
\DeleteFile{\jobname.aex}
\immediate\typeout{file deleted}
\else
\immediate\write18{which #1 && touch \jobname.aex}
\IfFileExists{\jobname.aex}
{\AppExiststrue
\DeleteFile{\jobname.aex}}
{\AppExistsfalse}
\fi
}
\newcommand{\minted@optg}{}
\let\minted@lang\@empty
\newcommand{\minted@optlang}{}
\newcommand{\minted@optcmd}{}
\newcommand{\minted@checklang}{%
\ifcsname minted@optlang\minted@lang\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang\endcsname{}%
\fi
\ifcsname minted@optlang\minted@lang @extra\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
\fi
}
\newcommand{\minted@resetoptcmd}{%
\@namedef{minted@optcmd@extra}{}%
\let\minted@optcmd@autogobble\relax}
\newcommand{\minted@getoptg}[1]{%
\expandafter\detokenize%
\expandafter\expandafter\expandafter{\csname minted@optg@#1\endcsname}}
\newcommand{\minted@getoptlang}[1]{%
\expandafter\detokenize\expandafter\expandafter\expandafter{%
\csname minted@optlang\minted@lang @#1\endcsname}}
\newcommand{\minted@getoptcmd}[1]{%
\expandafter\detokenize%
\expandafter\expandafter\expandafter{\csname minted@optcmd@#1\endcsname}}
\newcommand{\minted@regoptg}[1]{%
\ifcsname minted@optg@#1@reg\endcsname\else
\expandafter\let\csname minted@optg@#1@reg\endcsname\@empty
\expandafter\def\expandafter\minted@optg\expandafter{%
\minted@optg\space\minted@getoptg{#1}}%
\fi
}
\newcommand{\minted@regoptlang}[1]{%
\ifcsname minted@optlang\minted@lang @#1@reg\endcsname\else
\ifcsname minted@optlang\minted@lang\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang\endcsname{}%
\fi
\expandafter\let\csname minted@optlang\minted@lang @#1@reg\endcsname\@empty
\expandafter\let\expandafter\minted@optlang%
\csname minted@optlang\minted@lang\endcsname
\expandafter\def\expandafter\minted@optlang\expandafter{%
\minted@optlang\space\minted@getoptlang{#1}}%
\expandafter\let\csname minted@optlang\minted@lang\endcsname\minted@optlang
\let\minted@optlang\@empty
\fi
}
\newcommand{\minted@regoptcmd}[1]{%
\ifcsname minted@optcmd@#1@reg\endcsname\else
\expandafter\let\csname minted@optcmd@#1@reg\endcsname\@empty
\expandafter\def\expandafter\minted@optcmd\expandafter{%
\minted@optcmd\space\minted@getoptcmd{#1}}%
\expandafter\def\expandafter\minted@resetoptcmd\expandafter{%
\minted@resetoptcmd
\@namedef{minted@optcmd@#1}{}}%
\fi
}
\newcommand{\minted@define@opt}[4][]{%
\ifthenelse{\equal{#1}{}}%
{\define@key{minted@optg}{#2}{\@namedef{minted@optg@#2}{#3=#4}%
\@namedef{minted@optg@#2@val}{#4}%
\minted@regoptg{#2}}%
\define@key{minted@optlang}{#2}{%
\@namedef{minted@optlang\minted@lang @#2}{#3=#4}%
\@namedef{minted@optlang\minted@lang @#2@val}{#4}%
\minted@regoptlang{#2}}%
\define@key{minted@optcmd}{#2}{\@namedef{minted@optcmd@#2}{#3=#4}%
\@namedef{minted@optcmd@#2@val}{#4}%
\minted@regoptcmd{#2}}}%
{\define@key{minted@optg}{#2}[#1]{\@namedef{minted@optg@#2}{#3=#4}%
\@namedef{minted@optg@#2@val}{#4}%
\minted@regoptg{#2}}%
\define@key{minted@optlang}{#2}[#1]{%
\@namedef{minted@optlang\minted@lang @#2}{#3=#4}%
\@namedef{minted@optlang\minted@lang @#2@val}{#4}%
\minted@regoptlang{#2}}%
\define@key{minted@optcmd}{#2}[#1]{\@namedef{minted@optcmd@#2}{#3=#4}%
\@namedef{minted@optcmd@#2@val}{#4}%
\minted@regoptcmd{#2}}}%
}
\newcommand{\minted@namexdef}[1]{\expandafter\xdef\csname #1\endcsname}
\edef\minted@hashchar{\string#}
\edef\minted@lbracechar{\string{}
\edef\minted@rbracechar{\string}}
\edef\minted@dollarchar{\string$}
\edef\minted@ampchar{\string&}
\edef\minted@uscorechar{\string_}
\newcommand{\minted@bechar}{%
\begingroup
\let\#\minted@hashchar
\let\%\@percentchar
\let\{\minted@lbracechar
\let\}\minted@rbracechar
\let\$\minted@dollarchar
\let\&\minted@ampchar
\let\_\minted@uscorechar
}
\newcommand{\minted@eechar}{\endgroup}
\newcommand{\minted@define@opt@escchar}[4][]{%
\ifthenelse{\equal{#1}{}}%
{\define@key{minted@optg}{#2}{\minted@bechar%
\minted@namexdef{minted@optg@#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optg@#2@val}{#4}%
\minted@regoptg{#2}}%
\define@key{minted@optlang}{#2}{%
\minted@bechar%
\minted@namexdef{minted@optlang\minted@lang @#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optlang\minted@lang @#2@val}{#4}%
\minted@regoptlang{#2}}%
\define@key{minted@optcmd}{#2}{\minted@bechar%
\minted@namexdef{minted@optcmd@#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optcmd@#2@val}{#4}%
\minted@regoptcmd{#2}}}%
{\define@key{minted@optg}{#2}[#1]{\minted@bechar%
\minted@namexdef{minted@optg@#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optg@#2@val}{#4}%
\minted@regoptg{#2}}%
\define@key{minted@optlang}{#2}[#1]{%
\minted@bechar%
\minted@namexdef{minted@optlang\minted@lang @#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optlang\minted@lang @#2@val}{#4}%
\minted@regoptlang{#2}}%
\define@key{minted@optcmd}{#2}[#1]{\minted@bechar%
\minted@namexdef{minted@optcmd@#2}{#3=#4}%
\minted@eechar%
\@namedef{minted@optcmd@#2@val}{#4}%
\minted@regoptcmd{#2}}}%
}
\newcommand{\minted@define@optstyle}{%
\define@key{minted@optg}{style}{%
\@namedef{minted@optg@style}{-P style=##1 -P commandprefix=PYG##1}%
\minted@regoptg{style}\minted@regstyle{##1}}%
\define@key{minted@optlang}{style}{%
\@namedef{minted@optlang\minted@lang @style}%
{-P style=##1 -P commandprefix=PYG##1}%
\minted@regoptlang{style}\minted@regstyle{##1}}%
\define@key{minted@optcmd}{style}{%
\@namedef{minted@optcmd@style}{-P style=##1 -P commandprefix=PYG##1}%
\minted@regoptcmd{style}\minted@regstyle{##1}}%
}
\newcommand{\minted@patchZsq}[1]{%
\ifx\upquote@cmtt\minted@undefined\else
\ifx\encodingdefault\upquote@OTone
\ifx\ttdefault\upquote@cmtt
\expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
{\expandafter\gdef\csname PYG#1Zsq\endcsname{\char13 }}{}%
\else
\expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
{\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}%
\fi
\else
\expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
{\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}%
\fi
\fi
}
\newcommand{\minted@regstyle}[1]{%
\ifcsname minted@stylereg@#1\endcsname\else
\expandafter\global\expandafter%
\let\csname minted@stylereg@#1\endcsname\@empty
\ifthenelse{\boolean{minted@cache}}%
{\IfFileExists{\minted@outputdir\minted@cachedir/#1.pygstyle}{}{%
\ifwindows
\immediate\write18{\MintedPygmentize\space -S #1 -f latex
-P commandprefix=PYG#1
> "\minted@outputdir@windows\minted@cachedir@windows\@backslashchar#1.pygstyle"}%
\else
\immediate\write18{\MintedPygmentize\space -S #1 -f latex
-P commandprefix=PYG#1
> "\minted@outputdir\minted@cachedir/#1.pygstyle"}%
\fi
}%
\begingroup
\let\def\gdef
\endlinechar=-1\relax
\input{\minted@outputdir\minted@cachedir/#1.pygstyle}%
\endgroup
\minted@addcachefile{#1.pygstyle}}%
{\ifwindows
\immediate\write18{\MintedPygmentize\space -S #1 -f latex
-P commandprefix=PYG#1 > "\minted@outputdir@windows\jobname.out.pyg"}%
\else
\immediate\write18{\MintedPygmentize\space -S #1 -f latex
-P commandprefix=PYG#1 > "\minted@outputdir\jobname.out.pyg"}%
\fi
\begingroup
\let\def\gdef
\endlinechar=-1\relax
\input{\minted@outputdir\jobname.out.pyg}%
\endgroup}%
\ifx\@onlypreamble\@notprerr
\minted@patchZsq{#1}%
\else
\minted@patchZsq{#1}%
\AtBeginDocument{\minted@patchZsq{#1}}%
\fi
\fi
}
\ifthenelse{\boolean{minted@draft}}{\renewcommand{\minted@regstyle}[1]{}}{}
\newcommand{\minted@define@switch}[3][]{
\define@booleankey{minted@optg}{#2}
{\@namedef{minted@optg@#2}{#3}\minted@regoptg{#2}}
{\@namedef{minted@optg@#2}{#1}\minted@regoptg{#2}}
\define@booleankey{minted@optlang}{#2}
{\@namedef{minted@optlang\minted@lang @#2}{#3}\minted@regoptlang{#2}}
{\@namedef{minted@optlang\minted@lang @#2}{#1}\minted@regoptlang{#2}}
\define@booleankey{minted@optcmd}{#2}
{\@namedef{minted@optcmd@#2}{#3}\minted@regoptcmd{#2}}
{\@namedef{minted@optcmd@#2}{#1}\minted@regoptcmd{#2}}
}
\newcommand{\minted@define@extra}[1]{
\define@key{minted@optg}{#1}{%
\expandafter\def\expandafter\minted@optg@extra\expandafter{%
\minted@optg@extra,#1=##1}}
\@namedef{minted@optg@extra}{}
\define@key{minted@optlang}{#1}{%
\ifcsname minted@optlang\minted@lang @extra\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
\fi
\expandafter\let\expandafter\minted@optlang@extra%
\csname minted@optlang\minted@lang @extra \endcsname
\expandafter\def\expandafter\minted@optlang@extra\expandafter{%
\minted@optlang@extra,#1=##1}%
\expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
\minted@optlang@extra
\let\minted@optlang@extra\@empty}%
\@namedef{minted@optlang@extra}{}
\define@key{minted@optcmd}{#1}{%
\expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
\minted@optcmd@extra,#1=##1}}
\@namedef{minted@optcmd@extra}{}
}
\newcommand{\minted@define@extra@switch}[1]{
\define@booleankey{minted@optg}{#1}
{\expandafter\def\expandafter\minted@optg@extra\expandafter{%
\minted@optg@extra,#1}}
{\expandafter\def\expandafter\minted@optg@extra\expandafter{%
\minted@optg@extra,#1=false}}
\define@booleankey{minted@optlang}{#1}
{%
\ifcsname minted@optlang\minted@lang @extra\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
\fi
\expandafter\let\expandafter\minted@optlang@extra%
\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\def\expandafter\minted@optlang@extra\expandafter{%
\minted@optlang@extra,#1}%
\expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
\minted@optlang@extra
\let\minted@optlang@extra\@empty}
{%
\ifcsname minted@optlang\minted@lang @extra\endcsname\else
\expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
\fi
\expandafter\let\expandafter\minted@optlang@extra%
\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\def\expandafter\minted@optlang@extra\expandafter{%
\minted@optlang@extra,#1=false}%
\expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
\minted@optlang@extra
\let\minted@optlang@extra\@empty}
\define@booleankey{minted@optcmd}{#1}
{\expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
\minted@optcmd@extra,#1}}
{\expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
\minted@optcmd@extra,#1=false}}
}
\minted@define@opt{encoding}{-P encoding}{#1}
\minted@define@opt{outencoding}{-P outencoding}{#1}
\minted@define@opt@escchar{escapeinside}{-O escapeinside}{"#1"}
\minted@define@opt{stripnl}{-P stripnl}{#1}
\minted@define@switch{python3}{-P python3=True}
\minted@define@switch[-P funcnamehighlighting=False]%
{funcnamehighlighting}{-P funcnamehighlighting}
\minted@define@switch{startinline}{-P startinline}
\ifthenelse{\boolean{minted@draft}}%
{\minted@define@extra{gobble}}%
{\minted@define@opt{gobble}{-F gobble:n}{#1}}
\minted@define@opt{codetagify}{-F codetagify:codetags}{#1}
\minted@define@opt{keywordcase}{-F keywordcase:case}{#1}
\minted@define@switch{texcl}{-P texcomments}
\minted@define@switch{texcomments}{-P texcomments}
\minted@define@switch{mathescape}{-P mathescape}
\ifthenelse{\boolean{minted@draft}}%
{\define@booleankey{FV}{linenos}{\@nameuse{FV@Numbers@left}}{}%
\minted@define@extra@switch{linenos}}%
{\minted@define@switch{linenos}{-P linenos}}
\minted@define@optstyle
\minted@define@extra{frame}
\minted@define@extra{framesep}
\minted@define@extra{framerule}
\minted@define@extra{rulecolor}
\minted@define@extra{numbersep}
\minted@define@extra{numbers}
\minted@define@extra{firstnumber}
\minted@define@extra{stepnumber}
\minted@define@extra{firstline}
\minted@define@extra{lastline}
\minted@define@extra{baselinestretch}
\minted@define@extra{xleftmargin}
\minted@define@extra{xrightmargin}
\minted@define@extra{fillcolor}
\minted@define@extra{tabsize}
\minted@define@extra{fontfamily}
\minted@define@extra{fontsize}
\minted@define@extra{fontshape}
\minted@define@extra{fontseries}
\minted@define@extra{formatcom}
\minted@define@extra{label}
\minted@define@extra@switch{numberblanklines}
\minted@define@extra@switch{showspaces}
\minted@define@extra@switch{resetmargins}
\minted@define@extra@switch{samepage}
\minted@define@extra@switch{showtabs}
\minted@define@extra@switch{obeytabs}
\minted@define@extra@switch{breaklines}
\minted@define@extra{breakindent}
\minted@define@extra@switch{breakautoindent}
\minted@define@extra{breaksymbol}
\minted@define@extra{breaksymbolsep}
\minted@define@extra{breaksymbolindent}
\let\minted@optcmd@bgcolor\@empty
\define@key{minted@optcmd}{bgcolor}{\@namedef{minted@optcmd@bgcolor}{#1}}
\newcommand{\minted@encoding}{%
\ifcsname minted@optcmd@encoding@val\endcsname
\csname minted@optcmd@encoding@val\endcsname
\else
\ifcsname minted@optlang\minted@lang @encoding@val\endcsname
\csname minted@optlang\minted@lang @encoding@val\endcsname
\else
\ifcsname minted@optg@encoding@val\endcsname
\csname minted@optg@encoding@val\endcsname
\else
UTF8%
\fi
\fi
\fi
}
\define@booleankey{minted@optg}{autogobble}
{\expandafter\let\csname minted@optg@autogobble\endcsname\@empty}
{\expandafter\let\csname minted@optg@autogobble\endcsname\relax}
\define@booleankey{minted@optlang}{autogobble}
{\expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\@empty}
{\expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\relax}
\define@booleankey{minted@optcmd}{autogobble}
{\expandafter\let\csname minted@optcmd@autogobble\endcsname\@empty}
{\expandafter\let\csname minted@optcmd@autogobble\endcsname\relax}
\newboolean{minted@autogobble}
\newcommand{\minted@set@autogobble}{%
\ifcsname minted@optg@autogobble\endcsname\else
\expandafter\let\csname minted@optg@autogobble\endcsname\relax
\fi
\ifcsname minted@optlang\minted@lang @autogobble\endcsname\else
\expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\relax
\fi
\ifcsname minted@optcmd@autogobble\endcsname\else
\expandafter\let\csname minted@optcmd@autogobble\endcsname\relax
\fi
\expandafter\ifx\csname minted@optcmd@autogobble\endcsname\@empty
\setboolean{minted@autogobble}{true}%
\else
\expandafter\ifx\csname minted@optlang\minted@lang @autogobble\endcsname\@empty
\setboolean{minted@autogobble}{true}%
\else
\expandafter\ifx\csname minted@optg@autogobble\endcsname\@empty
\setboolean{minted@autogobble}{true}%
\else
\setboolean{minted@autogobble}{false}%
\fi
\fi
\fi
}
\let\FV@ListProcessLine@Orig\FV@ListProcessLine
\define@booleankey{FV}{breaklines}%
{\let\FV@ListProcessLine\FV@ListProcessLine@Break}%
{\let\FV@ListProcessLine\FV@ListProcessLine@Orig}
\newdimen\FV@BreakIndent
\define@key{FV}{breakindent}{\FV@BreakIndent=#1}
\fvset{breakindent=0pt}
\newboolean{FV@BreakAutoIndent}
\define@booleankey{FV}{breakautoindent}%
{\FV@BreakAutoIndenttrue}{\FV@BreakAutoIndentfalse}
\fvset{breakautoindent=true}
\define@key{FV}{breaksymbol}{\def\FancyVerbBreakSymbol{#1}}
\fvset{breaksymbol=\ensuremath{\hookrightarrow}}
\newdimen\FV@BreakSymbolSep
\define@key{FV}{breaksymbolsep}{\FV@BreakSymbolSep=#1}
\fvset{breaksymbolsep=10pt}
\newdimen\FV@BreakSymbolIndent
\settowidth{\FV@BreakSymbolIndent}{\ttfamily xxxx}
\define@key{FV}{breaksymbolindent}{\FV@BreakSymbolIndent=#1}
\newsavebox{\FV@LineBox}
\newsavebox{\FV@IndentBox}
\newsavebox{\FV@LinenoBox}
\let\FV@LineIndentChars\@empty
\def\FV@GetNextChar{\let\FV@NextChar=}
\def\FV@CleanRemainingChars#1\FV@Undefined{}
\def\FV@GetLineIndent{\afterassignment\FV@CheckChar\FV@GetNextChar}
\def\FV@CheckChar{%
\ifx\FV@NextChar\FV@Undefined
\let\FV@Next=\relax
\else
\expandafter\ifx\FV@NextChar\FV@Space
\g@addto@macro{\FV@LineIndentChars}{\FV@Space}%
\let\FV@Next=\FV@GetLineIndent
\else
\expandafter\ifx\FV@NextChar\FV@Tab
\g@addto@macro{\FV@LineIndentChars}{\FV@Tab}%
\let\FV@Next=\FV@GetLineIndent
\else
\let\FV@Next=\FV@CleanRemainingChars
\fi
\fi
\fi
\FV@Next
}
\newcommand{\FancyVerbFormatBreakSymbol}{%
\ifnum\value{linenumber}=1\relax\else\FancyVerbBreakSymbol\fi}%
\AtBeginEnvironment{Verbatim}{\lineskip=0pt\xdef\FV@theprevdepth{0pt}}
\def\FV@ListProcessLine@Break#1{%
\hbox to \hsize{%
\kern\leftmargin
\hbox to \linewidth{%
\sbox{\FV@LineBox}{\FancyVerbFormatLine{#1}}%
\ifdim\wd\FV@LineBox>\linewidth
\let\FV@theprevdepth@temp\FV@theprevdepth
\savebox{\FV@LineBox}{%
\begingroup
\vbox{\hsize=\linewidth
\raggedright
\prevdepth\FV@theprevdepth
\leftlinenumbers*
\setcounter{linenumber}{1}%
\let\thelinenumber\FancyVerbFormatBreakSymbol
\begin{internallinenumbers}%
\linenumbersep=\FV@BreakSymbolSep
\advance\hsize by -\FV@BreakIndent
\advance\linewidth by -\FV@BreakIndent
\noindent\hspace*{-\FV@BreakIndent}%
\ifdefempty{\FancyVerbBreakSymbol}{}{%
\advance\hsize by -\FV@BreakSymbolIndent
\advance\linewidth by -\FV@BreakSymbolIndent
\hspace*{-\FV@BreakSymbolIndent}}%
\ifthenelse{\boolean{FV@BreakAutoIndent}}%
{\let\FV@LineIndentChars\@empty
\FV@GetLineIndent#1\FV@Undefined
\savebox{\FV@IndentBox}{\FV@LineIndentChars}%
\advance\hsize by -\wd\FV@IndentBox
\advance\linewidth by -\wd\FV@IndentBox
\hspace*{-\wd\FV@IndentBox}%
}{}%
\FancyVerbFormatLine{#1}%
\end{internallinenumbers}%
\par\xdef\FV@theprevdepth{\the\prevdepth}}%
\endgroup
}%
\savebox{\FV@LinenoBox}{\FV@LeftListNumber}%
\vbox to\ht\FV@LineBox{%
\prevdepth\FV@theprevdepth@temp\FV@LeftListNumber\vfill}%
\FV@LeftListFrame
\null\hfill\usebox{\FV@LineBox}\hss
\FV@RightListFrame
\vbox to\ht\FV@LineBox{%
\prevdepth\FV@theprevdepth@temp\FV@RightListNumber\vfill}%
\else
\FV@LeftListNumber
\FV@LeftListFrame
\vbox{\hsize=\linewidth
\prevdepth\FV@theprevdepth
\noindent\FancyVerbFormatLine{#1}%
\par\xdef\FV@theprevdepth{\the\prevdepth}}\hss
\FV@RightListFrame
\FV@RightListNumber
\fi}%
\hss}}
\newsavebox{\minted@bgbox}
\newenvironment{minted@colorbg}[1]{
%\setlength{\fboxsep}{-\fboxrule}
\def\minted@bgcol{#1}
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
{\end{minipage}
\end{lrbox}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\newwrite\minted@code
\newcommand{\minted@savecode}[1]{
\immediate\openout\minted@code\jobname.pyg\relax
\immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}%
\immediate\closeout\minted@code}
\newcommand{\minted@write@detok}[1]{%
\immediate\write\FV@OutFile{\detokenize{#1}}}
\newcommand{\minted@FVB@VerbatimOut}[1]{%
\@bsphack
\begingroup
\FV@UseKeyValues
\FV@DefineWhiteSpace
\def\FV@Space{\space}%
\FV@DefineTabOut
\let\FV@ProcessLine\minted@write@detok
\immediate\openout\FV@OutFile #1\relax
\let\FV@FontScanPrep\relax
\let\@noligs\relax
\FV@Scan}
\newcommand{\MintedPygmentize}{pygmentize}
\newcommand{\minted@pygmentize}[2][\jobname.pyg]{%
\minted@checklang
\minted@set@autogobble
\ifthenelse{\boolean{minted@autogobble}}%
{\def\minted@codefile{\jobname.pyg}}%
{\def\minted@codefile{#1}}%
\def\minted@cmd{\MintedPygmentize\space -l #2
-f latex -F tokenmerge
\minted@optg \space \csname minted@optlang\minted@lang\endcsname
\space \minted@optcmd \space -P "verboptions=\minted@getoptg{extra}%
\minted@getoptlang{extra}\minted@getoptcmd{extra}"
-o "\minted@outputdir\minted@infile" \space
"\minted@outputdir\minted@codefile"}%
% For debugging, uncomment: %%%%
% \immediate\typeout{\minted@cmd}%
% %%%%
\ifthenelse{\boolean{minted@cache}}%
{%
\ifx\XeTeXinterchartoks\minted@undefined
\ifthenelse{\boolean{minted@autogobble}}%
{\edef\minted@hash{\pdf@filemdfivesum{#1}%
\pdf@mdfivesum{\minted@cmd autogobble}}}%
{\edef\minted@hash{\pdf@filemdfivesum{#1}%
\pdf@mdfivesum{\minted@cmd}}}%
\else
\immediate\openout\minted@code\jobname.mintedcmd\relax
\immediate\write\minted@code{\minted@cmd}%
\ifthenelse{\boolean{minted@autogobble}}%
{\immediate\write\minted@code{autogobble}}{}%
\immediate\closeout\minted@code
%Cheating a little here by using ASCII codes to write `{` and `}`
%in the Python code
\def\minted@hashcmd{%
\detokenize{python -c "import hashlib;
hasher = hashlib.sha1();
f = open(\"}\minted@outputdir\jobname.mintedcmd\detokenize{\", \"rb\");
hasher.update(f.read());
f.close();
f = open(\"}\minted@outputdir#1\detokenize{\", \"rb\");
hasher.update(f.read());
f.close();
f = open(\"}\minted@outputdir\jobname.mintedmd5\detokenize{\", \"w\");
macro = \"\\edef\\minted@hash\" + chr(123) + hasher.hexdigest() + chr(125) + \"\";
f.write(\"\\makeatletter\" + macro + \"\\makeatother\\endinput\n\");
f.close();"}}%
\immediate\write18{\minted@hashcmd}%
\input{\minted@outputdir\jobname.mintedmd5}%
\fi
\ifwindows
\edef\minted@infile{%
\minted@cachedir@windows\@backslashchar\minted@hash.pygtex}%
\else
\edef\minted@infile{%
\minted@cachedir/\minted@hash.pygtex}%
\fi
\IfFileExists{\minted@cachedir/\minted@hash.pygtex}{}{%
\ifthenelse{\boolean{minted@autogobble}}{%
%Need a version of open() that supports encoding under Python 2
\edef\minted@autogobblecmd{%
\detokenize{python -c "import sys;
import textwrap;
from io import open;
f = open(\"}\minted@outputdir#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\");
t = f.read();
f.close();
f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\");
f.write(textwrap.dedent(t));
f.close();"}%
}%
\immediate\write18{\minted@autogobblecmd}}{}%
\immediate\write18{\minted@cmd}}%
\expandafter\minted@addcachefile\expandafter{\minted@hash.pygtex}%
\minted@inputpyg}%
{%
\ifthenelse{\boolean{minted@autogobble}}{%
%Need a version of open() that supports encoding under Python 2
\edef\minted@autogobblecmd{%
\detokenize{python -c "import sys;
import textwrap;
from io import open;
f = open(\"}\minted@outputdir#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\");
t = f.read();
f.close();
f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\");
f.write(textwrap.dedent(t));
f.close();"}%
}%
\immediate\write18{\minted@autogobblecmd}}{}%
\immediate\write18{\minted@cmd}%
\minted@inputpyg}%
}
\newcommand{\minted@inputpyg}{%
\ifthenelse{\equal{\minted@optcmd@bgcolor}{}}%
{}%
{\begin{minted@colorbg}{\minted@optcmd@bgcolor}}%
\input{\minted@outputdir\minted@infile}%
\ifthenelse{\equal{\minted@optcmd@bgcolor}{}}%
{}%
{\end{minted@colorbg}}%
}
\newcounter{minted@FancyVerbLineTemp}
\newcommand{\minted@langlinenoson}{%
\ifcsname c@minted@lang\minted@lang\endcsname\else
\newcounter{minted@lang\minted@lang}%
\fi
\setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}%
\setcounter{FancyVerbLine}{\value{minted@lang\minted@lang}}%
}
\newcommand{\minted@langlinenosoff}{%
\setcounter{minted@lang\minted@lang}{\value{FancyVerbLine}}%
\setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}%
}
\ifthenelse{\boolean{minted@langlinenos}}{}{%
\let\minted@langlinenoson\relax
\let\minted@langlinenosoff\relax
}
\newcommand{\setminted}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\setkeys{minted@optg}{#2}}%
{\def\minted@lang{#1}\setkeys{minted@optlang}{#2}}%
}
\newcommand{\usemintedstyle}[2][]{\setminted[#1]{style=#2}}
\newrobustcmd{\mintinline}[2][]{%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\def\minted@lang{#2}%
\begingroup
\let\do\@makeother\dospecials
\catcode`\{=1
\catcode`\}=2
\catcode`\^^I=\active
\@ifnextchar\bgroup
{\minted@inline@iii}%
{\catcode`\{=12\catcode`\}=12
\minted@inline@i}}
\def\minted@inline@i#1{%
\endgroup
\def\minted@inline@ii##1#1{%
\minted@inline@iii{##1}}%
\begingroup
\let\do\@makeother\dospecials
\minted@inline@ii}
\ifthenelse{\boolean{minted@draft}}%
{\newcommand{\minted@inline@iii}[1]{%
\endgroup
\def\minted@argretok{%
\begingroup
\everyeof{\noexpand}%
\endlinechar-1\relax
\let\do\@makeother\dospecials
\catcode`\ =\active
\catcode`\^^I=\active
\scantokens{#1}%
\endgroup}%
\begingroup
\expandafter\fvset\expandafter{\minted@optg@extra}%
\minted@checklang
\expandafter\let\expandafter\minted@optlang@extra\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\fvset\expandafter{\minted@optlang@extra}%
\expandafter\fvset\expandafter{\minted@optcmd@extra}%
\FV@BeginVBox
\frenchspacing
\FV@SetupFont
\FV@DefineWhiteSpace
\FancyVerbDefineActive
\FancyVerbFormatCom
\FV@ObeyTabsInit
\hbox{\FancyVerbFormatLine{\minted@argretok}}%
\FV@EndVBox
\endgroup}}%
{\newcommand{\minted@inline@iii}[1]{%
\endgroup
\immediate\openout\minted@code\jobname.pyg\relax
\immediate\write\minted@code{\detokenize{#1}}%
\immediate\closeout\minted@code
\begingroup
\RecustomVerbatimEnvironment{Verbatim}{BVerbatim}{}%
\minted@pygmentize{\minted@lang}%
\endgroup}}
\ifthenelse{\boolean{minted@draft}}%
{\newcommand{\mint}[3][]{%
\def\minted@lang{#2}%
\DefineShortVerb{#3}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\minted@langlinenoson
\begingroup
\expandafter\fvset\expandafter{\minted@optg@extra}%
\minted@checklang
\expandafter\let\expandafter\minted@optlang@extra\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\fvset\expandafter{\minted@optlang@extra}%
\expandafter\fvset\expandafter{\minted@optcmd@extra}%
\SaveVerb[aftersave={%
\UndefineShortVerb{#3}%
\let\FV@Line\FV@SV@minted@verb
\FV@VerbatimBegin\FV@PreProcessLine\FV@VerbatimEnd
\endgroup
\UndefineShortVerb{#3}%
\minted@langlinenosoff
\@doendpe\global\@ignorefalse\ignorespaces}]{minted@verb}#3}}%
{\newcommand{\mint}[3][]{%
\def\minted@lang{#2}%
\DefineShortVerb{#3}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\SaveVerb[aftersave={%
\UndefineShortVerb{#3}%
\minted@langlinenoson
\minted@savecode{\FV@SV@minted@verb}%
\minted@pygmentize{#2}%
\minted@langlinenosoff}]{minted@verb}#3}}
\ifthenelse{\boolean{minted@draft}}%
{\newenvironment{minted}[2][]
{\VerbatimEnvironment
\let\FVB@VerbatimOut\minted@FVB@VerbatimOut
\def\minted@lang{#2}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\expandafter\fvset\expandafter{\minted@optg@extra}%
\minted@checklang
\expandafter\let\expandafter\minted@optlang@extra\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\fvset\expandafter{\minted@optlang@extra}%
\expandafter\fvset\expandafter{\minted@optcmd@extra}%
\minted@langlinenoson
\begin{Verbatim}}%
{\end{Verbatim}%
\minted@langlinenosoff}}%
{\newenvironment{minted}[2][]
{\VerbatimEnvironment
\let\FVB@VerbatimOut\minted@FVB@VerbatimOut
\def\minted@lang{#2}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
{\end{VerbatimOut}%
\minted@langlinenoson
\minted@pygmentize{\minted@lang}%
\minted@langlinenosoff}}
\ifthenelse{\boolean{minted@draft}}%
{\newcommand{\inputminted}[3][]{%
\def\minted@lang{#2}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\begingroup
\expandafter\fvset\expandafter{\minted@optg@extra}%
\minted@checklang
\expandafter\let\expandafter\minted@optlang@extra\csname minted@optlang\minted@lang @extra\endcsname
\expandafter\fvset\expandafter{\minted@optlang@extra}%
\expandafter\fvset\expandafter{\minted@optcmd@extra}%
\VerbatimInput{#3}%
\endgroup}}%
{\newcommand{\inputminted}[3][]{%
\def\minted@lang{#2}%
\minted@resetoptcmd
\setkeys{minted@optcmd}{#1}%
\minted@pygmentize[#3]{#2}}}
\newcommand{\newminted}[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@envname{#2code}}
{\def\minted@envname{#1}}
\newenvironment{\minted@envname}
{\VerbatimEnvironment
\begin{minted}[#3]{#2}}
{\end{minted}}
\newenvironment{\minted@envname *}[1]
{\VerbatimEnvironment\begin{minted}[#3,##1]{#2}}
{\end{minted}}}
\newcommand{\newmint}[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@shortname{#2}}
{\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\mint[#3,##1]{#2}##2}}
\newcommand{\newmintedfile}[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@shortname{#2file}}
{\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\inputminted[#3,##1]{#2}{##2}}}
\newcommand{\newmintinline}[3][]{%
\ifthenelse{\equal{#1}{}}%
{\def\minted@shortname{#2inline}}%
{\def\minted@shortname{#1}}%
\expandafter\newrobustcmd\csname\minted@shortname\endcsname{%
\begingroup
\let\do\@makeother\dospecials
\catcode`\{=1
\catcode`\}=2
\@ifnextchar[{\endgroup\minted@inliner[#3][#2]}%
{\endgroup\minted@inliner[#3][#2][]}}%
\def\minted@inliner[##1][##2][##3]{\mintinline[##1,##3]{##2}}%
}
\@ifundefined{minted@float@within}
{\newfloat{listing}{h}{lol}}
{\newfloat{listing}{h}{lol}[\minted@float@within]}
\newcommand{\listingscaption}{Listing}
\floatname{listing}{\listingscaption}
\newcommand{\listoflistingscaption}{List of listings}
\providecommand{\listoflistings}{\listof{listing}{\listoflistingscaption}}
\AtEndOfPackage{%
\ifthenelse{\boolean{minted@draft}}{}{%
\ifnum\pdf@shellescape=1\relax\else
\PackageError{minted}%
{You must invoke LaTeX with the
-shell-escape flag}%
{Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
documentation for more information.}%
\fi
\TestAppExists{pygmentize}
\ifAppExists\else
\PackageError{minted}%
{You must have `pygmentize' installed
to use this package}%
{Refer to the installation instructions in the minted
documentation for more information.}%
\fi
\setminted{style=default}%
}%
}
\AtEndDocument{
\ifx\XeTeXinterchartoks\minted@undefined
\else
\DeleteFile[\minted@outputdir]{\jobname.mintedcmd}%
\DeleteFile[\minted@outputdir]{\jobname.mintedmd5}%
\fi
\DeleteFile[\minted@outputdir]{\jobname.pyg}%
\DeleteFile[\minted@outputdir]{\jobname.out.pyg}%
}
%% \Finale
\endinput
%%
%% End of file `minted.sty'.

Binary file not shown.