JACoW Template
Table of Contents
- 1. TODO Introduction
- 2. LaTeX Class
- 2.1. Master File
- 2.2. Descriptions
- 2.3. Changelog
- 2.4. Identification
- 2.5. Banner
- 2.6. Options
- 2.7. Packages
- 2.7.1. Load Class
- 2.7.2. fix-cm — Permit Computer Modern fonts at arbitrary sizes.
- 2.7.3. flushend — Balancing columns at last page
- 2.7.4. Confliction between lineno and minted
- 2.7.5. etoolbox — e-TeX tools for LaTeX
- 2.7.6. iftex — Am I running under pdfTeX, XeTeX or LuaTeX?
- 2.7.7. textcase — Case conversion ignoring mathematics, etc
- 2.7.8. siunitx — A comprehensive (SI) units package
- 2.7.9. graphicx — Enhanced support for graphics
- 2.7.10. booktabs — Publication quality tables in LaTeX
- 2.7.11. caption — Customising captions in floating environments
- 2.7.12. xcolor — Driver-independent color extensions for LaTeX and pdfLaTeX
- 2.7.13. amsmath — AMS mathematical facilities for LaTeX
- 2.7.14. csquotes — Context sensitive quotation facilities
- 2.7.15. geometry — Flexible and complete interface to document dimensions
- 2.7.16. footmisc — A range of footnote options
- 2.7.17. url — Verbatim with URL-sensitive line breaks
- 2.7.18. newtxtt — Enhancement of typewriter fonts from newtx
- 2.7.19. URL Fonts
- 2.7.20. XeTeX & LuaTeX
- 2.7.21. microtype — Subliminal refinements towards typographical perfection
- 2.8. Customisation
- 2.9. biblatex
- 3. LaTeX Samples
- 4. TODO MS Word
- 5. TODO Apach OpenOffice
- 6. Future Work
1. TODO Introduction
The LaTeX class file is based on v2.15 of the JACoW template. I run
cd mkdir -p git/jacow/JACoW_Templates cd git/jacow/JACow_Templates git init git remote add origin https://github.com/JACoW-org/JACoW_Templates.git git fetch origin 86bb39f72097d4e2c1df2f0abba496e34e55727b git checkout 86bb39f72097d4e2c1df2f0abba496e34e55727b
Then run
cat ~/git/jacow/JACoW_Templates/LaTeX/A4/jacow.cls
and split emacs horizontally to incrementally copy the original class file into different sections.
2. LaTeX Class
2.1. Master File
Put a description of the file:
Then change log:
Identification (current version, modification date, etc.)
Banner information while compiling
General options for the class
Import third party packages
Customize
Bibliography
Ignore everything after
2.2. Descriptions
2.2.1. Purpose
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/
2.2.2. License
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".
2.2.3. Maintainer
This Current Maintainer of this work is Volker RW Schaa.
2.2.4. Files
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
2.3. Changelog
(let ((author-date (concat (org-entry-get nil "Author") ", " (org-entry-get nil "Date")))) (substring (concat (make-string 79 ?=) author-date) (length author-date)))
- v1.3
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
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
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
- v1.6
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
- v1.7
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
v1.8 - added setup for \micro sign which disappears when using XeTeX or LuaTeX with unicode-math. Ulrike Fischer, 21 April 2014
- v1.9
v1.9 - fixed the pdfLaTeX warnings for the text/math-micro hack Ulrike Fischer, 22 April 2014
- v1.91
v1.91 - Ligatures=TeX switch introduced to accommodate Ulrike Fischer, 22 April 2014
- v1.92
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
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
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
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
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
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
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
v2.2 - adapted to the changes of template version 2018-02 - made this one official Volker RW Schaa, 23 Feb 2018
- v2.3
v2.3 - font for tt switched to newtxtt with option zerostyle=d (dotted 0) Volker RW Schaa, 15 Jan 2019
- v2.4
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
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
v2.6 - ifluatex/ifxetex dropped for iftex Volker RW Schaa, 11 Nov 2021
- v2.7
v2.7 - added some biblatex macros to achieve closer JACoW reference formatting than standard ieeetran Volker RW Schaa, 02 Feb 2022
- v2.8
v2.8 - removes the (non)stretchability \bibitemsep{0pt} from tests (oversight in v2.7) - introduced the page setting by geometry to JACoW paper size which wasn't working in earlier version of jacow.cls due to the necessary offset using "pt". With Zhichu Chen's suggestion of using "bp" instead of "pt", Ivan's JACoW utils does not complain anymore, and the /Mediabox is correctly shown in Acrobat and PitStop. paperheight 792.0 bp 794.97 pt [794.96208 pt] paperwidth 595.0 bp 597.23 pt [597.22530 pt] Currently I have not found where in a PDF it's defined whether (media/crop box) values are "pt" or "bp". Zhichu Chen, Volker RW Schaa, 10 Jun 2022
- v2.9
v2.9 - remove the math-micro option from siunitx as it was deprecated. Volker RW Schaa, 12 Jun 2022
- v2.10
v2.10 - added Zhichu's switch between version of siunitx (older than 2021-05-17}. Zhichu Chen, Volker RW Schaa, 15 Jun 2022
- v2.11
v2.11 - remove the (empty) package textcase and substituted it by \let\MakeTextUppercase\MakeUppercase Volker RW Schaa, 17 Jul 2022
- v2.12
v2.12 - the new changes to LaTeX3 (2022-06-01) break the old "\@nonchangecase" command \AddToNoCaseChangeList{command} added Ulrike Fischer, Volker RW Schaa, 04 Aug 2022
- v2.13
v2.13 - placement of DOI changed: if it fits on the line OK, otherwise use a new line - period/fullstop placed in front of DOI Zhichu Chen, 05 Aug 2022
- v2.14
v2.14 - `lineno` with "minted" are not supported - place a "\\" rather than \par for linebreak in the definition of \placedoi to et the vertical spacing right Zhichu Chen, 06 Aug 2022
- v2.15
v2.15 - all intermediate changes combined in this version - check for \AddToNoCaseChangeList instead of \IfFormatAtLeastTF{2022/06/01} Zhichu Chen, Volker RW Schaa, 09 Aug 2022
2.4. Identification
\def\fileversion{2.15} \def\filedate{2022/08/09} \def\docdate {2022/08/09} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{jacow}[\filedate\space v\fileversion]
2.5. Banner
\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{ }
2.6. Options
2.6.1. geometry
- US Letter
\DeclareOption{acus}{% \PassOptionsToPackage{paper=letterpaper}{geometry} \typeout{Setup for US LETTER PAPER}} \DeclareOption{letterpaper}{% \PassOptionsToPackage{paper=letterpaper}{geometry} \typeout{Setup for US LETTER PAPER}}
- A4
\DeclareOption{a4paper}{% \PassOptionsToPackage{paper=a4paper}{geometry} \typeout{Setup for A4 PAPER}} \DeclareOption{aca4}{% \PassOptionsToPackage{paper=a4paper}{geometry} \typeout{Setup for A4 PAPER}}
2.6.2. Frame
\DeclareOption{boxit}{\PassOptionsToPackage{showframe}{geometry}}
2.6.3. biblatex
\newif\ifjacowbiblatex \DeclareOption{biblatex}{\jacowbiblatextrue}
2.6.4. refpage
\newif\ifjacowrefpage \DeclareOption{refpage}{\jacowrefpagetrue}
2.6.5. Pass Options
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
2.6.6. Paper Size
\ExecuteOptions{aca4} \ProcessOptions
2.7. Packages
2.7.1. Load Class
\LoadClass[10pt,twocolumn]{article}
2.7.2. fix-cm — Permit Computer Modern fonts at arbitrary sizes.
\RequirePackage{fix-cm}
2.7.3. flushend — Balancing columns at last page
2.7.4. Confliction between lineno and minted
% a lot of authors love to use `minted` to typeset codes which also loads `lineno` % `flushend` does not balance when `lineno` is also loaded, % let's pretend it's already loaded % this will break linebreaks (not as serious as it sounds) for `minted` but we don't care \@namedef{ver@lineno.sty}{9999/12/31} \@namedef{opt@lineno.sty}{}
2.7.5. etoolbox — e-TeX tools for LaTeX
\RequirePackage{etoolbox}
2.7.6. iftex — Am I running under pdfTeX, XeTeX or LuaTeX?
\RequirePackage{iftex}
2.7.7. textcase — Case conversion ignoring mathematics, etc
% Ulrike's suggestion to the UPPERCASING problem after LaTeX update 2022-06-01 % or is it even 2022-06-30 ?? => check of 2022-06-01 changed to definition of % \AddToNoCaseChangeList which came obviously later % % \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % \IfFormatAtLeastTF{2022/06/01}% \ifx\AddToNoCaseChangeList\@undefined % old % Add thanks to the list of "\@nonchangecase"-commands from textcase: \RequirePackage{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 \def\SI##1##2{\NoCaseChange{\SI{##1}{##2}}} % ugly patch \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} \else \let\MakeTextUppercase\MakeUppercase \AddToNoCaseChangeList{\thanks} \AddToNoCaseChangeList{\label} \AddToNoCaseChangeList{\ref} \AddToNoCaseChangeList{\ensuremath} \AddToNoCaseChangeList{\si} \AddToNoCaseChangeList{\SI} \AddToNoCaseChangeList{\qty} \AddToNoCaseChangeList{\unit} \fi
2.7.8. siunitx — A comprehensive (SI) units package
% 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{siunitx} \@ifpackagelater{siunitx}{2021-05-17}% {\PackageInfo{siunitx}{% Package newer than 2021-05-17,\MessageBreak loading current settings.}% \sisetup{mode=match, reset-text-series=false, text-series-to-math=true}}% copied from jacow.cls version 2.7 {\PackageInfo{siunitx}{% Package older than 2021-05-17,\MessageBreak loading old settings.}% \sisetup{detect-mode,detect-weight, binary-units=true}}% % copied from jacow.cls version 2.4
2.7.9. graphicx — Enhanced support for graphics
\RequirePackage{graphicx}
2.7.10. booktabs — Publication quality tables in LaTeX
\RequirePackage{booktabs}
2.7.11. caption — Customising captions in floating environments
\RequirePackage[figureposition=bottom,tableposition=top,skip=5pt]{caption}
2.7.12. xcolor — Driver-independent color extensions for LaTeX and pdfLaTeX
\RequirePackage{xcolor}
2.7.13. amsmath — AMS mathematical facilities for LaTeX
\RequirePackage{amsmath}
2.7.14. csquotes — Context sensitive quotation facilities
\AtEndPreamble{\RequirePackage[autostyle]{csquotes}}
2.7.15. geometry — Flexible and complete interface to document dimensions
% % Page layout: % % Zhichu's suggestion of using "bp instead of "pt" \RequirePackage[% twocolumn, columnsep = 5mm, left = 20mm, bottom = 56pt, paperwidth = 595bp, %% paperwidth 597.23 pt = 595.0 bp {597.22530 pt] textwidth = 170mm, paperheight = 792bp, %% paperheight 794.97 pt 792.0 bp [794.96208 pt] textheight = 9.5in, nomarginpar, heightrounded, noheadfoot, centering] {geometry} \columnseprule 0pt
2.7.16. footmisc — A range of footnote options
\usepackage[hang]{footmisc} \setlength{\footnotemargin}{.6em} \pagestyle{empty}
2.7.17. url — Verbatim with URL-sensitive line breaks
\RequirePackage{url}
2.7.18. newtxtt — Enhancement of typewriter fonts from newtx
\RequirePackage[zerostyle=d]{newtxtt}
2.7.19. URL Fonts
% % redefine the default Typewriter Font to newtxtt with dotted zeros (v2.3) % \newcommand\urlZDtxt{\fontencoding{T1}\fontfamily{newtxtt}\selectfont} \def\UrlFont{\urlZDtxt}
2.7.20. XeTeX & LuaTeX
\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} }
2.7.21. microtype — Subliminal refinements towards typographical perfection
https://ctan.org/pkg/microtype
\RequirePackage{microtype}
2.8. Customisation
2.8.1. Lists
\RequirePackage{enumitem} \newenvironment{Enumerate}{\begin{enumerate}[nosep]}{\end{enumerate}} \newenvironment{Itemize}{\begin{itemize}[nosep]}{\end{itemize}} \newenvironment{Description}{\begin{description}[nosep]}{\end{description}}
2.8.2. Float Parameters
\renewcommand{\topfraction}{.95} \renewcommand{\bottomfraction}{.95} \renewcommand{\textfraction}{0.1} \renewcommand{\floatpagefraction}{0.8}
2.8.3. Headings
- section
% 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}% }%
- subsection
\renewcommand\subsection {% \@startsection{subsection}{2}{\z@} {1.4ex plus .8ex minus .17ex}{0.8ex plus .17ex} {\normalfont\large\itshape}% }
- subsubsection
\renewcommand\subsubsection {% \@startsection{subsubsection}{3}{\parindent} {2.5ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\bfseries}% }
- paragraph
\renewcommand\paragraph {% \@startsection{paragraph}{4}{\z@} {2.5ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\itshape}% }
- subparagraph
\renewcommand\subparagraph {% \@startsection{subparagraph}{4}{\parindent} {2.25ex plus .7ex minus .17ex}{-1em} {\normalfont\normalsize\bfseries}% }
- secnumdepth
\setcounter{secnumdepth}{0}
2.8.4. Title
% 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} }
2.9. biblatex
- Place doi in the same line if possible
\newbox\doi@box \newskip\lastlinewidth \newskip\doiavailablewidth \newcount \saveprevgraf \def\placedoi#1{\mbox{}% \lastlinewidth=\z@ \ifhmode \predisplaypenalty10000\relax \postdisplaypenalty10000\relax \abovedisplayskip-\baselineskip \belowdisplayskip-\baselineskip \abovedisplayshortskip\abovedisplayskip \belowdisplayshortskip\belowdisplayskip $$ \global \lastlinewidth=\dimexpr \predisplaysize -2em \relax $$ \saveprevgraf\prevgraf \advance\saveprevgraf by -3 \advance\saveprevgraf by -1 \prevgraf\saveprevgraf \fi \noindent\kern\dimexpr\lastlinewidth -\leftmargin\relax \doiavailablewidth=\dimexpr \hsize-\lastlinewidth \relax \setbox\doi@box=\hbox{#1}% \ifdim\doiavailablewidth<\wd\doi@box \\ \fi \unhbox\doi@box }
- biblatex style
If
biblatex
is not activated:\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
Otherwise,
- Import biblatex
- v2.00
\RequirePackage[style=ieee,sorting=none,giveninits=true,doi=false,maxnames=6,minnames=1]{biblatex}
- v2.1
\RequirePackage[style=ieee,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex}
- v2.2
\RequirePackage[bibstyle=ieee,citestyle=numeric-comp,dashed=false,sorting=none,giveninits=true,maxnames=6,minnames=1]{biblatex}
- v2.00
- bib macros
\renewbibmacro*{url+urldate}{% \iffieldundef{url} {} {\printfield{url}% \nopunct }% }%
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% }
\renewbibmacro*{volume+number+eid}{% \printfield{volume}% \newunit \printfield{number}% \newunit \printfield{eid}% }
print
url
if nodoi
\renewbibmacro*{doi+eprint+url}{% \addperiod\printfield{doi}% \newunit\newblock% \iftoggle{bbx:eprint}{% \usebibmacro{eprint}% }{}% \newunit\newblock% \iffieldundef{doi}{% \usebibmacro{url+urldate}}% {}% }
- field formats
url
\DeclareFieldFormat{url}{\url{#1}}
eprint
\DeclareFieldFormat{eprint}{#1}
format
doi
: as part of the link using the same font\DeclareFieldFormat{doi}{% \ifhyperref {\href{https://doi.org/#1}{\nolinkurl{#1}}} {\placedoi{\nolinkurl{doi:#1}}}% }
eid
\DeclareFieldFormat{eid}{% {paper #1}% }
format ISSN like URLs
\DeclareFieldFormat{issn}{% {\texttt{ISSN:#1}}% }
- bib extras
%% 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 % -------------------------------------
- bib customisation
% % 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}
% \setlength\bibitemsep{0pt} \setlength\bibparsep{0pt} \setlength\biblabelsep{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}}
make sure that there is no break between initial and lastname and thinspaces between muliple initials
\renewcommand*\bibnamedelimd{~} \renewcommand\bibinitdelim{\addnbthinspace}
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} } }
Set tolerance before the environment.
\AtBeginBibliography{\small\clubpenalty4000\widowpenalty4000}%
\ifjacowrefpage\preto\blx@bibliography{\clearpage}\fi
- Import biblatex
- Penalties
% \sloppy \clubpenalty10000\widowpenalty10000 \flushbottom
- Bug Fixings
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 }
3. LaTeX Samples
4. TODO MS Word
- python-docx
- github repository: https://github.com/python-openxml/python-docx.git
- python-docx-template
- github repository: https://github.com/elapouya/python-docx-template.git
5. TODO Apach OpenOffice
- relatorio
- repository: https://foss.heptapod.net/tryton/relatorio
- odfpy
- github repository: https://github.com/eea/odfpy.git
- Python-UNO (Universal Network Objects) bridge
6. Future Work
6.1. Bugs
[ ]
:padline
does not seem to work
6.2. Smart Documentation
Try to automatically wrap the version, author and date information around the change logs. Need to dig how to achieve that without overriding functions in the ob tangle.el
file.
(nth 4 (org-heading-components))
(let ((author-date (concat (org-entry-get nil "Author") ", " (org-entry-get nil "Date")))) (concat (make-string (- 79 (length author-date)) ?=) author-date))
(let ((author-date (concat (org-entry-get nil "Author") ", " (org-entry-get nil "Date")))) (substring (concat (make-string 79 ?=) author-date) (length author-date)))
6.3. Tips
Put the following to the header to get the solarized
theme of the HTML export.
INFOJS_OPT: view:t toc:t ltoc:t mouse:underline buttons:0 path:http://thomasf.github.io/solarized-css/org-info.min.js HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-light.min.css" />