texlive[66883] Master/texmf-dist: se2thesis (18apr23)

commits+karl at tug.org commits+karl at tug.org
Tue Apr 18 21:40:08 CEST 2023


Revision: 66883
          http://tug.org/svn/texlive?view=revision&revision=66883
Author:   karl
Date:     2023-04-18 21:40:07 +0200 (Tue, 18 Apr 2023)
Log Message:
-----------
se2thesis (18apr23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf
    trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.tex
    trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf
    trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.tex
    trunk/Master/texmf-dist/doc/latex/se2thesis/test.pdf
    trunk/Master/texmf-dist/doc/latex/se2thesis/test.tex
    trunk/Master/texmf-dist/source/latex/se2thesis/se2colors.dtx
    trunk/Master/texmf-dist/source/latex/se2thesis/se2fonts.dtx
    trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.dtx
    trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.ins
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl

Added Paths:
-----------
    trunk/Master/texmf-dist/source/latex/se2thesis/se2packages.dtx
    trunk/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md	2023-04-18 19:40:07 UTC (rev 66883)
@@ -7,6 +7,30 @@
 
 ## [Unreleased]
 
+## [v3.0.0] – 2023–04–18
+
+### Added
+
+- Add documentation on how to install the bundle if it is not part of the
+  existing TeX distribution.
+- Add a package `se2packages` that provides the ability to directly load
+  recommended packages with recommended options.
+
+### Changed
+
+- The `paper=a4` and `paper=b5` options now produce the exact same text-block
+  sizes.
+- Make the logo height smaller for B5 paper.
+- The default class is now `scrbook` instead of `scrreprt`.
+
+### Removed
+
+- **Breaking:** Removed the `biblatex` class option from `se2thesis`, use the
+  `se2packages` package with its `biblatex=true` option instead.
+- **Breaking:** Removed the `paper=a5` option.
+- Removed the automated loading of the `microtype`, `selnolig`, and
+  `lua-widow-control` packages from `se2thesis`—use `se2packages` instead.
+
 ## [v2.1.0] – 2023–01–27
 
 ### Added
@@ -100,6 +124,7 @@
 ### Added
 - First official release
 
+[v3.0.0]: https://github.com/se2p/se2thesis/compare/v3.0.0...v2.1.0
 [v2.1.0]: https://github.com/se2p/se2thesis/compare/v2.1.0...v2.0.0
 [v2.0.0]: https://github.com/se2p/se2thesis/compare/v2.0.0...v1.3.1
 [v1.3.1]: https://github.com/se2p/se2thesis/compare/v1.3.1...v1.3.0

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.tex	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.tex	2023-04-18 19:40:07 UTC (rev 66883)
@@ -2,9 +2,9 @@
   chapterprefix=true,%
   open=right,%
   twoside=true,%
+  paper=a4,%
   logofile={logo.png},%
   thesistype=master,%
-  biblatex=true,%
   UKenglish,%
 ]{se2thesis}
 \listfiles
@@ -11,29 +11,17 @@
 \usepackage[ngerman,main=UKenglish]{babel}
 \usepackage{blindtext}
 \usepackage[%
-  group-minimum-digits=4,%
-  list-final-separator={, and },%
-  add-integer-zero=false,%
-  free-standing-units,%
-  round-mode=figures,%
-  round-precision=3,%
-  detect-weight=true,%
-  separate-uncertainty=true,%
-  uncertainty-mode=separate,%
-]{siunitx}
+  csquotes=true,%
+  booktabs=true,%
+  siunitx=true,%
+  minted=true,%
+  selnolig=true,%
+  widowcontrol=false,%
+  microtype=true,%
+  biblatex=true,%
+  cleveref=true,%
+]{se2packages}
 
