%% %% This file has been developed as a common template for papers %% destined for electronic production for Accelerator Conferences %% %% See the JACoW website for more information %% %% http://jacow.org/ %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Volker RW Schaa. %% %% This work consists of the following files %% jacow.cls this class file %% JACoW_LaTeX_A4.tex A4/letter templates to demonstrate the %% JACoW_LaTeX_Letter.tex .. use and explain the various parameters %% .. and settings for a submission to %% .. a JACoW conference proceedings %% JACoW_LaTeX_A4.pdf template in format A4 and European %% settings (citation and hyphenation) %% JACoW_LaTeX_Letter.pdf template in format letter and American %% setting (citation and hyphenation) %% annexes-A4.tex Annexes A-C which are included in "JACoW_LaTeX_A4.tex" %% annexes-Letter.tex Annexes A-C which are included in "JACoW_LaTeX_Letter.tex" %% %% JACpic_mc.pdf a graphic showing the JACoW page format %% JACpic2.jpg a graphic for a full width figure and %% multiline caption %% jacow-collaboration.tex an example title page showing the %% jacow-collaboration.pdf JACoW Colloaboration, the responsible %% editors for the various platform %% dependent templates (LaTeX, Word on PC and %% Mac, ODF). The PDF is included in the template %% % % v0.1 to 1.3 : JAC2000.cls % Special thanks to John Jowett and Michel Goossens from CERN and % Martin Comyn at TRIUMF for their significant contributions to % this class file over the period 1996 to 2000. % John Poole % March 2000 % v1.4 : JAC2001.cls % JAC2001.cls is a modified version of JAC2000.cls to produce indented % first paragraphs after section, subsection and subsubsection headings. % Martin Comyn April 2001 % % v1.5 : JAC2003.cls % This is a modified version of JAC2003.cls to adjust space around % section and subsection headers to be more consistent with JACoW Word % templates. Todd Satogata March 2011 % % v 1.6 : jacow.cls % This is a complectly rewritten version of JAC2003.cls which needs a current % TeX-System to run. % Ulrike Fischer, November 2013 % % v 1.7 % - small change to correct the text block inside JACoW's magic red borders for % a4paper (aca4); top has been set 18.5mm (19mm is defined in the template but % leaves descenders outside the lower y margin). % - duplicate {boxit} removed % Volker RW Schaa, 14 April 2014 % % v1.8 % - added setup for \micro sign which disappears when using XeTeX or LuaTeX % with unicode-math. Ulrike Fischer, 21 April 2014 % % v1.9 % - fixed the pdfLaTeX warnings for the text/math-micro hack % Ulrike Fischer, 22 April 2014 % % v1.91 % - Ligatures=TeX switch introduced to accommodate % Ulrike Fischer, 22 April 2014 % % v1.92 % - settings for top margin have to be different in A4 and letter to accommodate % JACoW's PitStop Action List. This was found after receiving Plamen Hopchev's % email about margins and testing the workflow with cropping the bounding box % which starts at the lower left edge and not at the top (see graphic JACpic_mc % in the template for measures). % Volker RW Schaa, 29 April 2014 % v1.93 % - setting the bottom margin (19mm) without top solves the problem for different % A4/Letter settings. This was already the default in v1.6. Pointed out by % Plamen Hopchev. To accommodate the descenders the bottom margin has been set % to 56pt now. % Volker RW Schaa, 01 May 2014 % % v1.94 % - the micro sign in UTF-8 prevents ASCII format of the cls file. Ulrike pointed % out a hack in http://tex.stackexchange.com/questions/172968/hide-notation-from-pdftex % which is now introduced. % Volker RW Schaa, 02 May 2014 % % v1.95 % - only change to the version 1.94 are the extended documentation and license % statement (lppl1.3c) as preparation for publication on CTAN. % Volker RW Schaa, 02 May 2014 % % v1.96 % - modification of bibatex style information. Since the JACoW template Feb-2016 % the bibliography requires the IEEEtran style. Heine provided an adapted % version using the required values of the template: % + ieee biblatex style instead of numeric-compv % + doi field is cleared for all entries % + et al. is used when there are > 6 authors (maxnames=6). In that case, % only the first author is mentioned (minnames=1) % + url field is cleared for articles and inproceedings % + giveninits=true reduces all given names to initials % Heine Dølrath Thomsen, 30 June 2016 % % v2.00 % - after using v1.96 during conferences where DOIs/URLs were present in biblio- % graphic records, the following changes to Heine's version have been made: % + doi field allowed % + url field allowed % Volker RW Schaa, 02 May 2014 % v2.1 new options introduced % flushend: new: keeplastbox % siunitx: new: binary-units=true % BibLaTeX: changed: style=ieee => bibstyle=ieee, citestyle=numeric-comp % new: dashed=false % removed: doi=false % Volker RW Schaa, 02 May 2014 % % v2.2 % - adapted to the changes of template version 2018-02 % - made this one official % Volker RW Schaa, 23 Feb 2018 % % v2.3 % - font for tt switched to newtxtt with option zerostyle=d (dotted 0) % Volker RW Schaa, 15 Jan 2019 % % v2.4 % - version 2.3 did not work for XeTeX/LuaTeX, therefore font change using % \def\UrlFont and switching the fontencoding to T1 (suggested by Ulrike Fischer) % - package amsmath included to provide % Volker RW Schaa, 01 Apr 2019 %% v2.5 % - flushend dropped the option keeplastbox, therefore removed from jacow package % option list % - Option "binary-units" has been removed from siunitx release. % - Option "detect-mode" has been deprecated in this (siunitx) release: v3.0.32 % Use "mode=match" as a replacement. % - Option "detect-weight" has been deprecated in this (siunitx) release: v3.0.32 % Use "reset-text-series=false, text-series-to-math=true" as a replacement. % - fixltx2e is not required with releases after 2015 % Volker RW Schaa, 14 Oct 2021 %% v2.6 % - ifluatex/ifxetex dropped for iftex % Volker RW Schaa, 11 Nov 2021 % %% v2.7 % - addded some biblatex macros to achieve closer JACoW reference formatting % than standard ieeetran % Volker RW Schaa, 02 Feb 2022 % % \def\fileversion{2.7} \def\filedate{2022/02/02} \def\docdate {2022/02/02} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{jacow}[\filedate\space v\fileversion fixes for siunitx, stfloats, biblatex ref formatting] \typeout{------------------------------------------------------------------------} \typeout{LaTeX2e Class file for Accelerator Conference publication for LaTeX2e users} \typeout{ } \typeout{Use the boxit option to draw a box on page showing the correct margins} \typeout{ } \typeout{Itemize, Enumerate and Description environments are compact versions} \typeout{------------------------------------------------------------------------} \typeout{ } \newif\ifjacowbiblatex \newif\ifjacowrefpage \DeclareOption{acus}{% \PassOptionsToPackage{paper=letterpaper}{geometry} \typeout{Setup for US LETTER PAPER}} \DeclareOption{letterpaper}{% \PassOptionsToPackage{paper=letterpaper}{geometry} \typeout{Setup for US LETTER PAPER}} \DeclareOption{a4paper}{% \PassOptionsToPackage{paper=a4paper}{geometry} \typeout{Setup for A4 PAPER}} \DeclareOption{aca4}{% \PassOptionsToPackage{paper=a4paper}{geometry} \typeout{Setup for A4 PAPER}} \DeclareOption{boxit}{\PassOptionsToPackage{showframe}{geometry}} \DeclareOption{biblatex}{\jacowbiblatextrue} \DeclareOption{refpage}{\jacowrefpagetrue} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ExecuteOptions{aca4} \ProcessOptions \RequirePackage{fix-cm} \LoadClass[10pt,twocolumn]{article} \RequirePackage[]{flushend} %% modified 2.5 % Tools: \RequirePackage{etoolbox} \RequirePackage{iftex} \RequirePackage{textcase} % %Add thanks to the list of "\@nonchangecase"-commands from textcase: \def\@uclcnotmath#1#2#3#4{\begingroup #1% \def\({$}\let\)\(% \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% \@nonchangecase\label \@nonchangecase\ref \@nonchangecase\ensuremath \@nonchangecase\thanks %new \@nonchangecase\si %new \@nonchangecase\SI %new \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}% \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}% \def\reserved@a##1##2{\let#2\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% \protected@edef\reserved@a{\endgroup \noexpand\@skipmath#3#4$\valign$}% \reserved@a} % % Option "binary-units" has been removed from (siunitx) % Option "detect-mode" has been deprecated in this (siunitx) release: v3.0.32 % Use "mode=match" as a replacement. % Option "detect-weight" has been deprecated in this (siunitx) release: v3.0.32 % Use "reset-text-series=false, text-series-to-math=true" as a replacement. % \RequirePackage[mode=match, reset-text-series=false, text-series-to-math=true]{siunitx} \RequirePackage{graphicx} \RequirePackage{booktabs} \RequirePackage[figureposition=bottom,tableposition=top,skip=5pt]{caption} \RequirePackage{xcolor} \RequirePackage{amsmath} \AtEndPreamble{\RequirePackage[autostyle]{csquotes}} % Page layout: \RequirePackage[% textwidth=170mm, textheight=241mm, heightrounded, left=20mm, bottom=56pt, columnsep=5mm, noheadfoot, nomarginpar, twocolumn] {geometry} \columnseprule 0pt \usepackage[hang]{footmisc} \setlength{\footnotemargin}{.6em} \pagestyle{empty} \RequirePackage{url} % % redefine the default Typewriter Font to newtxtt with dotted zeros (v2.3) % \RequirePackage[zerostyle=d]{newtxtt} \newcommand\urlZDtxt{\fontencoding{T1}\fontfamily{newtxtt}\selectfont} \def\UrlFont{\urlZDtxt} \ifboolexpr{bool{xetex} or bool{luatex}} {} { \catcode`\^^^=9 } \ifboolexpr{bool{xetex} or bool{luatex}} { \let\ori@vdots\vdots \RequirePackage{unicode-math} \AtBeginDocument{\let\vdots\ori@vdots} \setmainfont[Ligatures=TeX]{TeX Gyre Termes} \setmathfont{TeX Gyre Termes Math} \sisetup{ math-micro = \text{^^^^03bc}, text-micro = ^^^^03bc } } { % Fonts: Times clones \RequirePackage{textcomp} \RequirePackage[T1]{fontenc} \RequirePackage{lmodern} \RequirePackage{tgtermes} \RequirePackage{newtxmath} \input{glyphtounicode} \pdfgentounicode=1 % \RequirePackage{cmap} } \RequirePackage{microtype} %Lists \RequirePackage{enumitem} \newenvironment{Enumerate}{\begin{enumerate}[nosep]}{\end{enumerate}} \newenvironment{Itemize}{\begin{itemize}[nosep]}{\end{itemize}} \newenvironment{Description}{\begin{description}[nosep]}{\end{description}} %Floatparameter: \renewcommand{\topfraction}{.95} \renewcommand{\bottomfraction}{.95} \renewcommand{\textfraction}{0.1} \renewcommand{\floatpagefraction}{0.8} %headings: % section: Uppercase only for text \renewcommand{\section} {% \@startsection{section}{1}{0mm} {2.0ex plus 0.8ex minus .1ex}{1.0ex plus .2ex} {\normalfont\large\bfseries\mathversion{bold}\centering\MakeTextUppercase}% }% \renewcommand\subsection {% \@startsection{subsection}{2}{\z@} {1.4ex plus .8ex minus .17ex}{0.8ex plus .17ex} {\normalfont\large\itshape}% } \renewcommand\subsubsection {% \@startsection{subsubsection}{3}{\parindent} {2.5ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\bfseries}% } \renewcommand\paragraph {% \@startsection{paragraph}{4}{\z@} {2.5ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\itshape}% } \renewcommand\subparagraph {% \@startsection{subparagraph}{4}{\parindent} {2.25ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\bfseries}% } \setcounter{secnumdepth}{0} % This definition of \maketitle taken from article.sty, and has been % somewhat modified. \def\maketitle{\par \begingroup \def\thefootnote{\fnsymbol{footnote}} \def\@makefnmark{\hbox to 5pt{$^{\@thefnmark}$\hss}} \twocolumn[\@maketitle] \@thanks \endgroup \enlargethispage{\jac@copyrightspace}% \setcounter{footnote}{0} \let\maketitle\relax \let\@maketitle\relax \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} \newlength{\titleblockheight} % so user can change it if need be \setlength{\titleblockheight}{3.5cm} \newlength\titleblockstartskip \setlength\titleblockstartskip{3pt} \newlength\titleblockmiddleskip \setlength\titleblockmiddleskip{1em} \newlength\titleblockendskip \setlength\titleblockendskip{1em} \def\@maketitle{% \vskip \titleblockstartskip \centering {\Large\bfseries \MakeTextUppercase{\@title} \par} \vskip \titleblockmiddleskip % Vertical space after title. {\large\begin{tabular}[t]{@{}c@{}}\@author \end{tabular}\par} \vskip \titleblockendskip} % The \copyrightspace command is used to produce a blank space in the first % column where a copyright notice may go. It works by producing % with \enlargethispage and is inserted by \maketitle. % The command should be issued in the preamble. \newcommand\jac@copyrightspace{0pt} \newcommand\copyrightspace[1][1cm]{\renewcommand\jac@copyrightspace{-#1}} \ifboolexpr{bool{@titlepage}} {\renewenvironment{abstract} {\list{}{% \setlength{\leftmargin}{\dimexpr\textwidth/2-0.75\columnwidth}% \setlength{\rightmargin}{\dimexpr-0.75\columnwidth-\columnsep}% \setlength{\listparindent}{\parindent}% \setlength{\itemsep}{\parskip}% \setlength{\itemindent}{\z@}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\parskip}% \setlength{\partopsep}{\z@}% \let\makelabel\@gobble \setlength{\labelwidth}{\z@}% \advance\@listdepth\m@ne }% \item\relax\subsection*{Abstract}} {\endlist\clearpage} } {% \renewenvironment{abstract} {\subsection*{Abstract}} {\par} } \ifboolexpr{bool{jacowbiblatex}} %2.00 {\RequirePackage[style=ieee,sorting=none,giveninits=true,doi=false,maxnames=6,minnames=1]{biblatex} %2.1 {\RequirePackage[style=ieee,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex} %2.2 {\RequirePackage[bibstyle=ieee,citestyle=numeric-comp,dashed=false,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex} \renewbibmacro*{url+urldate}{% \iffieldundef{url} {} {\printfield{url}% \nopunct}}% \DeclareFieldFormat{url}{\url{#1}} \DeclareFieldFormat{eprint}{#1} %% when to activate this? Paper format acus/letter % \DefineBibliographyExtras{american}{\stdpunctuation} % mod % Drop urls for article and inproceedings entries %2.7 % check https://tex.stackexchange.com/questions/6743/biblatex-changing-the-order-of-entries % https://tex.stackexchange.com/questions/12806/guidelines-for-customizing-biblatex-styles/13076#13076 % https://tex.stackexchange.com/questions/10203/biblatex-putting-thin-spaces-between-initials % https://tex.stackexchange.com/questions/560346/how-to-suppress-annotation-field-from-bbl-file-in-biblatex % https://tex.stackexchange.com/questions/496995/advanced-introduction-to-biblatex-coding-guidelines-for-database %------------------------------------- % % if BibLaTeX is used % % modify macros so the formatted output corresponds to JACoW's idea of IEEEtran % set vertical distance between items \setlength\bibitemsep{3pt plus 1.5pt minus 0.5pt} % remove stretchability from biblatex URLs/DOIs \toks0\expandafter{\biburlsetup}\edef\biburlsetup{\the\toks0 \Urlmuskip =0mu\relax} % Removing period after DOI \renewcommand*{\finentrypunct}{\ifboolexpr{togl {bbx:doi} and not test {\iffieldundef{doi}}}{}{\addperiod}} % format doi: as part of the link using the same font \DeclareFieldFormat{doi}{% \ifhyperref {\href{https://doi.org/#1}{\nolinkurl{#1}}} {\nolinkurl{doi:#1}}% } % % make sure that there is no break between initial and lastname % and thinspaces between muliple initials % \renewcommand*\bibnamedelimd{~} \renewcommand\bibinitdelim{\addnbthinspace} % % format venue, event, date without round brackets % https://tex.stackexchange.com/questions/446732/biblatex-field-venueeventdate-without-round-brackets \renewbibmacro*{event+venue+date}{% \printfield{eventtitle}% \newunit \printfield{eventtitleaddon}% \newunit \printfield{venue}% \setunit*{\addcomma\space}% \printeventdate% \newunit% } \DeclareFieldFormat{eid}{% {paper #1}% } % \renewbibmacro*{volume+number+eid}{% \printfield{volume}% \newunit \printfield{number}% \newunit \printfield{eid}% } % % Clean up the bibtex rather than editing it for extensive JACoW BibTeX records % \AtEveryBibitem{% \clearlist{address} \clearfield{date} \clearfield{eprint} \clearfield{isbn} \clearfield{issn} % % use/print "note" if "booktitle" is not given: example "data for this conference" % \iffieldundef{booktitle}{}{\clearfield{note}} \clearlist{location} \clearfield{month} \clearfield{series} \ifentrytype{book}{}{% Remove publisher and editor except for books \clearlist{publisher} \clearname{editor} } } % % print url if no doi % \renewbibmacro*{doi+eprint+url}{% \printfield{doi}% \newunit\newblock% \iftoggle{bbx:eprint}{% \usebibmacro{eprint}% }{}% \newunit\newblock% \iffieldundef{doi}{% \usebibmacro{url+urldate}}% {}% } % format ISSN like URLs \DeclareFieldFormat{issn}{% {\texttt{ISSN:#1}}% } % format ISSN like URLs \DeclareFieldFormat{issn}{% {\texttt{ISSN:#1}}% } % \setlength\bibitemsep{0pt} \setlength\bibparsep{0pt} \setlength\biblabelsep{5pt} \ifjacowrefpage\preto\blx@bibliography{\clearpage}\fi \AtBeginBibliography{\small\clubpenalty4000\widowpenalty4000}% } % end if biblatex % {\RequirePackage{cite} % Redefine to use smaller fonts \def\thebibliography#1{\setlength{\itemsep}{0pt}\setlength{\parsep}{0pt}% \ifjacowrefpage\clearpage\fi \section*{REFERENCES\@mkboth {REFERENCES}{REFERENCES}}\small\list {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax} \let\endthebibliography=\endlist } %\sloppy \clubpenalty10000\widowpenalty10000 \flushbottom %----------------------------------------------------------------------- %avoid bug of fixltx2e: %http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/4023 %\RequirePackage{fixltx2e}% \def\@outputdblcol{% \if@firstcolumn \global\@firstcolumnfalse \global\setbox\@leftcolumn\copy\@outputbox \splitmaxdepth\maxdimen \vbadness\maxdimen \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}%new \setbox\@outputbox\vsplit\@outputbox to\maxdimen \toks@\expandafter{\topmark}% \xdef\@firstcoltopmark{\the\toks@}% \toks@\expandafter{\splitfirstmark}% \xdef\@firstcolfirstmark{\the\toks@}% \ifx\@firstcolfirstmark\@empty \global\let\@setmarks\relax \else \gdef\@setmarks{% \let\firstmark\@firstcolfirstmark \let\topmark\@firstcoltopmark}% \fi \else \global\@firstcolumntrue \setbox\@outputbox\vbox{% \hb@xt@\textwidth{% \hb@xt@\columnwidth{\box\@leftcolumn \hss}% \hfil \vrule \@width\columnseprule \hfil \hb@xt@\columnwidth{\box\@outputbox \hss}}}% \@combinedblfloats \@setmarks \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}% \endgroup \fi} \endinput