Bug 1244: changes to description pospopcount
[libreriscv.git] / conferences / opensearch2023 / jacow.cls
1 %% v2.15
2 %% This file has been developed as a common template for papers
3 %% destined for electronic production for Accelerator Conferences
4 %%
5 %% See the JACoW website for more information
6 %%
7 %% http://jacow.org/
8 %%
9 %% This work may be distributed and/or modified under the
10 %% conditions of the LaTeX Project Public License, either
11 %% version 1.3c of this license or (at your option) any later
12 %% version. This version of this license is in
13 %% http://www.latex-project.org/lppl/lppl-1-3c.txt
14 %% and the latest version of this license is in
15 %% http://www.latex-project.org/lppl.txt
16 %% and version 1.3 or later is part of all distributions of
17 %% LaTeX version 2005/12/01 or later.
18 %%
19 %% This work has the LPPL maintenance status "maintained".
20 %%
21 %% This Current Maintainer of this work is Volker RW Schaa.
22 %%
23 %% This work consists of the following files
24 %% jacow.cls this class file
25 %% JACoW_LaTeX_A4.tex A4/letter templates to demonstrate the
26 %% JACoW_LaTeX_Letter.tex .. use and explain the various parameters
27 %% .. and settings for a submission to
28 %% .. a JACoW conference proceedings
29 %% JACoW_LaTeX_A4.pdf template in format A4 and European
30 %% settings (citation and hyphenation)
31 %% JACoW_LaTeX_Letter.pdf template in format letter and American
32 %% setting (citation and hyphenation)
33 %% annexes-A4.tex Annexes A-C which are included in "JACoW_LaTeX_A4.tex"
34 %% annexes-Letter.tex Annexes A-C which are included in "JACoW_LaTeX_Letter.tex"
35 %%
36 %% JACpic_mc.pdf a graphic showing the JACoW page format
37 %% JACpic2.jpg a graphic for a full width figure and
38 %% multiline caption
39 %% jacow-collaboration.tex an example title page showing the
40 %% jacow-collaboration.pdf JACoW Colloaboration, the responsible
41 %% editors for the various platform
42 %% dependent templates (LaTeX, Word on PC and
43 %% Mac, ODF). The PDF is included in the template
44 %%
45 %
46 % v0.1 to 1.3 : JAC2000.cls
47 % Special thanks to John Jowett and Michel Goossens from CERN and
48 % Martin Comyn at TRIUMF for their significant contributions to
49 % this class file over the period 1996 to 2000.
50 % John Poole
51 % March 2000
52 % v1.4 : JAC2001.cls
53 % JAC2001.cls is a modified version of JAC2000.cls to produce indented
54 % first paragraphs after section, subsection and subsubsection headings.
55 % Martin Comyn April 2001
56 %
57 % v1.5 : JAC2003.cls
58 % This is a modified version of JAC2003.cls to adjust space around
59 % section and subsection headers to be more consistent with JACoW Word
60 % templates. Todd Satogata March 2011
61 %
62 % v 1.6 : jacow.cls
63 % This is a complectly rewritten version of JAC2003.cls which needs a current
64 % TeX-System to run.
65 % Ulrike Fischer, November 2013
66 %
67 % v 1.7
68 % - small change to correct the text block inside JACoW's magic red borders for
69 % a4paper (aca4); top has been set 18.5mm (19mm is defined in the template but
70 % leaves descenders outside the lower y margin).
71 % - duplicate {boxit} removed
72 % Volker RW Schaa, 14 April 2014
73 %
74 % v1.8
75 % - added setup for \micro sign which disappears when using XeTeX or LuaTeX
76 % with unicode-math. Ulrike Fischer, 21 April 2014
77 %
78 % v1.9
79 % - fixed the pdfLaTeX warnings for the text/math-micro hack
80 % Ulrike Fischer, 22 April 2014
81 %
82 % v1.91
83 % - Ligatures=TeX switch introduced to accommodate
84 % Ulrike Fischer, 22 April 2014
85 %
86 % v1.92
87 % - settings for top margin have to be different in A4 and letter to accommodate
88 % JACoW's PitStop Action List. This was found after receiving Plamen Hopchev's
89 % email about margins and testing the workflow with cropping the bounding box
90 % which starts at the lower left edge and not at the top (see graphic JACpic_mc
91 % in the template for measures).
92 % Volker RW Schaa, 29 April 2014
93 % v1.93
94 % - setting the bottom margin (19mm) without top solves the problem for different
95 % A4/Letter settings. This was already the default in v1.6. Pointed out by
96 % Plamen Hopchev. To accommodate the descenders the bottom margin has been set
97 % to 56pt now.
98 % Volker RW Schaa, 01 May 2014
99 %
100 % v1.94
101 % - the micro sign in UTF-8 prevents ASCII format of the cls file. Ulrike pointed
102 % out a hack in http://tex.stackexchange.com/questions/172968/hide-notation-from-pdftex
103 % which is now introduced.
104 % Volker RW Schaa, 02 May 2014
105 %
106 % v1.95
107 % - only change to the version 1.94 are the extended documentation and license
108 % statement (lppl1.3c) as preparation for publication on CTAN.
109 % Volker RW Schaa, 02 May 2014
110 %
111 % v1.96
112 % - modification of bibatex style information. Since the JACoW template Feb-2016
113 % the bibliography requires the IEEEtran style. Heine provided an adapted
114 % version using the required values of the template:
115 % + ieee biblatex style instead of numeric-compv
116 % + doi field is cleared for all entries
117 % + et al. is used when there are > 6 authors (maxnames=6). In that case,
118 % only the first author is mentioned (minnames=1)
119 % + url field is cleared for articles and inproceedings
120 % + giveninits=true reduces all given names to initials
121 % Heine Dølrath Thomsen, 30 June 2016
122 %
123 % v2.00
124 % - after using v1.96 during conferences where DOIs/URLs were present in biblio-
125 % graphic records, the following changes to Heine's version have been made:
126 % + doi field allowed
127 % + url field allowed
128 % Volker RW Schaa, 02 May 2014
129 % v2.1 new options introduced
130 % flushend: new: keeplastbox
131 % siunitx: new: binary-units=true
132 % BibLaTeX: changed: style=ieee => bibstyle=ieee, citestyle=numeric-comp
133 % new: dashed=false
134 % removed: doi=false
135 % Volker RW Schaa, 02 May 2014
136 %
137 % v2.2
138 % - adapted to the changes of template version 2018-02
139 % - made this one official
140 % Volker RW Schaa, 23 Feb 2018
141 %
142 % v2.3
143 % - font for tt switched to newtxtt with option zerostyle=d (dotted 0)
144 % Volker RW Schaa, 15 Jan 2019
145 %
146 % v2.4
147 % - version 2.3 did not work for XeTeX/LuaTeX, therefore font change using
148 % \def\UrlFont and switching the fontencoding to T1 (suggested by Ulrike Fischer)
149 % - package amsmath included to provide
150 % Volker RW Schaa, 01 Apr 2019
151 %% v2.5
152 % - flushend dropped the option keeplastbox, therefore removed from jacow package
153 % option list
154 % - Option "binary-units" has been removed from siunitx release.
155 % - Option "detect-mode" has been deprecated in this (siunitx) release: v3.0.32
156 % Use "mode=match" as a replacement.
157 % - Option "detect-weight" has been deprecated in this (siunitx) release: v3.0.32
158 % Use "reset-text-series=false, text-series-to-math=true" as a replacement.
159 % - fixltx2e is not required with releases after 2015
160 % Volker RW Schaa, 14 Oct 2021
161 %% v2.6
162 % - ifluatex/ifxetex dropped for iftex
163 % Volker RW Schaa, 11 Nov 2021
164 %
165 %% v2.7
166 % - added some biblatex macros to achieve closer JACoW reference formatting
167 % than standard ieeetran
168 % Volker RW Schaa, 02 Feb 2022
169 %% v2.8
170 % - removes the (non)stretchability \bibitemsep{0pt} from tests (oversight in v2.7)
171 % - introduced the page setting by geometry to JACoW paper size which wasn't
172 % working in earlier version of jacow.cls due to the necessary offset using "pt".
173 % With Zhichu Chen's suggestion of using "bp" instead of "pt", Ivan's JACoW utils
174 % does not complain anymore, and the /Mediabox is correctly shown in Acrobat and
175 % PitStop.
176 % paperheight 792.0 bp ≅ 794.97 pt [794.96208 pt]
177 % paperwidth 595.0 bp ≅ 597.23 pt [597.22530 pt]
178 % Currently I have not found where in a PDF it's defined
179 % whether (media/crop box) values are "pt" or "bp".
180 % Zhichu Chen, Volker RW Schaa, 10 Jun 2022
181 %
182 %% v2.9
183 % - remove the math-micro option from siunitx as it was deprecated.
184 % Volker RW Schaa, 12 Jun 2022
185 %
186 %% v2.10
187 % - added Zhichu's switch between version of siunitx (older than 2021-05-17}.
188 % Zhichu Chen, Volker RW Schaa, 15 Jun 2022
189 %
190 %% v2.11
191 % - remove the (empty) package textcase and substituted it by
192 % \let\MakeTextUppercase\MakeUppercase
193 % Volker RW Schaa, 17 Jul 2022
194 %% v2.12
195 % - the new changes to LaTeX3 (2022-06-01) break the old "\@nonchangecase" command
196 % \AddToNoCaseChangeList{command} added
197 % Ulrike Fischer, Volker RW Schaa, 04 Aug 2022
198 %
199 %% v2.13
200 % - placement of DOI changed: if it fits on the line OK, otherwise use a new line
201 % - period/fullstop placed in front of DOI
202 % Zhichu Chen, 05 Aug 2022
203 %
204 %% v2.14
205 % - `lineno` with "minted" are not supported
206 % - place a "\\" rather than \par for linebreak in the definition of \placedoi to
207 % ǵet the vertical spacing right
208 % Zhichu Chen, 06 Aug 2022
209 %% v2.15
210 % - all intermediate changes combined in this version
211 % - check for \AddToNoCaseChangeList instead of \IfFormatAtLeastTF{2022/06/01}
212 %
213 % Zhichu Chen, Volker RW Schaa, 09 Aug 2022
214 %
215 \def\fileversion{2.15}
216 \def\filedate{2022/08/09}
217 \def\docdate {2022/08/09}
218
219 \NeedsTeXFormat{LaTeX2e}
220 \ProvidesClass{jacow}[\filedate\space v\fileversion]
221
222 \typeout{------------------------------------------------------------------------}
223 \typeout{LaTeX2e Class file for Accelerator Conference publication for LaTeX2e users}
224 \typeout{ }
225 \typeout{Use the boxit option to draw a box on page showing the correct margins}
226 \typeout{ }
227 \typeout{Itemize, Enumerate and Description environments are compact versions}
228 \typeout{------------------------------------------------------------------------}
229 \typeout{ }
230
231 \newif\ifjacowbiblatex
232 \newif\ifjacowrefpage
233
234 \DeclareOption{acus}{%
235 \PassOptionsToPackage{paper=letterpaper}{geometry}
236 \typeout{Setup for US LETTER PAPER}}
237
238 \DeclareOption{letterpaper}{%
239 \PassOptionsToPackage{paper=letterpaper}{geometry}
240 \typeout{Setup for US LETTER PAPER}}
241
242 \DeclareOption{a4paper}{%
243 \PassOptionsToPackage{paper=a4paper}{geometry}
244 \typeout{Setup for A4 PAPER}}
245
246 \DeclareOption{aca4}{%
247 \PassOptionsToPackage{paper=a4paper}{geometry}
248 \typeout{Setup for A4 PAPER}}
249
250 \DeclareOption{boxit}{\PassOptionsToPackage{showframe}{geometry}}
251
252 \DeclareOption{biblatex}{\jacowbiblatextrue}
253
254 \DeclareOption{refpage}{\jacowrefpagetrue}
255
256 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
257
258 \ExecuteOptions{aca4}
259 \ProcessOptions
260
261 \RequirePackage{fix-cm}
262 \LoadClass[10pt,twocolumn]{article}
263 \RequirePackage[]{flushend} %% modified 2.5
264 %
265 % a lot of authors love to use `minted` to typeset codes which also loads `lineno`
266 % `flushend` does not balance when `lineno` is also loaded,
267 % let's pretend it's already loaded
268 % this will break linebreaks (not as serious as it sounds) for `minted` but we don't care
269 \@namedef{ver@lineno.sty}{9999/12/31}
270 \@namedef{opt@lineno.sty}{}
271 % Tools:
272 \RequirePackage{etoolbox}
273 \RequirePackage{iftex}
274 %
275 % Ulrike's suggestion to the UPPERCASING problem after LaTeX update 2022-06-01
276 % or is it even 2022-06-30 ?? => check of 2022-06-01 changed to definition of
277 % \AddToNoCaseChangeList which came obviously later
278 %
279 %\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
280 %\IfFormatAtLeastTF{2022/06/01}%
281 \ifx\AddToNoCaseChangeList\@undefined
282 % old
283 %Add thanks to the list of "\@nonchangecase"-commands from textcase:
284 \RequirePackage{textcase}
285 \def\@uclcnotmath#1#2#3#4{\begingroup
286 #1%
287 \def\({$}\let\)\(%
288 \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
289 \@nonchangecase\label
290 \@nonchangecase\ref
291 \@nonchangecase\ensuremath
292 \@nonchangecase\thanks %new
293 \@nonchangecase\si %new
294 \def\SI##1##2{\NoCaseChange{\SI{##1}{##2}}} % ugly patch
295 \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
296 \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
297 \def\reserved@a##1##2{\let#2\reserved@a}%
298 \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
299 \protected@edef\reserved@a{\endgroup
300 \noexpand\@skipmath#3#4$\valign$}%
301 \reserved@a}
302 \else
303 \let\MakeTextUppercase\MakeUppercase
304 \AddToNoCaseChangeList{\thanks}
305 \AddToNoCaseChangeList{\label}
306 \AddToNoCaseChangeList{\ref}
307 \AddToNoCaseChangeList{\ensuremath}
308 \AddToNoCaseChangeList{\si}
309 \AddToNoCaseChangeList{\SI}
310 \AddToNoCaseChangeList{\qty}
311 \AddToNoCaseChangeList{\unit}
312 \fi
313 % Option "binary-units" has been removed from (siunitx)
314 % Option "detect-mode" has been deprecated in this (siunitx) release: v3.0.32
315 % Use "mode=match" as a replacement.
316 % Option "detect-weight" has been deprecated in this (siunitx) release: v3.0.32
317 % Use "reset-text-series=false, text-series-to-math=true" as a replacement.
318 %
319 %\RequirePackage[mode=match, reset-text-series=false, text-series-to-math=true]{siunitx}
320 \RequirePackage{siunitx}
321 \@ifpackagelater{siunitx}{2021-05-17}%
322 {\PackageInfo{siunitx}{%
323 Package newer than 2021-05-17,\MessageBreak
324 loading current settings.}%
325 \sisetup{mode=match, reset-text-series=false, text-series-to-math=true}}% copied from jacow.cls version 2.7
326 {\PackageInfo{siunitx}{%
327 Package older than 2021-05-17,\MessageBreak
328 loading old settings.}%
329 \sisetup{detect-mode,detect-weight, binary-units=true}}% % copied from jacow.cls version 2.4
330
331 \RequirePackage{graphicx}
332 \RequirePackage{booktabs}
333 \RequirePackage[figureposition=bottom,tableposition=top,skip=5pt]{caption}
334 \RequirePackage{xcolor}
335 \RequirePackage{amsmath}
336 \AtEndPreamble{\RequirePackage[autostyle]{csquotes}}
337
338 %
339 % Page layout:
340 %
341 % Zhichu's suggestion of using "bp instead of "pt"
342 \RequirePackage[%
343 twocolumn,
344 columnsep = 5mm,
345 left = 20mm,
346 bottom = 56pt,
347 paperwidth = 595bp, %% paperwidth 597.23 pt = 595.0 bp {597.22530 pt]
348 textwidth = 170mm,
349 paperheight = 792bp, %% paperheight 794.97 pt ≅ 792.0 bp [794.96208 pt]
350 textheight = 9.5in,
351 nomarginpar,
352 heightrounded,
353 noheadfoot,
354 centering]
355 {geometry}
356
357 \columnseprule 0pt
358 \usepackage[hang]{footmisc}
359 \setlength{\footnotemargin}{.6em}
360
361
362 \pagestyle{empty}
363
364 \RequirePackage{url}
365 %
366 % redefine the default Typewriter Font to newtxtt with dotted zeros (v2.3)
367 %
368 \RequirePackage[zerostyle=d]{newtxtt}
369 \newcommand\urlZDtxt{\fontencoding{T1}\fontfamily{newtxtt}\selectfont}
370 \def\UrlFont{\urlZDtxt}
371
372 \ifboolexpr{bool{xetex} or bool{luatex}}
373 {}
374 { \catcode`\^^^=9
375 }
376
377 \ifboolexpr{bool{xetex} or bool{luatex}}
378 { \let\ori@vdots\vdots
379 \RequirePackage{unicode-math}
380 \AtBeginDocument{\let\vdots\ori@vdots}
381 \setmainfont[Ligatures=TeX]{TeX Gyre Termes}
382 \setmathfont{TeX Gyre Termes Math}
383 % \sisetup{
384 % math-micro = \text{^^^^03bc},
385 % text-micro = ^^^^03bc
386 % }
387 }
388 {
389 % Fonts: Times clones
390 \RequirePackage{textcomp}
391 \RequirePackage[T1]{fontenc}
392 \RequirePackage{lmodern}
393 \RequirePackage{tgtermes}
394 \RequirePackage{newtxmath}
395 \input{glyphtounicode}
396 \pdfgentounicode=1
397 % \RequirePackage{cmap}
398 }
399
400 \RequirePackage{microtype}
401
402 %Lists
403
404 \RequirePackage{enumitem}
405 \newenvironment{Enumerate}{\begin{enumerate}[nosep]}{\end{enumerate}}
406 \newenvironment{Itemize}{\begin{itemize}[nosep]}{\end{itemize}}
407 \newenvironment{Description}{\begin{description}[nosep]}{\end{description}}
408
409
410 %Floatparameter:
411 \renewcommand{\topfraction}{.95}
412 \renewcommand{\bottomfraction}{.95}
413 \renewcommand{\textfraction}{0.1}
414 \renewcommand{\floatpagefraction}{0.8}
415
416
417 %headings:
418 % section: Uppercase only for text
419 \renewcommand{\section}
420 {%
421 \@startsection{section}{1}{0mm}
422 {2.0ex plus 0.8ex minus .1ex}{1.0ex plus .2ex}
423 {\normalfont\large\bfseries\mathversion{bold}\centering\MakeTextUppercase}%
424 }%
425
426 \renewcommand\subsection
427 {%
428 \@startsection{subsection}{2}{\z@}
429 {1.4ex plus .8ex minus .17ex}{0.8ex plus .17ex}
430 {\normalfont\large\itshape}%
431 }
432
433 \renewcommand\subsubsection
434 {%
435 \@startsection{subsubsection}{3}{\parindent}
436 {2.5ex plus .7ex minus .17ex}{-1em}
437 {\normalfont\normalsize\bfseries}%
438 }
439
440 \renewcommand\paragraph
441 {%
442 \@startsection{paragraph}{4}{\z@}
443 {2.5ex plus .7ex minus .17ex}{-1em}
444 {\normalfont\normalsize\itshape}%
445 }
446
447 \renewcommand\subparagraph
448 {%
449 \@startsection{subparagraph}{4}{\parindent}
450 {2.25ex plus .7ex minus .17ex}{-1em}
451 {\normalfont\normalsize\bfseries}%
452 }
453
454 \setcounter{secnumdepth}{0}
455
456 % This definition of \maketitle taken from article.sty, and has been
457 % somewhat modified.
458
459 \def\maketitle{\par
460 \begingroup
461 \def\thefootnote{\fnsymbol{footnote}}
462 \def\@makefnmark{\hbox
463 to 5pt{$^{\@thefnmark}$\hss}}
464 \twocolumn[\@maketitle]
465 \@thanks
466 \endgroup
467 \enlargethispage{\jac@copyrightspace}%
468 \setcounter{footnote}{0}
469 \let\maketitle\relax
470 \let\@maketitle\relax
471 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
472
473 \newlength{\titleblockheight} % so user can change it if need be
474 \setlength{\titleblockheight}{3.5cm}
475
476 \newlength\titleblockstartskip
477 \setlength\titleblockstartskip{3pt}
478
479
480 \newlength\titleblockmiddleskip
481 \setlength\titleblockmiddleskip{1em}
482
483 \newlength\titleblockendskip
484 \setlength\titleblockendskip{1em}
485
486
487 \def\@maketitle{%
488 \vskip \titleblockstartskip \centering
489 {\Large\bfseries \MakeTextUppercase{\@title} \par}
490 \vskip \titleblockmiddleskip % Vertical space after title.
491 {\large\begin{tabular}[t]{@{}c@{}}\@author \end{tabular}\par}
492 \vskip \titleblockendskip}
493
494
495 % The \copyrightspace command is used to produce a blank space in the first
496 % column where a copyright notice may go. It works by producing
497 % with \enlargethispage and is inserted by \maketitle.
498 % The command should be issued in the preamble.
499
500 \newcommand\jac@copyrightspace{0pt}
501 \newcommand\copyrightspace[1][1cm]{\renewcommand\jac@copyrightspace{-#1}}
502
503 \ifboolexpr{bool{@titlepage}}
504 {\renewenvironment{abstract}
505 {\list{}{%
506 \setlength{\leftmargin}{\dimexpr\textwidth/2-0.75\columnwidth}%
507 \setlength{\rightmargin}{\dimexpr-0.75\columnwidth-\columnsep}%
508 \setlength{\listparindent}{\parindent}%
509 \setlength{\itemsep}{\parskip}%
510 \setlength{\itemindent}{\z@}%
511 \setlength{\topsep}{\z@}%
512 \setlength{\parsep}{\parskip}%
513 \setlength{\partopsep}{\z@}%
514 \let\makelabel\@gobble
515 \setlength{\labelwidth}{\z@}%
516 \advance\@listdepth\m@ne }%
517 \item\relax\subsection*{Abstract}}
518 {\endlist\clearpage}
519 }
520 {%
521 \renewenvironment{abstract}
522 {\subsection*{Abstract}}
523 {\par}
524 }
525
526 \newbox\doi@box
527 \newskip\lastlinewidth
528 \newskip\doiavailablewidth
529 \newcount \saveprevgraf
530 \def\placedoi#1{\mbox{}%
531 \lastlinewidth=\z@
532 \ifhmode
533 \predisplaypenalty10000\relax \postdisplaypenalty10000\relax
534 \abovedisplayskip-\baselineskip
535 \belowdisplayskip-\baselineskip
536 \abovedisplayshortskip\abovedisplayskip
537 \belowdisplayshortskip\belowdisplayskip
538 $$
539 \global \lastlinewidth=\dimexpr \predisplaysize -2em \relax
540 $$
541 \saveprevgraf\prevgraf
542 \advance\saveprevgraf by -3
543 \advance\saveprevgraf by -1
544 \prevgraf\saveprevgraf
545 \fi
546 \noindent\kern\dimexpr\lastlinewidth -\leftmargin\relax
547 \doiavailablewidth=\dimexpr \hsize-\lastlinewidth \relax
548 \setbox\doi@box=\hbox{#1}%
549 \ifdim\doiavailablewidth<\wd\doi@box
550 \\
551 \fi
552 \unhbox\doi@box
553 }
554
555 \ifboolexpr{bool{jacowbiblatex}}
556 %2.00 {\RequirePackage[style=ieee,sorting=none,giveninits=true,doi=false,maxnames=6,minnames=1]{biblatex}
557 %2.1 {\RequirePackage[style=ieee,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex}
558 %2.2
559 {\RequirePackage[bibstyle=ieee,citestyle=numeric-comp,dashed=false,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex}
560 \renewbibmacro*{url+urldate}{%
561 \iffieldundef{url}
562 {}
563 {\printfield{url}%
564 \nopunct}}%
565 \DeclareFieldFormat{url}{\url{#1}}
566 \DeclareFieldFormat{eprint}{#1}
567 %% when to activate this? Paper format acus/letter
568 % \DefineBibliographyExtras{american}{\stdpunctuation} % mod
569 % Drop urls for article and inproceedings entries
570 %2.7
571 % check https://tex.stackexchange.com/questions/6743/biblatex-changing-the-order-of-entries
572 % https://tex.stackexchange.com/questions/12806/guidelines-for-customizing-biblatex-styles/13076#13076
573 % https://tex.stackexchange.com/questions/10203/biblatex-putting-thin-spaces-between-initials
574 % https://tex.stackexchange.com/questions/560346/how-to-suppress-annotation-field-from-bbl-file-in-biblatex
575 % https://tex.stackexchange.com/questions/496995/advanced-introduction-to-biblatex-coding-guidelines-for-database
576 %-------------------------------------
577 %
578 % if BibLaTeX is used
579 %
580 % modify macros so the formatted output corresponds to JACoW's idea of IEEEtran
581 % set vertical distance between items
582 \setlength\bibitemsep{3pt plus 1.5pt minus 0.5pt}
583 % remove stretchability from biblatex URLs/DOIs
584 \toks0\expandafter{\biburlsetup}\edef\biburlsetup{\the\toks0 \Urlmuskip =0mu\relax}
585 % Removing period after DOI
586 \renewcommand*{\finentrypunct}{\ifboolexpr{togl {bbx:doi} and not test {\iffieldundef{doi}}}{}{\addperiod}}
587 % format doi: as part of the link using the same font
588 \DeclareFieldFormat{doi}{%
589 \ifhyperref
590 {\href{https://doi.org/#1}{\nolinkurl{#1}}}
591 {\placedoi{\nolinkurl{doi:#1}}}%
592 }
593 %
594 % make sure that there is no break between initial and lastname
595 % and thinspaces between muliple initials
596 %
597 \renewcommand*\bibnamedelimd{~}
598 \renewcommand\bibinitdelim{\addnbthinspace}
599 %
600 % format venue, event, date without round brackets
601 % https://tex.stackexchange.com/questions/446732/biblatex-field-venueeventdate-without-round-brackets
602 \renewbibmacro*{event+venue+date}{%
603 \printfield{eventtitle}%
604 \newunit
605 \printfield{eventtitleaddon}%
606 \newunit
607 \printfield{venue}%
608 \setunit*{\addcomma\space}%
609 \printeventdate%
610 \newunit%
611 }
612 \DeclareFieldFormat{eid}{%
613 {paper #1}%
614 }
615 %
616 \renewbibmacro*{volume+number+eid}{%
617 \printfield{volume}%
618 \newunit
619 \printfield{number}%
620 \newunit
621 \printfield{eid}%
622 }
623 %
624 % Clean up the bibtex rather than editing it for extensive JACoW BibTeX records
625 %
626 \AtEveryBibitem{%
627 \clearlist{address}
628 \clearfield{date}
629 \clearfield{eprint}
630 \clearfield{isbn}
631 \clearfield{issn}
632 %
633 % use/print "note" if "booktitle" is not given: example "data for this conference"
634 %
635 \iffieldundef{booktitle}{}{\clearfield{note}}
636 \clearlist{location}
637 \clearfield{month}
638 \clearfield{series}
639 \ifentrytype{book}{}{% Remove publisher and editor except for books
640 \clearlist{publisher}
641 \clearname{editor}
642 }
643 }
644 %
645 % print url if no doi
646 %
647 \renewbibmacro*{doi+eprint+url}{%
648 \addperiod\printfield{doi}%
649 \newunit\newblock%
650 \iftoggle{bbx:eprint}{%
651 \usebibmacro{eprint}%
652 }{}%
653 \newunit\newblock%
654 \iffieldundef{doi}{%
655 \usebibmacro{url+urldate}}%
656 {}%
657 }
658 % format ISSN like URLs
659 \DeclareFieldFormat{issn}{%
660 {\texttt{ISSN:#1}}%
661 }
662 % format ISSN like URLs
663 \DeclareFieldFormat{issn}{%
664 {\texttt{ISSN:#1}}%
665 }
666 %
667 % \setlength\bibitemsep{0pt}
668 \setlength\bibparsep{0pt}
669 \setlength\biblabelsep{5pt}
670 \ifjacowrefpage\preto\blx@bibliography{\clearpage}\fi
671 \AtBeginBibliography{\small\clubpenalty4000\widowpenalty4000}%
672 } % end if biblatex
673 %
674 {\RequirePackage{cite}
675 % Redefine to use smaller fonts
676 \def\thebibliography#1{\setlength{\itemsep}{0pt}\setlength{\parsep}{0pt}%
677 \ifjacowrefpage\clearpage\fi
678 \section*{REFERENCES\@mkboth
679 {REFERENCES}{REFERENCES}}\small\list
680 {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
681 \advance\leftmargin\labelsep
682 \usecounter{enumi}}
683 \def\newblock{\hskip .11em plus .33em minus .07em}
684 \sloppy\clubpenalty4000\widowpenalty4000
685 \sfcode`\.=1000\relax}
686 \let\endthebibliography=\endlist
687 }
688
689
690 %\sloppy
691 \clubpenalty10000\widowpenalty10000
692 \flushbottom
693 %-----------------------------------------------------------------------
694
695 %avoid bug of fixltx2e:
696 %http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/4023
697 %\RequirePackage{fixltx2e}%
698 \def\@outputdblcol{%
699 \if@firstcolumn
700 \global\@firstcolumnfalse
701 \global\setbox\@leftcolumn\copy\@outputbox
702 \splitmaxdepth\maxdimen
703 \vbadness\maxdimen
704 \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}%new
705 \setbox\@outputbox\vsplit\@outputbox to\maxdimen
706 \toks@\expandafter{\topmark}%
707 \xdef\@firstcoltopmark{\the\toks@}%
708 \toks@\expandafter{\splitfirstmark}%
709 \xdef\@firstcolfirstmark{\the\toks@}%
710 \ifx\@firstcolfirstmark\@empty
711 \global\let\@setmarks\relax
712 \else
713 \gdef\@setmarks{%
714 \let\firstmark\@firstcolfirstmark
715 \let\topmark\@firstcoltopmark}%
716 \fi
717 \else
718 \global\@firstcolumntrue
719 \setbox\@outputbox\vbox{%
720 \hb@xt@\textwidth{%
721 \hb@xt@\columnwidth{\box\@leftcolumn \hss}%
722 \hfil
723 \vrule \@width\columnseprule
724 \hfil
725 \hb@xt@\columnwidth{\box\@outputbox \hss}}}%
726 \@combinedblfloats
727 \@setmarks
728 \@outputpage
729 \begingroup
730 \@dblfloatplacement
731 \@startdblcolumn
732 \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
733 \endgroup
734 \fi}
735
736 \endinput