-\usepackage[newfloat=true]{minted}
-\setminted{%
-  autogobble,%
-  breaklines=true,%
-  fontsize=\footnotesize,%
-  linenos=false,%
-  resetmargins=true,%
-  xleftmargin=1em,%
-  xrightmargin=1em,%
-  frame=single,%
-}
-
 \begin{filecontents}{\jobname.bib}
   @book{Knu86,
     author = {Knuth, Donald E.},
@@ -43,12 +31,7 @@
 \end{filecontents}
 \addbibresource{\jobname.bib}
 
-\usepackage{booktabs}
-
-\usepackage{csquotes}
-
 \usepackage{hyperref}
-\usepackage{cleveref}
 
 \author{Stephan Lukasczyk}
 \title{A Master Thesis Example Document}
@@ -55,6 +38,7 @@
 \degreeprogramme{Computer Science}
 \matrnumber{0815}
 \supervisor{Prof.\,Dr.~Max Mustermann}
+\external{Prof.~John Doe,~PhD}
 \advisor{Marianne Musterfrau}
 \department{Faculty of Examples}
 \institute{Chair of Example}

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.tex	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/doc/latex/se2thesis/se2thesis.tex	2023-04-18 19:40:07 UTC (rev 66883)
@@ -229,6 +229,7 @@
 \DocInput{se2thesis.dtx}
 \DocInput{se2colors.dtx}
 \DocInput{se2fonts.dtx}
+\DocInput{se2packages.dtx}
 
 \EnableImplementation
 \DisableDocumentation

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/test.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/se2thesis/test.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/se2thesis/test.tex	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/doc/latex/se2thesis/test.tex	2023-04-18 19:40:07 UTC (rev 66883)
@@ -1,68 +1,107 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[automark]{scrlayer-scrpage}
-\usepackage{xcolor}
+\documentclass[%
+  chapterprefix=true,%
+  open=right,%
+  twoside=true,%
+  logofile={logo.png},%
+  thesistype=master,%
+  biblatex=true,%
+  UKenglish,%
+  class=book,%
+  paper=b5,%
+]{se2thesis}
+\listfiles
+\usepackage[ngerman,main=UKenglish]{babel}
 \usepackage{blindtext}
-%\DeclareLayer[clone=scrheadings.head.oneside,
-%  contents={%
-%    \color{yellow}%
-%    \rule[-\dp\strutbox]%
-%      {\layerwidth}{\layerheight}%
-%  }%
-%]{scrheadings.head.oneside.background}
-%\DeclareLayer[clone=scrheadings.head.odd,
-%  contents={%
-%    \color{yellow}%
-%    \rule[-\dp\strutbox]%
-%      {\layerwidth}{\layerheight}%
-%  }%
-%]{scrheadings.head.odd.background}
-%\DeclareLayer[clone=scrheadings.head.even,
-%  contents={%
-%    \color{yellow}%
-%    \rule[-\dp\strutbox]%
-%      {\layerwidth}{\layerheight}%
-%  }%
-%]{scrheadings.head.even.background}
-%\AddLayersAtBeginOfPageStyle{scrheadings}{%
-%  scrheadings.head.oneside.background,%
-%  scrheadings.head.odd.background,%
-%  scrheadings.head.even.background%
-%}
-\DeclareLayer[%
-  clone=scrheadings.foot.odd,%
-  contents={%
-    {\ }%
-    \footnotesize%
-    {\color{blue}\headmark}%
-    \hspace*{0.75cm}%
-    {\color{blue}\rule[-5pt]{1.25pt}{15pt}}%
-    \hspace*{0.75cm}%
-    \begin{minipage}[b]{1.5cm}%
-      \normalsize\textbf{\pagemark}%
-    \end{minipage}%
-    \hspace{-1.85cm}%
-  }%
-]{scrheadings.foot.odd.slcd}
-\DeclareLayer[%
-  clone=scrheadings.foot.even,%
-  contents={%
-    \null\hspace{-1.85cm}%
-    \footnotesize%
-    \begin{minipage}[b]{1.5cm}
-      \raggedleft\normalsize\textbf{\pagemark}%
-    \end{minipage}%
-    \footnotesize%
-    \hspace*{0.75cm}%
-    {\color{blue}\rule[-5pt]{1.25pt}{15pt}}%
-    \hspace*{0.75cm}%
-    {\color{blue}\headmark}%
-  }%
-]{scrheadings.foot.even.slcd}
-\AddLayersAtBeginOfPageStyle{scrheadings}{%
-  scrheadings.foot.odd.slcd,%
-  scrheadings.foot.even.slcd%
+\usepackage[%
+  group-minimum-digits=4,%
+  list-final-separator={, and },%
+  add-integer-zero=false,%
+  free-standing-units,%
+  round-mode=figures,%
+  round-precision=3,%
+  detect-weight=true,%
+  separate-uncertainty=true,%
+  uncertainty-mode=separate,%
+]{siunitx}
+
+\usepackage[newfloat=true]{minted}
+\setminted{%
+  autogobble,%
+  breaklines=true,%
+  fontsize=\footnotesize,%
+  linenos=false,%
+  resetmargins=true,%
+  xleftmargin=1em,%
+  xrightmargin=1em,%
+  frame=single,%
 }
-\pagestyle{scrheadings}
+
+\begin{filecontents}{\jobname.bib}
+  @book{Knu86,
+    author = {Knuth, Donald E.},
+    year = {1986},
+    title = {The \TeX book},
+  }
+\end{filecontents}
+\addbibresource{\jobname.bib}
+
+\usepackage{booktabs}
+
+\usepackage{csquotes}
+
+\usepackage{hyperref}
+\usepackage{cleveref}
+
+\author{Stephan Lukasczyk}
+\title{A Master Thesis Example Document}
+\degreeprogramme{Computer Science}
+\matrnumber{0815}
+\supervisor{Prof.\,Dr.~Max Mustermann}
+\advisor{Marianne Musterfrau}
+\department{Faculty of Examples}
+\institute{Chair of Example}
+\location{Passau}
+
 \begin{document}
+
+\frontmatter
+
+\maketitle
+
+\authorshipDeclaration
+
+\begin{abstract}
+  An English abstract to the thesis.
+\end{abstract}
+
+\begin{abstract}[german]
+  Eine deutschsprachige Zusammenfassung der Arbeit.
+\end{abstract}
+
+\begin{acknowledgements}
+  Some acknowledgements.
+\end{acknowledgements}
+
+\tableofcontents
+
+\mainmatter
+
 \blinddocument
-\end{document}
\ No newline at end of file
+
+\section{Further Examples}
+
+We could reference the \TeX{} book~\cite{Knu86}.
+
+\begin{resq}
+    What is \(41 + 1\)?
+\end{resq}
+
+\begin{summary}{Research Question 1}
+   It's 42, obviously!
+\end{summary}
+
+\backmatter
+
+\printbibliography
+
+\end{document}

Modified: trunk/Master/texmf-dist/source/latex/se2thesis/se2colors.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/se2thesis/se2colors.dtx	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/source/latex/se2thesis/se2colors.dtx	2023-04-18 19:40:07 UTC (rev 66883)
@@ -231,7 +231,7 @@
 %
 % Identify the package and give the overall version information.
 %    \begin{macrocode}
-\ProvidesExplPackage {se2colors} {2023-01-27} {2.1.0}
+\ProvidesExplPackage {se2colors} {2023-04-18} {3.0.0}
   {A colour support package for the se2thesis bundle}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/se2thesis/se2fonts.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/se2thesis/se2fonts.dtx	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/source/latex/se2thesis/se2fonts.dtx	2023-04-18 19:40:07 UTC (rev 66883)
@@ -159,7 +159,7 @@
 %
 % Identify the package and give the overall version information.
 %    \begin{macrocode}
-\ProvidesExplPackage {se2fonts} {2023-01-27} {2.1.0}
+\ProvidesExplPackage {se2fonts} {2023-04-18} {3.0.0}
   {A font-selection support package for the se2thesis bundle}
 %    \end{macrocode}
 %

Added: trunk/Master/texmf-dist/source/latex/se2thesis/se2packages.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/se2thesis/se2packages.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/se2thesis/se2packages.dtx	2023-04-18 19:40:07 UTC (rev 66883)
@@ -0,0 +1,788 @@
+% \iffalse meta-comment
+%
+% File: se2packages.dtx Copyright (C) 2022--2023 Stephan Lukasczyk
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this
+% license or (at your option) any later version.  The latest version
+% of this license is in the file
+%
+%   https://www.latex-project.org/lppl.txt
+%
+% This file is part of the "se2thesis bundle" (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% The released version of this bundle is available from CTAN.
+%
+% ----------------------------------------------------------------------
+%
+% The development version of the bundle can be found at
+%
+%   https://github.com/se2p/se2thesis
+%
+% for those people who are interested.
+%
+% ----------------------------------------------------------------------
+%
+%<*driver>
+\documentclass{l3doc}
+% The next line is needed so that \GetFileInfo will be able to pick up
+% version data.
+\usepackage{se2packages}
+
+\usepackage[UKenglish]{babel}
+\usepackage{hvlogos}
+
+\begin{document}
+  \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \GetFileInfo{se2packages.sty}
+%
+% \title{^^A
+%   \pkg{se2packages} -- Supporting Packages for the \pkg{se2thesis} Bundle^^A
+%   \thanks{This file describes \fileversion, last revised \filedate.}^^A
+% }
+%
+% \author{^^A
+%   Stephan Lukasczyk^^A
+%   \thanks{Email: \href{mailto:stephan at dante.de}{stephan at dante.de}}^^A
+% }
+%
+% \date{Released \filedate}
+%
+% \maketitle
+%
+% \begin{documentation}
+%
+% \section{The \pkg{se2packages} package}\label{sec:doc-se2packages}
+%
+% Several packages can be useful for writing a thesis.
+% We provide a simple package for the user
+% that loads these support packages with the recommended options.
+% Please note that you might not need all these packages,
+% however,
+% having a look at them (especially their documentation)
+% might give you an insight whether to use a certain package.
+% Our general recommendation is to use as few packages as you can;
+% some might have conflicts,
+% others basically do the same,
+% or are outdated.
+% Please consider reading the documentation of each package you are using
+% to figure out whether they have any conflicts with other packages
+% (for example, one cannot use the recommended \pkg{siunitx} package
+% together with \pkg{SIunits}) or they might require to be loaded
+% at special places in your preamble (for example, \pkg{hyperref}
+% is usually meant to be loaded as the last package,
+% except you are also using \pkg{cleveref},
+% which needs to be loaded \emph{after} \pkg{hyperref}).
+%
+% \subsection{The Recommended Packages}
+%
+% We first present the packages we recommend
+% and give a rationale why we believe they should be used.
+% Afterwards,
+% we will discuss how to load the \pkg{se2packages} package
+% to use one or the other of these recommended packages
+% in the next section.
+%
+% \subsubsection{Quoting with \pkg{csquotes}}
+%
+% The \pkg{csquotes} packages allows you for intelligent quoting of text.
+% While verbose quotes are not that common in computer science,
+% the package still provides some useful macros to the user.
+%
+% \subsubsection{Number formatting with \pkg{siunitx}}
+%
+% While \pkg{siunitx}'s original purpose was to format physical quantities,
+% it provides a lot of useful features
+% when typesetting theses (and other documents) in computer science.
+% When you skim through its documentation,
+% especiall look at the \cmd{\qty} and \cmd{\num} macros,
+% as well as the section on typesetting tabular material.
+% We also recommend reading an extensive discussion on number formatting,
+% precision of presented numbers,
+% and more related topics in Beyer et al.'s journal paper
+% on requirements and solutions for reliable
+% benchmarking~\cite{DBLP:journals/sttt/BeyerLW19}.
+%
+% \subsubsection{Code Listings}
+%
+% We prefer using the \pkg{minted} package for code listings
+% because it provides a lot of options for styling
+% as well as built-in support for a huge number of languages.
+% However,
+% this package requires the installation of Python
+% and the setting of the |-shell-escape| option to your \TeX{} engine.
+% Please read the package's documentation to set it up;
+% the aforementioned Docker images from the Island of \TeX{} project
+% provide you everything set up already.
+%
+% In case you do not want to use the \pkg{minted} package,
+% please consider using \pkg{listings} for typesetting your code listings.
+%
+% Please be aware to use \emph{either} \pkg{minted} \emph{or} \pkg{listings}!
+%
+% \subsubsection{Designing Tables}
+%
+% A basically mandatory package to all users of tables
+% is the \pkg{booktabs} package.
+% Especially its documentation is a must-read!
+% It provides a large variety of hints for designing tables,
+% most notably that one should never ever use vertical lines;
+% horizontal lines should be used sparesly;
+% \pkg{booktabs} provides three macros for lines that shall be used
+% instead of \cmd{\hline} from standard \LaTeX:
+% \cmd{\toprule} for a rule on the top of a table,
+% above the column heads;
+% \cmd{\midrule} to separate column heads and the content,
+% and \cmd{\bottomrule} to mark the bottom of a table.
+% We highly recommend that you follow this style when writing your thesis.
+%
+% Note that captions of tables shall be put \emph{above} the table
+% whereas captions of figures shall go \emph{below} the figure.
+% The rationale is that a figure should be more or less self explaining
+% while a table almost always needs some explanation.
+%
+% Unfortunately,
+% the distances when using a \cmd{\caption} above a table are wrong by default;
+% when creating tables,
+% consider loading the \pkg{hvfloats} package
+% and use its \cmd{\tabcaption} instead of \cmd{\caption} for tables.
+% The \pkg{hvfloats} package furthermore provides additional useful macros
+% to typeset all kinds of floats.
+%
+% \subsubsection{Controlling Ligatures, Orphans, and Widows}
+%
+% When using \LuaTeX{}~(which we recommend anyway),
+% we additionally recommend to use the \pkg{selnolig}
+% and \pkg{lua-widow-control} packages.
+% The former implements a better control over ligatures,
+% the latter provides better control over orphans and widows.
+%
+% \subsubsection{Use \pkg{microtype} for Microtypographic Optimisation}
+%
+% \pkg{microtype} is a game changer when writing documents.
+% While standard \LaTeX{} provides reasonably good typography,
+% the \pkg{microtype} package brings it to the next level.
+% We refer you to the documentation of the package for details.
+%
+% Additionally,
+% we prefer to have a thin space around the m-dash.
+% Although we are aware of the discussion
+% whether to have such a space in English,
+% we think it looks more beautiful and thus recommend it.
+%
+% \subsubsection{Use \pkg{biblatex} for Bibliographic References}
+%
+% The standard way of typesetting bibliographic references used to be \BibTeX.
+% The original \BibTeX,
+% however,
+% seems to be very outdated in various ways:
+% it originally only supported 7\,bit character sets
+% and creating citation styles requires the usage
+% of a kind of an archaic language.
+% \BibLaTeX{} resolves many of the drawbacks of \BibTeX;
+% when combined with the |biber| engine,
+% it supports full UTF-8 unicode,
+% therefore correct sorting of the references now works out of the box;
+% also creating citation styles can now be done using simple \LaTeX{} commands.
+%
+% \subsubsection{Use \pkg{cleveref} for Internal References}
+%
+% \LaTeX{} provides an easy-to-use reference mechanism using the \cmd{\label}
+% and \cmd{\ref} macros.
+% However,
+% this requires some manual effort and the text needs to specify
+% whether a reference is to a figure, section, or table.
+% We often see in drafts artefacts such as \enquote{we discuss our findings in 4};
+% but what is \enquote{4} here?
+% Is it a section?
+% A table?
+% A figure?
+%
+% To avoid such confusion,
+% use the \pkg{cleveref} package,
+% which automatically infers the type of the reference~(see its documentation
+% on how this works).
+% The \pkg{cleveref} package furthermore avoids an additional, common mistake:
+% between the name of the element and its reference
+% one needs to have a non-breaking space that is often forgotten.
+% Instead people are using normal spaces that can break at the end of a line
+% which looks very ugly.
+%
+% Please note that,
+% in contrast to most other packages,
+% \pkg{cleveref} has to be loaded \emph{after} the \pkg{hyperref} package!
+%
+% \subsection{Loading \pkg{se2packages}}
+%
+% When you load the \pkg{se2packages} package
+% it will automatically load the \pkg{csquotes} and \pkg{booktabs} packages
+% because we believe that you definitely should use them.
+% Still, it is possible to avoid this by setting the following
+% load-time options to the package.
+% \begin{function}{csquotes,nocsquotes}
+%   \begin{syntax}
+%     |csquotes| = \meta{true,false}
+%     |nocsquotes|
+%   \end{syntax}
+%   The argument to |csquotes| can be one of |true| or |false|.
+%   The latter does not load \pkg{csquotes}, the former is the default value.
+%   By using |nocsquotes| you can also avoid that \pkg{csquote} is loaded.
+% \end{function}
+%
+% \begin{function}{booktabs,nobooktabs}
+%   \begin{syntax}
+%     |booktabs| = \meta{true,false}
+%     |nobooktabs|
+%   \end{syntax}
+%   The argument to |booktabs| can be one of |true| or |false|.
+%   The latter does not load \pkg{booktabs}, the former is the default value.
+%   By using |nobooktabs| you can also avoid that \pkg{booktabs} is loaded.
+% \end{function}
+%
+% The \pkg{siunitx} package is helpful to set quantities
+% and to automatically format numbers consistently.
+% The following load-time option loads it automatically.
+% \begin{function}{siunitx}
+%   \begin{syntax}
+%     |siunitx| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package loads \pkg{siunitx}
+%   and sets the options for \pkg{siunitx} to the values we recommend.
+%   The default value is |false|, set it to |true| to load \pkg{siunitx}.
+% \end{function}
+%
+% We provide a load-time option to load \pkg{minted}
+% and configure it.
+% \begin{function}{minted}
+%   \begin{syntax}
+%     |minted| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package loads \pkg{minted}
+%   and sets the options for \pkg{minted} to the values we recommend.
+%   The default value is |false|, set it to |true| to load \pkg{minted}.
+%   Note that \pkg{minted} requires additional installation effort
+%   and the use of the |-shell-escape| option, see its documentation.
+% \end{function}
+%
+% We also provide a load-time option to load \pkg{listings}
+% and configure it.
+% This option and the |minted| option are mutually exclusive!
+% \begin{function}{listings}
+%   \begin{syntax}
+%     |listings| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package loads \pkg{listings}
+%   and sets the options for \pkg{listings} to the values we recommend.
+%   The default value is |false|, set it to |true| to load \pkg{listings}.
+% \end{function}
+%
+% We provide a load-time option to load \pkg{selnolig}.
+% \begin{function}{selnolig,noselnolig}
+%   \begin{syntax}
+%     |selnolig| = \meta{true,false}
+%     |noselnolig|
+%   \end{syntax}
+%   The argument to |selnolig| can be one of |true| or |false|.
+%   The latter does not load \pkg{selnolig}, the former is the default value.
+%   By using |noselnolig| you can also avoid that \pkg{selnolig} is loaded.
+% \end{function}
+%
+% We provide a load-time option to load \pkg{lua-widow-control}.
+% \begin{function}{widowcontrol,nowidowcontrol}
+%   \begin{syntax}
+%     |widowcontrol| = \meta{true,false}
+%     |nowidowcontrol|
+%   \end{syntax}
+%   The argument to |widowcontrol| can be one of |true| or |false|.
+%   The latter does not load \pkg{lua-widow-control},
+%   the former is the default value.
+%   By using |nowidowcontrol| you can also avoid
+%   that \pkg{lua-widow-control} is loaded.
+% \end{function}
+%
+% We provide a load-time option to load and configure \pkg{microtype}.
+% \begin{function}{microtype,nomicrotype}
+%   \begin{syntax}
+%     |microtype| = \meta{true,false}
+%     |nomicrotype|
+%   \end{syntax}
+%   The argument to |microtype| can be one of |true| or |false|.
+%   The latter does not load \pkg{microtype}, the former is the default value.
+%   By using |nomicrotype| you can also avoid that \pkg{microtype} is loaded.
+% \end{function}
+%
+% We provide a load-time option to load and configure \pkg{biblatex}.
+% \begin{function}{biblatex}
+%   \begin{syntax}
+%     |biblatex| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package loads \pkg{biblatex}
+%   and sets the options for \pkg{biblatex} to the values we recommend.
+%   The default value is |false|, set it to |true| to load \pkg{biblatex}.
+% \end{function}
+%
+% Additionally,
+% we provide a load-time option to load \pkg{cleveref}.
+% This option makes use of \LaTeX's hook system to load it as the very last
+% thing in the preamble.
+% You shall not use this option, but load \pkg{cleveref} on your own,
+% if your document requires packages that need to be loaded even \emph{after}
+% \pkg{cleveref}.
+% \begin{function}{cleveref}
+%   \begin{syntax}
+%     |cleveref| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package load \pkg{cleveref}.
+%   The default value is |false|, set it to |true| to load \pkg{cleveref}.
+% \end{function}
+%
+% Lastly,
+% we provide one option to load all recommended packages~(with \pkg{minted}
+% prefered over \pkg{listings}).
+% \begin{function}{all}
+%   \begin{syntax}
+%     |all| = \meta{true,false}
+%   \end{syntax}
+%   Decides whether the package loads all recommended packages.
+%   The default value is |false|, set it to |true| to load them.
+% \end{function}
+%
+% \subsection{Additional Recommended Packages}
+%
+% The following packages are not part of \pkg{se2packages}
+% because they serve a very specific purpose.
+% They might not be needed by many thesis writers,
+% however,
+% we mention them here in order to give you a pointer.
+% We list them in alphabetic order.
+%
+% \begin{itemize}
+%   \item \pkg{algorithm2e}: provides tooling for typesetting algorithm
+%     diagrams.
+%     We recommend loading it with the following options:
+%     \begin{LaTeXdemo}[code only]
+% \usepackage[ruled,noline,noend,linesnumbered]{algorithm2e}
+%     \end{LaTeXdemo}
+%   \item \pkg{hvfloat}: a package to control captions, fullpage, and
+%     double-page floats.
+%     We recommend to load it and use its \cmd{\tabcaption} for table captions.
+%   \item \pkg{lettrine}: allows to start a paragraph with a large initial.
+%     This is a beautiful opener for the first paragraph of a thesis' main
+%     content.
+%   \item \pkg{mathtools}: an enhanced version of the famous \amsmath
+%     package that provides more functionality and fixes some of the known bugs.
+%   \item \pkg{pdfx}: adds support for PDF/X and PDF/A, which is useful for
+%     creating documents that can be archived, for example, by the University's
+%     library.
+%   \item \pkg{pgfplots}: a library for creating all kinds of plots, based on
+%     \pkg{pgf}, which is also the basis of the \pkg{tikz} package.
+%   \item \pkg{sidenotesplus}: a package to place all kinds of objects in the
+%     margin of a document, from footnotes (then called sidenotes) to figures
+%     and tables.
+%   \item \pkg{subcaption}: support for sub-captions and sub-figures.
+%   \item \pkg{tabularray}: a rewrite of \LaTeX's array and tabular abilities
+%     in \LaTeXIII.
+%     While the package offers a great combination of several other packages'
+%     functionality, it tends to be quite slow for large tables due to the way
+%     it is implemented internally.
+%   \item \pkg{tcolorbox}: allows to typeset coloured boxes, for example, for
+%     short summaries on research questions or hypotheses.
+%   \item \pkg{tikz}: for creating all kinds of figures.
+%     Beware: \TikZ{} is a really huge package with a lot of functionality and
+%     a manual of more than 1300~pages.
+% \end{itemize}
+%
+%
+% \begin{thebibliography}{9}
+%   \bibitem{DBLP:journals/sttt/BeyerLW19} Dirk Beyer, Stefan Löwe, and Philipp
+%   Wendler: \emph{Reliable benchmarking: requirements and solutions}. STTT
+%   21(1): 1--29 (2019)
+% \end{thebibliography}
+% 
+%
+%
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\pkg{se2packages} implementation}
+%
+% Start the \pkg{DocStrip} guards.
+%    \begin{macrocode}
+%<*package>
+%    \end{macrocode}
+%
+% Identify the internal prefix (\LaTeX3 \pkg{DocStrip} convention): only
+% internal material in this \emph{submodule} should be used directly.
+%    \begin{macrocode}
+%<@@=slcd_packages>
+%    \end{macrocode}
+%
+% Identify the package and give the overall version information.
+%    \begin{macrocode}
+\ProvidesExplPackage {se2packages} {2023-04-18} {3.0.0}
+  {Supporting packages for the se2thesis bundle}
+%    \end{macrocode}
+%
+% \subsection{Load-time options}
+%
+% Before we define the actual options,
+% define some Boolean variables to store the selected values.
+%
+% \begin{macro}{\l_@@_csquotes_bool}
+%   Whether or not to load \pkg{csquotes}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_csquotes_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_booktabs_bool}
+%   Whether or not to load \pkg{booktabs}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_booktabs_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_siunitx_bool}
+%   Whether or not to load and configure \pkg{siunitx}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_siunitx_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_minted_bool}
+%   Whether or not to load and configure \pkg{minted}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_minted_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_listings_bool}
+%   Whether or not to load and configure \pkg{listings}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_listings_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_biblatex_bool}
+%   Whether or not to load and configure \pkg{biblatex}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_biblatex_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_selnolig_bool}
+%   Whether or not to load \pkg{selnolig} (\LuaTeX{} only).
+%    \begin{macrocode}
+\bool_new:N \l_@@_selnolig_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_luawidowcontrol_bool}
+%   Whether or not to load \pkg{luawidowcontrol} (\LuaTeX{} only).
+%    \begin{macrocode}
+\bool_new:N \l_@@_luawidowcontrol_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_microtype_bool}
+%   Whether or not to load \pkg{microtype}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_microtype_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_cleveref_bool}
+%   Whether or not to load and configure \pkg{cleveref}.
+%    \begin{macrocode}
+\bool_new:N \l_@@_cleveref_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_all_bool}
+%   Whether or not to load and configure all recommended packages.
+%    \begin{macrocode}
+\bool_new:N \l_@@_all_bool
+%    \end{macrocode}
+% \end{macro}
+%
+% Define the actual load-time options.
+%    \begin{macrocode}
+\keys_define:nn { seiipackages }
+  {
+    csquotes .bool_gset:N = \l_@@_csquotes_bool,
+    csquotes .initial:n = true,
+    nocsquotes .meta:n = {csquotes=false},
+
+    booktabs .bool_gset:N = \l_@@_booktabs_bool,
+    booktabs .initial:n = true,
+    nobooktabs .meta:n = {booktabs=false},
+
+    siunitx .bool_gset:N = \l_@@_siunitx_bool,
+    siunitx .initial:n = false,
+
+    minted .bool_gset:N = \l_@@_minted_bool,
+    minted .initial:n = false,
+
+    listings .bool_gset:N = \l_@@_listings_bool,
+    listings .initial:n = false,
+
+    biblatex .bool_gset:N = \l_@@_biblatex_bool,
+    biblatex .initial:n = false,
+
+    selnolig .bool_gset:N = \l_@@_selnolig_bool,
+    selnolig .initial:n = true,
+    noselnolig .meta:n = {selnolig=false},
+
+    widowcontrol .bool_gset:N = \l_@@_luawidowcontrol_bool,
+    widowcontrol .initial:n = true,
+    nowidowcontrol .meta:n = {widowcontrol=false},
+
+    microtype .bool_gset:N = \l_@@_microtype_bool,
+    microtype .initial:n = true,
+    nomicrotype .meta:n = {microtype=false},
+
+    cleveref .bool_gset:N = \l_@@_cleveref_bool,
+    cleveref .initial:n = false,
+
+    all .bool_gset:N = \l_@@_all_bool,
+    all .initial:n = false,
+  }
+%    \end{macrocode}
+%
+% \subsection{Option handling}
+%
+%    \begin{macrocode}
+\IfFormatAtLeastTF { 2022-06-01 }
+  { \ProcessKeyOptions [ seiipackages ] }
+  {
+    \RequirePackage{ l3keys2e }
+    \ProcessKeysOptions { seiipackages }
+  }
+%    \end{macrocode}
+%
+% Define an error message if both \pkg{minted} and \pkg{listings} are requested.
+%    \begin{macrocode}
+\msg_set:nnnn { seiipackages } { conflicting-packages }
+  { Setting~ both~ minted~ and~ listings~ to~ true~ is~ not~ possible. }
+  { Choose~ either~ of~ them! }
+%    \end{macrocode}
+%
+% Define a message for logging that a specific package will be loaded by
+% \pkg{se2packages}.
+% Expects as parameter the name of the package that will be loaded.
+%    \begin{macrocode}
+\msg_new:nnn { seiipackages } { load-package }
+  { se2packages~ loads~ the~ #1~ package now. }
+%    \end{macrocode}
+%
+% And, in case both values are set to |true|,
+% raise the error message.
+%    \begin{macrocode}
+\bool_lazy_and:nnT { \l_@@_minted_bool } { \l_@@_listings_bool }
+  {
+    \msg_error:nn { seiipackages } { conflicting-packages }
+  }
+%    \end{macrocode}
+%
+% In case the |all| option is set,
+% set all other values to |true|.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_all_bool
+  {
+    \bool_gset_true:N \l_@@_csquotes_bool
+    \bool_gset_true:N \l_@@_booktabs_bool
+    \bool_gset_true:N \l_@@_siunitx_bool
+    \bool_gset_true:N \l_@@_minted_bool
+    \bool_gset_false:N \l_@@_listings_bool
+    \bool_gset_true:N \l_@@_selnolig_bool
+    \bool_gset_true:N \l_@@_luawidowcontrol_bool
+    \bool_gset_true:N \l_@@_microtype_bool
+    \bool_gset_true:N \l_@@_biblatex_bool
+    \bool_gset_true:N \l_@@_cleveref_bool
+  }
+%    \end{macrocode}
+%
+% \subsection{Package loading}
+%
+% Conditionally load the \pkg{csquotes} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_csquotes_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { csquotes }
+    \RequirePackage{csquotes}
+  }
+%    \end{macrocode}
+%
+% Conditionally load the \pkg{booktabs} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_booktabs_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { booktabs }
+    \RequirePackage{booktabs}
+  }
+%    \end{macrocode}
+%
+% Conditionally load and configure the \pkg{siunitx} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_siunitx_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { siunitx }
+    \RequirePackage[
+      add-integer-zero=false,
+      detect-inline-weight=math,
+      detect-weight=true,
+      free-standing-units,
+      group-minimum-digits=4,
+      list-final-separator={, and },
+      round-mode=figures,
+      round-precision=3,
+      separate-uncertainty=true,
+      uncertainty-mode=separate,
+    ]{siunitx}
+  }
+%    \end{macrocode}
+%
+% Conditionally load and configure the \pkg{minted} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_minted_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { minted }
+    \RequirePackage[newfloat=true]{minted}
+    \setminted{
+      autogobble,
+      breaklines=true,
+      fontsize=\footnotesize,
+      frame=single,
+      linenos=false,
+      resetmargins=true,
+      xleftmargin=1em,
+      xrightmargin=1em,
+    }
+  }
+%    \end{macrocode}
+%
+% Conditionally load and configure the \pkg{listings} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_listings_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { listings }
+    \RequirePackage{listings}
+    \lstset{
+      basicstyle=\footnotesize\ttfamily,
+      breaklines=true,
+      captionpos=t,
+      extendedchars=true,
+      frame=single,
+      keywordstyle=\color{blue}\bfseries,
+      showspaces=false,
+      showtabs=false,
+      showstringspaces=false,
+      tabsize=2,
+    }
+  }
+%    \end{macrocode}
+%
+% Conditionally load \pkg{selnolig} if present and we run \LuaTeX.
+%    \begin{macrocode}
+\bool_lazy_and:nnT { \l_@@_selnolig_bool } { \sys_if_engine_luatex_p: }
+  {
+    \IfFileExists { selnolig.sty }
+      {
+        \RequirePackage{selnolig}
+      } {
+        \msg:nnnn { seiipackages }
+          { selnolig-not-available }
+          { Could~ not~ find~ selnolig.sty }
+          { You~ might~ want~ to~ install~ it~ for~ better~ ligatures~ control.}
+        \msg_note:nn { seipackages } { selnolig-not-available }
+      }
+  }
+%    \end{macrocode}
+%
+% Conditionally load \pkg{luawidowcontrol} if present and we run \LuaTeX.
+%    \begin{macrocode}
+\bool_lazy_and:nnT { \l_@@_luawidowcontrol_bool } { \sys_if_engine_luatex_p: }
+  {
+    \IfFileExists { lua-widow-control.sty }
+      {
+        \RequirePackage{lua-widow-control}
+      } {
+        \msg:nnnn { seiipackages }
+          { lua-widow-control-not-available }
+          { Could~ not~ find~ lua-widow-control.sty }
+          { 
+            You~ might~ want~ to~ install~ it~ for~ better~ control~ over~
+            widows~ and~ orphans.
+          }
+        \msg_note:nn { seipackages } { lua-widow-control-not-available }
+      }
+  }
+%    \end{macrocode}
+%
+% Conditionally load and configure \pkg{microtype}.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_microtype_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { microtype }
+    \RequirePackage{microtype}
+    \clubpenalty=10000
+    \widowpenalty=10000
+    \displaywidowpenalty=10000
+    \SetExtraKerning{
+      encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2}
+    }{
+      \textemdash = {167,167},
+      — = {167,167}
+    }
+  }
+%    \end{macrocode}
+%
+% Conditionally load and configure the \pkg{biblatex} package.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_biblatex_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { biblatex }
+    \PassOptionsToPackage
+      {
+        backend=biber,
+        backref=true,
+        giveninits=true,
+        hyperref=auto,
+        maxnames=100,
+        minalphanames=3,
+        sorting=nyt,
+        style=alphabetic,
+      } { biblatex }
+      \RequirePackage{biblatex}
+  }
+%    \end{macrocode}
+%
+% Conditionally load the \pkg{cleveref} package as the last of the preamble.
+%    \begin{macrocode}
+\bool_if:NT \l_@@_cleveref_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { cleveref }
+    \AddToHook { begindocument/before }
+      {
+        \RequirePackage[capitalise]{cleveref}
+      }
+  }
+%    \end{macrocode}
+%
+%
+%
+%
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex


