Skip to content
Snippets Groups Projects
Commit f19d763f authored by Jost Rossel's avatar Jost Rossel
Browse files

Add templates

parent 8678c37d
No related branches found
No related tags found
No related merge requests found
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-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
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# 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
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib
File added
File added
@string{ieee-oakland = "IEEE Symposium on Security and Privacy"}
@string{acm-ccs = "ACM Conference on Computer and Communications Security (CCS)"}
@string{isoc-ndss = "Symposium on Network and Distributed System Security (NDSS)
"}
@string{raid = "Symposium on Recent Advances in Intrusion Detection (RAID)"}
@string{esorics = "European Symposium on Research in Computer Security (ESORICS)
"}
@string{acsac = "Annual Computer Security Applications Conference (ACSAC)"}
@string{usenix-security = "USENIX Security Symposium"}
@string{usenix-nsdi = "USENIX Symposium on Networked Systems Design and
Implementation (NSDI)"}
@string{usenix-hotbots = "USENIX Workshop on Hot Topics in Understanding Botnet"}
@string{usenix-leet = "USENIX Workshop on Large-Scale Exploits and Emergent
Threats (LEET)"}
@string{usenix-woot = "USENIX Workshop on Offensive Technologies (WOOT)"}
@string{usenix-sruti = "USENIX Workshop on Steps to Reducing Unwanted Traffic on
the Internet (SRUTI)"}
@string{usenix-atc = "USENIX Annual Technical Conference"}
@string{acm-popl = "ACM Symposium on Principles of Programming Languages (POPL)"}
@string{ieee-infocom-mc = "IEEE Conference on Computer Communications (INFOCOM)"}
@string{ieee-dcs = "IEEE Conference on Distributed Computing Systems"}
@string{acm-imc = "ACM SIGCOMM Conference on Internet Measurement"}
@string{dimva = "Detection of Intrusions and Malware, and Vulnerability
Assessment (DIMVA)"}
% article {author, title, journal, year}[volume, number, pages, month, note]
% inproceedings {author, title, booktitle, year}[editor, volume oder number, series, pages, address, month, organization, publisher, note]
% manual {title, address}[author, organization, edition, month, year, note]
% misc {}[author, title, howpublished, month, year, note]
% techreport {author, title, institution, year}[type, note, number, address, month]
% As of now you can use the url and urldate on every type to ease the inclusion of urls
@article{Xie:2008:SBS,
author = {Y. Xie and F. Yu and K. Achan and R. Panigrahy and G. Hulten and I.
Osipkov},
title = {{Spamming Botnets: Signatures and Characteristics}},
journal = {ACM SIGCOMM Computer Communication Review},
volume = {38},
number = {4},
year = {2008},
}
@inproceedings{Newsome:05:DTA,
author = {J. Newsome and D. Song},
title = {{Dynamic Taint Analysis for Automatic Detection, Analysis, and
SignatureGeneration of Exploits on Commodity Software}},
booktitle = isoc-ndss,
year = {2005},
}
@misc{msc:correctuse,
author = {{Rohde \& Schwarz}},
title = {{D}er korrekte {U}mgang mit {G}r\"{o}\ss{}en,\ {E}inheiten und {G}leichungen},
url = {
http://www.rohde-schwarz.de/ps/rus/tools/show_8437_document/Der_korrekte_Umgang.pdf
},
urldate = {\today},
}
%%%%%%%%%%%
% ACRONYM %
%%%%%%%%%%%
\newacronym[]{ua}{UA}{User-Agent}
\newacronym{aes}{AES}{Advanced Encryption Standard}
%%%%%%%%%%%
% GLOSSAR %
%%%%%%%%%%%
\newglossaryentry{xss}{%
name={XSS},
description={Cross-Site-Scripting is a web application vulnerability which tries to execute an attacker script within the context of the website owner within the user's browser},
}
% Set document variables
\author{Insert your name here}
\title{Insert title here}
\def\type{Seminar}
% \def\type{Proseminar}
\def\originalPaper{Xie:2008:SBS}% the citation key of the paper that your seminar paper is based on
% leave empty (not even a space) if your work is not based on a single primary paper
% \englishfalse% if document should be german
\englishtrue% if document should be english
\def\ResearchGroup{System Security}
\def\Supervisor{Prof.~Dr.-Ing.~Juraj Somorovsky}
% Overwrite/Set date here
%\day=6 \month=6 \year=2012
\date{\today}
\setcounter{tocdepth}{3} % Table of contents includes sections up to: Subsubsection
\setcounter{secnumdepth}{3} % Sections are numbered up to: Subsubsection
% Load packages
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\ifenglish%
\usepackage[english]{babel}
\else
\usepackage[ngerman]{babel}
\fi
\usepackage{lmodern}
\usepackage{ifpdf}
\usepackage{ifthen}
% Corporate Design
\usepackage{eso-pic} % used to set the border on the title page
\usepackage{color}
% defining the UPB-colors
\definecolor{upbblue}{RGB}{0,32,91}
\definecolor{upbgray}{RGB}{85,85,85}
\definecolor{upblightgray}{RGB}{230,232,230}
\definecolor{upbred}{RGB}{215,51,103}
\definecolor{upbgreen}{RGB}{164,196,36}
\definecolor{upbcyan}{RGB}{24,176,226}
\definecolor{upborange}{RGB}{242,149,18}
\definecolor{upbcassis}{RGB}{169,57,131}
\definecolor{upblightblue}{RGB}{0,127,185}
% Figures
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{placeins}
\graphicspath{{images/}{figures/}}
% Tables
\usepackage{booktabs}
\usepackage{marvosym}
\usepackage{multirow}
% Math stuff and units
\usepackage{latexsym, amsmath, amssymb, amsfonts, upgreek}
\usepackage{siunitx}
\newcommand{\mathup}{\mathrm}
% Glossary
\usepackage[nonumberlist, acronym, toc]{glossaries}
% Enable quotes by \enquote{}
\usepackage[autostyle, english=american, german=quotes]{csquotes}
% Necessary for frontpage, allows to create automata and fancy graphics
\usepackage{tikz}
% Protocols and bytefields
\makeatletter
\def\input@path{{./misc/}}
\makeatother
\usepackage{protocol}
\usepackage{bytefield}
% Source code listings
\newcommand{\code}[1]{\texttt{#1}}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{rgb}{0.5,0.5,0.5}
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colString}{rgb}{0,0.6,0}
\usepackage{caption}
\usepackage{listings}
\lstset{%
float=hbp,%
basicstyle=\ttfamily\scriptsize, %
identifierstyle=\color{colIdentifier}, %
keywordstyle=\color{colKeys}, %
stringstyle=\color{colString}, %
commentstyle=\color{colComments}, %
columns=flexible, %
tabsize=2, %
aboveskip={1.5\baselineskip}, %
frame=single, %
extendedchars=true, %
showspaces=false, %
showstringspaces=false, %
numberstyle=\tiny, %
breaklines=true, %
backgroundcolor=, %
breakautoindent=true, %
captionpos=b%
}
\makeatletter
\@ifclassloaded{scrreprt}{%
% Algorithms
\usepackage[ruled, vlined, linesnumbered, algochapter, algo2e]{algorithm2e}
% Format page foot and header
\usepackage{scrlayer-scrpage}
\clearscrheadings%
\clearscrheadfoot%
\automark[section]{chapter}
\ohead{\pagemark}
\ihead{\headmark}
\pagestyle{scrheadings}
}{%
\usepackage[ruled, vlined, linesnumbered, algo2e]{algorithm2e}
\pagestyle{plain}
}
\makeatother
% use some standards for mathematical expressions:
\newcommand{\red}{{\rm red}}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
% \newtheorem{definition}[theorem]{Definition}
\newtheorem{algorithm}[theorem]{Algorithm}
\newenvironment{example}{\begin{quote}{\bf Example:}}{\end{quote}}
% bibliography
% we don't use biber, because we it is very slow when parsing cryptobib and rfcbib
\usepackage[backend=bibtex]{biblatex}
\addbibresource{literature/literature.bib}
\addbibresource{literature/cryptobib/crypto.bib}
\addbibresource{literature/rfcbib/data/rfc.bib}
\usepackage{url}
\def\UrlBreaks{\do\/\do-}
% gray definition boxes, that way you'll find them in the text
\usepackage{shadethm}
\newshadetheorem{sthm}[figure]{Definition}
\newenvironment{definition}[1][]{%
\definecolor{shadethmcolor}{rgb}{.9,.9,.9}%
\begin{sthm}[#1]%
}{%
\end{sthm}%
}
% apparently some packages used here utilize deprecated KOMA-Script functionalities
% scrhack ensures, that those packages don't break suddenly and removes the deprecation warnings from the log
\usepackage{scrhack}
% Hyperlinks and menu for your document
\usepackage[%
breaklinks,%
hyperindex,%
colorlinks,%
anchorcolor=black,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
menucolor=black,%
urlcolor=black,%
pdftex%
]{hyperref} % pagebackref: Add page number to the references where they can be found
\input{misc/custom_preamble.tex}
% set autoref names
\addto\extrasenglish{%
\renewcommand{\chapterautorefname}{Chapter}%
\renewcommand{\sectionautorefname}{Section}%
\renewcommand{\subsectionautorefname}{Section}%
\renewcommand{\subsubsectionautorefname}{Section}%
\renewcommand{\paragraphautorefname}{Paragraph}%
\renewcommand{\subparagraphautorefname}{Paragraph}%
\renewcommand{\appendixautorefname}{Appendix}%
}
% DO NOT LOAD ANY OF YOUR PACKAGES BEYOND THIS PACKAGE
\makeatletter
\AtBeginDocument{
\hypersetup{
pdftitle = {\@title},
pdfauthor = {\@author},
pdfsubject={\@title},
}
}
\makeatother
% Use the same counter for tables and figures
\makeatletter
\AtBeginDocument{
\let\c@table\c@figure
\let\c@lstlisting\c@table
\let\c@algocf\c@lstlisting
}
\makeatother
\ifpdf
\hypersetup{linktocpage=false} % false=links are section names, true=links are page numbers, IMPORTANT: in dvi2ps mode, 'true' is required!
\else
\hypersetup{linktocpage=true} % false=links are section names, true=links are page numbers, IMPORTANT: in dvi2ps mode, 'true' is required!
\usepackage[hyphenbreaks]{breakurl}
\fi
%Ganttchart
\usepackage{pgfgantt}
%Customizing GanttChart
\definecolor{barblue}{RGB}{153,204,254}
\definecolor{groupblue}{RGB}{51,102,254}
\definecolor{linkred}{RGB}{165,0,33}
\renewcommand\sfdefault{phv}
\renewcommand\mddefault{mc}
\renewcommand\bfdefault{bc}
\setganttlinklabel{s-s}{START-TO-START}
\setganttlinklabel{f-s}{FINISH-TO-START}
\setganttlinklabel{f-f}{FINISH-TO-FINISH}
\sffamily
\ganttset{%
y unit chart=0.6cm,
canvas/.append style={fill=none, draw=black!35, line width=.5pt},
hgrid={*1{draw=black!35, line width=.1pt}},
hgrid style/.style={draw=black!35,line width=.1pt},
vgrid={*1{draw=black!35, line width=.1pt}},
today rule/.style={draw=black!64,dash pattern=on 3.5pt off 4.5pt,line width=1.5pt},
today label font=\small\bfseries,
title/.style={draw=none, fill=none},
title label font=\bfseries\footnotesize,
title label node/.append style={below=7pt},
progress label text={\pgfmathprintnumber[precision=0, verbatim]{#1}\%},
include title in canvas=false,
bar label font=\mdseries\small\color{black!70},
bar label node/.append style={left=0cm},
bar/.append style={draw=none, fill=black!63},
bar incomplete/.append style={fill=barblue},
bar progress label font=\mdseries\footnotesize\color{black!70},
bar height=.8,
bar top shift=0.1,
group top shift=0.1,
group incomplete/.append style={fill=groupblue},
group left shift=0,
group right shift=0,
group height=.8,
group peaks tip position=0,
group label node/.append style={left=.6cm},
group progress label font=\bfseries\small,
link/.style={-latex, line width=1.5pt, linkred},
link label font=\scriptsize\bfseries,
link label node/.append style={below left=-2pt and 0pt}
}
%----------------------------------------------------------------------
% This is: protocol.sty (sirene Version)
% $Id: protocol.sty,v 1.1 2004/06/27 08:56:50 selhorst Exp $
%----------------------------------------------------------------------
% - Original Author: Peter de Rooij, 93/09/06
% - History: See end of file.
%
% Typical usage:
%
% \begin{minipage}{0.9\textwidth}
% \begin{center}
% \begin{protocol}{2}
% \protocolheader{Title of this protocol}\\
% \participants{
% \doesinabox{1st party \\ some more info}}{
% \doesinabox{2nd party \\ some more info}}
% \doesA{$y := x^2$}
% \AtoB{y}
% \doesB{verify if $y=x^2$}
% \AfromB{\mbox{OK!}}
% \doesA{be happy}
% \end{protocol}
% \end{center}
% \end{minipage}
%
%
%----------------------------------------------------------------------
% ARROWFILL WITH \textstyle SUPERSCRIPT.
% use in math-mode:
% \sends{a^b} makes a `rightarrowfill' with $a^b$ on top.
% \Sends[n]{a^b} idem but spans n columns
% \receives{a^b}, \Receives[n]{a^b} idem for leftarrowfill
% \exchange{a^b}, \Exchange[n]{a^b} idem for lefrightarrowfill
%
% \bsends (resp., \bSends) and \breceives (resp., \bReceives) produce
% broken-line versions of sends & receives
%----------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
% This command parses the CVS Date and uses it as the package date
\def\CvsDateToPackage Date: #1/#2/#3 #4:#5:#6 {%
\ProvidesPackage{protocol}[#1/#2/#3 Protocols Style (sirene version)]}
\catcode`\$=9\relax % Now, "$" is ignored
\CvsDateToPackage $Date: 2004/06/27 08:56:50 $ % Here, the CVS Date is parsed and used
\catcode`\$=11\relax % Now "$" is just a normal letter
% Print the CVS Id
\typeout{>>> Protocols Style $Id: protocol.sty,v 1.1 2004/06/27 08:56:50 selhorst Exp $.}
\catcode`\$=3\relax % Now "$" is the math-separator again
\typeout{>>> --- Includes 'boxes.sty'.}
% shorthand for lowering the arrows
\def\@r@al{\raise\arrowlower}
% rulefill made up of lowered $-$'s
\def\@lrulefill{\cleaders\hbox{$\mkern-2mu\@r@al\hbox{$-$}\mkern-2mu$}\hfill}
% broken rulefill made up of lowered $-~$'s
\def\@blrulefill{\cleaders\hbox{$\mkern-2mu\@r@al\hbox{$-~$}\mkern-2mu$}\hfill}
% end of rule (overlaps with arrowheads):
\def\@lendofrule{\@r@al\hbox{$-$}\mkern-4mu}
\def\@rendofrule{\mkern-4mu\@r@al\hbox{$-$}}
% ends of arrows:
\def\@rafill{\mkern-6mu\@lrulefill\@rendofrule\@r@al\llap{$\rightarrow$}}
\def\@lafill{\m@th\@r@al\rlap{$\leftarrow$}\@lendofrule\@lrulefill\mkern-6mu}
\def\@rdfill{\mkern-6mu\@lrulefill\@rendofrule}
\def\@ldfill{\m@th\@lendofrule\@lrulefill\mkern-6mu}
% ends of broken arrows:
\def\@brafill{\mkern-6mu\@blrulefill\@rendofrule\@r@al\llap{$\rightarrow$}}
\def\@blafill{\m@th\@r@al\rlap{$\leftarrow$}\@lendofrule\@blrulefill\mkern-6mu}
\def\@brdfill{\mkern-6mu\@blrulefill\@rendofrule}
\def\@bldfill{\m@th\@lendofrule\@blrulefill\mkern-6mu}
\newdimen\minarrowwidth \minarrowwidth=0pt
\newdimen\arrowwidth
\newdimen\arrowlower \arrowlower=-4pt
\def\@showmessage#1{\setbox\@tempboxa\hbox{$#1$}
\ifdim\wd\@tempboxa<\minarrowwidth
\arrowwidth\minarrowwidth
\else
\arrowwidth\wd\@tempboxa
\fi
\hbox{$\m@th\displaystyle\mathop{\hbox to \arrowwidth
{$\m@th\@lrulefill$}}\limits^{\hfill\box\@tempboxa\hfill}$}}
% for broken arrows
\def\@bshowmessage#1{\setbox\@tempboxa\hbox{$#1$}
\ifdim\wd\@tempboxa<\minarrowwidth
\arrowwidth\minarrowwidth
\else
\arrowwidth\wd\@tempboxa
\fi
\hbox{$\m@th\displaystyle\mathop{\hbox to \arrowwidth
{$\m@th\@blrulefill$}}\limits^{\hfill\box\@tempboxa\hfill}$}}
\def\sends{\@sends}
\def\Sends[#1]#2{\multispan{#1}$\@sends{#2}$}
\def\@sends#1{\@ldfill\@showmessage{#1}\@rafill}
% broken send
\def\bsends{\@bsends}
\def\bSends[#1]#2{\multispan{#1}$\@bsends{#2}$}
\def\@bsends#1{\@bldfill\@bshowmessage{#1}\@brafill}
\def\receives{\@receives}
\def\Receives[#1]#2{\multispan{#1}$\@receives{#2}$}
\def\@receives#1{\@lafill\@showmessage{#1}\@rdfill}
% broken receive
\def\breceives{\@breceives}
\def\bReceives[#1]#2{\multispan{#1}$\@breceives{#2}$}
\def\@breceives#1{\@blafill\@bshowmessage{#1}\@brdfill}
\def\exchange{\@exchange}
\def\Exchange[#1]#2{\multispan{#1}$\@exchange{#2}$}
\def\@exchange#1{\@lafill\@showmessage{#1}\@rafill}
% broken exchange
\def\bexchange{\@bexchange}
\def\bExchange[#1]#2{\multispan{#1}$\@bexchange{#2}$}
\def\@bexchange#1{\@blafill\@bshowmessage{#1}\@brafill}
%----------------------------------------------------------------------
% NARROWING COLUMNS
% \narrowcol{ARG} produces ARG centered in an \hbox that is 2em too
% narrow for its contents. ARG is still in math-mode!
% \Narrowcol does the same with the double amount of shrinking.
% \phantomcol does the same with a column of zero width
% BUG: cannot be used for \send and relatives!
\def\narrowcol#1{\hbox{\hskip-1em$#1$\hskip-1em}}
\def\Narrowcol#1{\hbox{\hskip-2em$#1$\hskip-2em}}
\def\phantomcol#1{\hbox to 0pt{\hss$#1$\hss}}
%----------------------------------------------------------------------
% HANDLING OF SUB-PROTOCOL IN ONE PROTOCOL ENVIRONMENT
% If you have several subprotocols and you would like to show them in
% one figure you don't won't several protocol environments as there
% would be no cross-alignment.
% =>
% just issue \subprotocolcaption for captions of sub-protocols and
% \newparticipants if the participants change
% if you don't have any action and only short flows this might result
% in badly centered flows. You can remedy that by something along the
% lines of: \receives{\hspace*{7em}\Alf^{N_{n+1}}\hspace*{7em}}
\newcommand{\subprotocolcaption}[1]{%
\\[\baselineskip]
\multicolumn{3}{c}{\parbox{0.8\columnwidth}{\centering{#1}}}%
\\[2\baselineskip]}
\def\newparticipants{% initialize:
\noalign{\vspace{1em}}%
% and call standard participants
\participants}
%----------------------------------------------------------------------
% A PROTOCOL ENVIRONMENT.
% args: #1: number of parties
% essentially, an array with # columns depending on the argument.
% furthermore, a macro \participants with the correct number of args
% is defined. \participants{A}{B}[{C}...] puts A resp. B (and C...) centered
% over columns 1 resp. 3 (resp. 5...)
% \protocolheader{#1} puts #1 in an \hbox centered over the entire
% array.
%
% use:
% \begin{protocol}{2}
% \protocolheader{HEADER}\\
% \participants{Alice}{Bob}\\
% y := x^2\\
% & \sends{y}\\
% & & \mbox{verify if $y=x^2$}\\
% & \receives{\mbox{OK!}}\\
% \mbox{be happy}
% \end{protocol}
% yields:
% HEADER
%
% Alice Bob
%
% y=x^2
% y
% ------>
% verify if $y=x^2$
% OK!
% <------
% be happy
%
\newcount\@ncols \@ncols=3
\newcount\@nccols \@nccols=1
\newcount\@nparties \@nparties=2
\newcount\@npartic
\def\protocolheader#1{\multicolumn{\the\@ncols}{c}{\hbox{#1}}\\}
\def\participants{% initialize:
\noalign{\global\@npartic\@nparties\gdef\@more{}}
% and do the real stuff:
\@participants}
\def\@participants#1{% print next participant:
\@more\multicolumn{1}{c}{\hbox{#1}}
% next time, first put in &&:
\gdef\@more{&&}
\global\advance\@npartic by \m@ne
% if there's more to do:
\ifnum\@npartic>0 \let\next\@participants
\else\let\next\\\fi\next
}
\newenvironment{protocol}[1]{% arg: # of parties
\relax\ifnum #1 < 2
\typeout{Only n-party protocols for n>1 implemented!}
\typeout{I'll assume n=2.}
\@nparties=2
\else
\@nparties=#1
\fi
% # of cols = 2 * (# of parties) - 1
\@ncols = \@nparties
\multiply \@ncols by 2
\advance \@ncols by -1
% # of centered cols = 2 * (# of parties) - 3
\@nccols = \@ncols
\advance \@nccols by -2
% arrowwidth based on # of columns:
\minarrowwidth = .5\textwidth
\divide\minarrowwidth by \@ncols
% lower all arrows halfway down to baseline:
\setbox\@tempboxa\hbox{$\leftarrow$}
\arrowlower-.5\ht\@tempboxa
$$\begin{array}{r*{\@nccols}{c}l}
}{\end{array}$$}
\newenvironment{protocolm}[1]{% arg: # of parties
\relax\ifnum #1 < 2
\typeout{Only n-party protocols for n>1 implemented!}
\typeout{I'll assume n=2.}
\@nparties=2
\else
\@nparties=#1
\fi
% # of cols = 2 * (# of parties) - 1
\@ncols = \@nparties
\multiply \@ncols by 2
\advance \@ncols by -1
% # of centered cols = 2 * (# of parties) - 3
\@nccols = \@ncols
\advance \@nccols by -2
% arrowwidth based on # of columns:
\minarrowwidth = .5\textwidth
\divide\minarrowwidth by \@ncols
% lower all arrows halfway down to baseline:
\setbox\@tempboxa\hbox{$\leftarrow$}
\arrowlower-.5\ht\@tempboxa
$$\begin{array}{lr*{\@nccols}{c}l}
}{\end{array}$$}
% ----------------------------------------------------------------
% Start of boxes.sty; no changes made to original file
% ----------------------------------------------------------------
% First version: Matthias Schunter
% Modified by Peter de Rooij: long lines in the boxes now
% not only wrap, but also indent.
% Usages:
% \begin{ocolbox} ... \end{ocolbox}
\newcommand{\ind}{\hspace*{1em}}
\newcommand{\noind}{\hspace*{-1em}}
\newdimen\figurewidth
\figurewidth\textwidth
\newdimen\ocolboxwidth
\newenvironment{ocolbox}%
{%
\ocolboxwidth=0.95\figurewidth%
\divide\ocolboxwidth by \@ncols%
\colboxwidth=\ocolboxwidth%
\advance\colboxwidth by -1em%
\begin{minipage}[t]{\ocolboxwidth}%
\rightskip=0pt plus 1fil
\parskip=0pt
\everypar{\hangindent 1em \hangafter=1}
\let\\\par
}%
{\end{minipage}}
\newdimen\colboxwidth
\newenvironment{colbox}%
{%
\advance\colboxwidth by -1em%
\ind\begin{minipage}[t]{\colboxwidth}%
\setlength{\rightskip}{0pt plus 1fil}%
\everypar{\hangindent 1em \hangafter=1}%
\let\\\par
}%
{\end{minipage}\\}
\newdimen\framewidth
\def\framepage#1{%
\framewidth=\textwidth
\advance\framewidth by -7pt
\advance\framewidth by -\rightmargin
\advance\framewidth by -\leftmargin
\fbox{\begin{minipage}{\framewidth}#1\end{minipage}}%
}
% ----------------------------------------------------------------
% End of boxes.sty; no changes made to original file
% ----------------------------------------------------------------
% ----------------------------------------------------------------
% Some macros to make writing protocols a bit easier.
% Michael Waidner (1999/02/13)
% ----------------------------------------------------------------
% DRAW A HORIZONTAL LINE IN THE MIDDLE OF A PROTOCOL.
\newcommand{\protocolline}{\protocolheader{\rule{0.9\textwidth}{0.1mm}}}
% SPECIFY A PARTY'S PROCESSING STEPS. TEXT MODE. ALLOWS LINE
% BREAKS.
\newcommand{\doesAnb}[1]{\doesinabox{#1}}
\newcommand{\doesBnb}[1]{& & \doesinabox{#1}}
\newcommand{\doesCnb}[1]{& & & & \doesinabox{#1} \\}
\newcommand{\doesA}[1]{\doesinabox{#1} \\}
\newcommand{\doesB}[1]{& & \doesinabox{#1} \\}
\newcommand{\doesC}[1]{& & & & \doesinabox{#1} \\}
\newcommand{\doesinabox}[1]{%
\begin{ocolbox}
\begin{center}
#1
\end{center}
\end{ocolbox}}
% SPECIFY WHAT A PARTY SENDS TO ANOTHER PARTY. MATH MODE. NO
% LINE BREAKS. SOLID AND BROKEN ARROWSu.
%
% X<op>Y{<MSG>} Communication of <MSG> between X and
% Y, with (X,Y) from (A,B), (A,C), (B,C).
% <op> is any of {to,bto,from,bfrom,exchange,bexchange}.
% 'to' and from' generate arrows from X to Y and from Y
% to X, respectively. 'bto' and 'bfrom' do the
% same, but with broken arrows. 'exchange' and
% 'bexchange' is the analogous for lines with
% arrowheads on both sides
% A<op>B<op>C{<MSG1>}{<MSG2>}
% As with X<op>Y, but now between three
% parties. The arrows are in the same row.
\newcommand{\AtoB}[1]{& \sends{#1} \\}
\newcommand{\AfromB}[1]{& \receives{#1} \\}
\newcommand{\AexchangeB}[1]{& \exchange{#1} \\}
\newcommand{\AtoC}[1]{& \Sends[3]{#1} \\}
\newcommand{\AfromC}[1]{& \Receives[3]{#1} \\}
\newcommand{\AexchangeC}[1]{& \Exchange[3]{#1} \\}
\newcommand{\BtoC}[1]{& & & \sends{#1} \\}
\newcommand{\BfromC}[1]{& & & \receives{#1} \\}
\newcommand{\BexchangeC}[1]{& & & \exchange{#1} \\}
\newcommand{\AtoBtoC}[2]{& \sends{#1} & & \sends{#2}\\}
\newcommand{\AtoBfromC}[2]{& \sends{#1} & & \receives{#2}\\}
\newcommand{\AfromBtoC}[2]{& \receives{#1} & & \sends{#2}\\}
\newcommand{\AfromBfromC}[2]{& \receives{#1} & & \receives{#2}\\}
\newcommand{\AbtoB}[1]{& \bsends{#1} \\}
\newcommand{\AbfromB}[1]{& \breceives{#1} \\}
\newcommand{\AbexchangeB}[1]{& \bexchange{#1} \\}
\newcommand{\AbtoC}[1]{& \bSends[3]{#1} \\}
\newcommand{\AbfromC}[1]{& \bReceives[3]{#1} \\}
\newcommand{\AbexchangeC}[1]{& \bExchange[3]{#1} \\}
\newcommand{\BbtoC}[1]{& & & \bsends{#1} \\}
\newcommand{\BbfromC}[1]{& & & \breceives{#1} \\}
\newcommand{\BbexchangeC}[1]{& & & \bexchange{#1} \\}
\newcommand{\AbtoBbtoC}[2]{& \bsends{#1} & & \bsends{#2}\\}
\newcommand{\AbtoBbfromC}[2]{& \bsends{#1} & & \breceives{#2}\\}
\newcommand{\AbfromBbtoC}[2]{& \breceives{#1} & & \bsends{#2}\\}
\newcommand{\AbfromBbfromC}[2]{& \breceives{#1} & & \breceives{#2}\\}
\newcommand{\AbtoBtoC}[2]{& \bsends{#1} & & \sends{#2}\\}
\newcommand{\AbtoBfromC}[2]{& \bsends{#1} & & \receives{#2}\\}
\newcommand{\AbfromBtoC}[2]{& \breceives{#1} & & \sends{#2}\\}
\newcommand{\AbfromBfromC}[2]{& \breceives{#1} & & \receives{#2}\\}
\newcommand{\AtoBbtoC}[2]{& \sends{#1} & & \bsends{#2}\\}
\newcommand{\AtoBbfromC}[2]{& \sends{#1} & & \breceives{#2}\\}
\newcommand{\AfromBbtoC}[2]{& \receives{#1} & & \bsends{#2}\\}
\newcommand{\AfromBbfromC}[2]{& \receives{#1} & & \breceives{#2}\\}
\endinput
% $Log: protocol.sty,v $
% Revision 1.1 2004/06/27 08:56:50 selhorst
% *** empty log message ***
%
% Revision 2.1 2000/06/27 13:39:37 lina
% * Version upgrade to 2.1 (MSc)
%
% Revision 1.2 2000/03/18 00:43:37 lina
% some small additional macros <steiner@acm.org
%
% Revision 1.1 2000/01/24 16:48:41 lina
% split sirene.sty and moved to separate directory <steiner@acm.org>
%
% Revision 1.4 1999/06/15 12:39:06 lina
% Minor changes (MSc)
%
% Revision 1.3 1999/06/15 12:33:56 lina
% Added cvs-support (MSc)
%
% Pre-CVS History:
% - Modified by Juan Garay to support broken arrows
% - Modified by Mihir Bellare to add a new macro protocolm which
% has an extra left hand side column for flow names. July 7, 1995.
% - Modified by Michael Waidner
% - included old boxes.sty as it is needed for most protocols
% anyway
% - added several macros for easier writing of protocols with 2 or
% 3 parties -- see end of file
%
\begin{center}
\includegraphics[width=8cm]{%
\ifenglish%
images/upb_logo_en.pdf%
\else%
images/upb_logo_de.pdf%
\fi%
}\\[0.4cm]
% \rule{12cm}{0.4pt}\\[0.4cm]
\textbf{\Large \type{} Paper}\\[0.5cm]
\begin{minipage}{\textwidth}
\centering\huge\bfseries \makeatletter\textsf{\@title}\makeatother
\end{minipage}\\[0.5cm]
\ifdefempty{\originalPaper}{}{%
Based on the same-named paper by \citeauthor{\originalPaper} from \citeyear{\originalPaper}~\cite{\originalPaper}\\[0.5cm]
}
% \rule{12cm}{0.4pt}\\[0.6cm]
{Research Group \ResearchGroup}\\
{Paderborn, \today}\\[0.5cm]
\begin{minipage}{0.45\textwidth}
\emph{\ifenglish{}Author\else Autor\fi:} \\ \makeatletter\@author\makeatother%
\end{minipage}
\hfill
\begin{minipage}{0.45\textwidth}
\begin{flushright}
\emph{Supervisor:} \\ \Supervisor%
\end{flushright}
\end{minipage}\\[0.4cm]
\rule{12cm}{0.4pt}
\end{center}
paper.pdf 0 → 100644
File added
\newif\ifenglish\englishtrue%
\input{misc/config.tex}
\documentclass[
fontsize=11pt,
paper=a4,
numbers=noenddot,
bibliography=totoc,
]{scrartcl}
\input{misc/preamble}
\input{misc/acronyms.tex}
\begin{document}
\input{misc/seminar_header.tex}
\input{sections/01_intro}
\clearpage
\printbibliography%
\end{document}
\section{Introduction}\label{sec:intro}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment