arxiv V1
This commit is contained in:
508
iccv.sty
Normal file
508
iccv.sty
Normal file
@@ -0,0 +1,508 @@
|
||||
% ---------------------------------------------------------------
|
||||
%
|
||||
% No guarantee is given that the format corresponds perfectly to
|
||||
% IEEE 8.5" x 11" Proceedings, but most features should be ok.
|
||||
%
|
||||
% ---------------------------------------------------------------
|
||||
% with LaTeX2e:
|
||||
% =============
|
||||
%
|
||||
% use as
|
||||
% \documentclass[times,10pt,twocolumn]{article}
|
||||
% \usepackage[options]{ICCV}
|
||||
% \usepackage{times}
|
||||
%
|
||||
% "options" should be replaced by
|
||||
% * "review" for submitting a paper for review,
|
||||
% * "final" for the camera ready, and
|
||||
% * "rebuttal" for the author rebuttal.
|
||||
%
|
||||
% specify references as
|
||||
% {\small
|
||||
% \bibliographystyle{ieee}
|
||||
% \bibliography{...your files...}
|
||||
% }
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||
\ProvidesPackage{iccv}[2025 LaTeX class for IEEE ICCV]
|
||||
|
||||
\RequirePackage{times} % Integrate Times for here
|
||||
\RequirePackage{xspace}
|
||||
\RequirePackage[dvipsnames]{xcolor}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage[numbers,sort&compress]{natbib}
|
||||
\setlength{\bibsep}{1pt plus 1pt minus 1pt}
|
||||
|
||||
\RequirePackage{silence} % Suppress unwanted warnings
|
||||
\hbadness=10000 \vbadness=10000 \vfuzz=30pt \hfuzz=30pt
|
||||
\WarningFilter{latexfont}{Font shape declaration}
|
||||
\WarningFilter{latex}{Font shape}
|
||||
\WarningFilter[rebuttal]{latex}{No \author given}
|
||||
\RequirePackage{etoolbox}
|
||||
|
||||
% Use modern caption package to allow for sub-figures etc.
|
||||
% Reproduces the original CVPR/ICCV style as closely as possible.
|
||||
\RequirePackage[format=plain,labelformat=simple,labelsep=period,font=small,compatibility=false]{caption}
|
||||
\RequirePackage[font=footnotesize,skip=3pt,subrefformat=parens]{subcaption}
|
||||
|
||||
|
||||
\newtoggle{iccvfinal} % Camera-ready version
|
||||
\newtoggle{iccvrebuttal} % Rebuttal
|
||||
\newtoggle{iccvpagenumbers} % Force page numbers (in camera ready)
|
||||
\toggletrue{iccvfinal}
|
||||
\togglefalse{iccvrebuttal}
|
||||
\togglefalse{iccvpagenumbers}
|
||||
\DeclareOption{review}{\togglefalse{iccvfinal}\toggletrue{iccvpagenumbers}}
|
||||
\DeclareOption{rebuttal}{\togglefalse{iccvfinal}\toggletrue{iccvrebuttal}}
|
||||
\DeclareOption{pagenumbers}{\toggletrue{iccvpagenumbers}}
|
||||
\DeclareOption*{\PackageWarning{iccv}{Unkown option `\CurrentOption'}}
|
||||
\ProcessOptions\relax
|
||||
|
||||
% Don't warn about missing author for rebuttal
|
||||
\iftoggle{iccvrebuttal}{%
|
||||
\ActivateWarningFilters[rebuttal]
|
||||
}{}
|
||||
|
||||
% Breaking lines for URLs in the bib
|
||||
\RequirePackage[hyphens]{url}
|
||||
\Urlmuskip=0mu plus 1mu\relax
|
||||
|
||||
|
||||
% ---------------------------------------------------------------
|
||||
% Inlined version of the obsolete "everyshi-2001-05-15" package.
|
||||
\newcommand{\@EveryShipout@Hook}{}
|
||||
\newcommand{\@EveryShipout@AtNextHook}{}
|
||||
\newcommand*{\EveryShipout}[1]
|
||||
{\g@addto@macro\@EveryShipout@Hook{#1}}
|
||||
\newcommand*{\AtNextShipout}[1]
|
||||
{\g@addto@macro\@EveryShipout@AtNextHook{#1}}
|
||||
\newcommand{\@EveryShipout@Shipout}{%
|
||||
\afterassignment\@EveryShipout@Test
|
||||
\global\setbox\@cclv= %
|
||||
}
|
||||
\newcommand{\@EveryShipout@Test}{%
|
||||
\ifvoid\@cclv\relax
|
||||
\aftergroup\@EveryShipout@Output
|
||||
\else
|
||||
\@EveryShipout@Output
|
||||
\fi%
|
||||
}
|
||||
\newcommand{\@EveryShipout@Output}{%
|
||||
\@EveryShipout@Hook%
|
||||
\@EveryShipout@AtNextHook%
|
||||
\gdef\@EveryShipout@AtNextHook{}%
|
||||
\@EveryShipout@Org@Shipout\box\@cclv%
|
||||
}
|
||||
\newcommand{\@EveryShipout@Org@Shipout}{}
|
||||
\newcommand*{\@EveryShipout@Init}{%
|
||||
\message{ABD: EveryShipout initializing macros}%
|
||||
\let\@EveryShipout@Org@Shipout\shipout
|
||||
\let\shipout\@EveryShipout@Shipout
|
||||
}
|
||||
\AtBeginDocument{\@EveryShipout@Init}
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
|
||||
% ---------------------------------------------------------------
|
||||
% Inlined simplified version of the "eso-pic" package.
|
||||
\newcommand\LenToUnit[1]{#1\@gobble}
|
||||
\newcommand\AtPageUpperLeft[1]{%
|
||||
\begingroup
|
||||
\@tempdima=0pt\relax\@tempdimb=\ESO@yoffsetI\relax
|
||||
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
|
||||
\endgroup
|
||||
}
|
||||
\newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
|
||||
\put(0,\LenToUnit{-\paperheight}){#1}}}
|
||||
\newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
|
||||
\put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}%
|
||||
}
|
||||
\newcommand\AtTextUpperLeft[1]{%
|
||||
\begingroup
|
||||
\setlength\@tempdima{1in}%
|
||||
\ifodd\c@page%
|
||||
\advance\@tempdima\oddsidemargin%
|
||||
\else%
|
||||
\advance\@tempdima\evensidemargin%
|
||||
\fi%
|
||||
\@tempdimb=\ESO@yoffsetI\relax\advance\@tempdimb-1in\relax%
|
||||
\advance\@tempdimb-\topmargin%
|
||||
\advance\@tempdimb-\headheight\advance\@tempdimb-\headsep%
|
||||
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
|
||||
\endgroup
|
||||
}
|
||||
\newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{%
|
||||
\put(0,\LenToUnit{-\textheight}){#1}}}
|
||||
\newcommand\AtTextCenter[1]{\AtTextUpperLeft{%
|
||||
\put(\LenToUnit{.5\textwidth},\LenToUnit{-.5\textheight}){#1}}}
|
||||
\newcommand{\ESO@HookI}{} \newcommand{\ESO@HookII}{}
|
||||
\newcommand{\ESO@HookIII}{}
|
||||
\newcommand{\AddToShipoutPicture}{%
|
||||
\@ifstar{\g@addto@macro\ESO@HookII}{\g@addto@macro\ESO@HookI}}
|
||||
\newcommand{\ClearShipoutPicture}{\global\let\ESO@HookI\@empty}
|
||||
\newcommand\ESO@isMEMOIR[1]{}
|
||||
\@ifclassloaded{memoir}{\renewcommand\ESO@isMEMOIR[1]{#1}}{}
|
||||
\newcommand{\@ShipoutPicture}{%
|
||||
\bgroup
|
||||
\@tempswafalse%
|
||||
\ifx\ESO@HookI\@empty\else\@tempswatrue\fi%
|
||||
\ifx\ESO@HookII\@empty\else\@tempswatrue\fi%
|
||||
\ifx\ESO@HookIII\@empty\else\@tempswatrue\fi%
|
||||
\if@tempswa%
|
||||
\@tempdima=1in\@tempdimb=-\@tempdima%
|
||||
\advance\@tempdimb\ESO@yoffsetI%
|
||||
\ESO@isMEMOIR{%
|
||||
\advance\@tempdima\trimedge%
|
||||
\advance\@tempdima\paperwidth%
|
||||
\advance\@tempdima-\stockwidth%
|
||||
\if@twoside\ifodd\c@page\else%
|
||||
\advance\@tempdima-2\trimedge%
|
||||
\advance\@tempdima-\paperwidth%
|
||||
\advance\@tempdima\stockwidth%
|
||||
\fi\fi%
|
||||
\advance\@tempdimb\trimtop}%
|
||||
\unitlength=1pt%
|
||||
\global\setbox\@cclv\vbox{%
|
||||
\vbox{\let\protect\relax
|
||||
\pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
|
||||
\ESO@HookIII\ESO@HookI\ESO@HookII%
|
||||
\global\let\ESO@HookII\@empty%
|
||||
\endpicture}%
|
||||
\nointerlineskip%
|
||||
\box\@cclv}%
|
||||
\fi
|
||||
\egroup
|
||||
}
|
||||
\EveryShipout{\@ShipoutPicture}
|
||||
\RequirePackage{keyval}
|
||||
\newif\ifESO@dvips\ESO@dvipsfalse
|
||||
\newif\ifESO@texcoord\ESO@texcoordfalse
|
||||
|
||||
\AtBeginDocument{%
|
||||
\IfFileExists{color.sty}
|
||||
{%
|
||||
\RequirePackage{color}
|
||||
\let\ESO@color=\color\let\ESO@colorbox=\colorbox
|
||||
\let\ESO@fcolorbox=\fcolorbox
|
||||
}{}
|
||||
\@ifundefined{Gin@driver}{}%
|
||||
{%
|
||||
\ifx\Gin@driver\@empty\else%
|
||||
\filename@parse{\Gin@driver}\def\reserved@a{dvips}%
|
||||
\ifx\filename@base\reserved@a\ESO@dvipstrue\fi%
|
||||
\fi
|
||||
}%
|
||||
\ifx\pdfoutput\undefined\else
|
||||
\ifx\pdfoutput\relax\else
|
||||
\ifcase\pdfoutput\else
|
||||
\ESO@dvipsfalse%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
\ifESO@texcoord
|
||||
\def\ESO@yoffsetI{0pt}\def\ESO@yoffsetII{-\paperheight}
|
||||
\else
|
||||
\def\ESO@yoffsetI{\paperheight}\def\ESO@yoffsetII{0pt}
|
||||
\fi
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
|
||||
\typeout{ICCV 8.5 x 11-Inch Proceedings Style `iccv.sty'.}
|
||||
|
||||
% ten point helvetica bold required for captions
|
||||
% eleven point times bold required for second-order headings
|
||||
% in some sites the name of the fonts may differ,
|
||||
% change the name here:
|
||||
\font\iccvtenhv = phvb at 8pt % *** IF THIS FAILS, SEE iccv.sty ***
|
||||
\font\elvbf = ptmb scaled 1100
|
||||
\font\tenbf = ptmb scaled 1000
|
||||
|
||||
% If the above lines give an error message, try to comment them and
|
||||
% uncomment these:
|
||||
%\font\iccvtenhv = phvb7t at 8pt
|
||||
%\font\elvbf = ptmb7t scaled 1100
|
||||
%\font\tenbf = ptmb7t scaled 1000
|
||||
|
||||
% set dimensions of columns, gap between columns, and paragraph indent
|
||||
\setlength{\textheight}{8.875in}
|
||||
\setlength{\textwidth}{6.875in}
|
||||
\setlength{\columnsep}{0.3125in}
|
||||
\setlength{\topmargin}{0in}
|
||||
\setlength{\headheight}{0in}
|
||||
\setlength{\headsep}{0in}
|
||||
\setlength{\parindent}{1pc}
|
||||
\setlength{\oddsidemargin}{-0.1875in}
|
||||
\setlength{\evensidemargin}{-0.1875in}
|
||||
|
||||
|
||||
% Suppress page numbers when the appropriate option is given
|
||||
\iftoggle{iccvpagenumbers}{}{%
|
||||
\pagestyle{empty}
|
||||
}
|
||||
|
||||
\AtBeginDocument{%
|
||||
% Print an error if document class other than article is used
|
||||
\@ifclassloaded{article}{}{%
|
||||
\PackageError{iccv}{Package only meant to be used with document class `article'}{Change document class to `article'.}
|
||||
}
|
||||
% Print a warning if incorrect options for article are specified
|
||||
\@ifclasswith{article}{10pt}{}{%
|
||||
\PackageWarningNoLine{iccv}{Incorrect font size specified - ICCV requires 10-point fonts. Please load document class `article' with `10pt' option}
|
||||
}
|
||||
\@ifclasswith{article}{twocolumn}{}{%
|
||||
\PackageWarningNoLine{iccv}{Single column document - ICCV requires papers to have two-column layout. Please load document class `article' with `twocolumn' option}
|
||||
}
|
||||
\@ifclasswith{article}{letterpaper}{}{%
|
||||
\PackageWarningNoLine{iccv}{Incorrect paper size - ICCV uses paper size `letter'. Please load document class `article' with `letterpaper' option}
|
||||
}
|
||||
% Print a warning if hyperref is not loaded and/or if the pagebackref option is missing
|
||||
\iftoggle{iccvfinal}{%
|
||||
\@ifpackageloaded{hyperref}{}{%
|
||||
\PackageWarningNoLine{iccv}{Package `hyperref' is not loaded, but highly recommended for camera-ready version}
|
||||
}
|
||||
}{%
|
||||
\@ifpackageloaded{hyperref}{
|
||||
\@ifpackagewith{hyperref}{pagebackref}{}{
|
||||
\PackageWarningNoLine{iccv}{Package `hyperref' is not loaded with option `pagebackref', which is strongly recommended for review version}
|
||||
}
|
||||
}{%
|
||||
\PackageWarningNoLine{iccv}{Package `hyperref' is not loaded, but strongly recommended for review version}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
\def\@maketitle{
|
||||
\newpage
|
||||
\null
|
||||
\iftoggle{iccvrebuttal}{\vspace*{-.3in}}{\vskip .375in}
|
||||
\begin{center}
|
||||
% smaller title font only for rebuttal
|
||||
\iftoggle{iccvrebuttal}{{\large \bf \@title \par}}{{\Large \bf \@title \par}}
|
||||
% additional two empty lines at the end of the title
|
||||
\iftoggle{iccvrebuttal}{\vspace*{-22pt}}{\vspace*{24pt}}{
|
||||
\large
|
||||
\lineskip .5em
|
||||
\begin{tabular}[t]{c}
|
||||
\iftoggle{iccvfinal}{
|
||||
\@author
|
||||
}{
|
||||
\iftoggle{iccvrebuttal}{}{
|
||||
Anonymous \confName~submission\\
|
||||
\vspace*{1pt}\\
|
||||
Paper ID \paperID
|
||||
}
|
||||
}
|
||||
\end{tabular}
|
||||
\par
|
||||
}
|
||||
% additional small space at the end of the author name
|
||||
\vskip .5em
|
||||
% additional empty line at the end of the title block
|
||||
\vspace*{12pt}
|
||||
\end{center}
|
||||
}
|
||||
|
||||
\def\abstract{%
|
||||
% Suppress page numbers when the appropriate option is given
|
||||
\iftoggle{iccvpagenumbers}{}{%
|
||||
\thispagestyle{empty}
|
||||
}
|
||||
\centerline{\large\bf Abstract}%
|
||||
\vspace*{12pt}\noindent%
|
||||
\it\ignorespaces%
|
||||
}
|
||||
|
||||
\def\endabstract{%
|
||||
% additional empty line at the end of the abstract
|
||||
\vspace*{12pt}
|
||||
}
|
||||
|
||||
\def\affiliation#1{\gdef\@affiliation{#1}} \gdef\@affiliation{}
|
||||
|
||||
% correct heading spacing and type
|
||||
\def\iccvsection{\@startsection {section}{1}{\z@}
|
||||
{-10pt plus -2pt minus -2pt}{7pt} {\large\bf}}
|
||||
\def\iccvssect#1{\iccvsection*{#1}}
|
||||
\def\iccvsect#1{\iccvsection{\texorpdfstring{\hskip -1em.~}{}#1}}
|
||||
\def\section{\@ifstar\iccvssect\iccvsect}
|
||||
|
||||
\def\iccvsubsection{\@startsection {subsection}{2}{\z@}
|
||||
{-8pt plus -2pt minus -2pt}{5pt} {\elvbf}}
|
||||
\def\iccvssubsect#1{\iccvsubsection*{#1}}
|
||||
\def\iccvsubsect#1{\iccvsubsection{\texorpdfstring{\hskip -1em.~}{}#1}}
|
||||
\def\subsection{\@ifstar\iccvssubsect\iccvsubsect}
|
||||
|
||||
\def\iccvsubsubsection{\@startsection {subsubsection}{3}{\z@}
|
||||
{-6pt plus -2pt minus -2pt}{3pt} {\tenbf}}
|
||||
\def\iccvssubsubsect#1{\iccvsubsubsection*{#1}}
|
||||
\def\iccvsubsubsect#1{\iccvsubsubsection{\texorpdfstring{\hskip -1em.~}{}#1}}
|
||||
\def\subsubsection{\@ifstar\iccvssubsubsect\iccvsubsubsect}
|
||||
|
||||
%% --------- Page background marks: Ruler and confidentiality (only for review and rebuttal)
|
||||
\iftoggle{iccvfinal}{
|
||||
% In review and rebuttal mode, we use the "lineno" package for numbering lines.
|
||||
% When switching to a different mode, the "\@LN" macro may remain in cached .aux files,
|
||||
% leading to build errors (https://github.com/cvpr-org/author-kit/issues/49).
|
||||
% Defining the macro as empty fixes that (https://tex.stackexchange.com/a/125779).
|
||||
\makeatletter
|
||||
\providecommand{\@LN}[2]{}
|
||||
\makeatother
|
||||
}{
|
||||
% ----- define vruler
|
||||
\makeatletter
|
||||
\newbox\iccvrulerbox
|
||||
\newcount\iccvrulercount
|
||||
\newdimen\iccvruleroffset
|
||||
\newdimen\cv@lineheight
|
||||
\newdimen\cv@boxheight
|
||||
\newbox\cv@tmpbox
|
||||
\newcount\cv@refno
|
||||
\newcount\cv@tot
|
||||
% NUMBER with left flushed zeros \fillzeros[<WIDTH>]<NUMBER>
|
||||
\newcount\cv@tmpc@ \newcount\cv@tmpc
|
||||
\def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi
|
||||
\cv@tmpc=1 %
|
||||
\loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi
|
||||
\ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat
|
||||
\ifnum#2<0\advance\cv@tmpc1\relax-\fi
|
||||
\loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat
|
||||
\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}%
|
||||
\makeatother
|
||||
% ----- end of vruler
|
||||
|
||||
%% Define linenumber setup
|
||||
\RequirePackage[switch,mathlines]{lineno}
|
||||
|
||||
% Line numbers in ICCV blue using font from \iccvtenhv
|
||||
\renewcommand\linenumberfont{\iccvtenhv\color[rgb]{.5,.5,1}}
|
||||
|
||||
\renewcommand\thelinenumber{\fillzeros[3]{\arabic{linenumber}}}
|
||||
|
||||
\setlength{\linenumbersep}{.75cm}
|
||||
|
||||
% Bug: An equation with $$ ... $$ isn't numbered, nor is the previous line.
|
||||
|
||||
% Patch amsmath commands so that the previous line and the equation itself
|
||||
% are numbered. Bug: multiline has an extra line number.
|
||||
% https://tex.stackexchange.com/questions/461186/how-to-use-lineno-with-amsmath-align
|
||||
\RequirePackage{etoolbox} %% <- for \pretocmd, \apptocmd and \patchcmd
|
||||
|
||||
\newcommand*\linenomathpatch[1]{%
|
||||
\expandafter\pretocmd\csname #1\endcsname {\linenomath}{}{}%
|
||||
\expandafter\pretocmd\csname #1*\endcsname {\linenomath}{}{}%
|
||||
\expandafter\apptocmd\csname end#1\endcsname {\endlinenomath}{}{}%
|
||||
\expandafter\apptocmd\csname end#1*\endcsname {\endlinenomath}{}{}%
|
||||
}
|
||||
\newcommand*\linenomathpatchAMS[1]{%
|
||||
\expandafter\pretocmd\csname #1\endcsname {\linenomathAMS}{}{}%
|
||||
\expandafter\pretocmd\csname #1*\endcsname {\linenomathAMS}{}{}%
|
||||
\expandafter\apptocmd\csname end#1\endcsname {\endlinenomath}{}{}%
|
||||
\expandafter\apptocmd\csname end#1*\endcsname {\endlinenomath}{}{}%
|
||||
}
|
||||
|
||||
%% Definition of \linenomathAMS depends on whether the mathlines option is provided
|
||||
\expandafter\ifx\linenomath\linenomathWithnumbers
|
||||
\let\linenomathAMS\linenomathWithnumbers
|
||||
%% The following line gets rid of an extra line numbers at the bottom:
|
||||
\patchcmd\linenomathAMS{\advance\postdisplaypenalty\linenopenalty}{}{}{}
|
||||
\else
|
||||
\let\linenomathAMS\linenomathNonumbers
|
||||
\fi
|
||||
|
||||
% Add the numbers
|
||||
\linenumbers
|
||||
\AtBeginDocument{%
|
||||
\linenomathpatch{equation}%
|
||||
\linenomathpatchAMS{gather}%
|
||||
\linenomathpatchAMS{multline}%
|
||||
\linenomathpatchAMS{align}%
|
||||
\linenomathpatchAMS{alignat}%
|
||||
\linenomathpatchAMS{flalign}%
|
||||
}
|
||||
|
||||
% \makevruler[<SCALE>][<INITIAL_COUNT>][<STEP>][<DIGITS>][<HEIGHT>]
|
||||
\def\iccvruler#1{\makevruler[12pt][#1][1][3][0.993\textheight]\usebox{\iccvrulerbox}}
|
||||
\AddToShipoutPicture{%
|
||||
\color[rgb]{.5,.5,1}
|
||||
|
||||
\def\pid{\parbox{1in}{\begin{center}\bf\sf{\small \confName}\\\small \#\paperID\end{center}}}
|
||||
\AtTextUpperLeft{%paperID in corners
|
||||
\put(\LenToUnit{-65pt},\LenToUnit{45pt}){\pid}
|
||||
\put(\LenToUnit{\textwidth-12pt},\LenToUnit{45pt}){\pid}
|
||||
}
|
||||
\AtTextUpperLeft{%confidential
|
||||
\put(0,\LenToUnit{1cm}){\parbox{\textwidth}{\centering\iccvtenhv
|
||||
\confName~\confYear~Submission \#\paperID. CONFIDENTIAL REVIEW COPY. DO NOT DISTRIBUTE.}}
|
||||
}
|
||||
}
|
||||
} % end of not iccvfinal
|
||||
|
||||
%%% Make figure placement a little more predictable.
|
||||
% We trust the user to move figures if this results
|
||||
% in ugliness.
|
||||
% Minimize bad page breaks at figures
|
||||
\renewcommand{\textfraction}{0.01}
|
||||
\renewcommand{\floatpagefraction}{0.99}
|
||||
\renewcommand{\topfraction}{0.99}
|
||||
\renewcommand{\bottomfraction}{0.99}
|
||||
\renewcommand{\dblfloatpagefraction}{0.99}
|
||||
\renewcommand{\dbltopfraction}{0.99}
|
||||
\setcounter{totalnumber}{99}
|
||||
\setcounter{topnumber}{99}
|
||||
\setcounter{bottomnumber}{99}
|
||||
|
||||
% Add a period to the end of an abbreviation unless there's one
|
||||
% already, then \xspace.
|
||||
\makeatletter
|
||||
\DeclareRobustCommand\onedot{\futurelet\@let@token\@onedot}
|
||||
\def\@onedot{\ifx\@let@token.\else.\null\fi\xspace}
|
||||
|
||||
\def\eg{\emph{e.g}\onedot} \def\Eg{\emph{E.g}\onedot}
|
||||
\def\ie{\emph{i.e}\onedot} \def\Ie{\emph{I.e}\onedot}
|
||||
\def\cf{\emph{cf}\onedot} \def\Cf{\emph{Cf}\onedot}
|
||||
\def\etc{\emph{etc}\onedot} \def\vs{\emph{vs}\onedot}
|
||||
\def\wrt{w.r.t\onedot} \def\dof{d.o.f\onedot}
|
||||
\def\iid{i.i.d\onedot} \def\wolog{w.l.o.g\onedot}
|
||||
\def\etal{\emph{et al}\onedot}
|
||||
\makeatother
|
||||
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
%% redefine the \title command so that a variable name is saved in \thetitle, and provides the \maketitlesupplementary command
|
||||
\let\titleold\title
|
||||
\renewcommand{\title}[1]{\titleold{#1}\newcommand{\thetitle}{#1}}
|
||||
\def\maketitlesupplementary
|
||||
{
|
||||
\newpage
|
||||
\twocolumn[
|
||||
\centering
|
||||
\Large
|
||||
\textbf{\thetitle}\\
|
||||
\vspace{0.5em}Supplementary Material \\
|
||||
\vspace{1.0em}
|
||||
] %< twocolumn
|
||||
}
|
||||
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
%% Support for easy cross-referencing (e.g. \cref{sec:intro}
|
||||
% configured with \AtEndPreamble as it needs to be called after hyperref
|
||||
\AtEndPreamble{
|
||||
\usepackage[capitalize]{cleveref}
|
||||
\crefname{section}{Sec.}{Secs.}
|
||||
\Crefname{section}{Section}{Sections}
|
||||
\Crefname{table}{Table}{Tables}
|
||||
\crefname{table}{Tab.}{Tabs.}
|
||||
}
|
||||
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
%% More compact compact itemize/enumeration (e.g. list contributions)
|
||||
\RequirePackage[shortlabels,inline]{enumitem}
|
||||
\setlist[itemize]{noitemsep,leftmargin=*,topsep=0em}
|
||||
\setlist[enumerate]{noitemsep,leftmargin=*,topsep=0em}
|
||||
Reference in New Issue
Block a user