diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jacow/jacow.cls |
Initial commit
Diffstat (limited to 'macros/latex/contrib/jacow/jacow.cls')
-rw-r--r-- | macros/latex/contrib/jacow/jacow.cls | 503 |
1 files changed, 503 insertions, 0 deletions
diff --git a/macros/latex/contrib/jacow/jacow.cls b/macros/latex/contrib/jacow/jacow.cls new file mode 100644 index 0000000000..36df55ad00 --- /dev/null +++ b/macros/latex/contrib/jacow/jacow.cls @@ -0,0 +1,503 @@ +%% +%% 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 documenation 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 +% +\def\fileversion{2.4} +\def\filedate{2019/04/01} +\def\docdate {2019/04/01} + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{jacow}[\filedate\space Version \fileversion] + +\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[keeplastbox]{flushend} %% modified +% Tools: +\RequirePackage{etoolbox} +\RequirePackage{ifxetex} +\RequirePackage{ifluatex} +\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} + +\RequirePackage[detect-mode,detect-weight, binary-units=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.00 \DeclareFieldFormat +%2.00 [article,inproceedings] +%2.00 {url}{} + % + \setlength\bibitemsep{0pt} + \setlength\bibparsep{0pt} + \setlength\biblabelsep{5pt} + \ifjacowrefpage\preto\blx@bibliography{\clearpage}\fi + \AtBeginBibliography{\small\clubpenalty4000\widowpenalty4000}% + } + {\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 |