@@ -1,11 +1,12 @@
11\PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere
22\PassOptionsToPackage{hyphens}{url}
33%
4−\documentclass[english,]{article}
4+\documentclass[
5+ english,
6+]{article}
57\usepackage{lmodern}
68\usepackage{amssymb,amsmath}
79\usepackage{ifxetex,ifluatex}
8−\usepackage{fixltx2e} % provides \textsubscript
910\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
1011 \usepackage[T1]{fontenc}
1112 \usepackage[utf8]{inputenc}
@@ -16,25 +17,26 @@
1617\fi
1718% use upquote if available, for straight quotes in verbatim environments
1819\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
19−% use microtype if available
20−\IfFileExists{microtype.sty}{%
21−\usepackage[]{microtype}
22−\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
20+\IfFileExists{microtype.sty}{% use microtype if available
21+ \usepackage[]{microtype}
22+ \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
2323}{}
2424\makeatletter
25−\@ifundefined{KOMAClassName}{%
25+\@ifundefined{KOMAClassName}{% if non-KOMA class
2626 \IfFileExists{parskip.sty}{%
2727 \usepackage{parskip}
2828 }{% else
2929 \setlength{\parindent}{0pt}
3030 \setlength{\parskip}{6pt plus 2pt minus 1pt}}
31−}{% else
31+}{% if KOMA class
3232 \KOMAoptions{parskip=half}}
3333\makeatother
34−\usepackage{hyperref}
34+\IfFileExists{xcolor.sty}{\usepackage{xcolor}}{}
35+\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
36+\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
3537\hypersetup{
36− pdfborder={0 0 0},
37− breaklinks=true}
38+ pdfborder={0 0 0},
39+ breaklinks=true}
3840\urlstyle{same} % don't use monospace font for urls
3941\setlength{\emergencystretch}{3em} % prevent overfull lines
4042\providecommand{\tightlist}{%
@@ -42,12 +44,12 @@
4244\setcounter{secnumdepth}{0}
4345% Redefines (sub)paragraphs to behave more like sections
4446\ifx\paragraph\undefined\else
45−\let\oldparagraph\paragraph
46−\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
47+ \let\oldparagraph\paragraph
48+ \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
4749\fi
4850\ifx\subparagraph\undefined\else
49−\let\oldsubparagraph\subparagraph
50−\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
51+ \let\oldsubparagraph\subparagraph
52+ \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
5153\fi
5254
5355% set default figure placement to htbp
@@ -55,7 +57,7 @@
5557\def\fps@figure{htbp}
5658\makeatother
5759
58−\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
60+\ifnum 0\ifxetex 1\fi=0 % if pdftex or luatex
5961 \usepackage[shorthands=off,ngerman,british,nswissgerman,spanish,french,main=english]{babel}
6062 \newcommand{\textgerman}[2][]{\foreignlanguage{ngerman}{#2}}
6163 \newenvironment{german}[2][]{\begin{otherlanguage}{ngerman}}{\end{otherlanguage}}
@@ -66,7 +68,7 @@
6668 \AddBabelHook{spanish}{afterextras}{\renewcommand{\textspanish}[2][]{\foreignlanguage{spanish}{##2}}}
6769 \newcommand{\textfrench}[2][]{\foreignlanguage{french}{#2}}
6870 \newenvironment{french}[2][]{\begin{otherlanguage}{french}}{\end{otherlanguage}}
69−\else
71+\else % if xetex
7072 % load polyglossia as late as possible as it *could* call bidi if RTL lang (e.g. Hebrew or Arabic)
7173 \usepackage{polyglossia}
7274 \setmainlanguage[]{english}