Property changes on: trunk/Master/texmf-dist/source/latex/se2thesis/se2packages.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.dtx	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.dtx	2023-04-18 19:40:07 UTC (rev 66883)
@@ -80,6 +80,46 @@
 % They are available as separate packages, however, to allow their reuse for
 % other classes, packages, and projects, as well.
 %
+% \subsection{Installation}\label{sec:doc-intro-install}
+%
+% The \pkg{se2thesis} bundle is available from \CTAN\footnote{
+%   \href{https://ctan.org/pkg/se2thesis}{ctan.org/pkg/se2thesis}
+% }.
+% It is part of both \MiKTeX{} and \TeXLive.
+% You can find its development version from GitHub\footnote{
+%   \href{https://github.com/se2p/se2thesis}{github.com/se2p/se2thesis}
+% }.
+% The easiest way of installing it is through your \TeX{} distribution;
+% please check your distribution's documentation on this.
+% Note that it might be necessary to update your \TeX{} distribution
+% because they might not provide you updates;
+% for example, there is a new version of \TeXLive{} every year
+% which needs to be installed separately.
+% If you have installed an older version of \pkg{se2thesis}
+% consider updating it to the latest version available from \CTAN{}
+% through your distribution.
+%
+% For manual installation, we recommend to clone the Git repository
+% and run the \texttt{l3build} tool that we also use for building the bundle.
+% Running |l3build ctan| builds the source files and compiles the documentation.
+% This creates a folder |build| containing these artefacts;
+% |build/doc| contains the documentation,
+% |build/local| the source files.
+% See the documentation of \texttt{l3build} and your \TeX{} distribution
+% on how to install them manually.
+% Please note that \texttt{l3build} also provides a |l3build install| target
+% to install the bundle files to your local texmf tree.
+%
+% The “Island of \TeX{}” project provides Docker images of \TeXLive.
+% If you do not want to install/update \TeXLive{} on your system
+% you might want to consider their \texttt{latest} image,
+% which contains a recent \TeXLive{} 2023 build.
+% They build their images weekly,
+% thus also recent releases of \pkg{se2thesis} will be part of the image
+% soon after their release date.
+%
+% \subsection{General Macros}\label{sec:doc-intro-macros}
+%
 % They all have in common one macro, \cs{IfFormatAtLeastTF};
 % this macro is part of the latest \LaTeX{} kernel.
 % However, not all users might have upgraded their \TeX{} installation
@@ -128,7 +168,7 @@
 %
 % However, we recommend to use a couple of further packages, together with some
 % further options to those package.  We describe these settings in
-% \cref{sec:doc-se2thesis-pkgs}.
+% \cref{sec:doc-se2packages}.
 % Please consider looking at this section when starting to write your document.
 %
 % Before we start with a detailed documentation of the class, we explain one
@@ -151,7 +191,7 @@
 %   \end{syntax}
 %   Set the base document class.
 %   Values are \cls{scrreprt}, \cls{scrartcl}, or \cls{scrbook}.
-%   Default is |scrreprt|.
+%   Default is |scrbook|.
 % \end{function}
 %
 % \begin{function}{paper}
@@ -159,7 +199,7 @@
 %     |paper| = \meta{choice}
 %   \end{syntax}
 %   Set the paper format.
-%   Possible values are |a4|, |a5|, or |b5|.
+%   Possible values are |a4| or |b5|.
 %   Default is |a4|.
 % \end{function}
 %
@@ -182,14 +222,6 @@
 %   and |phd| for a PhD thesis.
 % \end{function}
 %
-% \begin{function}{biblatex}
-%   \begin{syntax}
-%     |biblatex| = \meta{true,false}
-%   \end{syntax}
-%   Whether \cls{se2thesis} shall load the \pkg{biblatex} package together with
-%   some settings automatically.
-% \end{function}
-%
 % \begin{function}{colormode}
 %   \begin{syntax}
 %     |colormode| = \meta{choice}
@@ -354,164 +386,6 @@
 % page numbers in the outer margin and the headmarks split from the page numbers
 % by a vertical bar.
 %
-% \subsection{Recommended additional packages}\label{sec:doc-se2thesis-pkgs}
-%
-% Several packages can be useful for writing a thesis.
-% We list them in this section; for the recommended option settings, please have
-% a look at our examples.
-% Please note that you might not need all these packages, however, having a look
-% at them (especially their documentation) might give you an insight, whether to
-% use a package.
-% Our general recommendation is to use as few packages as you can; some might
-% have conflicts, others basically do the same or are outdated.
-% Please consider reading the documentation of each package you are using to
-% figure out whether they have any conflicts with other packages~(for example,
-% one cannot use the recommended \pkg{siunitx} package together with
-% \pkg{SIunits}) or they might require to be loaded at special places in your
-% preamble~(for example, \pkg{hyperref} is usually meant to be loaded as the
-% last package, except you are also using \pkg{cleveref}, which needs to be
-% loaded \emph{after} \pkg{hyperref}).
-%
-% \subsubsection{Quoting with \pkg{csquotes}}
-%
-% The \pkg{csquotes} package allows for intelligent quoting of text.
-% While verbose quotes are not that common on computer science, the package
-% still provides some useful macros to the user.
-%
-% \subsubsection{Number formatting with \pkg{siunitx}}
-%
-% While \pkg{siunitx}'s original purpose was to format physical quantities, it
-% provides a lot of useful features when typesetting theses~(and other
-% documents) in computer science.
-% When you skim through its documentation, especially look at the \cmd{\qty} and
-% \cmd{\num} macros, as well as the section on typesetting tabular material.
-% We also recommend reading an extensive discussion on number formatting,
-% precision of presented numbers, and many more related topics in Beyer et al.'s
-% journal paper on requirements and solutions for reliable
-% benchmarking~\cite{DBLP:journals/sttt/BeyerLW19}.
-%
-% When using the \pkg{siunitx} package, we recommend adding the following lines
-% to your document's preamble
-% \begin{LaTeXdemo}[code only]
-% \usepackage[
-%   group-minimum-digits=4,
-%   list-final-separator={, and },
-%   add-integer-zero=false,
-%   free-standing-units,
-%   round-mode=figures,
-%   round-precision=3,
-%   detect-weight=true,
-%   detect-inline-weight=math,
-%   separate-uncertainty=true,
-%   uncertainty-mode=separate,
-% ]{siunitx}
-% \end{LaTeXdemo}
-%
-% \subsubsection{Code listings with \pkg{minted}}
-%
-% We prefer using the \pkg{minted} package for code listings.
-% However, this package requires the installation of Python and the setting of
-% the |-shell-escape| option to your \TeX{} engine.
-% Please read the package's documentation to set it up.
-% If you do not want to install Python and the dependencies, we also provide
-% settings for the alternative \pkg{listings} package in the next subsection.
-%
-% When using \pkg{minted} we recommend the following settings:
-% \begin{LaTeXdemo}[code only]
-% \usepackage[newfloat=true]{minted}
-% \setminted{
-%   autogobble,
-%   breaklines=true,
-%   fontsize=\footnotesize,
-%   linenos=false,
-%   resetmargins=true,
-%   xleftmargin=1em,
-%   xrightmargin=1em,
-%   frame=single,
-% }
-% \end{LaTeXdemo}
-%
-% \subsubsection{Code listing with \pkg{listings}}
-%
-% In case you do not want to use the aforementioned \pkg{minted} package, please
-% consider using \pkg{listings} for typesetting your code listings.
-% \begin{LaTeXdemo}[code only]
-% \usepackage{listings}
-% \lstset{
-%   frame=single,
-%   extendedchars=true,
-%   basicstyle=\footnotesize\ttfamily,
-%   keywordstyle=\color{blue}\bfseries,
-%   showstringspaces=false,
-%   showspaces=false,
-%   tabsize=2,
-%   breaklines=true,
-%   showtabs=false,
-%   captionpos=t,
-% }
-% \end{LaTeXdemo}
-%
-% Please be aware to use \emph{either} \pkg{minted} \emph{or} \pkg{listings}!
-%
-% \subsubsection{Designing tables}
-%
-% A basically mandatory package to all users of tables is the \pkg{booktabs}
-% package.
-% Especially its documentation is a must read!
-% It provides a large variety of hints for designing tables,
-% most notably that one should never ever use vertical lines;
-% horizontal lines should be used sparsely; \pkg{booktabs} provides three macros
-% for lines that shall be used: \cmd{\toprule} for a rule on the top of a table,
-% above the column heads, \cmd{\midrule} to separate column heads and the
-% content but, and \cmd{\bottomrule} to mark the bottom of a table.
-%
-% Note that captions of tables shall be put \emph{above} the table whereas
-% captions of figures shall go \emph{below} the figure.
-% The rationale is that a figure should be more of less self explaining whereas
-% a table almost always needs some explanation.
-%
-% Unfortunately, the distances when using a \cmd{\caption} above a table are
-% wrong by default; when creating tables, consider loading the \pkg{hvfloats}
-% package and use its \cmd{\tabcaption} instead of \cmd{\caption} for tables.
-% The \pkg{hvfloats} package furthermore provides additional useful things to
-% typeset all kinds of floats.
-%
-% \subsubsection{Use \pkg{biblatex} for bibliographic references}
-%
-% The standard way of typesetting bibliographic references was using
-% \BibTeX.
-% The original \BibTeX, however, seems to be very outdated in
-% various ways: it originally supported only 7\,bit character sets and creating
-% citation styles requires the usage of an archaic language.
-% \BibLaTeX resolves many of the drawbacks of \BibTeX;
-% when combined with the |biber| engine, it supports full UTF-8 unicode,
-% therefore correct sorting of the references now works out of the box; also
-% creating citation styles can now be done using simple \LaTeX{} commands.
-%
-% For easier usage, we provide the load-time option |biblatex| that already sets
-% all settings~(see \cref{sec:doc-se2thesis-options}.
-% Set this options to \cls{se2thesis} and add your reference file using the
-% \cmd{\addbibresource} macro.  \cmd{\printbibliography} will print your
-% references.
-%
-% \subsubsection{Use \pkg{cleveref} for internal references}
-%
-% \LaTeX{} provides an easy-to-use reference mechanism using the \cmd{\label}
-% and \cmd{\ref} macros.
-% However, this requires some manual effort and the text needs to specify
-% whether a reference is to a figure, section, or table.
-% We often see things in drafts such as \enquote{we discuss our findings in 4};
-% but what is \enquote{4} here?
-% Is it a section, a table, a figure?
-% To avoid such confusion, use the \pkg{cleveref} package, which automatically
-% infers the type of the reference~(see its documentation on how this works).
-% The \pkg{cleveref} package furthermore avoids one additional mistake: between
-% the name of the element and its reference one needs to have a non-breaking
-% space that often is forgotten.
-%
-% Please note that, in contrast to most other packages, \pkg{cleveref} has to be
-% loaded \emph{after} the \pkg{hyperref} package!
-%
 % \subsection{Abstract for the thesis}\label{sec:doc-se2thesis-abstract}
 %
 % Each thesis shall come with an abstract that summarises its content.
@@ -648,12 +522,6 @@
 % question;
 % however, this can also be arbitrary text.
 %
-% \begin{thebibliography}{9}
-%   \bibitem{DBLP:journals/sttt/BeyerLW19} Dirk Beyer, Stefan Löwe, and Philipp
-%   Wendler: \emph{Reliable benchmarking: requirements and solutions}. STTT
-%   21(1): 1--29 (2019)
-% \end{thebibliography}
-%
 % \end{documentation}
 %
 % \clearpage
@@ -721,7 +589,7 @@
 %
 % Identify the class and give the overall version number.
 %    \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2023-01-27} {2.1.0}
+\ProvidesExplClass {se2thesis} {2023-04-18} {3.0.0}
   {A thesis class for the Chair of Software Engineering II}
 %    \end{macrocode}
 %
@@ -788,14 +656,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\l_@@_biblatex_bool}
-%   The user wants to load the \pkg{biblatex} package together with our
-%   settings.
-%    \begin{macrocode}
-\bool_new:N \l_@@_biblatex_bool
-%    \end{macrocode}
-% \end{macro}
-%
 % Define internal variables to hold the values of the fields of the title
 % page.
 % \begin{macro}
@@ -886,9 +746,9 @@
     class / scrartcl .code:n = \tl_gset:Nn \l_@@_base_class_tl {scrartcl},
     class / book .meta:n = {class=scrbook},
     class / scrbook .code:n = \tl_gset:Nn \l_@@_base_class_tl {scrbook},
-    class .initial:n = scrreprt,
+    class .initial:n = scrbook,
 
-    paper .choices:nn = {a4,a5,b5}{
+    paper .choices:nn = {a4,b5}{
       \int_gset_eq:NN \l_@@_paper_int \l_keys_choice_int
     },
     paper .initial:n = a4,
@@ -911,9 +771,6 @@
     },
     thesistype .initial:n = master,
 
-    biblatex .bool_gset:N = \l_@@_biblatex_bool,
-    biblatex .initial:n = false,
-
     colormode .choices:nn = {cmyk,rgb,bw}{
       \tl_gset_eq:NN \l_@@_colormode_tl \l_keys_choice_tl
     },
@@ -986,86 +843,6 @@
 \RequirePackage{se2fonts}
 %    \end{macrocode}
 %
-% Load the \pkg{microtype} package.
-% We also set some options to \pkg{microtype}, namely the penalties for widows
-% and orphans (which might also be corrected by \pkg{lua-widow-control} when
-% using \LuaTeX{}) and a thin space around the m-dash.
-% We are aware of the discussion whether to have a space around the m-dash in
-% English, however, we think it looks more beautiful.
-% We took this from \href{https://tex.stackexchange.com/a/109188/14622}{a
-% \TeX{}.StackExchange post}.
-%    \begin{macrocode}
-\RequirePackage{microtype}
-\clubpenalty=10000
-\widowpenalty=10000
-\displaywidowpenalty=10000
-\SetExtraKerning{
-  encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2}
-}{
-  \textemdash = {167,167},
-  — = {167,167}
-}
-%    \end{macrocode}
-%
-% When using \LuaTeX{} load the \pkg{lua-widow-control} package for a better
-% control of orphans and widows.
-%    \begin{macrocode}
-\ifengineT { \luatexengine }
-  {
-    \IfFileExists { lua-widow-control.sty }
-      { \RequirePackage{lua-widow-control} }
-      {
-        \msg:nnn { seiithesis }
-          { lua-widow-control-not-available }
-          {
-            Could~ not~ find~ lua-widow-control.sty.~ You~ might~ want~ to~
-            install~ it~ for~ better~ control~ over~ orphans~ and~ widows.
-          }
-        \msg_note:nn { seiithesis } { lua-widow-control-not-available }
-      }
-  }
-%    \end{macrocode}
-%
-% Similarly, load \pkg{ligtype} when using \LuaTeX.
-%    \begin{macrocode}
-\ifengineT { \luatexengine }
-  {
-    \IfFileExists { selnolig.sty }
-      { \RequirePackage{selnolig} }
-      {
-        \msg:nnn { seiithesis }
-          { selnolig-not-available }
-          {
-            Could~ not~ find~ selnolig.sty.~ You~ might~ want~ to~ install~ it~
-            for~ better~ ligatures~ control.
-          }
-        \msg_note:nn { seiithesis } { selnolig-not-available }
-      }
-  }
-%    \end{macrocode}
-%
-% When the user requests the |biblatex| option, also load \pkg{biblatex}
-%    \begin{macrocode}
-\bool_if:NT \l_@@_biblatex_bool
-  {
-    \PassOptionsToPackage
-      {
-        backend=biber,
-        hyperref=auto,
-        backref=true,
-        style=alphabetic,
-        maxnames=100,
-        minalphanames=3,
-        sorting=nyt,
-        giveninits=true,
-      }{biblatex}
-    \RequirePackage{biblatex}
-%    \end{macrocode}
-% End of the \BibLaTeX{} settings.
-%    \begin{macrocode}
-  }
-%    \end{macrocode}
-%
 % \subsection{User macros for the title page}
 %
 % In addition to the macros provided by the \KOMAScript{} classes
