%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% PoS.cls 1.2.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% This file is Copyright PoS 2005: it can be freely distributed but %% NOT modified preserving its name, even in similar forms. %% %% PoS.cls is a LaTeX2e class file used to typeset manuscripts in PoS - %% Proceedings of Science style. It was written by P. Dall'Aglio as a %% modification of the class `JHEP3.cls'. %% %% For bugs, comments, suggestions email to pos-eo@pos.sissa.it %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ***:to do **?:question ...:to choose XXX:to delete ???:unknown % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{PoS} [2006/05/19 v1.2.1 LaTeX document class - P.D.] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\logo{\raisebox{-5mm}{\hbox{\noindent\includegraphics{PoSlogo}}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% NEW SWITCHES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@draft \@draftfalse % DEFAULT IS NOT DRAFT \newif\if@hyper \@hypertrue % DEFAULT IS HYPER \newif\if@proc \@proctrue % DEFAULT IS PROC \newif\if@author\@authorfalse % \newif\if@abstract\@abstractfalse % FOR FRONTMATTER DECLARATIONS \newif\if@todotoc\@todotocfalse % \newif\if@PoScopy\@PoScopyfalse % \newif\if@conf\@conffalse % \newif\if@shorttitle\@shorttitlefalse % \newif\if@PoSspecialurl\@PoSspecialurlfalse \newif\if@PoScits\@PoScitsfalse % %copied from ifpdf.sty \newif\ifpdf \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi \if@compatibility \setlength\paperheight {297mm}% % DEFAULT FOR LATEX209 IS a4 \setlength\paperwidth {210mm}% \else % CHOSE PAPER: \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \DeclareOption{a5paper}{\@OImess{}} % IGNORED a5 \DeclareOption{b5paper}{\@OImess{}} % IGNORED b5 \DeclareOption{letterpaper}{\@OImess{. PoS pagesize is A4}} \DeclareOption{legalpaper}{\@OImess{. PoS pagesize is A4}} \DeclareOption{executivepaper}{\@OImess{. PoS pagesize is A4}} \DeclareOption{landscape}{\@OImess{}} % IGNORED landscape \fi \newcommand\@ptsize{1} % DEFAULT SIZE IS 11 PT \DeclareOption{proceedings}{\@hypertrue\AtBeginDocument{\@todotocfalse}} \DeclareOption{hyper}{\@hypertrue\@OImess{ is automatic in PoS}} % HYPER IS 11 PT \DeclareOption{nohyper}{\@hyperfalse\PoS@warnl{Option `hyper' should be used}} % IGNORED nohyper \DeclareOption{11pt}{\renewcommand\@ptsize{1}\@NFmess{11pt}}%ALWAYS 11PT \DeclareOption{12pt}{\renewcommand\@ptsize{1}\@NFmess{11pt}}% ALWAYS 11PT \DeclareOption{10pt}{\renewcommand\@ptsize{1}\@NFmess{11pt}}% ALWAYS 11PT \DeclareOption{nocits}{\@OImess{ is default for PoS} \@PoScitsfalse} \DeclareOption{cits}{\@PoScitstrue} %%%% ?????????????? %come fare per disabilitare cite e forzare cits? %%%%???????????????????? \if@compatibility\else \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}\fi \DeclareOption{twoside}{\@OImess{}} \DeclareOption{notoc}{\AtBeginDocument{\@todotocfalse} \@OImess{ is automatic in PoS}} \DeclareOption{toc}{\AtBeginDocument{\@todotoctrue}} \DeclareOption{draft}{\setlength\overfullrule{5pt}% EXTENDED DRAFT \newcount\hour\newcount\minute \hour=\time \divide\hour by60 \minute=\time {\multiply\hour by60 \global\advance\minute by-\hour} \edef\militarytime{\number\hour:\ifnum\minute<10 0\fi\number\minute} \let\old@eqnnum\@eqnnum \def\@eqnnum{\old@eqnnum\rlap{\kern\marginparsep \if@twocolumn\if@firstcolumn \kern-2\marginparsep\kern-\columnwidth\ \llap\bgroup\else\bgroup\fi \else \if@twoside\ifodd\c@page \kern-2\marginparsep\kern-\textwidth \llap\bgroup\else\bgroup\fi \else\bgroup\fi \fi \sf\scriptsize\@eqnlabel\egroup}% \gdef\@eqnlabel{}} \let\@eqnlabel\relax \def\math@note#1{\gdef\@eqnlabel{LAB: #1}} \def\norm@note#1#2{\special{}% SORRY AGAIN. \ifinner{\ifdim\baselineskip=\z@% IN ARRAY.. \baselineskip18\p@\fi%% \ifhmode% ATTENTION TO RESTRICTED VMODE! \raisebox{.5\baselineskip}[\z@][\z@]{% \rlap{\sf\scriptsize #2}}% \else\vskip-\baselineskip% \raisebox{-.6\baselineskip}[\z@][\z@]{% \rlap{\sf\scriptsize #2}}% \fi}% \else\marginpar{\raggedright\if@twoside\ifodd\c@page% \raggedleft\fi\fi\sf\scriptsize #1#2}% \fi}% \AtBeginDocument{\newbox\drft@box\setbox\drft@box=\hbox{% \framebox[\textwidth]{\sf\small PoS 3.1 DRAFT \ttfamily(\cur@opt)\hfill\sf\bfseries\jobname\sf, \today, \militarytime}}} \@drafttrue} \DeclareOption{titlepage}{\@OImess{}} % IGNORED \if@compatibility\else \DeclareOption{notitlepage}{\@OImess{}} % IGNORED \fi \if@compatibility\else \DeclareOption{onecolumn}{\@OImess{}} % IGNORED \fi \DeclareOption{twocolumn}{\@OImess{}} % IGNORED \DeclareOption{leqno}{\@OImess{}} %\input{leqno.clo}} IGNORED ... \DeclareOption{fleqn}{\@OImess{}} %\input{fleqn.clo}} IGNORED ... \DeclareOption{openbib}{\@OImess{}} % IGNORED %%%%%%%%%%%%%%%%%%%%%%%%%%%%% MESSAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\PoS@mess[1]{\typeout{Class PoS Message: \protect#1.}}% \newcommand\PoS@warn[1]{\ClassWarning{PoS}{#1}} \newcommand\PoS@warnl[1]{\ClassWarningNoLine{PoS}{#1}} \newcommand\PoS@igno[1]{\PoS@warn{IGNORED \protect#1}} \newcommand\PoS@ignol[1]{\PoS@warnl{IGNORED \protect#1}} \newcommand\@OImess[1]{\PoS@ignol{OPTION '\CurrentOption'#1}} \newcommand\@NFmess[1]{\PoS@mess{Normalsize set to #1}} \newcommand\@ENVwarn[1]{\PoS@warn{Please use \protect#1 in place of LaTeX environment}} %%%%%%%%%%%%%%%%%%%%%%%%%% PROCESS OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% \ExecuteOptions{a4paper,oneside,proceedings} %WERE ALSO 10pt,onecolumn \ProcessOptions %%%%%%%%%%%%%%%%%%%%%%%%%% REQUIRED PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{amssymb} \RequirePackage[T1]{fontenc} \RequirePackage{times} \RequirePackage{mathptmx} \ifpdf \RequirePackage[pdftex]{graphicx} \DeclareGraphicsExtensions{.pdf,.jpg,.jpeg} \else \RequirePackage{graphicx} \DeclareGraphicsExtensions{.ps,.eps,.pstex} \fi %%%%%%%%%%%%%%%%%%%%%%%% TRICKS FOR DOTLESS J %%%%%%%%%%%%%%%%%%%%%%%%% % \j and \jmath are missing in font Times. So I use the ones from % Computer Modern. Works acceptably, but in sf \DeclareSymbolFont{forjmath}{OT1}{cmr}{m}{sl} \DeclareMathSymbol{\Jmath}{\mathord}{forjmath}{'021} \def\jmath{\Jmath} \DeclareFontFamily{OT1}{cmr}{} \DeclareFontFamily{OT1}{cmss}{} \def\j{\ifmmode\Jmath\else{\fontencoding{OT1}\fontfamily{cmr}\selectfont\char'021}\fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% END DOTLESS J %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% START CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \input{size1\@ptsize.clo} \renewcommand{\baselinestretch}{1.1}\normalsize \setlength\lineskip{1\p@} \setlength\parindent{1.2\parindent} \setlength\normallineskip{1\p@} \setlength\parskip{0\p@ \@plus \p@} \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \widowpenalty 1000 \clubpenalty 1000 \setcounter{topnumber}{8} \renewcommand\topfraction{.85} % default .7 \setcounter{bottomnumber}{5} \renewcommand\bottomfraction{.6} %.2 \setcounter{totalnumber}{8} \renewcommand\textfraction{.15} \renewcommand\floatpagefraction{.8} \setcounter{dbltopnumber}{3} \renewcommand\dbltopfraction{.85} \renewcommand\dblfloatpagefraction{.8} \setlength{\floatsep}{12pt plus 2pt minus 4pt} \setlength{\textfloatsep}{20pt plus 3pt minus 8pt} \setlength{\intextsep}{12pt plus 2pt minus 4pt} \textwidth .72\paperwidth % WIDTH OF TEXT, REMAINS .28% FOR MARGINS % \setlength\@tempdima{.76\paperheight} % HEIGHT OF TEXT WITH FOOTNOTES \divide\@tempdima\baselineskip % EXCLUDING HEAD (AND FOOT) \@tempcnta=\@tempdima % rounded to integer (#lines-1) \setlength\textheight{\@tempcnta\baselineskip} \addtolength\textheight{\topskip} \voffset -1in \topmargin .06\paperheight % FROM TOP OF PAGE TO TOP OF HEADING (0=1inch) \headheight .02\paperheight % HEIGHT OF HEADING BOX. \headsep .03\paperheight % VERT. SPACE BETWEEN HEAD AND TEXT. \footskip .04\paperheight % FROM END OF TEX TO BASE OF FOOTER. (40pt) \marginparsep 9\p@ % HOR. SPACE BETWEEN TEXT AND MARGINAL NOTE \marginparpush 6\p@ % MIN. VERT. SPACE BETWEEN MARGINAL NOTES \hoffset -1in % TO ADJUST WITH PAPER: \oddsidemargin .14\paperwidth % LEFT MARGIN FOR ODD PAGES (20) \evensidemargin .14\paperwidth % LEFT MARGIN FOR EVEN PAGES (20) \marginparwidth .11\paperwidth % TEXTWIDTH OF MARGINALNOTES %%%%%%%%%%%%%%%%%%%%%%% HYPER (AND DRAFT) STUFF %%%%%%%%%%%%%%%%%%%%%%% %\let\textref\@gobble \ifpdf \input pdfcolor.tex \else \fi \bgroup\catcode`\#=12\gdef\hash{#}\egroup % DEFINED \hash=#. \def\H@tilde{\string~} \newcommand{\href}[2]{\rule{0pt}{0pt}\bgroup\let~\H@tilde \if@hyper\ifpdf \def\hash{}% \pdfstartlink attr{/Border [0 0 0]} user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \pdfsetcolor{.9 .9 0 0}% \else \noexpand\special{html:}% \fi \fi {#2}\rule{0pt}{0pt}\egroup \if@hyper\ifpdf \Black\pdfendlink \else \special{html:}% \fi \fi } % \intPlink was added because in pdflatex you need two different commands % for internal and external links. For latex they are the same. \newcommand{\intPlink}[2]{\rule{0pt}{0pt}\bgroup\let~\H@tilde \if@hyper\ifpdf \def\hash{}% \pdfstartlink attr{/Border [0 0 0]} goto name{#1}% \pdfsetcolor{.9 .9 0 0}% \else \noexpand\special{html:}% \fi \fi {#2}\rule{0pt}{0pt}\egroup \if@hyper\ifpdf \Black\pdfendlink \else \special{html:}% \fi \fi } \newcommand{\name}[1]{\if@hyper\ifpdf \pdfdest name{#1} fith% \else \noexpand\special% NAME HAS NO TAGGED TEXT HERE. {html:}\special{html:}% \fi \fi } \newcommand{\base}[1]{\if@hyper\bgroup\let~\H@tilde \noexpand\special % BASE HAS NO TAGGED TEXT. {html:}\egroup\fi} %------------------------------------------------------------------% % SECTION TAGS and THEIR REFERENCE IN TOC \d@t will be '.' for sections only \if@hyper \renewcommand{\@seccntformat}[1]{\name{sec\csname the#1\endcsname}% \csname the#1\endcsname\d@t\hspace{1ex}} \renewcommand{\numberline}[1]{\hb@xt@\@tempdima{\intPlink {\hash\hyp@typ#1}{#1}\d@t\hfil}} \else \renewcommand{\@seccntformat}[1]{\csname the#1\endcsname\d@t\hspace{1ex}} \renewcommand{\numberline}[1]{\hb@xt@\@tempdima{#1\d@t\hfil}} \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \if@PoScits % if you want citations ranges to collapse... \newcount\@tempcntc \def\@citex[#1]#2{% \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}% \@cite{\@for\@citeb:=#2\do% for aech citation... {\edef\@citeb{\expandafter\@firstofone\@citeb}% eat trailing space \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi% write to aux \@ifundefined{b@\@citeb}% if label undefined.. {\@citeo\@tempcntb\m@ne\@citea% ... then ... \def\@citea{,\penalty\@m\ }{\reset@font\bfseries ?}% \G@refundefinedtrue\@latex@warning% {Citation `\@citeb' on page \thepage \space undefined}}% {\setbox\z@\hbox{\global\@tempcntc0\csname % ... else b@\@citeb\endcsname}% \advance\@tempcntb\@ne% \ifnum\@tempcntb=\@tempcntc% \else\advance\@tempcntb\m@ne\@citeo% \@tempcnta\@tempcntc\@tempcntb\@tempcntc \fi% }% }\@citeo}{#1}% \if@draft\norm@note{CIT: }{#2}\fi % **DRAFT** }% end definition of \@citex %This really prints out the cit-numbers \def\@citeo{\ifnum\@tempcnta>\@tempcntb% \else\@citea\def\@citea{,\penalty\@m\ }% \ifnum\@tempcnta=\@tempcntb% \intPlink{\hash bib\the\@tempcnta}{\the\@tempcnta}% if there is no range \else{\advance\@tempcnta\@ne% % if there is a range \ifnum\@tempcnta=\@tempcntb% \else\def\@citea{\,--\,}% \fi% \advance\@tempcnta\m@ne% \intPlink{\hash bib\the\@tempcnta}{\the\@tempcnta}\@citea%first \intPlink{\hash bib\the\@tempcntb}{\the\@tempcntb}}%last \fi% \fi} \else % ... or not to collapse %------------------------------------------------------------------% % CITATION TAGS ARE TOGETHER WITH BIB STUFF. % CITATION HREF \def\@citex[#1]#2{% % UNFORTUNATELY REDEFINED!!!! \let\@citea\@empty \@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{,\penalty\@m\ }% \edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% \G@refundefinedtrue \@latex@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\edef\tmp@bn{\csname b@\@citeb\endcsname}% \hbox{\intPlink{\hash bib\tmp@bn}{\tmp@bn}}}}}{#1}% % **HYPER** \if@draft\norm@note{CIT: }{#2}\fi % **DRAFT** } \fi %-----------------------------------------------------------------% % LABEL, REF AND PAGEREF, TEXTREF, ~ COMPATIBLE: \let\old@label\label % OLD LATEX COMMAND. \def\label{\bgroup\catcode`\>=15\catcode`\"=15\catcode`\==15 \@@label} \newcommand{\@@label}[1]{\egroup\name{ref-#1}% % LABEL IN HYPER TAG. \old@label{#1}% % \if@draft% % DRAFT: \ifmmode\math@note{#1}% \else\norm@note{}{LAB: #1}\fi% \fi% } \if@hyper \let\old@ref\ref \let\old@pageref\pageref % OLD LATEX COMMANDS. \renewcommand{\ref}[1]{\@ifundefined{r@#1}{}{\intPlink{\hash ref-#1}}% {\old@ref{#1}}} % LABEL INSIDE HREF. \renewcommand{\pageref}[1]{\@ifundefined{r@#1}{}{% % UNDEFINED => NO HREF \edef\tmp@ref{\noexpand\@secondoftwo\csname r@#1\endcsname}% \intPlink{\hash pag\tmp@ref}}{\old@pageref{#1}}} \fi \newcommand{\textref}[2]{\@ifundefined{r@#1} {% \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ?#2?}% \@latex@warning{Reference `#1' on page \thepage \space undefined}} {\vrule height \z@ width \z@\intPlink{\hash ref-#1}{#2}}} %------------------------------------------------------------------% %%%%%%%%%%%%%%%%%%%%%%%%%% END HYPER-STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%% PoS HEADINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\ps@PoS{% \def\@oddfoot{\ifnum\thepage=1% \PoScopyright@box\hfill% copyright only on front page \if@PoSspecialurl\PoSspecial@url\else\unhbox\PoSpaper@url\fi%possible url \else\reset@font\hfil\thepage\hfil\fi} % page numbers on other pages \if@draft\edef\cur@opt{\@curroptions}\fi % \def\@oddhead{\name{pag\thepage}\ifnum\thepage=1% {\smash{\makebox[0cm][l]{\logo}}\hfill}\else% \smash{\if@draft\raise 2.5em\rlap{\copy\drft@box}\fi \vbox{\hsize=\textwidth\noindent \if@shorttitle\copy\PoSshorttitle@box\else{\small\it\@title}\fi\hfill \copy\@firstaubox\vskip.17em \hrule }}\fi% }% \let\@mkboth\@gobbletwo %%%% \let\sectionmark\@gobble \let\subsectionmark\@gobble } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\maketitle{\PoS@ignol{\maketitle}} \newcommand\auto@maketitle{\begingroup \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 20.39995pt\noindent \hb@xt@.05\textwidth{\hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \let\footnote\thanks% \@maketitle % CALL ACTUAL FORMATTING \@thanks % TITLE THANKS \thispagestyle{PoS} \setcounter{page}{1} \newpage % END OF PAGE \endgroup \setcounter{footnote}{0}% \if@todotoc % IF THERE IS A SECTION \noindent\rule\textwidth{.1pt} % THEN MAKE TOC... \vskip 2em \@plus 3ex \@minus 3ex \tableofcontents \vskip 2em \@plus 3ex \@minus 3ex \noindent\rule\textwidth{.1pt} \vskip 2em \@plus 3ex \@minus 3ex \fi \global\let\thanks\@gobble \global\let\@maketitle\relax % \global\let\@thanks\@empty % \global\let\@author\@empty % KILL ALL \global\let\@date\@empty % \global\let\@abstract\@empty % \global\let\title\relax % \global\let\author\relax % \global\let\date\relax % \global\let\and\relax % \global\let\email\@gobble \global\let\PoScopydate\relax \global\let\PoSspecialurl\relax } %%%%%%%%%%%%%%%%%%%%%%%%%% ACTUAL TITLEPAGE %%%%%%%%%%%%%%%%%%%%%%%%%%% \newskip\titlesk@a % Skips for titlepage \newskip\titlesk@b % \newskip\titlesk@c % \titlesk@a= 2em plus .4fill minus 1em% % Before title (proceedings) \titlesk@b= 1.7em plus .1fill minus 1em% % Between title/rule & rule/auth \titlesk@c= 1.5em plus .05fill minus 1em% % Between auth/abs & abs/dedic \def\@maketitle{% % PAGE IS FLUSHED LEFT \begin{flushleft}% % PAY ATTENTION TO \par'S \null % \vskip \titlesk@a % vspace before title % {\LARGE \sffamily % TITLE \bfseries \@title\par}% % \vskip \titlesk@b % vspace between title and rule % \hrule height 1\p@% % RULE 1pt. % \vskip \titlesk@b % vspace between rule and authors % {\normalsize \bfseries \sffamily% AUTHOR(S) \@author \par} % \vskip \titlesk@c % vspace between authors and abstract % \centerline{\parbox{.9\textwidth}% % ABSTARCT (narrower) {\abstract@cs}}% % \dedic@ted % DEDICATION (if present) with its space % \@PACS % PACS (if present) with its space % \vskip \titlesk@c \vfill \FullConference@box % FULL CONFERENCE INFO \end{flushleft}% } %%%%%%%%%%%%%%%%%%%%%%%%%%% STANDARD STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%% \setcounter{secnumdepth}{3} \newcounter {part} \newcounter {section} \newcounter {subsection}[section] \newcounter {subsubsection}[subsection] \newcounter {paragraph}[subsubsection] \newcounter {subparagraph}[paragraph] \renewcommand\thepart {\@Roman\c@part} \renewcommand\thesection {\@arabic\c@section} \renewcommand\thesubsection {\thesection.\@arabic\c@subsection} \renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} %%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION FORMATS %%%%%%%%%%%%%%%%%%%%%%%%%%% \def\ts@flag{\let\d@t.% % Sections get ``.'' \immediate\write\@auxout % IF THERE IS A SECTION {\string\global\string\@todotoctrue}} % THEN SIGNAL IN AUX. \newcommand\part{\par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart} \def\@part[#1]#2{\ts@flag \ifnum \c@secnumdepth >\m@ne \refstepcounter{part}% % DAMN LATEX !!! BELOW, \addcontentsline{toc}{part}{\string\intPlink % UNFORTUNATELY, NO NUMBERLINE: {\string\hash\space part\the\c@part}% {\thepart}\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >\m@ne \name{part\the\c@part}\Large\bfseries \partname~\thepart \par\nobreak \fi \huge \bfseries #2% \markboth{}{}\par}% \nobreak \vskip 3ex \@afterheading\let\d@t\relax} \def\@spart#1{% {\parindent \z@ \raggedright \interlinepenalty \@M \normalfont \huge \bfseries #1\par}% \nobreak \vskip 3ex \@afterheading} \newcommand\secstyle{\bfseries\raggedright} \newcommand\section{\@startsection{section}{1}{\z@}% {3.5ex \@plus 1.3ex \@minus .7ex}% {2.3ex \@plus.4ex \@minus .4ex}% {\normalfont\large\secstyle}} \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {2.3ex\@plus 1ex \@minus .5ex}% {1.2ex \@plus .3ex \@minus .3ex}% {\normalfont\normalsize\secstyle}} \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {2.3ex\@plus 1ex \@minus .5ex}% {1ex \@plus .2ex \@minus .2ex}% {\normalfont\normalsize\secstyle}} \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {1.75ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}} \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {1.75ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}} % ---- turnaround for sections with figures ------ % \def\bef@sec{\iffigprocessing\PoS@warnl{Floating figure \the\ffigcount\space and startsection colliding}\fi \iftabprocessing\PoS@warnl{Floating table \the\ftabcount\space and startsection colliding}\fi \edef\bef@everypar{\the\everypar}} % HACK FOR FLOATS AND \everypar \def\aft@sec{\let\d@t\relax % RESTORE: NO DOTTED SUBSECS.. \edef\tmp@everypar{\the\everypar}% % DELETED CLUBPENALTY, BELOW. \everypar\expandafter{\bef@everypar{\tmp@everypar}}}% RESTORE. \let\old@sec\section % \let\old@ssec\subsection % \let\old@sssec\subsubsection % OLD SECTIONING COMMANDS. \let\old@par\paragraph % \let\old@spar\subparagraph % % ------- new forms ------- % \renewcommand{\section}{\secdef\PoS@sec\PoS@secs} \renewcommand{\subsection}{\secdef\PoS@ssec\PoS@ssecs} \renewcommand{\subsubsection}{\secdef\PoS@sssec\PoS@sssecs} \renewcommand{\paragraph}{\secdef\PoS@par\PoS@pars} \renewcommand{\subparagraph}{\secdef\PoS@spar\PoS@spars} % ---- unstarred forms ---- % \def\PoS@sec[#1]#2{\ts@flag\bef@sec\old@sec[#1]{#2}\aft@sec} \def\PoS@ssec[#1]#2{\bef@sec\old@ssec[#1]{#2}\aft@sec} \def\PoS@sssec[#1]#2{\bef@sec\old@sssec[#1]{#2}\aft@sec} \def\PoS@par[#1]#2{\bef@sec\old@par[#1]{#2}\aft@sec} \def\PoS@spar[#1]#2{\bef@sec\old@spar[#1]{#2}\aft@sec} % ----- starred forms ----- % \def\PoS@secs#1{\bef@sec\old@sec*{#1}\aft@sec} \def\PoS@ssecs#1{\bef@sec\old@ssec*{#1}\aft@sec} \def\PoS@sssecs#1{\bef@sec\old@sssec*{#1}\aft@sec} \def\PoS@pars#1{\bef@sec\old@par*{#1}\aft@sec} \def\PoS@spars#1{\bef@sec\old@spar*{#1}\aft@sec} % ----- end hack for sections with floats --------% \setlength\leftmargini {2.5em} \leftmargin \leftmargini \setlength\leftmarginii {2.2em} \setlength\leftmarginiii {1.87em} \setlength\leftmarginiv {1.7em} \setlength\leftmarginv {1em} \setlength\leftmarginvi {1em} \setlength \labelsep {.5em} \setlength \labelwidth{\leftmargini} \addtolength\labelwidth{-\labelsep} \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \renewcommand\theenumi{\@arabic\c@enumi} \renewcommand\theenumii{\@alph\c@enumii} \renewcommand\theenumiii{\@roman\c@enumiii} \renewcommand\theenumiv{\@Alph\c@enumiv} \newcommand\labelenumi{\theenumi.} \newcommand\labelenumii{(\theenumii)} \newcommand\labelenumiii{\theenumiii.} \newcommand\labelenumiv{\theenumiv.} \renewcommand\p@enumii{\theenumi} \renewcommand\p@enumiii{\theenumi(\theenumii)} \renewcommand\p@enumiv{\p@enumiii\theenumiii} \newcommand\labelitemi{$\m@th\bullet$} \newcommand\labelitemii{\normalfont\bfseries --} \newcommand\labelitemiii{$\m@th\ast$} \newcommand\labelitemiv{$\m@th\cdot$} \newenvironment{description} {\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} {\endlist} \newcommand*\descriptionlabel[1]{\hspace\labelsep \normalfont\bfseries #1} %%%%%%%%%%%%%%%%%%%%%%%%%% AUTHORS/ADDRESSES %%%%%%%%%%%%%%%%%%%%%%%%%% % *** After proceedings, the authors go in a hbox. => \break does not work!! % *** if no address nobody closes the box! \newif\if@speaker\@speakerfalse \newif\if@dblspeak\@dblspeakfalse \newtoks\prev@t \newtoks\cur@t \newbox\@firstaubox \newskip\addr@skip\addr@skip=.38em%\@plus.02fil\@minus.3ex \newskip\auth@skip\auth@skip=.6em\@plus.03fil\@minus.2ex \renewcommand\@author{\parskip\z@ \def\\{\egroup % CLOSE & aftergroup! \par % FIRST TIME \\=>ADDR. \vskip\addr@skip % GLUE UNDER AUTHOR \vbox\bgroup\hsize=.9\textwidth % \small\it\raggedright % STYLE FOR ADDRESSES \def\\{\par\leavevmode\ignorespaces}%\let\\\relax% \leavevmode\ignorespaces}% } \renewcommand\author[1]{% \global\@authortrue % \prev@t=\expandafter{\@author}% % TWO TOKEN LISTS. \cur@t={\vskip\auth@skip % glue before auth. \vtop\bgroup #1\egroup % ACTUAL AUTH.\\ADD. \par}% % \long\xdef\@author{\the\prev@t\the\cur@t}%STORE ALL IN \@AUTHOR } %%%%%%%%%%%%%%%%%%%%%%%%%%%% SPEAKER %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\speaker[1]{\if@speaker\global\@dblspeaktrue\fi \global\@speakertrue \global\setbox\@firstaubox \hbox{{\let\thanks\@gobble \let\footnote\@gobble\small \rm #1}}% #1\thanks{Speaker.}\ }% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% SHORT TITLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newbox\PoSshorttitle@box \newcommand\ShortTitle[1]{\global\setbox\PoSshorttitle@box \hbox{\small\it #1}\global\@shorttitletrue} %%%%%%%%%%%%%%%%%%%%%%%%%% Full Conference Info %%%%%%%%%%%%%%%%%%%%%%% \gdef\FullConference@box{\relax} \newcommand\FullConference[1]{\gdef\FullConference@box{ \vbox{\small\raggedright \it #1}}\@conftrue} %%%%%%%%%%%%%%%%%%%%%%%%%% COPYRIGHT DATE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newbox\PoScopy@date \newcommand\PoScopydate[1]{\global\setbox\PoScopy@date \hbox{\scriptsize #1}\global\@PoScopytrue} %%%%%%%%%%%%%%%%%%%%%%%%%%% ACKNOWELEDGMENTS %%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\acknowledgments{\section*{\acknowlname}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EMAIL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\email[1]{{\tt\href{mailto:#1}{#1}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEDICATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef\dedic@ted{\relax} \newcommand\dedicated[1]{\gdef\dedic@ted{\vskip .5\titlesk@c \vbox{\small\it\raggedleft #1}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PACS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef\@PACS{\relax} \newcommand\PACS[1]{\gdef\@PACS{\vskip.5\titlesk@c \vbox{\small\tt\raggedleft PACS:\ #1}}} %%%%%%%%%%%%%%%%% SPECIAL URL overrides paper@url %%%%%%%%%%%%%%%%%%%%% \gdef\PoSspecial@url{\relax} \newcommand\PoSspecialurl[1]{\@PoSspecialurltrue\gdef\PoSspecial@url{% \hbox{\tiny\tt #1}}} %%%%%%%%%%%%%%%%%%%%%%%%% URL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newbox\PoSpaper@url \global\setbox\PoSpaper@url\hbox{\tiny\ttfamily http://pos.sissa.it/} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COPYRIGHT %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef\PoScopyright@box{\hbox{{\tiny $\copyright$ Copyright owned by the author(s) under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike Licence.}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\abstract}[1]% % ABSTR. IN NORMALSIZE {\gdef\abstract@cs{ % cs FOR WHOLE ABSTRACT {\small \ignorespaces #1}} \normalsize \global\@abstracttrue} %%%%%%%%%%%%%%%%%%%%%%%%%% OTHER ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%%%%%% \newenvironment{verse} {\let\\\@centercr \list{}{\itemsep \z@ \itemindent -1.5em% \listparindent\itemindent \rightmargin \leftmargin \advance\leftmargin 1.5em}% \item\relax} {\endlist} \newenvironment{quotation} {\list{}{\listparindent 1.5em% \itemindent \listparindent \rightmargin \leftmargin \parsep \z@ \@plus\p@}% \item\relax} {\endlist} \newenvironment{quote} {\list{}{\rightmargin\leftmargin}% \item\relax} {\endlist} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% THEOREMS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@xthm#1#2{\@begintheorem{#2} % theorems are numbered {\csname the#1\endcsname.} % with a . after the number \ignorespaces} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% APPENDIX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% \renewcommand\thesection{\@Alph\c@section}} %%%%%%%%%%%%%%%%%%%%%%%%%%% SOME MORE LENGHTS %%%%%%%%%%%%%%%%%%%%%%%%% \setlength\arraycolsep{2\p@} % TO MATCH eqnarrays<->equations \setlength\tabcolsep{6\p@} \setlength\arrayrulewidth{.4\p@} \setlength\doublerulesep{2\p@} \setlength\tabbingsep{\labelsep} \skip\@mpfootins = \skip\footins \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% THE EQUATION %%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand\theequation{\ifnum\c@section=0\else\thesection.\fi \@arabic\c@equation} %%%%%%%%%%%%%%%%%%%%%%%%%%%% FIGURES, TABLES %%%%%%%%%%%%%%%%%%%%%%%%%% \newcounter{figure} \renewcommand\thefigure{\@arabic\c@figure} \def\fps@figure{Htbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} \newcounter{table} \renewcommand\thetable{\@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} %%-----------------------------------------------------------------%% \newcommand{\FIGURE}[2][v]{\begin{floatingfigure}[#1]#2 \end{floatingfigure}} \newcommand{\TABLE}[2][v]{\begin{floatingtable}[#1]{#2} \end{floatingtable}} \newcommand{\EPSFIGURE}[3][v]{\begin{floatingfigure}[#1]\epsfig{file=#2} \caption{#3}\end{floatingfigure}} \newcommand{\TABULAR}[4][v]{\begin{floatingtable}[#1]{\begin{tabular}{#2} #3\end{tabular}}\caption{#4} \end{floatingtable}} %Check below, and put automatic width *** \newcommand{\DOUBLEFIGURE}[5][ht]{\@dblfloat{figure}[#1]\centerline{% \parbox{.45\textwidth}{\centerline{\epsfig{file=#2}}}~~~~ \parbox{.45\textwidth}{\centerline{\epsfig{file=#3}}}} \centerline{\parbox[t]{.45\textwidth}{\caption{#4}}~~~~ \parbox[t]{.45\textwidth}{\caption{#5}}}\end@dblfloat} \newcommand{\DOUBLETABLE}[5][ht]{\@dblfloat{table}[#1]\centerline{% \parbox{.45\textwidth}{\centerline{#2}}~~~~ \parbox{.45\textwidth}{\centerline{#3}}} \centerline{\parbox[t]{.45\textwidth}{\caption{#4}}~~~~ \parbox[t]{.45\textwidth}{\caption{#5}}}\end@dblfloat} %%%%%%---------------- FROM FLOATFLT PACKAGE ------------------%%%%%%%% %% Original file `floatflt.sty', modified by F.Nesti to: %% be inserted in PoS.cls; %% correct float placement when shifting past pages; %% correct incompatibility with \marginpar; %% correct incompatibility with \@startsection; %% correct persisting indentation in following pars; %% let float also at beginning of pages; %% avoid the widht specification. %% %% Original was 1994-1996 by Mats Dahlgren . %% %%%%%%%%\NeedsTeXFormat{LaTeX2e}[1994/06/01] %LEFT THIS STUFF TO %%%%%%%%\ProvidesPackage{floatflt}[1996/02/27 v. 1.3] %RECONVERT TO PACKAGE. \newcounter{OptionTest} \if@twoside \setcounter{OptionTest}{0} \else % POS: 2side=p/1side=r \setcounter{OptionTest}{1} \fi %%%%%%%%\DeclareOption{rflt}{\setcounter{OptionTest}{1}} %%%%%%%%\DeclareOption{lflt}{\setcounter{OptionTest}{2}} % CHOSEN. %%%%%%%%\DeclareOption{vflt}{\setcounter{OptionTest}{0}} %%%%%%%%\DeclareOption*{\OptionNotUsed} %%%%%%%%\ProcessOptions \newbox\@tmpbox \newbox\figbox \newbox\tabbox \newbox\pagebox \newcount\ffigcount \newcount\ftabcount \newcount\hangcount \newcount\nosuccesstryfig \newcount\nosuccesstrytab \newdimen\figgutter \figgutter=1truepc \newdimen\tabgutter \tabgutter=1truepc \newdimen\fl@wd \newdimen\fl@ht %\newdimen\fl@gut \newdimen\htdone \htdone=\z@ \newdimen\pageht \newdimen\startpageht \newdimen\floatfltwidth \newdimen\fltitemwidth \newif\iftryingfig \tryingfigfalse \newif\iftryingtab \tryingtabfalse \newif\ifdoingfig \doingfigfalse \newif\ifdoingtab \doingtabfalse \newif\iffigprocessing \figprocessingfalse \newif\iftabprocessing \tabprocessingfalse \newif\ifpageafterfig \pageafterfigfalse \newif\ifpageaftertab \pageaftertabfalse \newif\ifoddpages \newif\ifoutput \newtoks\outputpretest \def\@captype{} %%---------------- ORRIBLE HACKS, SORRY -------------------------%% \let\old@marginpar\marginpar % \renewcommand\marginpar[1]{{\outputpretest={\outputtrue}% REDEF \marginpar. \old@marginpar{#1}}} % \def\g@addto#1#2{{\toks@\expandafter{#1#2}% \xdef#1{\the\toks@}}}% \def\postpone@captions{% % % \global\let\tmp@label\label % REDEF \caption AND \global\let\tmp@caption\caption % \label, LATER. \global\let\later@capt\relax % UN PO' PESANTI \gdef\later@label{}% % MA D'ALTRONDE... \let\J@ref\ref\def\ref{\protect\J@ref}% % protect ref in captions.. \renewcommand\caption{\@ifnextchar[\J@@caption\J@caption}% \newcommand\J@caption[1]{\gdef\later@capt{\tmp@caption{##1}}}% LOCAL!! \newcommand\J@@caption[2][v]% {\gdef\later@capt{\tmp@caption[##1]{##2}}}% LOCAL!! \renewcommand\@@label[1]{\egroup\name{ref-##1}% % TAG WHERE CALLED, AT LEAST, \if@draft\norm@note{}{LAB: ##1}\fi% & DRAFTNOTE. \g@addto\later@label{\old@label{##1}}}% } \AtEndDocument{\iftryingfig\PoS@warnl{Floating figure \the\ffigcount\space remains undone}\fi \iftryingtab\PoS@warnl{Floating table \the\ftabcount\space remains undone}\fi} %%----------------- FIGURE ---------------------------------------%% \newenvironment{floatingfigure}[1][v]% {\@tfor \@tempa :=#1\do {\xdef\@fside{\@tempa}}% \global\advance\ffigcount by 1% \iffigprocessing {\count0=\ffigcount\advance\count0 by -1% \PoS@warnl{Floating figures \the\count0\space\space and \the\ffigcount\space colliding}}\fi \iftabprocessing \PoS@warnl{Floating table \the\ftabcount\space and floating figure \the\ffigcount\space colliding}\fi \postpone@captions \global\setbox\@tmpbox=\hbox\bgroup% begin of figbox %HBOX FOR AUTO WIDTH! } {% \egroup% % CALCULATE WIDTH (NO CAPTION FOR NOW) \global\setlength{\floatfltwidth}{\the\wd\@tmpbox}% \ifdim\floatfltwidth<.6\columnwidth% % IF NOT TOO WIDE OK: \global\setbox\figbox=\vbox{\hsize=\floatfltwidth \def\@captype{figure}% \noindent\unhbox\@tmpbox \later@capt\later@label}% \global\figprocessingtrue \global\everypar={\tryfig\oldeverypar}% must be set globally! \figinsert\par \else% % ELSE NORMAL LATEX FIGURE, SIGH. \if\@fside v \def\@fside{ht}\fi \ifdim\floatfltwidth<\columnwidth \def\@@tempa{\@float{figure}[}\let\@@tempb\end@float \else \def\@@tempa{\@dblfloat{figure}[}\let\@@tempb\end@dblfloat \fi \expandafter\@@tempa\@fside]\center\unhbox\@tmpbox\later@capt\later@label\@@tempb \fi } %%------------ TABLE ----------------------------------------------%% \newenvironment{floatingtable}[1][v]% {\@tfor \@tempa :=#1\do {\global\edef\@tside{\@tempa}}% \global\advance\ftabcount by 1% \iftabprocessing {\count0=\ftabcount\advance\count0 by -1% \PoS@warnl{Floating tables \the\count0\space \space and \the\ftabcount \space colliding}}\fi \iffigprocessing \PoS@warnl{Floating figure \the\ffigcount\space and floating table \the\ftabcount\space colliding}\fi \postpone@captions \global\setbox\@tmpbox=\hbox\bgroup% begin of tabbox, ACTUALLY AN HBOX. } {% \egroup% end of \tabbox, % ACTUALLY \@tmpbox \global\setlength{\floatfltwidth}{\the\wd\@tmpbox}% \ifdim\floatfltwidth<.6\columnwidth% % IF NOT TOO WIDE OK: \global\setbox\tabbox=\vbox{\hsize=\floatfltwidth \def\@captype{table}% \noindent\unhbox\@tmpbox \later@capt\later@label}% \global\tabprocessingtrue \global\everypar={\trytab\oldeverypar}% \tabinsert\par% \else% % ELSE NORMAL LATEX TABLE. % \PoS@mess{Floating table \the\ftabcount\space is % wide becomes a LaTeX float}% \ifdim\floatfltwidth<1.1\columnwidth \if\@tside v \def\@tside{ht}\fi \def\@@tempa{\@float{table}[}\let\@@tempb\end@float \else \if\@tside v \def\@tside{t}\fi \def\@@tempa{\@dblfloat{table}[}\let\@@tempb\end@dblfloat \fi \expandafter\@@tempa\@tside]% % ACTUALLY CALL THE LATEX FLOAT \center\unhbox\@tmpbox\later@capt\later@label \@@tempb \fi% } %----------- prepare for tries ----------------------------% \def\figinsert{% \global\nosuccesstryfig=0% \global\outputpretest={\do@test}% \global\tryingfigtrue \global\doingfigfalse% \global\pageafterfigfalse}% \def\tabinsert{% \global\nosuccesstrytab=0% \global\outputpretest={\do@test}% \global\tryingtabtrue \global\doingtabfalse% \global\pageaftertabfalse}% %----------- init -----------------------------------------% \AtBeginDocument{% \edef\oldoutput{\the\output} \output={\the\outputpretest\ifoutput\oldoutput\fi}% \outputpretest={\outputtrue}% \edef\oldeverypar{\the\everypar}% PERCHE' NESSUNO LO RIMETTE PIU' A POSTO?*** } %---- tests during \outputpretest -------------------------% \def\do@test{% \ifnum\outputpenalty=-10005 % \output \setbox\pagebox=\vbox{\unvbox255}% \global\pageht=\ht\pagebox \global\outputfalse \unvbox\pagebox \dimen0=\pageht\advance\dimen0 by 2 \baselineskip \ifdim\dimen0>\vsize\global\pageht\z@\fi \else \global\outputtrue \ifnum\outputpenalty>-\@Mi %ie \marginpar's give penalty. \ifdoingtab\global\pageaftertabtrue\fi \ifdoingfig\global\pageafterfigtrue\fi \fi \fi}% %-------- check for side ----------------------------------% \def\chk@side#1{% DEFINED \fl@sid, BUT IF CHOSEN A DEFAULT, ELIMINATE ALL *** {\edef\fl@sid{#1}% \if\fl@sid r\global\oddpagestrue\fi \if\fl@sid l\global\oddpagesfalse\fi \if\fl@sid p% \ifodd\c@page\global\oddpagesfalse \else\global\oddpagestrue\fi \fi \if\fl@sid v% \ifnum\theOptionTest=0% \ifodd\c@page\global\oddpagesfalse \else\global\oddpagestrue\fi \else \ifodd\theOptionTest\global\oddpagestrue \else\global\oddpagesfalse\fi \fi \fi }}% %-------- get point in page -------------------------------% \def\get@pageht{{\everypar={\relax}\setbox0=\lastbox \parindent=\wd0 \parskip=\z@ \par \penalty-10005 \leavevmode}}% %-------- try at everypar ---------------------------------% \def\tryfig{% \global\fl@ht\ht\figbox \global\fl@wd\wd\figbox \global\let\fl@gut\figgutter \iftryingfig \get@pageht \dimen0=\vsize \advance\dimen0 by -\pageht \advance\dimen0 by -2\baselineskip \ifdim\dimen0>\fl@ht \chk@side\@fside \dimen0=0.3\baselineskip \vrule depth \dimen0 width \z@%height 1.5\baselineskip \vadjust{\kern -\dimen0 \vtop to \dimen0{% \baselineskip=\dimen0 \vss \vbox to 1ex{% \ifoddpages \hb@xt@\hsize{\hss\copy\figbox}% \else% leftsetting \hb@xt@\hsize{\copy\figbox\hss}% \fi \vss}\null}}% \global\tryingfigfalse \global\doingfigtrue \global\startpageht=\pageht \global\htdone=\z@ \dohang \ifnum\nosuccesstryfig>0% \PoS@mess{Flt. fig. \the\ffigcount\space set on page \the\count0, shifted \the\nosuccesstryfig\space par(s) forward}% % \else % \PoS@mess{Floating figure \the\ffigcount\space % set on page \the\count0}% \fi \else \global\advance\nosuccesstryfig by 1 \fi \else% % IF NOT TRYING \ifdoingfig \get@pageht \global\htdone=\pageht \global\advance\htdone by -\startpageht \ifpageafterfig \global\doingfigfalse% IN CASE A PAGEBREAK JUST BELOW? \else \dimen0=\fl@ht \advance\dimen0 by .85\baselineskip % .85 ENOUGH: WE ARE AT NEW PAR % \typeout{FLOAT HT: \the\dimen0, HTDONE: \the\htdone} \ifdim\htdone<\dimen0% \dohang \else \global\doingfigfalse \fi \fi \ifdoingfig\else\global\figprocessingfalse\fi% IF NO MORE DOING. \else \global\outputpretest={\outputtrue}% NOT RESTORE EVPAR IF NOT DOING? \fi% % END IF DOING \fi% % END IF TRYING } \def\trytab{% \global\fl@ht\ht\tabbox \global\fl@wd\wd\tabbox \global\let\fl@gut\tabgutter \iftryingtab \get@pageht \dimen0=\vsize \advance\dimen0 by -\pageht \advance\dimen0 by -2\baselineskip \ifdim\dimen0>\fl@ht \chk@side\@tside \dimen0=0.3\baselineskip \vrule depth \dimen0 width \z@ \vadjust{\kern -\dimen0 \vtop to \dimen0{% \baselineskip=\dimen0 \vss \vbox to 1ex{% \ifoddpages \hb@xt@\hsize{\hss\copy\tabbox}% \else% leftsetting \hb@xt@\hsize{\copy\tabbox\hss}% \fi \vss}\null}}% \global\tryingtabfalse \global\doingtabtrue \global\startpageht=\pageht \global\htdone=\z@ \dohang \ifnum\nosuccesstrytab>0% \PoS@mess{Flt. tab. \the\ftabcount\space set on page \the\count0, shifted \the\nosuccesstrytab\space par(s) forward}% \fi \else \global\advance\nosuccesstrytab by 1 \fi \else \ifdoingtab \get@pageht \global\htdone=\pageht \global\advance\htdone by -\startpageht \ifpageaftertab \global\doingtabfalse \else \dimen0=\fl@ht \advance\dimen0 by .85\baselineskip % .85 ENOUGH: WE ARE AT NEW PAR \ifdim\htdone<\dimen0% \dohang \else \global\doingtabfalse \fi \fi \ifdoingtab\relax\else\global\tabprocessingfalse\fi \else \global\outputpretest={\outputtrue}% \fi \fi } %----- hanging lord -----------------------------% \def\dohang{% \dimen0=\fl@ht \advance\dimen0 by -\htdone \advance\dimen0 by 1.999\baselineskip % (16/12/98) WAS 1.49 BUT \hangcount=\dimen0 % TEX ROUNDS ON STRICT INTEGERS \divide\hangcount by \baselineskip % IN THIS DIVISION! \dimen0=\fl@wd \advance\dimen0 by \fl@gut \ifoddpages \global\hangindent=-\dimen0% placing right \else \global\hangindent=\dimen0% placing left \fi \global\hangafter=-\hangcount % \fi } %----------------------- TWO NEWITEMS ---------------------% \newcommand{\fltitem}[2][\z@]{\setlength{\fltitemwidth}{\linewidth}% \addtolength{\fltitemwidth}{-\floatfltwidth}% \addtolength{\fltitemwidth}{-0.5em}% \item \parbox[t]{\fltitemwidth}{#2}\\[#1]} \newcommand{\fltditem}[3][\z@]{\setlength{\fltitemwidth}{\linewidth}% \addtolength{\fltitemwidth}{-\floatfltwidth}% \addtolength{\fltitemwidth}{-0.5em}% \item[#2] \parbox[t]{\fltitemwidth}{#3}\\[#1]} %%%%%%\endinput %% %% End of ex-file `floatflt.sty'. %%% this is a modification to the standard latex to make bottom %%% figures appear above the footnote % problema: se nella stessa pagina ci sono una figura piccola e una % [b] o [t] dopo di essa quella piccola viene a sinistra % ma questo succede anche senza questa patch! % e con o senza footnote. \newbox\JCAP@outputbox \gdef \@makecol {% \ifvoid\footins \setbox\@outputbox \box\@cclv \else \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \@tempdima\dp\@cclv \unvbox \@outputbox \unvbox \@cclv \vskip-\@tempdima }% \setbox\JCAP@outputbox \vbox {% \vskip \skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup }% \fi \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \vskip -\dimen@ \unvbox\JCAP@outputbox \@textbottom }% \fi \global \maxdepth \@maxdepth } %%% end of the patch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CAPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{8\p@ plus 1pt minus 2pt} \setlength\belowcaptionskip{0\p@} \long\def\@makecaption#1#2{% \if@hyper{\edef\@pippo{the\@captype} \name{\@captype\expandafter\csname\@pippo\endcsname}}\fi% \vskip\abovecaptionskip {\let\label\@gobble% % FN 10.2.97 REMOVED LATEX BUG: \let\index\@gobble% % LARGE CAPTIONS PROCESS LABEL \let\glossary\@gobble% % TWO TIMES. \sbox\@tempboxa{\small {\bfseries #1:} #2}% % \global\dimen0\wd\@tempboxa}% % \ifdim \dimen0 >\hsize \small {\bfseries #1:} #2\par \else \global\@minipagefalse \sbox\@tempboxa{\small {\bfseries #1:} #2}% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FONTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TOC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\tocsecs{} \newcommand\@pnumwidth{1.55em} \newcommand\@tocrmarg{2.55em} \newcommand\@dotsep{4.5} \setcounter{tocdepth}{3} \newcommand\tableofcontents{% \if@todotoc \section*{\contentsname\label{-TOC-}} \@starttoc{toc}% \gdef\tableofcontents{\PoS@igno{\tableofcontents\space already done}} \else \PoS@ignol{\tableofcontents. Use option [toc]} \fi} \newcommand*\l@part[2]{\def\hyp@typ{part}% \ifnum \c@tocdepth >-2\relax \addpenalty\@secpenalty \addvspace{2.25em \@plus\p@}% \begingroup \setlength\@tempdima{3em}% \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\leavevmode \large \bfseries \tocsecs#1\hfil \hb@xt@\@pnumwidth{\hss \intPlink{\hash pag#2}{#2}}}\par \nobreak \if@compatibility \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}% \fi \endgroup \fi} \newcommand*\l@section[2]{\def\hyp@typ{sec}% \ifnum \c@tocdepth >\z@ \addpenalty\@secpenalty \addvspace{1.0em \@plus\p@}% \setlength\@tempdima{1.8em}% %WIDTH OF SECT. N. \begingroup \let\d@t.% \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \bfseries \advance\leftskip\@tempdima \hskip -\leftskip \tocsecs#1\nobreak\hfil %HREF HERE WOULD GET ALSO THE TITLE(...) \nobreak\hb@xt@\@pnumwidth{\hss \intPlink{\hash pag#2}{#2}}\par \endgroup \fi} \newcommand*\l@subsection{\def\hyp@typ{sec}\@tocline{2}{1.8em}{2.3em}} \newcommand*\l@subsubsection{\def\hyp@typ{sec}\@tocline{3}{4.1em}{3.1em}} \newcommand*\l@paragraph{\def\hyp@typ{sec}\@tocline{4}{7.2em}{4.3em}} \newcommand*\l@subparagraph{\def\hyp@typ{sec}\@tocline{5}{10.5em}{5em}} \if@hyper \let\old@dtl\@dottedtocline \def\@dottedtocline#1#2#3#4#5{\old@dtl{#1}{#2}{#3}{#4}{% \intPlink{\hash pag#5}{#5}}} \fi \def\@tocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor \intPlink{\hash pag#5}{#5}}% \par}% \fi} %%%%%%%%%%%%%%%%%%%%%% LIST OF FIGURES AND TABLES %%%%%%%%%%%%%%%%%%%%% \if@draft % ONLY IF DRAFT! ... \newcommand\listoffigures{% \section*{\listfigurename \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}}% \@starttoc{lof}% } \newcommand*\l@figure{\def\hyp@typ{figure}\@dottedtocline{1}{1.5em}{2.3em}} \newcommand\listoftables{% \section*{\listtablename \@mkboth{% \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% \@starttoc{lot}% } \newcommand*\l@table{\def\hyp@typ{table}\@dottedtocline{1}{1.5em}{2.3em}} \else \newcommand\listoffigures{\PoS@ignol{List of figures (draft mode only)}} \newcommand\listoftables{\PoS@ignol{List of tables (draft mode only)}} \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%*** \newdimen\bibindent \setlength\bibindent{1.5em} \newenvironment{thebibliography}[1]% %UNFORTUNATELY MODIFIED.. {\bgroup\raggedright\small\section*{\refname \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% \list{\name{bib\@arabic\c@enumiv}% HOPE! \@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy\clubpenalty4000\widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist\egroup} \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} \if@draft \let\old@bbt\@bibitem\let\old@lbbt\@lbibitem% LOOK THE DISASTER HERE BELOW. \def\@lbibitem[#1]#2{\old@lbbt[#1]{#2}\reversemarginpar{\sf\bfseries\small#2}} \def\@bibitem#1{\old@bbt{#1}\reversemarginpar{\sf\bfseries\small#1}} \fi \let\@openbib@code\@empty \newcommand{\pos}[1]{\href{http://pos.sissa.it/cgi-bin/reader/contribution.cgi?id=#1}{\tt #1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FOOTNOTES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \skip\footins = 1\bigskipamount plus 2pt minus 4pt \addtolength{\footnotesep}{1pt} \renewcommand\footnoterule{% % NO HYPER... \kern-3\p@ \hrule\@width.4\columnwidth \kern2.6\p@} \newcommand\@makefntext[1]{% \parindent 20.39995pt% %\setlength\parindent{20pt} \noindent \hb@xt@\parindent{\hss\@makefnmark}#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NAMES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand\contentsname{Contents} \if@draft\newcommand\listfigurename{List of figures} \newcommand\listtablename{List of tables}\fi \newcommand\refname{References} \newcommand\indexname{Index} \newcommand\figurename{Figure} \newcommand\tablename{Table} \newcommand\partname{Part} \newcommand\appendixname{Appendix} \newcommand\abstractname{Abstract:} \newcommand\acknowlname{Acknowledgments} \newcommand\today{} \edef\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \setlength\columnsep{20\p@} \setlength\columnseprule{0\p@} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFAULTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagestyle{PoS} \pagenumbering{arabic} \@addtoreset{equation}{section} \let\pagestyle\@gobble \let\thispagestyle\@gobble \let\pagenumbering\@gobble \onecolumn % FOR REQUESTED FRONTMATTER ... \AtBeginDocument{\bgroup% SOME NICE (LOCAL) MESSAGES... \def\@APPwarn#1{\PoS@warnl{\protect#1 should appear before \protect\begin{document}}}% \def\@APPerr#1{\ClassError{PoS}{\protect#1 should appear before \protect\begin{document}}}% \if@author\else\@APPerr{Some \protect\author{...}}\fi \if@abstract\else\@APPerr{\abstract{...}}\fi \if@conf\else\@APPerr{\FullConference{...}}\fi \if@shorttitle\else\@APPerr{\ShortTitle{...}}\fi \egroup \auto@maketitle \if@speaker\else\PoS@warnl{One \protect\speaker{...} must be specified among authors}\fi \if@dblspeak\PoS@warnl{A single \protect\speaker{...} should appear in proceedings}\fi } \endinput %% %% End of file `PoS.cls'.