WIP: describe stack handling with pictures
This commit is contained in:
parent
28dd1fe2c2
commit
b4f23fdd2f
8 changed files with 815 additions and 366 deletions
|
@ -11,7 +11,10 @@
|
|||
\geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm}
|
||||
|
||||
\usepackage{multirow,tabularx,tabu}
|
||||
\usepackage{ctable,multirow,spreadtab}
|
||||
\usepackage{spreadtab}
|
||||
\usepackage{colortbl}
|
||||
\usepackage[dvipsnames]{xcolor}
|
||||
\usepackage{hhline}
|
||||
|
||||
\usepackage[backend=biber,style=numeric,citestyle=numeric,url=true]{biblatex}
|
||||
\addbibresource{thesis.bib}
|
||||
|
@ -19,23 +22,37 @@
|
|||
%\usepackage[hyphens]{url}
|
||||
\Urlmuskip = 0mu plus 1mu
|
||||
|
||||
\hyphenpenalty=500
|
||||
\tolerance=10000
|
||||
%\hyphenpenalty=1
|
||||
\pretolerance=5000
|
||||
\tolerance=5000
|
||||
%\exhyphenpenalty=1
|
||||
|
||||
\usepackage[numberedsection,toc,numberline,nopostdot]{glossaries}
|
||||
\makenoidxglossaries
|
||||
|
||||
\usepackage{listings}
|
||||
\providecommand*{\listingautorefname}{Listing}
|
||||
\usepackage{minted}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{placeins}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{tikzmark,mindmap}
|
||||
\usetikzlibrary{chains,shapes.arrows, arrows, positioning,decorations.pathreplacing,bending}
|
||||
\usetikzlibrary{calc}
|
||||
\usepackage{smartdiagram}
|
||||
\usepackage{color}
|
||||
|
||||
\usepackage{caption}
|
||||
\usepackage{subcaption}
|
||||
|
||||
\tikzset{/minted/basename/.initial=minted}
|
||||
\appto\theFancyVerbLine{\tikzmark{\pgfkeysvalueof{/minted/basename}\arabic{FancyVerbLine}}}
|
||||
|
||||
\usepackage[parfill]{parskip}
|
||||
|
||||
\usepackage{amsmath}
|
||||
|
||||
\newcommand{\iitemA}{\setlength\itemindent{0pt}\item}
|
||||
\newcommand{\iitemB}{\setlength\itemindent{25pt}\item}
|
||||
\newcommand{\iitemC}{\setlength\itemindent{50pt}\item}
|
||||
\usepackage{etoolbox}
|
||||
|
||||
\newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}
|
||||
|
||||
|
@ -103,9 +120,13 @@
|
|||
\titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{0.5cm}{}
|
||||
|
||||
\usepackage{hyperref}
|
||||
\usepackage{cleveref}
|
||||
|
||||
\makeatletter
|
||||
|
||||
\newcommand{\cnameref}[1]{\cref{#1} \textit{(\nameref{#1})}}
|
||||
\newcommand{\Cnameref}[1]{\Cref{#1} \textit{(\nameref{#1})}}
|
||||
|
||||
%\renewcommand\paragraph{\startsection{paragraph}{4}{\z}%
|
||||
% {-3.25ex\plus -1ex \minus -.2ex}%
|
||||
% {0.0001pt \plus 0.2ex}%
|
||||
|
@ -114,6 +135,60 @@
|
|||
{-3.25ex\plus -1ex \minus -.2ex}%
|
||||
{0.0001pt \plus 0.2ex}%
|
||||
{\normalfont\normalsize\bfseries}}
|
||||
|
||||
\newcommand{\iitemA}{\setlength\itemindent{0pt}\item}
|
||||
\newcommand{\iitemB}{\setlength\itemindent{25pt}\item}
|
||||
\newcommand{\iitemC}{\setlength\itemindent{50pt}\item}
|
||||
|
||||
\let\Partmark\partmark
|
||||
\def\partmark#1{\def\Partname{#1}\Partmark{#1}}
|
||||
\let\Chaptermark\chaptermark
|
||||
\def\chaptermark#1{\def\Chaptername{#1}\Chaptermark{#1}}
|
||||
\let\Sectionmark\sectionmark
|
||||
\def\sectionmark#1{\def\Sectionname{#1}\Sectionmark{#1}}
|
||||
\let\Subsectionmark\subsectionmark
|
||||
\def\subsectionmark#1{\def\Subsectionname{#1}\Subsectionmark{#1}}
|
||||
\let\Subsubsectionmark\subsubsectionmark
|
||||
\def\subsubsectionmark#1{\def\Subsubsectionname{#1}\Subsubsectionmark{#1}}
|
||||
|
||||
|
||||
\newenvironment{compactminted}{%
|
||||
\VerbatimEnvironment
|
||||
\let\FV@ListVSpace\relax
|
||||
\begin{minted}}%
|
||||
{\end{minted}}
|
||||
|
||||
\tikzset{west above/.code=\tikz@lib@place@handle@{#1}{south west}{0}{1}{north west}{1}}
|
||||
\tikzset{west below/.code=\tikz@lib@place@handle@{#1}{north west}{0}{-1}{south west}{1}}
|
||||
\tikzset{east above/.code=\tikz@lib@place@handle@{#1}{south east}{0}{1}{north east}{1}}
|
||||
\tikzset{east below/.code=\tikz@lib@place@handle@{#1}{north east}{0}{-1}{south east}{1}}
|
||||
|
||||
% Tikzmark code helpers {
|
||||
\newcommand{\tikzmarkprefix}{\pgfkeysvalueof{/tikz/tikzmark prefix}}
|
||||
\newcommand{\tikzmarkcountprep}[1]{%
|
||||
\tikzset{tikzmark prefix=#1}%
|
||||
%\tikzset{tikzmark prefixes/#1/counter/.initial=0}%
|
||||
\newcounter{Tikzcounter#1}%
|
||||
}
|
||||
\newcommand{\tikzmarkcount}[1][\tikzmarkprefix]{%
|
||||
\stepcounter{Tikzcounter#1}%
|
||||
\tikzmark{\arabic{Tikzcounter#1}}%
|
||||
}
|
||||
\newcommand{\tikzmarkgetcount}[1][\tikzmarkprefix]{%
|
||||
\expandafter\arabic\expandafter{Tikzcounter#1}%
|
||||
}
|
||||
\newcommand{\tikzmarkcircle}[1]{%
|
||||
\tikz[baseline=-0.77ex]\fill circle[fill=black,radius=1.1ex] node[font=\small,color=white]{#1};
|
||||
}
|
||||
\newcommand{\tikzmarkdrawcircles}{%
|
||||
\begin{tikzpicture}[remember picture,overlay]
|
||||
\foreach \x in {1,...,\expandafter\arabic\expandafter{Tikzcounter\expandafter\tikzmarkprefix}}
|
||||
\fill (pic cs:\x)+(1.3ex,0.5ex) circle[fill=black,radius=1.1ex,anchor=west] node[font=\small,color=white]{$\x$};
|
||||
\end{tikzpicture}%
|
||||
}
|
||||
|
||||
% }
|
||||
|
||||
\makeatother
|
||||
\include{glossary}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue