diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cs-techrep/cs-techrep.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/cs-techrep/cs-techrep.cls | 378 |
1 files changed, 378 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cs-techrep/cs-techrep.cls b/Master/texmf-dist/tex/latex/cs-techrep/cs-techrep.cls new file mode 100644 index 00000000000..b6b8c681a11 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cs-techrep/cs-techrep.cls @@ -0,0 +1,378 @@ + + +\NeedsTeXFormat{LaTeX2e} + +\ProvidesClass{cs-techrep}[2024/03/20 Technical Reports in Computer Science and Software Engineering v0.1] + +\newcounter{cstechrep@pbalancetracker} +\newcounter{cstechrep@flushendtracker} + +\DeclareOption{onecolumn}{\OptionNotUsed} % IEEE option onecolumn will be ignored + +\DeclareOption{pbalance}{ + \setcounter{cstechrep@pbalancetracker}{1} + \typeout{cs-techrep class: pbalance option is set.} +} +\DeclareOption{flushend}{ + \setcounter{cstechrep@flushendtracker}{1} + \typeout{cs-techrep class: flushend option is set.} +} + +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{IEEEtran}% recommended IEEE options: conference,a4paper +} + +\ProcessOptions\relax + +\LoadClass{IEEEtran} + + + +\makeatletter +\newcommand*\DefcstechrepVar[1]{\@namedef{cstechrep#1}##1{\global\@namedef{cstechrep#1}{##1}}} +\makeatother + +\DefcstechrepVar{AuthorListTex} +\DefcstechrepVar{AuthorListBib} % Use *and* as author separator! +\DefcstechrepVar{TitleTex} +\DefcstechrepVar{TitleBib} +\DefcstechrepVar{Department} % e.g., Department of Electrical Engineering, Media and Computer Science +\DefcstechrepVar{Institution} % e.g., Ostbayerische Technische Hochschule Amberg-Weiden +\DefcstechrepVar{Address} % e.g., Amberg, Germany +\DefcstechrepVar{Series} % e.g., Technical Reports +\DefcstechrepVar{Year} % e.g., 2023 +\DefcstechrepVar{Title} +\DefcstechrepVar{Month} % e.g., 6 (for June) +\DefcstechrepVar{Number} % e.g., CL-2023-42 +\DefcstechrepVar{Lang} % e.g., english = en-US (or: ngerman = DE) + +\RequirePackage{upquote} + +\RequirePackage[ngerman,main=english]{babel} +\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} + +\RequirePackage{lmodern} % CM variant with scalable font (to prevent "pdfTeX error (font expansion): auto expansion is only possible with scalable") +\RequirePackage{times} % Times New Roman, because IEEE is based on Times (and not CM/lmodern), however, package times is not a scalable font, thus, lmodern is required additionally and must be loaded before times + +\RequirePackage[hyphens]{url} + + +\makeatletter +\g@addto@macro{\UrlBreaks}{\UrlOrds} +\makeatother + + +\RequirePackage[zerostyle=b,scaled=.75]{newtxtt} + +\RequirePackage[utf8]{inputenc} + +\RequirePackage[T1]{fontenc} + +\RequirePackage[ + babel=true, % Enable language-specific kerning. Take language-settings from the languge of the current document (see Section 6 of microtype.pdf) + expansion=alltext, + protrusion=alltext-nott, % Ensure that at listings, there is no change at the margin of the listing + nopatch=eqnum, % fix unable to apply patch eqnum + final % Always enable microtype, even if in draft mode. This helps finding bad boxes quickly. + % In the standard configuration, this template is always in the final mode, so this option only makes a difference if "pros" use the draft mode +]{microtype} + +\DisableLigatures{encoding = T1, family = tt* } + + +\RequirePackage{graphicx} + +\RequirePackage{ccicons} + +\RequirePackage{diagbox} + +\RequirePackage[cmyk, table]{xcolor} + +\RequirePackage[nolist]{acronym} + +\RequirePackage{listings} + +\definecolor{eclipseStrings}{RGB}{42,0.0,255} +\definecolor{eclipseKeywords}{RGB}{127,0,85} +\colorlet{numb}{magenta!60!black} + + +\lstdefinelanguage{json}{ + basicstyle=\normalfont\ttfamily, + commentstyle=\color{eclipseStrings}, % style of comment + stringstyle=\color{eclipseKeywords}, % style of strings + numbers=left, + numberstyle=\scriptsize, + stepnumber=1, + numbersep=8pt, + showstringspaces=false, + breaklines=true, + frame=lines, + % backgroundcolor=\color{gray}, %only if you like + string=[s]{"}{"}, + comment=[l]{:\ "}, + morecomment=[l]{:"}, + literate= + *{0}{{{\color{numb}0}}}{1} + {1}{{{\color{numb}1}}}{1} + {2}{{{\color{numb}2}}}{1} + {3}{{{\color{numb}3}}}{1} + {4}{{{\color{numb}4}}}{1} + {5}{{{\color{numb}5}}}{1} + {6}{{{\color{numb}6}}}{1} + {7}{{{\color{numb}7}}}{1} + {8}{{{\color{numb}8}}}{1} + {9}{{{\color{numb}9}}}{1} +} + +\lstset{ + % everything between (* *) is a latex command + escapeinside={(*}{*)}, + % + language=json, + % + showstringspaces=false, + % + extendedchars=true, + % + basicstyle=\footnotesize\ttfamily, + % + commentstyle=\slshape, + % + % default: \rmfamily + stringstyle=\ttfamily, + % + breaklines=true, + % + breakatwhitespace=true, + % + % alternative: fixed + columns=flexible, + % + numbers=left, + % + numberstyle=\tiny, + % + basewidth=.5em, + % + xleftmargin=.5cm, + % + % aboveskip=0mm, + % + % belowskip=0mm, + % + captionpos=b +} + +\lstset{literate= + {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 + {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 + {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 + {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 + {ä}{ä}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{ö}1 {ü}{{\"u}}1 + {Ä}{ä}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{ö}1 {Ü}{{\"U}}1 + {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 + {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 + {Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1 + {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 + {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 + {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 +} + +\RequirePackage{booktabs} + +\RequirePackage{paralist} + + +\RequirePackage[ + defernumbers=true, % required due to self-cite + %style=ieee, % english only + sorting=none, % nty, nyt, nyvt, anyt, anyvt, ynt, ydnt, none, debug + sortcites=false, + citestyle=numeric-comp, + bibstyle=numeric, + backend=biber, + bibencoding=utf8, % = auto, utf8, ascii + hyperref=true, % activate hyperref support + backref=false, % activate backrefs + isbn=true, + url=true, + doi=true, + urldate=terse, % = iso, year, short, long, terse + maxnames=5, % max number of names in text ?? + minnames=1, % min number of names in text ?? + maxbibnames=99, % max number of names in bibliography + minbibnames=1, % number of names in bibliography (bevor et al) + maxcitenames=99, % max number of names in text ?? + mincitenames=1, % max number of names in text ?? + giveninits=false, % abbreviate first names + uniquename=init, % otherwise option conflict with firstinits=true + autolang=other +]{biblatex} + +\makeatletter +\let\blx@rerun@biber\relax +\makeatother + +\addbibresource{selfref.bib} % selfref.bib needs to be generated, containing a bibentry with key selfref +\DeclareBibliographyCategory{selfref} +\addtocategory{selfref}{selfref} + +\renewcommand{\bibfont}{\normalfont\small} + +\RequirePackage{etoolbox} +\makeatletter +\patchcmd{\NAT@test}{\else \NAT@nm}{\else \NAT@hyper@{\NAT@nm}}{}{} +\makeatother + +\makeatletter +\DeclareCiteCommand{\citemonth} + {\usebibmacro{prenote}} + {% + \let\oldabx@bibmonth\abx@bibmonth% + %\let\abx@bibmonth\blx@imc@biblstring\typeout{CHG: abx@bibmonth \meaning\abx@bibmonth}% false: not abbreviated; but nowork + \setkeys{blx@opt@pre}{dateabbrev=false}% nowork + \mkbibmonth{\thefield{month}}% + \let\abx@bibmonth\oldabx@bibmonth% restore + } + {\multicitedelim} + {\usebibmacro{postnote}} +\makeatother + +\RequirePackage{pdfcomment} + +\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} +\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} + +\newcommand{\todo}[1]{\commentatside{#1}} + +\newcommand{\TODO}[1]{\commentatside{#1}} + +\RequirePackage{stfloats} +\fnbelowfloat + +\RequirePackage[group-minimum-digits=4,per-mode=fraction]{siunitx} +\addto\extrasgerman{\sisetup{locale = DE}} + +\RequirePackage{hyperref} + +\hypersetup{ + hidelinks, + colorlinks=true, + allcolors=black, + pdfstartview=Fit, + breaklinks=true +} + +\RequirePackage[all]{hypcap} + +\RequirePackage{orcidlink} + +\RequirePackage[caption=false,font=footnotesize]{subfig} + +\RequirePackage[autostyle=true]{csquotes} + +\defineshorthand{"`}{\openautoquote} +\defineshorthand{"'}{\closeautoquote} + +\usepackage{amsmath,amssymb,amsfonts} + +\RequirePackage[capitalise,nameinlink,noabbrev]{cleveref} + +\crefname{listing}{Listing}{Listings} +\Crefname{listing}{Listing}{Listings} +\crefname{lstlisting}{Listing}{Listings} +\Crefname{lstlisting}{Listing}{Listings} + +\RequirePackage{lipsum} + +\RequirePackage{tcolorbox} +\tcbuselibrary{listings} + +\DeclareFontFamily{U}{MnSymbolC}{} +\DeclareSymbolFont{MnSyC}{U}{MnSymbolC}{m}{n} +\DeclareFontShape{U}{MnSymbolC}{m}{n}{ + <-6> MnSymbolC5 + <6-7> MnSymbolC6 + <7-8> MnSymbolC7 + <8-9> MnSymbolC8 + <9-10> MnSymbolC9 + <10-12> MnSymbolC10 + <12-> MnSymbolC12% +}{} +\DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} + +\RequirePackage{xspace} +\newcommand{\eg}{e.\,g.,\ } +\newcommand{\ie}{i.\,e.,\ } + +\makeatletter +\newcommand{\hydash}{\penalty\@M-\hskip\z@skip} +\makeatother + + +\hyphenation{op-tical net-works semi-conduc-tor} + +\input glyphtounicode +\pdfgentounicode=1 + +\RequirePackage{lscape} +\RequirePackage{pdflscape} +\RequirePackage{afterpage} + +\RequirePackage[shortcuts]{extdash} % Use \-/ for a breakable dash that does not prevent the remainer of the word to be hyphenated + +\makeatletter +\def\ps@IEEEtitlepagestyle{ + \def\@oddfoot{\mycopyrightnotice} + \def\@evenfoot{} +} +\def\mycopyrightnotice{ + {\footnotesize + \begin{minipage}{0.8\textwidth} + \centering + % Creative Commons / Open Access: + \href{https://creativecommons.org/licenses/by/4.0/}{\ccby{} This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) License.} + % Citation advice: + \\Please cite as: \fullcite{selfref}. + \end{minipage} + } +} +\makeatother + +\makeatletter +\def\filecontentsForceExpansion#1#2#3{ + \global\let\ltxspecials\dospecials + \gdef\dospecials{\ltxspecials + \catcode`#1=0 + \catcode`#2=1 + \catcode`#3=2 + \global\let\dospecials\ltxspecials + } +} +\makeatother + +\title{\cstechrepTitleTex} + +\author{ +\IEEEauthorblockN{\cstechrepAuthorListTex} +\IEEEauthorblockA{% +\cstechrepDepartment\\ +\cstechrepInstitution\\ +\cstechrepAddress +}} + +\IEEEspecialpapernotice{\cstechrepSeries: \cstechrepNumber, \citemonth{selfref} \cstechrepYear} + +\ifnum\value{cstechrep@pbalancetracker}=1 + \typeout{cs-techrep class: load pbalance package.} + \RequirePackage{pbalance} +\fi +\ifnum\value{cstechrep@flushendtracker}=1 + \typeout{cs-techrep class: load flushend package.} + \RequirePackage{flushend} +\fi + +\endinput +%% +%% End of file `cs-techrep.cls'. |