summaryrefslogtreecommitdiff
path: root/doc/paper/iacrtrans.cls
diff options
context:
space:
mode:
Diffstat (limited to 'doc/paper/iacrtrans.cls')
-rwxr-xr-xdoc/paper/iacrtrans.cls448
1 files changed, 448 insertions, 0 deletions
diff --git a/doc/paper/iacrtrans.cls b/doc/paper/iacrtrans.cls
new file mode 100755
index 0000000..bf42a75
--- /dev/null
+++ b/doc/paper/iacrtrans.cls
@@ -0,0 +1,448 @@
+% IACR Transactions DOCUMENT CLASS -- version 0.24 (26 August 2016)
+% Written by Gaetan Leurent gaetan.leurent@inria.fr (2016)
+%
+% To the extent possible under law, the author(s) have dedicated all
+% copyright and related and neighboring rights to this software to the
+% public domain worldwide. This software is distributed without any
+% warranty.
+%
+% You should have received a copy of the CC0 Public Domain Dedication
+% along with this software. If not, see
+% <http://creativecommons.org/publicdomain/zero/1.0/>.
+%
+%
+%%% Class options:
+%
+% [preprint] Preprint (no copyright info)
+% [submission] Anonymous submission
+% [spthm] Emulate llncs sptheorem and remove automatic \qed in proof
+% [nohyperref] Disable automatic loading of hyperref
+% [draft]
+%
+%%% HOWTO use this class
+%
+%% Title
+% \title[short]{Long title}
+%
+%% Authors/affiliation:
+% \author{Alice \and Bob}
+% \institute{ABC\\ \email{alice@abc} \and DEF\\ \email{bob@def}}
+%
+%% Keywords/abstract:
+% \keywords{banana \and apple}
+% \begin{abstract}
+% Lorem ipsum dolor sit amet...
+% \end{abstract}
+%
+%% Warnings
+% - please don't use any \pagestyle of \thispagestyle command
+% - if you have proof with explicit \qed inside, you should either
+% remove \qed symbols, replace them by \qedhere, or add option [spthm]
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{iacrtrans}[2016/08/26 v0.24 IACR Transactions Author Class]
+
+% Common definitions
+\def\publname{IACR Transactions on Cryptographic Hardware and Embedded Systems}
+\def\IACR@vol{0}
+\def\IACR@no{0}
+\def\IACR@fp{1}
+\def\IACR@DOI{XXXXXXXX}
+\usepackage{lastpage}
+\def\IACR@lp{\pageref*{LastPage}}
+
+\newcommand{\setfirstpage}[1]{\def\IACR@fp{#1}\setcounter{page}{#1}}
+\newcommand{\setlastpage}[1]{\def\IACR@lp{#1}}
+\newcommand{\setvolume}[1]{\def\IACR@vol{#1}}
+\newcommand{\setnumber}[1]{\def\IACR@no{#1}}
+\newcommand{\setDOI}[1]{\def\IACR@DOI{#1}}
+
+% Options
+\newif\if@loadhr
+\@loadhrtrue
+\DeclareOption{nohyperref}{\@loadhrfalse}
+\newif\if@floatrow
+\@floatrowfalse
+\DeclareOption{floatrow}{\@floatrowtrue}
+\newif\if@submission
+\@submissionfalse
+\newif\if@preprint
+\@preprintfalse
+\DeclareOption{final}{\PassOptionsToClass{\CurrentOption}{article}} % Default
+\DeclareOption{preprint}{\@preprinttrue}
+\DeclareOption{submission}{\@submissiontrue}
+\DeclareOption{draft}{\@preprinttrue\PassOptionsToClass{\CurrentOption}{article}}
+\newif\if@spthm
+\@spthmfalse
+\DeclareOption{spthm}{\@spthmtrue}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions\relax
+
+% article class with a4paper
+\LoadClass[10pt,twoside]{article}[2007/10/19]
+
+% Geometry
+\RequirePackage[a4paper,hscale=0.65,vscale=0.75,marginratio=1:1]{geometry}
+
+% Title fonts: bf+sf
+\RequirePackage{sectsty}
+\allsectionsfont{\sffamily\boldmath}
+% Also for descrptions
+\renewcommand*\descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries\sffamily #1}
+
+
+% Title/Author/affiliations
+\def\@institute{No institute given.}
+\newcommand{\institute}[1]{\gdef\@institute{#1}}
+\newcommand{\authorrunning}[1]{\gdef\IACR@runningauthors{#1}}
+\newcommand{\titlerunning}[1]{\gdef\IACR@runningtitle{#1}}
+
+\newcounter{IACR@author@cnt}
+\newcounter{IACR@inst@cnt}
+\newif\if@IACR@autoinst
+\@IACR@autoinsttrue
+\def\IACR@author@last{0}
+
+\renewcommand\maketitle{\par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{%
+ \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \thispagestyle{title}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\@thanks\@empty
+% \global\let\@author\@empty
+ \global\let\@date\@empty
+% \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+\def\@maketitle{%
+ % Count authors and affiliations
+ \setcounter{IACR@author@cnt}{1}%
+ \setcounter{IACR@inst@cnt}{1}%
+ \setbox0\hbox{\def\thanks##1{\global\@IACR@autoinstfalse}\def\inst##1{\global\@IACR@autoinstfalse}\def\and{\stepcounter{IACR@author@cnt}}\@author}%
+ \setbox0\hbox{\def\and{\stepcounter{IACR@inst@cnt}}\@institute}%
+ \xdef\IACR@author@last{\theIACR@author@cnt}%
+ \edef\IACR@inst@last{\theIACR@inst@cnt}%
+ \ifnum\IACR@author@last=\IACR@inst@last\else\@IACR@autoinstfalse\fi
+ \ifnum\IACR@author@last=1 \@IACR@autoinstfalse\fi
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let \footnote \thanks
+ {\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ {\LARGE \bfseries\sffamily\boldmath \@title\par}
+ \ifdefined\@subtitle\vskip .5em{\large\sffamily\bfseries\@subtitle\par}\fi}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \if@submission
+ Anonymous Submission
+ \else
+ \setcounter{IACR@author@cnt}{1}%
+ \def\and{\if@IACR@autoinst\inst{\theIACR@author@cnt} \fi
+ \stepcounter{IACR@author@cnt}%
+ \ifnum\theIACR@author@cnt=\IACR@author@last\unskip\space and \ignorespaces\else\unskip, \ignorespaces\fi}
+ \@author\if@IACR@autoinst\inst{\theIACR@author@cnt}\fi
+ \vskip 1em\par
+ \small
+ \setcounter{IACR@author@cnt}{1}%
+ \def\and{\par\stepcounter{IACR@author@cnt}$^\theIACR@author@cnt$~}
+ \ifnum\IACR@inst@last>1 $^1$~\fi
+ \@institute
+ \fi
+ }%
+ \end{center}%
+ \par
+ \vskip 1.5em}
+
+\def\IACR@runningauthors{
+ \def\thanks##1{}%
+ \def\inst##1{}%
+ \def\fnmsep{}%
+ \def\\{}%
+ \def\footnote##1{}%
+ \setcounter{IACR@author@cnt}{1}%
+ \def\and{\stepcounter{IACR@author@cnt}%
+ \ifnum\theIACR@author@cnt=\IACR@author@last\unskip\space and \ignorespaces\else\unskip, \ignorespaces\fi}
+ \@author}
+
+\def\IACR@runningtitle{%
+ \def\thanks##1{}%
+ \def\fnmsep{}%
+ \def\\{}%
+ \def\footnote##1{}%
+ \@title}
+
+\def\author{\@ifnextchar[{\IACR@@@author}{\IACR@@author}}
+\def\IACR@@@author[#1]#2{\authorrunning{#1}\gdef\@author{#2}}
+\def\IACR@@author#1{\gdef\@author{#1}}
+
+\if@submission
+\gdef\@author{Anonymous Submission to \publname}
+\renewcommand{\author}[2][]{}
+\renewcommand{\authorrunning}[1]{}
+\renewcommand{\institute}[2][]{}
+\fi
+
+
+\def\title{\@ifnextchar[{\IACR@@@title}{\IACR@@title}}
+\def\IACR@@@title[#1]#2{\gdef\@title{#2}\titlerunning{#1}}
+\def\IACR@@title#1{\gdef\@title{#1}}
+
+\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}}
+
+\newcommand{\inst}[1]{\unskip$^{#1}$}
+\def\fnmsep{\unskip$^,$}
+
+
+% Head/foot
+\RequirePackage{fancyhdr}
+\RequirePackage{graphicx}
+\fancypagestyle{title}{%
+\fancyhf{} % clear all header and footer fields
+\if@submission\else\if@preprint\else
+\fancyfoot[L]{\small Licensed under \href{http://creativecommons.org/licenses/by/4.0/}{Creative Commons License CC-BY 4.0.}\\
+\publname{} Vol.~\IACR@vol, No.\IACR@no, pp.\IACR@fp---\IACR@lp, \href{https://doi.org/\IACR@DOI}{DOI:\IACR@DOI}}
+\fancyfoot[R]{\includegraphics[height=2ex]{CC-by}}
+\if@loadhr
+ \hypersetup{pdfcopyright={Licensed under Creative Commons License CC-BY 4.0.}}
+ \hypersetup{pdflicenseurl={http://creativecommons.org/licenses/by/4.0/}}
+ \hypersetup{pdfsubject={IACR Transactions on Symmetric Cryptology}}
+ \hypersetup{pdflang=en}
+\fi
+\fi\fi
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}}
+\fancyhf{} % clear all header and footer fields
+\fancyhead[RO,LE]{\thepage}
+\fancyhead[RE]{\IACR@runningtitle}
+\fancyhead[LO]{\IACR@runningauthors}
+\renewcommand{\markboth}[2]{}
+\pagestyle{fancy}
+
+\def\subtitle#1{\gdef\@subtitle{#1}}
+
+%Abstract style, keywords
+\def\@IACR@keywords{No keywords given.}
+
+\def\keywords{\@ifnextchar[{\IACR@@@keywords}{\IACR@@keywords}}
+\def\IACR@@@keywords[#1]#2{\gdef\@IACR@PDFkeywords{#1}\gdef\@IACR@keywords{#2}}
+\def\IACR@@keywords#1{\gdef\@IACR@keywords{#1}}
+
+\renewenvironment{abstract}{%
+ \small\quotation\setlength{\parindent}{0pt}\noindent
+ \textbf{\textsf{Abstract.}}}
+ {\smallskip\par\textbf{\textsf{Keywords:}}
+ \def\and{\unskip\space\textperiodcentered\space\ignorespaces}\@IACR@keywords
+ \endquotation%
+ \if@loadhr
+ %% PDF keywords
+ \def\and{, }%
+ \def\thanks##1{}%
+ \def\footnote##1{}%
+ \def\inst##1{}%
+ \def\fnmsep{}%
+ \def\\{}%
+ \def\zap@comma@space##1 ,##2{%
+ ##1%
+ \ifx##2\@empty\else, \expandafter\zap@comma@space\fi
+ ##2}
+ \ifdefined\@IACR@PDFkeywords
+ \hypersetup{pdfkeywords=\@IACR@PDFkeywords}
+ \else
+ \protected@edef\@tmp{\expandafter\@IACR@keywords}
+ \protected@edef\@tmp{\expandafter\zap@comma@space\@tmp{} ,\@empty}
+ \hypersetup{pdfkeywords=\@tmp}
+ \fi
+ %% PDF author
+ \def\zap@one,##1{}
+ \def\zap@last##1,##2{\ifx##1\@empty\else\space and ##1\expandafter\zap@one\fi}
+ \def\zap@last@comma##1,##2,##3{%
+ ##1%
+ \ifx##3\@empty%
+ \expandafter\zap@last\else
+ ,\expandafter\zap@last@comma\fi%
+ ##2,##3}
+ \def\zap@dbl@space##1 ##2{%
+ ##1%
+ \ifx##2\@empty\else\space\expandafter\zap@dbl@space##2\fi}
+ \protected@edef\@tmp{\expandafter\@author}
+ % \protected@edef\@tmp{\expandafter\IACR@runningauthors}
+ \protected@edef\@tmp{\expandafter\zap@last@comma\@tmp,\@empty,\@empty}
+ \protected@edef\@tmp{\expandafter\zap@comma@space\@tmp{} ,\@empty}
+ \protected@edef\@tmp{\expandafter\zap@dbl@space\@tmp{} \@empty}
+ \hypersetup{pdfauthor=\@tmp}
+ %% PDF title
+ \hypersetup{pdftitle=\IACR@runningtitle}
+ \fi
+}
+
+
+% Hyperref
+\if@loadhr
+ \RequirePackage{xcolor}
+ \RequirePackage{etoolbox}
+ \AtEndPreamble{
+ \@ifpackageloaded{hyperref}{}{\usepackage{hyperref}}
+ \@ifpackageloaded{hyperxmp}{}{\usepackage{hyperxmp}}
+ \hypersetup{colorlinks=true,
+ citecolor=black!70!green,
+ linkcolor=black!70!red}
+ }
+ \setcounter{tocdepth}{2}
+\fi
+% autoref: capitals for Sections, and adding Algorithm
+\def\equationautorefname{Equation}%
+\def\footnoteautorefname{footnote}%
+\def\itemautorefname{item}%
+\def\figureautorefname{Figure}%
+\def\tableautorefname{Table}%
+\def\partautorefname{Part}%
+\def\appendixautorefname{Appendix}%
+\def\chapterautorefname{Chapter}%
+\def\sectionautorefname{Section}%
+\def\subsectionautorefname{Subsection}%
+\def\subsubsectionautorefname{Subsubsection}%
+\def\paragraphautorefname{paragraph}%
+\def\subparagraphautorefname{subparagraph}%
+\def\FancyVerbLineautorefname{line}%
+\def\theoremautorefname{Theorem}%
+\def\pageautorefname{page}%
+\def\algorithmautorefname{Algorithm}
+
+% AMS math
+\RequirePackage{amsmath,amssymb,amsthm}
+\RequirePackage{mathtools}
+\theoremstyle{definition}
+\newtheorem{definition}{Definition}
+\newtheorem{example}{Example}
+\newtheorem{exercise}{Exercise}
+\newtheorem{property}{Property}
+\newtheorem{question}{Question}
+\newtheorem{solution}{Solution}
+
+\theoremstyle{plain}
+\newtheorem{theorem}{Theorem}
+\newtheorem{proposition}{Proposition}
+\newtheorem{problem}{Problem}
+\newtheorem{lemma}{Lemma}
+\newtheorem{conjecture}{Conjecture}
+\newtheorem{corollary}{Corollary}
+\newtheorem*{claim}{Claim}
+
+\theoremstyle{remark}
+\newtheorem{remark}{Remark}
+\newtheorem{note}{Note}
+\newtheorem{case}{Case}
+
+\theoremstyle{plain}
+
+%Emulate LLNCS spnewtheorem
+\if@spthm
+\def\spnewtheorem{\@ifstar{\IACR@spstar}{\IACR@sp}}
+\def\IACR@spstar#1#2#3#4{\newtheorem*{#1}{#2}}
+\def\IACR@sp#1{\@ifnextchar[{\IACR@sp@b{#1}}{\IACR@sp@a{#1}}}
+\def\IACR@sp@a#1#2[#3]#4#5{\newtheorem{#1}{#2}[#3]}
+\def\IACR@sp@b#1[#2]#3#4#5{\newtheorem{#1}[#2]{#3}}
+\renewcommand{\pushQED}[1]{}
+\fi
+
+% Floats and captions
+\if@floatrow
+\RequirePackage{floatrow}
+\floatsetup[table]{style=Plaintop}
+\RequirePackage{caption}
+\captionsetup{labelfont={sf,bf}}
+\else
+\RequirePackage{float}
+\newcommand\fs@iacrabove{%
+ % Swap \abovecaptionskip and \belowcaptionskip
+ \addtolength\abovecaptionskip{-\belowcaptionskip}
+ \addtolength\belowcaptionskip{\abovecaptionskip}
+ \addtolength\abovecaptionskip{-\belowcaptionskip}
+ \setlength\abovecaptionskip{-\abovecaptionskip}
+ \fs@plaintop%
+ \def\@fs@cfont{\sffamily\bfseries}}
+\newcommand\fs@iacrbelow{%
+ \fs@plain%
+ \def\@fs@cfont{\sffamily\bfseries}}
+\floatstyle{iacrabove}
+\restylefloat{table}
+\floatstyle{iacrbelow}
+\restylefloat{figure}
+\fi
+
+% Extra commands
+\def\email{\@ifnextchar[{\IACR@@email}{\IACR@email}}
+\if@loadhr
+\def\IACR@@email[#1]#2{\href{mailto:#1}{\nolinkurl{#2}}}
+\def\IACR@email#1{\href{mailto:#1}{\nolinkurl{#1}}}
+\else
+\RequirePackage{url}
+\def\IACR@@email[#1]#2{\url{#2}}
+\def\IACR@email#1{\url{#1}}
+\fi
+
+% Line # for submission
+\newcommand\linenomathWithnumbersforAMS{%
+ \ifLineNumbers
+%% \ifx\@@par\@@@par\else
+ \ifnum\interlinepenalty>-\linenopenaltypar
+ \global\holdinginserts\thr@@
+ \advance\interlinepenalty \linenopenalty
+ \ifhmode % v4.3
+ \advance\predisplaypenalty \linenopenalty
+ \fi
+%% \advance\postdisplaypenalty \linenopenalty
+ \advance\interdisplaylinepenalty \linenopenalty
+ \fi
+ \fi
+ \ignorespaces
+ }
+
+\if@submission
+\RequirePackage[mathlines]{lineno}
+\linenumbers
+\def\linenumberfont{\normalfont\tiny\sffamily\color{gray}}
+
+% Taken from http://phaseportrait.blogspot.fr/2007/08/lineno-and-amsmath-compatibility.html
+\newcommand*\patchAmsMathEnvironmentForLineno[1]{%
+ \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname
+ \renewenvironment{#1}%
+ {\linenomathWithnumbersforAMS\csname old#1\endcsname}%
+ {\csname oldend#1\endcsname\endlinenomath}}%
+\newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{%
+ \patchAmsMathEnvironmentForLineno{#1}%
+ \patchAmsMathEnvironmentForLineno{#1*}}%
+\AtBeginDocument{%
+%\patchBothAmsMathEnvironmentsForLineno{equation}%
+\patchBothAmsMathEnvironmentsForLineno{align}%
+\patchBothAmsMathEnvironmentsForLineno{flalign}%
+\patchBothAmsMathEnvironmentsForLineno{alignat}%
+\patchBothAmsMathEnvironmentsForLineno{gather}%
+\patchBothAmsMathEnvironmentsForLineno{multline}%
+}
+\fi
+
+% Microtype
+\RequirePackage{microtype}
+
+% Fonts
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}