master-thesis/paper/iacrtrans-tches/iacrtrans/iacrdoc.tex
2021-04-09 19:02:15 +02:00

371 lines
14 KiB
TeX

% IACR Transactions CLASS DOCUMENTATION -- 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/>.
\documentclass[preprint]{iacrtrans}
\usepackage[utf8]{inputenc}
\author{Gaëtan Leurent\inst{1} \and Alice\inst{2} \and Bob\inst{2}}
\institute{Inria, France, \email{gaetan.leurent@inria.fr} \and ACME}
\title[\texttt{iacrtans} class documentation]{\publname}
\subtitle{\LaTeX{} Class Documentation (v. 0.24)}
\begin{document}
\maketitle
% use optional argument because the \LaTeX command breaks the PDF keywords
\keywords[\publname, TCHES, LaTeX]{\publname \and TCHES \and \LaTeX}
\begin{abstract}
This document is a quick introduction to the \LaTeX{} class for the
\publname{}.
\end{abstract}
\section*{Introduction}
The \texttt{iacrtans} \LaTeX{} class will be used by the new
``\publname'' journal. The class is based on standard \LaTeX{}
classes and packages (mainly the \texttt{article} class with
\texttt{amsmath}), and should be similar in use to the \texttt{llncs}
class used for Springer's proceedings. The \LaTeX{} source of this
documentation is meant as an example to show basic usage of the class.
Since we are now preparing the zero-th issue of the journal, the class
is still in development and feedback and comments are welcome.
\subsection*{\textcolor{red!70!black}{FAQ:} Converting \texttt{llncs} papers to \texttt{iacrtrans}}
If you have a paper typeset with the \texttt{llncs} class, conversion
should be relatively easy. The following steps should be sufficient
in most cases (for the submission version):
\begin{enumerate}
\item Replace \verb+\documentclass{llncs}+ with\\ \verb+\documentclass[submission,spthm]{iacrtrans}+;
\item Replace \verb+\bibliographystyle{splncs03}+ with
\verb+\bibliographystyle{alpha}+;
\item Add a \verb+\keywords{}+ command before the abstract, with
keywords separated by \verb+\and+;
\item Remove commands that might override the class style, such as
\verb+\pagestyle{...}+ or \verb+\thispagestyle{...}+,
change of margins (\emph{e.g.} with the \texttt{geometry} package),
change of fonts, ....
\item See also \autoref{sec:biblio} for information about how to
typeset the bibliography.
\end{enumerate}
\section{Main Commands}
\subsection{Title page}
The following commands are used to input informations for the title page.
\paragraph{\texttt{\textbackslash title}} to define the title.
A shorter running title can be given as optional argument.
\paragraph{\texttt{\textbackslash subtitle}} to give an optional
subtitle.
\paragraph{\texttt{\textbackslash author}} to define the author list.
Author names must be delimited by \verb+\and+ macros. If there is one
different affiliation for each author, authors and affiliations will be
numbered automatically. Otherwise, each author name must be followed by
\verb+\inst{...}+ with the corresponding affiliation(s).
A shorter list of authors for the running head can be given as
optional argument.
\paragraph{\texttt{\textbackslash institute}} to give author's affiliation(s).
If there are several affiliations, they must be separated by
\verb+\and+ macros, and will be numbered automatically.
\paragraph{\texttt{\textbackslash keywords}} to give a list of
keywords.
Individual keywords should be separated by the \verb+\and+ macro.
If there are fragile commands in the keywords, use the optional argument
to give a text-only version of the keywords; this will be used for the
PDF meta-data.
\paragraph{\texttt{\textbackslash email}} should be used inside the
\verb+\institute+ argument to typeset author's email address(es). An
optional argument can be given for the hyperlink, if different from the
displayed email. For instance, you can group emails as follows:\\
\verb+\email[alice@foo.com,bob@bob.com]{{alice,bob}@foo.com}+
\paragraph{\texttt{\textbackslash thanks}}
can be used inside the \verb+\title+,
\verb+\author+ or \verb+\institute+ argument to generate a footnote with additional
information, if needed.
\paragraph{\texttt{\textbackslash maketitle}} is used to actually
typeset the title.
\paragraph{The \texttt{abstract} environment} should be used to typeset the abstract.
Note that the keywords should be given before starting the abstract environment.
\subsection{Theorems}
The \texttt{iacrtrans} class uses the \AmS{} packages to typeset
math. In particular, it loads the \texttt{amsthm} package, and
predefines the following environments:
\begin{center}
\ttfamily
\begin{tabular}{l@{\hspace{1cm}}l@{\hspace{1cm}}l}
theorem & definition & remark \\
proposition & example & note \\
problem & exercise & case \\
lemma & property & \\
conjecture & question & \\
corollary & solution & \\
claim & & \\
\end{tabular}
\end{center}
Note that the \texttt{proof} environment automatically adds a QED
symbol at the end of the proof (unless you give option
\texttt{[spthm]} to the \texttt{iacrtrans} class). If the QED symbol
is typeset at a wrong position, you can force its position with
\verb+\qedhere+.
\section{Class options}
\label{sec:options}
\subsection{Publication type}
The class supports four publication types, selected with the
following class options:
\begin{description}
\item[\texttt{[final]}] for final papers (default mode)
\item[\texttt{[preprint]}] for preprints (without copyright info)
\item[\texttt{[submission]}] for submissions (anonymous, with line numbers)
\item[\texttt{[draft]}] is similar to preprint, but activates draft
mode for the underlying \texttt{article} class (which shows overfull hboxes), and other packages
(\emph{e.g.} \texttt{graphicx}, \texttt{hyperref}).
\end{description}
\subsection{Other Options}
\paragraph{\texttt{[spthm]}}
provides theorem environments that emulates
\texttt{llncs} class's \texttt{sptheorem}:
\begin{itemize}
\item A \texttt{\textbackslash spnewtheorem} wrapper is provided
around \AmS{} \texttt{\textbackslash newtheorem}. Note that the
styling options are ignored; you should use standard
\texttt{amsthm} commands for fine control.
\item The \AmS{} \texttt{proof} environment will not automatically add a
QED symbol at the end of the proof.
\end{itemize}
\paragraph{\texttt{[floatrow]}}
uses the \texttt{floatrow} package to customize floats rather than the
plain \texttt{float} package. In particular, this allows to typeset
floats side by side as shown in this example:
\begin{verbatim}
\documentclass[floatrow]{iacrtrans}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\begin{floatrow}
\ffigbox{\includegraphics[width=0.4\textwidth]{1.png}}
{\caption{This is caption 1.}}
\ffigbox{\includegraphics[width=0.4\textwidth]{2.png}}
{\caption{This is caption 2.}}
\end{floatrow}
\end{figure}
\end{document}
\end{verbatim}
The row will be divided equally according to the number of figures, but
you can ask each figure to take its natural space instead with
\verb+\ffigbox[\FBwidth]+. For more advanced use, see the
\texttt{floatrow} documentation.
\paragraph{\texttt{[nohyperref]}}
disables the automatic loading of
\texttt{hyperref}. Use this is if your document fails to compile with
\texttt{hyperref} for some reason.
The \texttt{iacrtrans} class automatically loads \texttt{hyperref}
after all other packages. If you need some packages to be loaded
\emph{after} \texttt{hyperref}, you should load \texttt{hyperref}
explicitly at the correct position, but not use the \texttt{[nohyperref]} option.
\section{Typesetting the Bibliography}
\label{sec:biblio}
% Borrowed from btxdoc.tex
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
Having good bibliographic references is very important for the
visibility of the journal. Since we don't have a commercial editor,
authors need to make sure themselves that references are standardized
and clean. We strongly encourage authors to use \BibTeX{} for the
bibliograpy, using bibliographic data
from \url{http://www.dblp.org} or \url{https://cryptobib.di.ens.fr/}.
We are still working on a good solution for the bibliography, and we
expect to have more specific instructions when producing the final
version of the papers, including a dedicated \BibTeX{} style.
\section{Further instructions}
\paragraph{\LaTeX{} distribution, and worklow.} \LaTeX{}
distributions are available on a variaty of platforms. In particular,
we recommand the \href{https://www.tug.org/texlive/}{TeX Live}
distribution, which is updated regularly, include a large number of
packages, and is available on many platforms.
\begin{description}
\item[Linux:] A LaTeX installation is included in most Linux
distributions. Alternatively,
\href{https://www.tug.org/texlive/}{TeX Live} can be installed
easily without root access.
\item[Windows:] There are also good \LaTeX{} distributions for Windows,
such as \href{http://www.miktex.org/}{MikTeX} and
\href{https://www.tug.org/texlive/}{TeX Live}.
\item[MacOSX:] On MacOSX, TeX Live is available inside
\href{http://www.tug.org/mactex/}{MacTeX}.
\end{description}
We recommand the use of \texttt{pdflatex} because it generally
supports more features than \texttt{latex} and \texttt{dvips}
(\texttt{xelatex} and \texttt{lualatex} are also missing some advanced
features from \texttt{pdflatex}).
\paragraph{Internal references.}
We recommend the use of \verb+\autoref+ from \texttt{hyperref}
(automatically loaded by the class). For instance,
\verb+\autoref{sec:options}+ links to \autoref{sec:options}.
\paragraph{Pictures.}
We recommend the use of the \texttt{tikz} package to render pictures.
In particular, a large variety of crypto pictures made with
\texttt{tikz} is available at \url{http://www.iacr.org/authors/tikz/}.
\paragraph{External pictures.} The \texttt{graphicx} is loaded by the
class, and is recommended for external figures.
If possible, external figures should be in a vector format: you can
use PDF files when compiling with \texttt{pdflatex}, and EPS files
when compiling with \texttt{latex}, and \texttt{dvips}. Note that the
\verb+\includegraphics+ command will automatically select a file with
the right extension, so if you write \verb+\includegraphics{figure}+
and have two files \texttt{figure.pdf} and \texttt{figure.eps}, it
should work with both workflow.
\paragraph{Floats.}
Figure captions should be below the figures, and table captions above
the tables. The \texttt{float} package loaded by the class should
take care of this automatically. If want to have several figures side
by side, see the \texttt{[floatrow]} option.
\paragraph{Tables.}
We recommend the \texttt{booktabs} package to typeset tables.
\paragraph{Algorithms.}
We recommend the \texttt{algorithm}, \texttt{algorithmcx} packages for
algorithms (in particular, \texttt{algpseudocode} for pseudo-code).
\section{For the Editor}
The following commands should be used by the editor to prepare the final
version:
\paragraph{\texttt{\textbackslash setfirstpage}} to set the first page number.
\paragraph{\texttt{\textbackslash setlastpage}} to set the first page
number (optional).
\paragraph{\texttt{\textbackslash setvolume}} to set the volume number.
\paragraph{\texttt{\textbackslash setnumber}} to set the edition number.
\paragraph{\texttt{\textbackslash setDOI}} to set the DOI.
\section{Further information}
More general information can be found in the following documents:
\begin{itemize}
\item General \LaTeX{} documentation, such as the
\href{http://mirrors.ctan.org/info/lshort/english/lshort.pdf}{(not
so) short introduction to \LaTeXe};
% \item The \texttt{article} class
% \href{http://mirrors.ctan.org/macros/latex/doc/clsguide.pdf}{documentation};
\item The \AmS-\LaTeX{}
\href{http://mirrors.ctan.org/macros/latex/required/amslatex/math/amsldoc.pdf}{documentation}
and \texttt{amsthm} \href{ftp://ftp.ams.org/pub/tex/doc/amscls/amsthdoc.pdf}{documentation};
\item Documentation of the \LaTeX{} packages used in the class (see below).
\end{itemize}
\subsection{Packages used}
The class is based on the standard \texttt{article} class, and loads
the following packages:
\begin{itemize}
\item \texttt{geometry}, \texttt{secsty}, \texttt{fancyhdr}, \texttt{mathtools},
\texttt{float}, \texttt{microtype}, \texttt{lastpage}
\item \texttt{amsmath}, \texttt{amssymb}, \texttt{amsthm}
\item \texttt{graphicx}
\item \texttt{hyperref}, \texttt{hyperxmp}, \texttt{etoolbox}, \texttt{xcolor} (unless
the \texttt{[nohyperref]} option is used)
\item \texttt{lineno} (in \texttt{[submission]} mode)
\item \texttt{floatrow,caption} (with option \texttt{[floatrow]})
\end{itemize}
\section*{Thanks}
We would like to thank people who helped design and improve the
class:
Anne Canteaut,
Jérémy Jean,
Bart Preneel,
Christian Rechberger,
Tyge Tiessen,
Friedrich Wiemer.
\section*{Changes}
\begin{description}
\item[v 0.21] First public version
\item[v 0.22] Added documentations. Minor tweaks in the class.
\item[v 0.23] More documentation. Removed some extra line-numbers
with AMS environments in submission mode. Make \verb+autoref+
capitalize sections. Table caption are now above tables. Rewritten
running authors and running title. Added PDF info (title, author,
keyword). Optional argument for \verb+\email+. Added
\texttt{floatrow} option.
\item[v 0.24] Added CC licence text, and added XMP metadata. Fixed some
metadata transformations.
\end{description}
\end{document}