@@ -1174,7 +951,12 @@
 \dim_if_exist:NF \l_@@_logo_height_dim
   {
     \dim_new:N \l_@@_logo_height_dim
-    \dim_gset:Nn \l_@@_logo_height_dim { 67.5pt }
+    \int_compare:nTF { \l_@@_paper_int=1 }
+      {
+        \dim_gset:Nn \l_@@_logo_height_dim { 67.5pt }
+      } {
+        \dim_gset:Nn \l_@@_logo_height_dim { 56.8pt }
+      }
   }
 \box_if_exist:NF \l_@@_logo_box
   {
@@ -1200,16 +982,9 @@
     \setlength{\marginparsep}{8.5cm}
     \setlength{\marginparsep}{1em}
   }{
-    \int_compare:nTF { \l_@@_paper_int=2 }
-      {
-        \areaset[current]{247pt}{400pt}
-        \setlength{\marginparsep}{6.0cm}
-        \setlength{\marginparsep}{0.71em}
-      }{
-        \areaset[current]{303pt}{491pt}
-        \setlength{\marginparsep}{7.4cm}
-        \setlength{\marginparsep}{0.87em}
-      }
+    \areaset[current]{350pt}{567pt}
+    \setlength{\marginparsep}{7.4cm}
+    \setlength{\marginparsep}{0.87em}
   }
 %    \end{macrocode}
 %
