\NeedsTeXFormat{LaTeX2e} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% bfca class for LaTeX2e %% %% Jean-Baptiste Yunès %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%----------------------------------------------------------------------------- %%----------------------------------------------------------------------------- \ProvidesClass{bfca}[2005/04/01 JBY] %\DeclareOption*{\PassOptionsToClass{\CurrentOption}{amsart}} %\ProcessOptions\relax \LoadClass[reqno,11pt]{amsart}[1996/10/24] \RequirePackage{cite} \RequirePackage{geometry} \geometry{paper=a4paper,text={110mm,187mm},headsep=10mm, headheight=40mm,top=50mm,left=50mm,footskip=20pt,includefoot,verbose} \setlength{\parindent}{5mm} %%----------------------------------------------------------------------------- %%----------------------------------------------------------------------------- \def\section{\@startsection{section}{1}\z@{1.2\linespacing\@plus\linespacing}% {\linespacing} {\fontsize{12}{14}\sffamily\selectfont\bfseries}} \def\subsection{\@startsection{subsection}{2}\z@{\linespacing\@plus.8\linespacing}% {.25\linespacing}{\fontsize{11}{14}\sffamily\selectfont\bfseries}} \def\subsubsection{\@startsection{subsubsection}{3}\z@{\linespacing\@plus.5\linespacing}% {.25\linespacing}{\sffamily}} %\normalfont\itshape}} \def\paragraph{\@startsection{paragraph}{4}\z@\z@{-\fontdimen2\font}\normalfont} \def\subparagraph{\@startsection{subparagraph}{5}\z@\z@{-\fontdimen2\font}\normalfont} %%----------------------------------------------------------------------------- %%----------------------------------------------------------------------------- %---- MAKETITLE \def\@maketitle{% \normalfont\normalsize \let\@makefnmark\relax \let\@thefnmark\relax \global\topskip42\p@\relax \@SKIP@Aa \vbox{\hbox to\hsize{{\fontsize{10}{10}\sffamily\selectfont{\@CONFNAMEEN}}\hfill% {\fontsize{9}{10}\sffamily\selectfont\@CONFACRO}} \hbox to\hsize{\fontsize{9}{10}\sffamily\selectfont{\@CONFNAMEFR}\hfill}} \@SKIP@Ab \@settitle \@setauthors \@setabstract \@setresume \normalsize \if@titlepage\newpage\else\dimen@34\p@\advance\dimen@-\baselineskip\vskip\dimen@\relax\fi \gdef\thanks##1{\relax}\gdef\address##1{\relax} }% end \@maketitle \def\@SKIP@Aa{\vspace*{-1.5cm}}% \def\@SKIP@Ab{\vspace*{1.5cm}}% \def\@CONFNAMEFR{{Fonctions Bool\'eennes\,: Cryptographie \& Applications}}% \def\@CONFNAMEEN{{Boolean Functions: Cryptography and Applications}}% \def\@CONFACRO{{BFCA'05}}% \def\idline#1page#2{\global\def\@CONFACRO{{BFCA'05}}\setcounter{page}{#2}} \def\@settitle{\begin{center}\fontsize{12}{15}\sffamily\selectfont\bfseries \uppercasenonmath\@title\@title\@thnks@i\@thnks@ii\@thnks@iii\@thnks@iv\@thnks@v \ifnum\the\@c@thnks@=0\else\footnote{\box\@b@thnks@}\fi \end{center}} \newbox\@b@rnngttl \def\runningtitle#1{\gdef\shorttitle{#1}\setbox\@b@rnngttl=\hbox{\fontsize{7}{9}\selectfont\rm\uppercase{#1}}} \def\title#1{\gdef\shorttitle{#1}\gdef\@title{#1}} \def\@setauthors{\begingroup\trivlist \centering\footnotesize \@topsep30\p@\relax\advance\@topsep by -\baselineskip \item\relax\fontsize{12}{14}\sffamily\selectfont\@@th@rs\ignorespaces \footnote{\box\@b@ddrss@}\endtrivlist\endgroup } \def\email#1{{email: \tt#1}} \newbox\@b@rnngthr \def\runningauthors#1{\gdef\shortauthors{#1}\setbox\@b@rnngthr=\hbox{#1}% \global\def\@rnngthrs{\fontsize{7}{9}\selectfont\rm\uppercase{#1}}} \newcount\@c@thr@\@c@thr@=0 \def\author#1{\global\advance\@c@thr@ by 1 \ifx\@empty\shortauthors \gdef\shortauthors{#1} \else \g@addto@macro\shortauthors{, #1} \fi \global\expandafter\edef\csname @thr@\romannumeral\@c@thr@\endcsname{#1} \global\expandafter\edef\csname @Mthr@\romannumeral\@c@thr@\endcsname{\uppercase{#1}} \global\expandafter\def\csname @ddrss@\romannumeral\@c@thr@\endcsname{} \global\expandafter\def\csname @scndddrss@\romannumeral\@c@thr@\endcsname{} \global\expandafter\def\csname @smddrss@\romannumeral\@c@thr@\endcsname{}}%\author % Elaborating the two author lists (First page and heading) \newcount\@y \newcount\@x \def\@cnjctn{\ifnum\the\@c@thr@=1\null\else{{\ and\ }}\fi} \def\@Mcnjctn{\ifnum\the\@c@thr@=1\null\else{{\ AND\ }}\fi} \def\@@th@rs{\@x=0\global\@y=\@c@thr@\global\advance\@y by -1 \loop\advance\@x by 1 \ifnum\the\@x<\the\@y\csname @thr@\romannumeral\@x\endcsname\ignorespaces ${}^{\csname @ddrss@\romannumeral\@x\endcsname \csname @smddrss@\romannumeral\@x\endcsname \csname @scndddrss@\romannumeral\@x\endcsname}$, \repeat \csname @thr@\romannumeral\@y\endcsname\ignorespaces ${}^{\csname @ddrss@\romannumeral\@y\endcsname \csname @smddrss@\romannumeral\@y\endcsname \csname @scndddrss@\romannumeral\@y\endcsname}$\@cnjctn \csname @thr@\romannumeral\@c@thr@\endcsname\ignorespaces ${}^{\csname @ddrss@\romannumeral\@c@thr@\endcsname \csname @smddrss@\romannumeral\@c@thr@\endcsname \csname @scndddrss@\romannumeral\@c@thr@\endcsname}$% }%\@@th@rs \def\M@@th@rs{\@x=0\global\@y=\@c@thr@\global\advance\@y by -1 \loop\advance\@x by 1 \ifnum\the\@x<\the\@y\csname @Mthr@\romannumeral\@x\endcsname, \repeat \csname @Mthr@\romannumeral\@y\endcsname\@Mcnjctn \csname @Mthr@\romannumeral\@c@thr@\endcsname}%\M@@th@rs \def\@qq#1#2{\vrule height#1 depth#2 width0pt} \let\@date\@empty \def\@setdate{\noindent\fontsize{8}{10}\selectfont\hbox{\@date}} \def\editor#1{\def\@editor{#1}} \let\@editor\@empty \def\@seteditor{\vskip6\p@\noindent\fontsize{8}{10}\selectfont\noindent\hbox{\@editor\@addpunct.}} \newbox\resumebox \newenvironment{resume}{\ifx\maketitle\relax\ClassWarning{\@classname}{\@MSSG@CLSSWRNGRSM}\fi \global\setbox\resumebox=\vtop\bgroup\fontsize{9}{11}\selectfont\advance \hsize -6pc \trivlist \labelsep.5em\item[\hskip\labelsep{\bf\sffamiliy\fontsize{10}{12}\selectfont R\'esum\'e}.]} {\endtrivlist\egroup\ifx\@setresume\relax \@setresumea \fi} \def\@setresume{\@setresumea\global\let\@setresume\relax} \def\@setresumea{\skip@20\p@\advance\skip@-\lastskip\advance\skip@-\baselineskip \vskip\skip@ \ifvoid\resumebox\else\moveright 3pc \box\resumebox\fi} \newbox\abstractbox \renewenvironment{abstract}{\ifx\maketitle\relax\ClassWarning{\@classname}{\@MSSG@CLSSWRNGBSTRCT}\fi \global\setbox\abstractbox=\vtop\bgroup\fontsize{9}{11}\selectfont \advance \hsize -6pc \trivlist \labelsep.5em\item[\hskip\labelsep{\bf\sffamily\fontsize{10}{12}\selectfont Abstract}.]} {\endtrivlist\egroup\ifx\@setabstract\relax \@setabstracta \fi} \def\@setabstract{\@setabstracta\global\let\@setabstract\relax} \def\@setabstracta{\skip@20\p@ \advance\skip@-\lastskip \advance\skip@-\baselineskip \vskip\skip@ \ifvoid\abstractbox{\hbox to\hsize{\kern3pc\fontsize{10}{12} \selectfont\bf \hbox to55pt{Abstract\hfill}\qquad\@MSSG@BSTRCT\hfill}} \else\moveright 3pc \box\abstractbox \fi} \def\@spc{\kern1pt}\def\@spcc{\kern2pt} \newcount\@c@ddrss@\newbox\@b@ddrss@ % \def\@dd@ddrss@#1{% \global\setbox51=\vbox{\advance\hsize by-12pt\unvbox\@b@ddrss@ \vtop{\footnotesize\noindent{${}^{\the\@c@ddrss@}$\ }\@qq{10pt}{0pt}\textrm{#1}}} \global\setbox\@b@ddrss@=\vbox{\unvbox51}}% % \def\@dd@scndddrss@#1{% \global\setbox51=\vbox{\advance\hsize by-12pt\unvbox\@b@ddrss@ \vtop{\footnotesize\noindent{${}^{\the\@c@ddrss@}$\ }\@qq{10pt}{0pt}\textrm{#1}}} \global\setbox\@b@ddrss@=\vbox{\unvbox51}} % \def\address#1{\global\advance\@c@ddrss@ by 1\@dd@ddrss@{#1} \expandafter\edef\csname @ddrss@\romannumeral\@c@thr@\endcsname{\@spc\number\@c@ddrss@}} \def\secondaddress#1{\global\advance\@c@ddrss@ by 1\@dd@ddrss@{#1} \expandafter\edef\csname @scndddrss@\romannumeral\@c@thr@\endcsname% {,\@spcc\number\@c@ddrss@}}%\secondaddress#1 \def\sameaddress#1{\expandafter\edef\csname @smddrss@\romannumeral\@c@thr@\endcsname{\@spc{}#1}} \def\@rmnnmrl#1{\ifcase#1\null\or*\or**\or***\or****\or*****\else\@MSSG@THNKS\fi} \def\@thnks@i{}\def\@thnks@ii{}\def\@thnks@iii{}\def\@thnks@iv{}\def\@thnks@v{} \newcount\@c@thnks@\newbox\@b@thnks@ \def\@dd@thnks@#1{% \global\setbox50=\vbox{\advance\hsize by-12pt\unvbox\@b@thnks@ \vtop{\noindent\footnotesize{${}^{\@rmnnmrl\@c@thnks@}$\ }\@qq{10pt}{0pt}\textit{#1}\hfill}} \global\setbox\@b@thnks@=\vbox{\unvbox50}}% \def\thanks#1{\global\advance\@c@thnks@ by 1\@dd@thnks@{#1}% \global\expandafter\edef\csname @thnks@\romannumeral\@c@thnks@\endcsname{% \ifnum\the\@c@thnks@=1\@spcc${}^{\@rmnnmrl\@c@thnks@}$\else$^{,\@spcc\@rmnnmrl\@c@thnks@}$\fi}} %%----------------------------------------------------------------------------- %%----------------------------------------------------------------------------- \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} % \renewcommand\normalsize{\@xsetfontsize\normalsize 6% \@adjustvertspacing \let\@listi\@listI \abovedisplayskip 11pt \@plus2pt \@minus2pt \belowdisplayskip \abovedisplayskip} % \def\ps@firstpage{\ps@plain \def\@oddfoot{\hfill{\scriptsize\it \@editor}}% \def\@evenfoot{{\scriptsize\it \@editor}\hfill}% \let\@evenfoot\@oddfoot\def\@oddhead{\null\hss} \let\@evenhead\@oddhead}% in case an article starts on a left-hand page % \def\ps@headings{\ps@empty \def\@oddfoot{\hfill{\scriptsize\it \@editor}}% \def\@evenfoot{{\scriptsize\it \@editor}\hfill}% \def\@evenhead{\normalfont{\normalsize\thepage}\hfill\scriptsize\leftmark{}{}\hfil}% \def\@oddhead{\normalfont\scriptsize\hfil\rightmark{}{}\hfill{\normalsize{\thepage}}}% \let\@mkboth\markboth} \def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo}\pagestyle{headings} %%----------------------------------------------------------------------------- \def\@MSSG@THNKS{At most 5 thanks allowed} \def\@MSSG@CLSSWRNGRSM{Resume should precede \protect\maketitle\space in bfca} \def\@MSSG@CLSSWRNGBSTRCT{Abstract should precede \protect\maketitle\space in bfca} \def\@MSSG@BSTRCT{{WARNING: --- An abstract is mandatory! ---}} % \def\@date{\ }%The date will be set in the future...} \def\@editor{{J-F. Michon, P. Valarcher, J-B. Yun\`es (Eds.): BFCA'05}} %%----------------------------------------------------------------------------- %------------------- \theoremstyle{plain} %------------------- \newtheorem{theorem}{Theorem}[section] \newtheorem{lemma}[theorem]{Lemma} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{algorithm}[theorem]{Algorithm} %------------------------ \theoremstyle{definition} %------------------------ \newtheorem{definition}[theorem]{Definition} \newtheorem{conjecture}[theorem]{Conjecture} \newtheorem{example}[theorem]{Example} % %------------------- \theoremstyle{plain} %------------------- \newenvironment{acknowledgement}{\par\addvspace{17pt}\small\rmfamily\noindent}{\par\addvspace{6pt}} %................ ................ ................ ................ ........ % \def\xProof{ \normalfont \medskip {\noindent\itshape Proof.\hspace*{0.5cm}\ignorespaces}} % %% %% Specials... %% \def\enddoc@text{\ifx\@empty\@translators \else\@settranslators\fi % \ifx\@empty\@editor \else\@seteditor\\\fi \vfill \ifx\@empty\@date \else\@setdate\fi \vfill\vfill\vfill} % % \endinput