summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/se2thesis/se2thesis.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/se2thesis/se2thesis.dtx')
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.dtx149
1 files changed, 120 insertions, 29 deletions
diff --git a/macros/latex/contrib/se2thesis/se2thesis.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx
index 9cb97b0a3d..9efc2d8542 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.dtx
+++ b/macros/latex/contrib/se2thesis/se2thesis.dtx
@@ -299,6 +299,85 @@
% \cref{sec:doc-se2thesis-pkgs}.
% 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
+% helper macro that can be used to check whether a package has been loaded.
+% \begin{function}
+% {
+% \slcd_package_if_loaded:nTF,
+% \slcd_package_if_loaded:nT,
+% \slcd_package_if_loaded:nF,
+% \slcd_package_if_loaded_p:n
+% }
+% Checks whether a package has been loaded and conditionally executes code.
+% \end{function}
+%
+% \subsection{Load-time options}\label{sec:doc-se2thesis-options}
+%
+% The \pkg{se2thesis} class defines several load-time options, all of them
+% optional, on top of the options provided by the \KOMAScript{} document
+% classes.
+% \begin{function}{class}
+% \begin{syntax}
+% |class| = \meta{choice}
+% \end{syntax}
+% Set the base document class.
+% Values are \cls{scrreprt}, \cls{scrartcl}, or \cls{scrbook}.
+% Default is |scrreprt|.
+% \end{function}
+%
+% \begin{function}{paper}
+% \begin{syntax}
+% |paper| = \meta{choice}
+% \end{syntax}
+% Set the paper format.
+% Possible values are |a4|, |a5|, or |b5|.
+% Default is |a4|.
+% \end{function}
+%
+% \begin{function}{logofile}
+% \begin{syntax}
+% |logofile| = \marg{path-to-file}
+% \end{syntax}
+% Defines the path to the University's logo for the title page.
+% \end{function}
+%
+% \begin{function}{thesistype}
+% \begin{syntax}
+% |thesistype| = \meta{choice}
+% \end{syntax}
+% Defines the type of the thesis.
+% Possible values are:
+% |bachelor| for a bachelor thesis, |bachelorproposal| for a proposal to
+% a bachelor thesis, |master| for a master thesis, |masterproposal| for
+% a proposal to a master thesis, |phdproposal| for a proposal to a PhD thesis,
+% 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}
+% \end{syntax}
+% Select the color scheme used by the automatically loaded \pkg{se2colors}
+% package, see \cref{sec:doc-se2colors} for a description.
+% \end{function}
+%
+% \begin{function}{fontmode}
+% \begin{syntax}
+% |fontmode| = \meta{choice}
+% \end{syntax}
+% Select the font scheme used by the automatically loaded \pkg{se2fonts}
+% package, see \cref{sec:doc-se2fonts} for a description.
+% \end{function}
+%
+%
% \subsection{The title page}\label{sec:doc-se2thesis-title}
%
% Designing a title package for a thesis can be complicated.
@@ -395,13 +474,7 @@
% website for downloading the logo graphics is only accessible from within the
% University's campus network or a VPN connection.
% To specify the path to the logo graphics, we provide a load-time option to the
-% \cls{se2thesis} class:
-% \begin{function}{logofile}
-% \begin{syntax}
-% |logofile| = \marg{path-to-logo}
-% \end{syntax}
-% Sets the path to the logo graphics for the title page.
-% \end{function}
+% \cls{se2thesis} class called |logofile|~(see \cref{sec:doc-se2thesis-options}).
%
% When printing the thesis in two-side mode—which we recommend—the back of the
% title page again denotes author and title on the bottom.
@@ -576,13 +649,8 @@
% therefore correct sorting of the references now works out of the box; also
% creating citation styles can now be done using simple \LaTeX{} commands.
%
-% \begin{function}{biblatex}
-% \begin{syntax}
-% |biblatex| = \meta{true,false}
-% \end{syntax}
% For easier usage, we provide the load-time option |biblatex| that already sets
-% all settings.
-% \end{function}
+% 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.
@@ -936,8 +1004,8 @@
% if required.
% \begin{macrocode}
\@ifundefined{ExplLoaderFileDate}
-{\RequirePackage{expl3}}
-{}
+ { \RequirePackage{expl3} }
+ {}
% \end{macrocode}
%
% Make sure that the version of \pkg{l3kernel} in use is sufficiently new.
@@ -945,16 +1013,16 @@
% pre-loaded \pkg{expl3} in the absence of the package.
% \begin{macrocode}
\@ifl@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!%
+ \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
}%
- \endinput
-}%
% \end{macrocode}
%
% \begin{macro}{\IfFormatAtLeastTF}
@@ -984,10 +1052,30 @@
%
% Identify the class and give the overall version number.
% \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2022-09-09} {1.0.0}
+\ProvidesExplClass {se2thesis} {2022-09-12} {1.1.0}
{A thesis class for the Chair of Software Engineering II}
% \end{macrocode}
%
+% \begin{macro}
+% {
+% \slcd_package_if_loaded:nTF,
+% \slcd_package_if_loaded:nT,
+% \slcd_package_if_loaded:nF,
+% \slcd_package_if_loaded_p:n
+% }
+% Defines various \LaTeX3{} variants for the internal \cmd{\@ifpackageloaded}
+% macro to check whether a package has been loaded.
+% \begin{macrocode}
+\prg_new_conditional:Nnn \slcd_package_if_loaded:n { p, T, F, TF }
+ {
+ \use:c { @ifpackageloaded }
+ { #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% Load required packages early.
% \begin{macrocode}
\RequirePackage{graphicx}
@@ -1996,7 +2084,10 @@
% Therefore, start with loading this package.
% \pkg{ntheorem}.
% \begin{macrocode}
-\PassOptionsToPackage{amsmath}{ntheorem}
+\slcd_package_if_loaded:nT { amsmath }
+ {
+ \PassOptionsToPackage{amsmath}{ntheorem}
+ }
\RequirePackage{ntheorem}
\theoremseparator{:}
% \end{macrocode}
@@ -2053,7 +2144,7 @@
% We provide the following English translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2022/09/09]
+\ProvideDictionaryFor{English}{se2translations}[2022/09/12]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -2102,7 +2193,7 @@
% We provide the following German translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2022/09/09]
+\ProvideDictionaryFor{German}{se2translations}[2022/09/12]
\ProvideDictTranslation{abstract}{Zusammenfassung}
\ProvideDictTranslation{Abstract}{Zusammenfassung}
\ProvideDictTranslation{acknowledgement}{Danksagung}
@@ -2161,7 +2252,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2colors} {2022-09-09} {1.0.0}
+\ProvidesExplPackage {se2colors} {2022-09-12} {1.1.0}
{A colour support package for the se2thesis bundle}
% \end{macrocode}
%
@@ -2267,7 +2358,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2fonts} {2022-09-09} {1.0.0}
+\ProvidesExplPackage {se2fonts} {2022-09-12} {1.1.0}
{A font-selection support package for the se2thesis bundle}
% \end{macrocode}
%