@@ -1835,7 +1610,7 @@
 % We provide the following English translations.
 %
 %    \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2023/01/27]
+\ProvideDictionaryFor{English}{se2translations}[2023/04/18]
 \ProvideDictTranslation{abstract}{abstract}
 \ProvideDictTranslation{Abstract}{Abstract}
 \ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -1886,7 +1661,7 @@
 % We provide the following German translations.
 %
 %    \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2023/01/27]
+\ProvideDictionaryFor{German}{se2translations}[2023/04/18]
 \ProvideDictTranslation{abstract}{Zusammenfassung}
 \ProvideDictTranslation{Abstract}{Zusammenfassung}
 \ProvideDictTranslation{acknowledgement}{Danksagung}

Modified: trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.ins	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/source/latex/se2thesis/se2thesis.ins	2023-04-18 19:40:07 UTC (rev 66883)
@@ -47,6 +47,7 @@
                                 se2thesis.ins,
                                 se2colors.dtx,
                                 se2fonts.dtx,
+                                se2packages.dtx,
                                 se2thesis-master-thesis-example.tex
           and the derived files se2thesis.pdf,
                                 se2thesis.cls,
@@ -54,6 +55,7 @@
                                 se2translations-german.trsl,
                                 se2colors.sty,
                                 se2fonts.sty,
