% 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}