+                                se2packages.sty,
                                 se2thesis-master-thesis-example.bib, and
                                 se2thesis-master-thesis-example.pdf
 \endpreamble
@@ -99,6 +101,14 @@
         \from{se2fonts.dtx}{package}
       }
   }
+\generate
+  {%
+    \file{se2packages.sty}
+      {%
+        \from{se2thesis.dtx}{init}
+        \from{se2packages.dtx}{package}
+      }
+  }
 
 \endbatchfile
 

Modified: trunk/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2colors.sty	2023-04-18 19:40:07 UTC (rev 66883)
@@ -22,6 +22,7 @@
 %%                                 se2thesis.ins,
 %%                                 se2colors.dtx,
 %%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
 %%                                 se2thesis-master-thesis-example.tex
 %%           and the derived files se2thesis.pdf,
 %%                                 se2thesis.cls,
@@ -29,6 +30,7 @@
 %%                                 se2translations-german.trsl,
 %%                                 se2colors.sty,
 %%                                 se2fonts.sty,
+%%                                 se2packages.sty,
 %%                                 se2thesis-master-thesis-example.bib, and
 %%                                 se2thesis-master-thesis-example.pdf
 \@ifundefined{ExplLoaderFileDate}
@@ -46,7 +48,7 @@
     \endinput
   }%
 \providecommand \IfFormatAtLeastTF { \@ifl at t@r \fmtversion }
-\ProvidesExplPackage {se2colors} {2023-01-27} {2.1.0}
+\ProvidesExplPackage {se2colors} {2023-04-18} {3.0.0}
   {A colour support package for the se2thesis bundle}
 \keys_define:nn { seiicolors }
   {

Modified: trunk/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2fonts.sty	2023-04-18 19:40:07 UTC (rev 66883)
@@ -22,6 +22,7 @@
 %%                                 se2thesis.ins,
 %%                                 se2colors.dtx,
 %%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
 %%                                 se2thesis-master-thesis-example.tex
 %%           and the derived files se2thesis.pdf,
 %%                                 se2thesis.cls,
@@ -29,6 +30,7 @@
 %%                                 se2translations-german.trsl,
 %%                                 se2colors.sty,
 %%                                 se2fonts.sty,
+%%                                 se2packages.sty,
 %%                                 se2thesis-master-thesis-example.bib, and
 %%                                 se2thesis-master-thesis-example.pdf
 \@ifundefined{ExplLoaderFileDate}
@@ -46,7 +48,7 @@
     \endinput
   }%
 \providecommand \IfFormatAtLeastTF { \@ifl at t@r \fmtversion }
-\ProvidesExplPackage {se2fonts} {2023-01-27} {2.1.0}
+\ProvidesExplPackage {se2fonts} {2023-04-18} {3.0.0}
   {A font-selection support package for the se2thesis bundle}
 \tl_new:N \l__slcd_fonts_fontmode_tl
 \keys_define:nn { seiifonts }

Added: trunk/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty	2023-04-18 19:40:07 UTC (rev 66883)
@@ -0,0 +1,256 @@
+%%
+%% This is file `se2packages.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% se2thesis.dtx  (with options: `init')
+%% se2packages.dtx  (with options: `package')
+%% Copyright (C) 2022--2023 by Stephan Lukasczyk <tex at lukasczyk.me>
+%% 
+%% It may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License (LPPL), either version 1.3c of
+%% this license or (at your option) any later version.  The latest
+%% version of this license is in the file:
+%% 
+%%    https://www.latex-project.org/lppl.txt
+%% 
+%% This work is "maintained" (as per LPPL maintenance status by
+%%   Stephan Lukasczyk.
+%% 
+%% This work consists of the files se2thesis.dtx,
+%%                                 se2thesis.ins,
+%%                                 se2colors.dtx,
+%%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
+%%                                 se2thesis-master-thesis-example.tex
+%%           and the derived files se2thesis.pdf,
+%%                                 se2thesis.cls,
+%%                                 se2translations-english.trsl,
+%%                                 se2translations-german.trsl,
+%%                                 se2colors.sty,
+%%                                 se2fonts.sty,
+%%                                 se2packages.sty,
+%%                                 se2thesis-master-thesis-example.bib, and
+%%                                 se2thesis-master-thesis-example.pdf
+\@ifundefined{ExplLoaderFileDate}
+  { \RequirePackage{expl3} }
+  {}
+\@ifl at t@r\ExplLoaderFileDate{2020-01-09}
+  {}
+  {%
+    \PackageError{se2colors}{Support package expl3 too old}
+    {%
+      You need to update your installation of the bundles 'l3kernel' and
+      'l3packages'.\MessageBreak
+      Loading~se2colors~will~abort!%
+    }%
+    \endinput
+  }%
+\providecommand \IfFormatAtLeastTF { \@ifl at t@r \fmtversion }
+\ProvidesExplPackage {se2packages} {2023-04-18} {3.0.0}
+  {Supporting packages for the se2thesis bundle}
+\bool_new:N \l__slcd_packages_csquotes_bool
+\bool_new:N \l__slcd_packages_booktabs_bool
+\bool_new:N \l__slcd_packages_siunitx_bool
+\bool_new:N \l__slcd_packages_minted_bool
+\bool_new:N \l__slcd_packages_listings_bool
+\bool_new:N \l__slcd_packages_biblatex_bool
+\bool_new:N \l__slcd_packages_selnolig_bool
+\bool_new:N \l__slcd_packages_luawidowcontrol_bool
+\bool_new:N \l__slcd_packages_microtype_bool
+\bool_new:N \l__slcd_packages_cleveref_bool
+\bool_new:N \l__slcd_packages_all_bool
+\keys_define:nn { seiipackages }
+  {
+    csquotes .bool_gset:N = \l__slcd_packages_csquotes_bool,
+    csquotes .initial:n = true,
+    nocsquotes .meta:n = {csquotes=false},
+
+    booktabs .bool_gset:N = \l__slcd_packages_booktabs_bool,
+    booktabs .initial:n = true,
+    nobooktabs .meta:n = {booktabs=false},
+
+    siunitx .bool_gset:N = \l__slcd_packages_siunitx_bool,
+    siunitx .initial:n = false,
+
+    minted .bool_gset:N = \l__slcd_packages_minted_bool,
+    minted .initial:n = false,
+
+    listings .bool_gset:N = \l__slcd_packages_listings_bool,
+    listings .initial:n = false,
+
+    biblatex .bool_gset:N = \l__slcd_packages_biblatex_bool,
+    biblatex .initial:n = false,
+
+    selnolig .bool_gset:N = \l__slcd_packages_selnolig_bool,
+    selnolig .initial:n = true,
+    noselnolig .meta:n = {selnolig=false},
+
+    widowcontrol .bool_gset:N = \l__slcd_packages_luawidowcontrol_bool,
+    widowcontrol .initial:n = true,
+    nowidowcontrol .meta:n = {widowcontrol=false},
+
+    microtype .bool_gset:N = \l__slcd_packages_microtype_bool,
+    microtype .initial:n = true,
+    nomicrotype .meta:n = {microtype=false},
+
+    cleveref .bool_gset:N = \l__slcd_packages_cleveref_bool,
+    cleveref .initial:n = false,
+
+    all .bool_gset:N = \l__slcd_packages_all_bool,
+    all .initial:n = false,
+  }
+\IfFormatAtLeastTF { 2022-06-01 }
+  { \ProcessKeyOptions [ seiipackages ] }
+  {
+    \RequirePackage{ l3keys2e }
+    \ProcessKeysOptions { seiipackages }
+  }
+\msg_set:nnnn { seiipackages } { conflicting-packages }
+  { Setting~ both~ minted~ and~ listings~ to~ true~ is~ not~ possible. }
+  { Choose~ either~ of~ them! }
+\msg_new:nnn { seiipackages } { load-package }
+  { se2packages~ loads~ the~ #1~ package now. }
+\bool_lazy_and:nnT { \l__slcd_packages_minted_bool } { \l__slcd_packages_listings_bool }
+  {
+    \msg_error:nn { seiipackages } { conflicting-packages }
+  }
+\bool_if:NT \l__slcd_packages_all_bool
+  {
+    \bool_gset_true:N \l__slcd_packages_csquotes_bool
+    \bool_gset_true:N \l__slcd_packages_booktabs_bool
+    \bool_gset_true:N \l__slcd_packages_siunitx_bool
+    \bool_gset_true:N \l__slcd_packages_minted_bool
+    \bool_gset_false:N \l__slcd_packages_listings_bool
+    \bool_gset_true:N \l__slcd_packages_selnolig_bool
+    \bool_gset_true:N \l__slcd_packages_luawidowcontrol_bool
+    \bool_gset_true:N \l__slcd_packages_microtype_bool
+    \bool_gset_true:N \l__slcd_packages_biblatex_bool
+    \bool_gset_true:N \l__slcd_packages_cleveref_bool
+  }
+\bool_if:NT \l__slcd_packages_csquotes_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { csquotes }
+    \RequirePackage{csquotes}
+  }
+\bool_if:NT \l__slcd_packages_booktabs_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { booktabs }
+    \RequirePackage{booktabs}
+  }
+\bool_if:NT \l__slcd_packages_siunitx_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { siunitx }
+    \RequirePackage[
+      add-integer-zero=false,
+      detect-inline-weight=math,
+      detect-weight=true,
+      free-standing-units,
+      group-minimum-digits=4,
+      list-final-separator={, and },
+      round-mode=figures,
+      round-precision=3,
+      separate-uncertainty=true,
+      uncertainty-mode=separate,
+    ]{siunitx}
+  }
+\bool_if:NT \l__slcd_packages_minted_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { minted }
+    \RequirePackage[newfloat=true]{minted}
+    \setminted{
+      autogobble,
+      breaklines=true,
+      fontsize=\footnotesize,
+      frame=single,
+      linenos=false,
+      resetmargins=true,
+      xleftmargin=1em,
+      xrightmargin=1em,
+    }
+  }
+\bool_if:NT \l__slcd_packages_listings_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { listings }
+    \RequirePackage{listings}
+    \lstset{
+      basicstyle=\footnotesize\ttfamily,
+      breaklines=true,
+      captionpos=t,
+      extendedchars=true,
+      frame=single,
+      keywordstyle=\color{blue}\bfseries,
+      showspaces=false,
+      showtabs=false,
+      showstringspaces=false,
+      tabsize=2,
+    }
+  }
+\bool_lazy_and:nnT { \l__slcd_packages_selnolig_bool } { \sys_if_engine_luatex_p: }
+  {
+    \IfFileExists { selnolig.sty }
+      {
+        \RequirePackage{selnolig}
+      } {
+        \msg:nnnn { seiipackages }
+          { selnolig-not-available }
+          { Could~ not~ find~ selnolig.sty }
+          { You~ might~ want~ to~ install~ it~ for~ better~ ligatures~ control.}
+        \msg_note:nn { seipackages } { selnolig-not-available }
+      }
+  }
+\bool_lazy_and:nnT { \l__slcd_packages_luawidowcontrol_bool } { \sys_if_engine_luatex_p: }
+  {
+    \IfFileExists { lua-widow-control.sty }
+      {
+        \RequirePackage{lua-widow-control}
+      } {
+        \msg:nnnn { seiipackages }
+          { lua-widow-control-not-available }
+          { Could~ not~ find~ lua-widow-control.sty }
+          {
+            You~ might~ want~ to~ install~ it~ for~ better~ control~ over~
+            widows~ and~ orphans.
+          }
+        \msg_note:nn { seipackages } { lua-widow-control-not-available }
+      }
+  }
+\bool_if:NT \l__slcd_packages_microtype_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { microtype }
+    \RequirePackage{microtype}
+    \clubpenalty=10000
+    \widowpenalty=10000
+    \displaywidowpenalty=10000
+    \SetExtraKerning{
+      encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2}
+    }{
+      \textemdash = {167,167},
+      — = {167,167}
+    }
+  }
+\bool_if:NT \l__slcd_packages_biblatex_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { biblatex }
+    \PassOptionsToPackage
+      {
+        backend=biber,
+        backref=true,
+        giveninits=true,
+        hyperref=auto,
+        maxnames=100,
+        minalphanames=3,
+        sorting=nyt,
+        style=alphabetic,
+      } { biblatex }
+      \RequirePackage{biblatex}
+  }
+\bool_if:NT \l__slcd_packages_cleveref_bool
+  {
+    \msg_info:nnn { seiipackages } { load-package } { cleveref }
+    \AddToHook { begindocument/before }
+      {
+        \RequirePackage[capitalise]{cleveref}
+      }
+  }


Property changes on: trunk/Master/texmf-dist/tex/latex/se2thesis/se2packages.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2thesis.cls	2023-04-18 19:40:07 UTC (rev 66883)
@@ -22,6 +22,7 @@
 %%                                 se2thesis.ins,
 %%                                 se2colors.dtx,
 %%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
 %%                                 se2thesis-master-thesis-example.tex
 %%           and the derived files se2thesis.pdf,
 %%                                 se2thesis.cls,
@@ -29,6 +30,7 @@
 %%                                 se2translations-german.trsl,
 %%                                 se2colors.sty,
 %%                                 se2fonts.sty,
+%%                                 se2packages.sty,
 %%                                 se2thesis-master-thesis-example.bib, and
 %%                                 se2thesis-master-thesis-example.pdf
 \@ifundefined{ExplLoaderFileDate}
@@ -46,7 +48,7 @@
     \endinput
   }%
 \providecommand \IfFormatAtLeastTF { \@ifl at t@r \fmtversion }
-\ProvidesExplClass {se2thesis} {2023-01-27} {2.1.0}
+\ProvidesExplClass {se2thesis} {2023-04-18} {3.0.0}
   {A thesis class for the Chair of Software Engineering II}
 \prg_new_conditional:Nnn \slcd_package_if_loaded:n { p, T, F, TF }
   {
@@ -71,7 +73,6 @@
 \tl_new:N \l__slcd_base_class_tl
 \prop_new:N \l__slcd_clsopts_prop
 \prop_new:N \l__slcd_unknown_clsopts_prop
-\bool_new:N \l__slcd_biblatex_bool
 \tl_new:N \l__slcd_version_tl
 \tl_new:N \l__slcd_degreeprogramme_tl
 \tl_new:N \l__slcd_matrnumber_tl
@@ -108,9 +109,9 @@
     class / scrartcl .code:n = \tl_gset:Nn \l__slcd_base_class_tl {scrartcl},
     class / book .meta:n = {class=scrbook},
     class / scrbook .code:n = \tl_gset:Nn \l__slcd_base_class_tl {scrbook},
-    class .initial:n = scrreprt,
+    class .initial:n = scrbook,
 
-    paper .choices:nn = {a4,a5,b5}{
+    paper .choices:nn = {a4,b5}{
       \int_gset_eq:NN \l__slcd_paper_int \l_keys_choice_int
     },
     paper .initial:n = a4,
@@ -133,9 +134,6 @@
     },
     thesistype .initial:n = master,
 
-    biblatex .bool_gset:N = \l__slcd_biblatex_bool,
-    biblatex .initial:n = false,
-
     colormode .choices:nn = {cmyk,rgb,bw}{
       \tl_gset_eq:NN \l__slcd_colormode_tl \l_keys_choice_tl
     },
@@ -179,59 +177,6 @@
 \RequirePackage{se2colors}
 
 \RequirePackage{se2fonts}
-\RequirePackage{microtype}
-\clubpenalty=10000
-\widowpenalty=10000
-\displaywidowpenalty=10000
-\SetExtraKerning{
-  encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2}
-}{
-  \textemdash = {167,167},
-  — = {167,167}
-}
-\ifengineT { \luatexengine }
-  {
-    \IfFileExists { lua-widow-control.sty }
-      { \RequirePackage{lua-widow-control} }
-      {
-        \msg:nnn { seiithesis }
-          { lua-widow-control-not-available }
-          {
-            Could~ not~ find~ lua-widow-control.sty.~ You~ might~ want~ to~
-            install~ it~ for~ better~ control~ over~ orphans~ and~ widows.
-          }
-        \msg_note:nn { seiithesis } { lua-widow-control-not-available }
-      }
-  }
-\ifengineT { \luatexengine }
-  {
-    \IfFileExists { selnolig.sty }
-      { \RequirePackage{selnolig} }
-      {
-        \msg:nnn { seiithesis }
-          { selnolig-not-available }
-          {
-            Could~ not~ find~ selnolig.sty.~ You~ might~ want~ to~ install~ it~
-            for~ better~ ligatures~ control.
-          }
-        \msg_note:nn { seiithesis } { selnolig-not-available }
-      }
-  }
-\bool_if:NT \l__slcd_biblatex_bool
-  {
-    \PassOptionsToPackage
-      {
-        backend=biber,
-        hyperref=auto,
-        backref=true,
-        style=alphabetic,
-        maxnames=100,
-        minalphanames=3,
-        sorting=nyt,
-        giveninits=true,
-      }{biblatex}
-    \RequirePackage{biblatex}
-  }
 \ProvideDocumentCommand \version { m }
   {
     \tl_set:Nn \l__slcd_version_tl {#1}
@@ -279,7 +224,12 @@
 \dim_if_exist:NF \l__slcd_logo_height_dim
   {
     \dim_new:N \l__slcd_logo_height_dim
-    \dim_gset:Nn \l__slcd_logo_height_dim { 67.5pt }
+    \int_compare:nTF { \l__slcd_paper_int=1 }
+      {
+        \dim_gset:Nn \l__slcd_logo_height_dim { 67.5pt }
+      } {
+        \dim_gset:Nn \l__slcd_logo_height_dim { 56.8pt }
+      }
   }
 \box_if_exist:NF \l__slcd_logo_box
   {
@@ -300,16 +250,9 @@
     \setlength{\marginparsep}{8.5cm}
     \setlength{\marginparsep}{1em}
   }{
-    \int_compare:nTF { \l__slcd_paper_int=2 }
-      {
-        \areaset[current]{247pt}{400pt}
-        \setlength{\marginparsep}{6.0cm}
-        \setlength{\marginparsep}{0.71em}
-      }{
-        \areaset[current]{303pt}{491pt}
-        \setlength{\marginparsep}{7.4cm}
-        \setlength{\marginparsep}{0.87em}
-      }
+    \areaset[current]{350pt}{567pt}
+    \setlength{\marginparsep}{7.4cm}
+    \setlength{\marginparsep}{0.87em}
   }
 \PassOptionsToPackage{automark}{scrlayer-scrpage}
 \RequirePackage{scrlayer-scrpage}

Modified: trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-english.trsl	2023-04-18 19:40:07 UTC (rev 66883)
@@ -21,6 +21,7 @@
 %%                                 se2thesis.ins,
 %%                                 se2colors.dtx,
 %%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
 %%                                 se2thesis-master-thesis-example.tex
 %%           and the derived files se2thesis.pdf,
 %%                                 se2thesis.cls,
@@ -28,9 +29,10 @@
 %%                                 se2translations-german.trsl,
 %%                                 se2colors.sty,
 %%                                 se2fonts.sty,
+%%                                 se2packages.sty,
 %%                                 se2thesis-master-thesis-example.bib, and
 %%                                 se2thesis-master-thesis-example.pdf
-\ProvideDictionaryFor{English}{se2translations}[2023/01/27]
+\ProvideDictionaryFor{English}{se2translations}[2023/04/18]
 \ProvideDictTranslation{abstract}{abstract}
 \ProvideDictTranslation{Abstract}{Abstract}
 \ProvideDictTranslation{acknowledgement}{acknowledgement}

Modified: trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl	2023-04-18 19:39:51 UTC (rev 66882)
+++ trunk/Master/texmf-dist/tex/latex/se2thesis/se2translations-german.trsl	2023-04-18 19:40:07 UTC (rev 66883)
@@ -21,6 +21,7 @@
 %%                                 se2thesis.ins,
 %%                                 se2colors.dtx,
 %%                                 se2fonts.dtx,
+%%                                 se2packages.dtx,
 %%                                 se2thesis-master-thesis-example.tex
 %%           and the derived files se2thesis.pdf,
 %%                                 se2thesis.cls,
@@ -28,9 +29,10 @@
 %%                                 se2translations-german.trsl,
 %%                                 se2colors.sty,
 %%                                 se2fonts.sty,
+%%                                 se2packages.sty,
 %%                                 se2thesis-master-thesis-example.bib, and
 %%                                 se2thesis-master-thesis-example.pdf
-\ProvideDictionaryFor{German}{se2translations}[2023/01/27]
+\ProvideDictionaryFor{German}{se2translations}[2023/04/18]
 \ProvideDictTranslation{abstract}{Zusammenfassung}
 \ProvideDictTranslation{Abstract}{Zusammenfassung}
 \ProvideDictTranslation{acknowledgement}{Danksagung}



More information about the tex-live-commits mailing list.