summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bfh-ci/tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/bfh-ci/tex')
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamercolorthemeBFH.sty109
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamerfontthemeBFH.sty82
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamerinnerthemeBFH.sty464
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH-sidebar.sty105
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH.sty91
-rw-r--r--macros/latex/contrib/bfh-ci/tex/beamerthemeBFH.sty75
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a0paper.clo44
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a1paper.clo43
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a2paper.clo43
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a3paper.clo43
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a4paper.clo36
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a5paper.clo36
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-a6paper.clo40
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-beamerarticle.cfg40
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-factsheet.cfg89
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-layout-boxes.cfg184
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-layout-listings.cfg132
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-layout-rules.cfg83
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-layout-tabular.cfg66
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-layout-terminal.cfg117
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfh-projectproposal.cfg227
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhbeamer.cls107
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhcolors.sty122
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhfonts.sty70
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhlayout.sty777
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhletter.sty197
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhlettersize9.5pt.clo107
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhpub.cls89
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhsciposter.cls577
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhthesis.cls168
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhtranslations-english.trsl68
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhtranslations-french.trsl69
-rw-r--r--macros/latex/contrib/bfh-ci/tex/bfhtranslations-german.trsl68
33 files changed, 4568 insertions, 0 deletions
diff --git a/macros/latex/contrib/bfh-ci/tex/beamercolorthemeBFH.sty b/macros/latex/contrib/bfh-ci/tex/beamercolorthemeBFH.sty
new file mode 100644
index 0000000000..3d197f6eb9
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamercolorthemeBFH.sty
@@ -0,0 +1,109 @@
+%% This is file `beamercolorthemeBFH.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{beamercolorthemeBFH}[2021/12/23 v2.0.0 BFH-CI beamer color theme, CI of Bern University of Applied Sciences]
+
+% ====================
+% Dependencies
+% ====================
+
+\mode<presentation>{\PassOptionsToPackage{colormode=RGB}{bfhcolors}}
+
+\RequirePackage{bfhcolors}
+
+% ====================
+% Theme
+% ====================
+
+\mode<presentation>
+
+\setbeamercolor{structure}{fg=BFH-Gray}
+\setbeamercolor{sidebar}{fg=BFH-Orange,bg=white}
+
+\setbeamercolor{author in sidebar}{fg=BFH-Gray}
+\setbeamercolor{title in sidebar}{fg=BFH-Gray}
+
+\setbeamercolor{palette sidebar secondary}{fg=BFH-Orange}
+\setbeamercolor{palette sidebar primary}{fg=BFH-Orange}
+
+\setbeamercolor{BFH-Gray}{bg=BFH-Gray,fg=BFH-Orange}
+\setbeamercolor{BFH-Orange}{bg=BFH-Orange,fg=BFH-Gray}
+
+\setbeamercolor{BFH}{parent=BFH-Gray}
+
+\setbeamercolor{section in sidebar shaded}{fg=BFH-Gray}
+\setbeamercolor{subsection in sidebar shaded}{fg=BFH-Gray}
+\setbeamercolor{section in sidebar}{fg=white,bg=BFH-Orange}
+\setbeamercolor{subsection in sidebar}{fg=white,bg=BFH-Orange}
+
+\setbeamercolor{version in sidebar}{fg=BFH-Gray}
+\setbeamercolor{frametitle}{fg=BFH-Gray}
+\setbeamercolor{framesubtitle}{fg=BFH-Gray}
+
+\setbeamercolor{title page}{use=BFH,bg=BFH.bg,fg=white}
+\setbeamercolor{title page.invert}{use=BFH,bg=BFH.fg,fg=white}
+\setbeamercolor{title page.bottom}{use=BFH,fg=BFH.bg}
+\setbeamercolor{title page.boxed}{use=BFH,fg=BFH.bg,bg=white}
+\setbeamercolor{title rule}{use=BFH,bg=BFH.fg}
+\setbeamercolor{title rule.invert}{use=BFH,bg=BFH.bg}
+
+%title colors are set empty by default to depend on the title page template
+\setbeamercolor{titlelike}{fg=white}
+\setbeamercolor*{title}{}
+\setbeamercolor*{subtitle}{}
+\setbeamercolor*{author}{}
+\setbeamercolor*{institute}{}
+
+\setbeamercolor{section page}{bg=BFH-Gray,fg=white}
+\setbeamercolor{section rule}{bg=BFH-Orange}
+
+\setbeamercolor{footline}{bg=,fg=BFH-Gray}
+
+%% % Block
+\setbeamercolor{block title}{fg=BFH-Gray!10,bg=BFH-Gray!80}
+\setbeamercolor{block body}{fg=BFH-Gray,bg=BFH-Gray!40}
+\setbeamercolor{block frame}{parent=block title}
+
+%% % Example Block
+\setbeamercolor{block title example}{fg=BFH-Gray!10,bg=BFH-MediumGreen!80}
+\setbeamercolor{block body example}{fg=BFH-MediumGreen,bg=BFH-MediumGreen!40}
+\setbeamercolor{block frame example}{bg=BFH-MediumGreen}
+
+%% % Alert Block
+\setbeamercolor{block title alerted}{fg=BFH-Gray!10,bg=BFH-MediumPurple!80}
+\setbeamercolor{block body alerted}{fg=BFH-MediumPurple,bg=BFH-MediumPurple!40}
+\setbeamercolor{block frame alerted}{bg=BFH-MediumPurple}
+
+%% % Alert Textk
+\setbeamercolor{alerted text}{fg=BFH-DarkPurple}
+
+\mode<all>
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/beamerfontthemeBFH.sty b/macros/latex/contrib/bfh-ci/tex/beamerfontthemeBFH.sty
new file mode 100644
index 0000000000..491894721b
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamerfontthemeBFH.sty
@@ -0,0 +1,82 @@
+%% This is file `beamerfontthemeBFH.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{beamerfontthemeBFH}[2021/12/23 v2.0.0 BFH-CI beamer font theme, CI of Bern University of Applied Sciences]
+
+% ====================
+% Dependencies
+% ====================
+
+\RequirePackage{bfhfonts}
+
+\mode<presentation>
+\usefonttheme[only large]{structurebold}
+
+% ====================
+% Fonts
+% ====================
+
+\usefonttheme{professionalfonts}
+
+\setbeamerfont{headline title}{size=\Huge,series=\bfseries}
+\setbeamerfont{headline author}{size=\Large}
+\setbeamerfont{headline institute}{size=\normalsize}
+\setbeamerfont{heading}{series=\bfseries}
+\setbeamerfont{caption}{size=\small}
+\setbeamerfont{footline}{size=\tiny}
+
+\setbeamerfont*{title}{size=\LARGE,series=\bfseries}
+\setbeamerfont*{subtitle}{size=\large,series=\bfseries}
+\setbeamerfont*{date}{size=\footnotesize,series=\bfseries}
+\setbeamerfont*{author}{size=\footnotesize,series=\bfseries}
+\setbeamerfont*{institute}{parent=author}
+
+\setbeamerfont{section title}{series=\normalfont,size=\LARGE}
+\setbeamerfont{title in sidebar}{series=\bfseries}
+\setbeamerfont{author in sidebar}{series=\bfseries}
+\setbeamerfont{frametitle}{series=\mdseries}
+\setbeamerfont{block title}{size=\small}
+\setbeamerfont{block body}{size=\small}
+\setbeamerfont{block title example}{size=\small}
+\setbeamerfont{block body example}{size=\small}
+\setbeamerfont{block title alerted}{size=\small}
+\setbeamerfont{block body alerted}{size=\small}
+
+\setbeamerfont{lecture title}{series=\normalfont,size=\LARGE}
+
+\setbeamerfont{section in toc}{size=\normalsize}
+\setbeamerfont{subsection in toc}{size=\small}
+\setbeamerfont*{itemize/enumerate body}{size=\footnotesize}
+\setbeamerfont*{itemize/enumerate subbody}{parent=itemize/enumerate body}
+\setbeamerfont*{itemize/enumerate subsubbody}{parent=itemize/enumerate body}
+
+\mode<all>
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/beamerinnerthemeBFH.sty b/macros/latex/contrib/bfh-ci/tex/beamerinnerthemeBFH.sty
new file mode 100644
index 0000000000..41856ab212
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamerinnerthemeBFH.sty
@@ -0,0 +1,464 @@
+%% This is file `beamerinnerthemeBFH.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplPackage{beamerinnerthemeBFH}{2021/12/23}{2.0.0}{BFH-CI beamer inner theme, CI of Bern University of Applied Sciences}
+
+\RequirePackage{l3keys2e}
+
+\mode<presentation>
+
+\RequirePackage{trimclip}
+
+
+\keys_define:nn {ptxcd/beamer/inner} {
+ authorontitle .bool_gset:N = \g_ptxcd_authorontitle_bool,
+ authorontitle .initial:n = false,
+ authorontitle .default:n = true,
+ logofile .tl_gset:N = \g_ptxcd_logofile_tl,
+ logofile .initial:n =,
+ enforce-title-logo .bool_gset:N = \g_ptxcd_enforce_titlelogo_bool,
+ enforce-title-logo .initial:n = false,
+}
+\ProcessKeysOptions{ptxcd/beamer/inner}
+
+%logo setup & fallback
+\PassOptionsToPackage{variant=C,init-inverted=true,height=\g__ptxcd_logo_height_dim}{bfhlogo}
+
+\file_if_exist:nTF {bfhlogo.sty}
+{
+ \RequirePackage{bfhlogo}
+}
+{
+ \tl_if_empty:NT \g_ptxcd_logofile_tl {
+ \msg_new:nnnn {bfh-ci} {missing-bfhlogo}
+ {I~could~not~find~the~bfhlogo~package.}
+ {Please~have~a~look~at~the~bfh-ci~documentation~for~more~information~or~provide~an~alternative~using~the~logofile~option.}
+ \msg_warning:nn {bfh-ci} {missing-bfhlogo}
+ }
+}
+
+\box_if_exist:NF \g__ptxcd_logo_box {
+ \box_new:N \g__ptxcd_logo_box
+ \box_new:N \g__ptxcd_inverted_logo_box
+}
+
+\tl_if_empty:NF \g_ptxcd_logofile_tl {
+ \hbox_gset:Nn \g__ptxcd_logo_box {\includegraphics[height=\g__ptxcd_logo_height_dim]{\g_ptxcd_logofile_tl}}
+ \box_gset_eq:NN \g__ptxcd_inverted_logo_box \g__ptxcd_logo_box
+}
+
+\box_new:N \l__ptxcd_titlegraphic_box
+\box_new:N \l__ptxcd_titlehead_box
+\dim_new:N \l__ptxcd_titlegraphic_ht_dim
+\dim_new:N \l__ptxcd_titlegraphic_wd_dim
+
+\dim_new:N \g__ptxcd_titlerule_dim
+\dim_gset:Nn \g__ptxcd_titlerule_dim {4pt}
+
+%initialize sidebarwidth, only required if sidebar is not active (\z@)
+\newdimen\beamer@sidebarwidth
+
+\@ifpackageloaded{beamerouterthemeBFH}{}{
+ \dim_new:N \g__ptxcd_beamer_logosep_dim
+ \dim_new:N \l__ptxcd_beamer_extraindent_dim
+ \dim_new:N \g__ptxcd_beamer_sep_dim
+}
+
+\newcommand*{\partnerlogo}[1]{\def\insertpartnerlogo{\def\height{\g__ptxcd_logo_height_dim}#1}}
+\partnerlogo{}
+
+\RenewDocumentCommand{\titlegraphic}{sm}{
+ \IfBooleanTF{#1}{
+ \def\inserttitlegraphic{
+ \hbox_set:Nn \l__ptxcd_titlegraphic_box {\raisebox{\depth}{#2}}
+ \box_resize_to_wd:Nn \l__ptxcd_titlegraphic_box {\l__ptxcd_titlegraphic_wd_dim}
+ \dim_compare:nTF {\box_ht:N \l__ptxcd_titlegraphic_box - \l__ptxcd_titlegraphic_ht_dim > \c_zero_dim}
+ {
+ \dim_set:Nn \l_tmpa_dim {.5\box_ht:N \l__ptxcd_titlegraphic_box - .5\l__ptxcd_titlegraphic_ht_dim}
+ \clipbox{0pt~\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }{
+ \box_resize_to_ht:Nn \l__ptxcd_titlegraphic_box {\l__ptxcd_titlegraphic_ht_dim}
+ \dim_set:Nn \l_tmpa_dim {(\box_wd:N \l__ptxcd_titlegraphic_box - \l__ptxcd_titlegraphic_wd_dim) / 2}
+ \clipbox{\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}~0pt}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }
+ }
+ }{
+ \def\inserttitlegraphic{#2}
+ }
+}
+
+\newcommand*{\inserttitleVcenter}[1]{
+ \usebeamerfont{title}
+ \vbox_to_ht:nn {#1} {
+ \skip_vertical:n {.6\g__ptxcd_logo_height_dim plus 1 fill}
+ \leavevmode\inserttitle
+ \skip_vertical:n {\c_zero_dim plus 1 fill}
+ }
+}
+
+\defbeamertemplate*{title~page~logo}{BFH}[1][\g__ptxcd_logo_box]{
+ \skip_vertical:n {.333\g__ptxcd_logo_height_dim }
+ \leavevmode\box_use:N #1
+ \ifx\insertpartnerlogo\@empty
+ \else
+ \hfill
+ \raisebox{\dim_eval:n {-\height+\box_ht:N #1}}[0pt][0pt]{\insertpartnerlogo}
+ \fi
+ \par\nointerlineskip
+ \skip_vertical:n {\c_zero_dim plus 1 fill}
+}
+
+\defbeamertemplate*{author~inst~sep}{BFH}{{\usebeamercolor{author~inst~sep}\usebeamerfont{author~inst~sep}\space|\space}}
+
+\defbeamertemplate*{author~in~title~page}{BFH}{
+ \begingroup
+ \usebeamerfont{author}
+ \ifx\insertauthor\@empty
+ \else
+ {\usebeamercolor[fg]{author}\usebeamerfont{author}\insertauthor}
+ \fi
+ \ifx\insertinstitute\@empty
+ \else
+ \ifx\insertauthor\@empty
+ \else
+ \usebeamertemplate{author~inst~sep}
+ \fi
+ {\usebeamercolor[fg]{institute}\usebeamerfont{institute}\insertinstitute}
+ \fi
+ \endgroup
+}
+
+\defbeamertemplate*{title~ page}{BFH}[1][]
+{
+ \vskip-\beamer@frametopskip
+ \nointerlineskip
+ \vbox to \paperheight{
+ \begin{beamercolorbox}[
+ ht=.65\paperheight,
+ wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax,
+ leftskip=\beamer@leftmargin,
+ rightskip=\beamer@rightmargin,
+ vmode,
+ #1
+ ]{title~page}
+ \vbox_to_ht:nn {.65\paperheight} {
+ \bool_if:NT \g_ptxcd_enforce_titlelogo_bool {
+ \setbeamertemplate{title~page~logo}[BFH][\g__ptxcd_inverted_logo_box]
+ \usebeamertemplate{title~page~logo}
+ }
+ \skip_vertical:n {.833\g__ptxcd_logo_height_dim plus 1 fill}
+ \usebeamerfont{title}\inserttitle\par%
+ \ifx\insertsubtitle\@empty%
+ \else%
+ \vskip0.25em%
+ {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
+ \fi%
+ \par
+ \vskip1em\par
+ {\usebeamercolor[fg]{date}\usebeamerfont{date}\insertdate\par}
+ \par
+ \vfill
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \usebeamertemplate{author~in~title~page}
+ \skip_vertical:n {.333\g__ptxcd_logo_height_dim}
+ }
+ \null
+ }
+ \end{beamercolorbox}
+ \par
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ ht=\g__ptxcd_titlerule_dim,
+ wd=\dim_eval:n {\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi}
+ ]{title~rule}
+ \end{beamercolorbox}
+ \ifbeamer@plainframe
+ \vspace*{\fill}
+ \usebeamertemplate{footline}\par
+ \fi
+ }
+}
+
+\defbeamertemplate{title~ page}{BFH-Orange}[1][]
+{
+ \vskip-\beamer@frametopskip
+ \nointerlineskip
+ \vbox to \paperheight{
+ \begin{beamercolorbox}[
+ ht=.8\paperheight,
+ dp=0pt,
+ wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax,
+ leftskip=\beamer@leftmargin,
+ rightskip=\beamer@rightmargin,
+ vmode
+ ]{title~page.invert}
+ \vbox_to_ht:nn {.8\paperheight} {
+ \usebeamertemplate{title~page~logo}
+ {\usebeamercolor[fg]{title}\usebeamerfont{title}\inserttitle\par}%
+ \ifx\insertsubtitle\@empty%
+ \else%
+ \vskip0.25em%
+ {\usebeamercolor[fg]{subtitle}\usebeamerfont{subtitle}\insertsubtitle\par}%
+ \fi%
+ \par
+ \vskip1em\par
+ {\usebeamercolor[fg]{date}\usebeamerfont{date}\insertdate\par}
+ \vfill
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \usebeamertemplate{author~in~title~page}
+ \skip_vertical:n {.333\g__ptxcd_logo_height_dim}
+ }
+ \null
+ }
+ \end{beamercolorbox}
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ ht=\g__ptxcd_titlerule_dim,
+ wd=\dim_eval:n {\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi}
+ ]{title~rule.invert}
+ \end{beamercolorbox}
+ \ifbeamer@plainframe
+ \vspace*{\fill}
+ \usebeamertemplate{footline}\par
+ \fi
+ }
+}
+
+\defbeamertemplate{title~ page}{BFH-graphic}[1][]
+{
+ \vskip-\beamer@frametopskip
+ \nointerlineskip
+ \dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {.65\paperheight}
+ \dim_set:Nn \l__ptxcd_titlegraphic_wd_dim {\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi}
+ \vbox_to_ht:nn {\paperheight}{
+ \begin{beamercolorbox}[
+ wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax,
+ ht=0pt,
+ dp=0pt,
+ vmode]{title~page}
+ \raisebox{-\height}{\inserttitlegraphic}
+ \end{beamercolorbox}
+ \nointerlineskip
+ \vbox_to_ht:nn {\l__ptxcd_titlegraphic_ht_dim}{
+ \usebeamertemplate{title~page~logo}
+ \vfill
+ }
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ ht=\g__ptxcd_titlerule_dim,
+ wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax
+ ]{title~rule}
+ \end{beamercolorbox}
+ \vskip.5\baselineskip
+ \begin{beamercolorbox}[wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax,leftskip=\beamer@leftmargin,
+ rightskip=\beamer@rightmargin,#1]{title~page.bottom}
+ {\usebeamerfont{title}\inserttitle\par}%
+ \ifx\insertsubtitle\@empty%
+ \else%
+ \vskip0.25em%
+ {\usebeamerfont{subtitle}\insertsubtitle\par}%
+ \fi%
+ \par
+ \ifx\insertsubtitle\@empty%
+ \else%
+ {\usebeamerfont{date}\insertdate}
+ \par
+ \fi
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \usebeamertemplate{author~in~title~page}
+ }
+ \end{beamercolorbox}
+ \ifbeamer@plainframe
+ \vspace*{\fill}
+ \usebeamertemplate{footline}\par
+ \fi
+ }
+}
+
+\defbeamertemplate{title~ page}{BFH-fullgraphic}[1][]
+{
+ \vskip-\beamer@frametopskip
+ \nointerlineskip
+ \dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {\paperheight}
+ \dim_set:Nn \l__ptxcd_titlegraphic_wd_dim {\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi}
+ \vbox_to_ht:nn {\paperheight}{
+ \begin{beamercolorbox}[wd=\l__ptxcd_titlegraphic_wd_dim,ht=0pt,dp=0pt,vmode]{title~page}
+ \raisebox{-\height}{\inserttitlegraphic}
+ \end{beamercolorbox}
+ \nointerlineskip
+ \vbox_to_ht:nn {.5\paperheight}{
+ \usebeamertemplate{title~page~logo}
+ \vfill
+ }
+ \nointerlineskip
+ \begin{beamercolorbox}[
+ ht=\g__ptxcd_titlerule_dim,
+ wd=\dim_eval:n {.75\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi},
+ ]{title~rule}
+ \end{beamercolorbox}\nointerlineskip
+ \begin{beamercolorbox}[
+ wd=\dim_eval:n {.75\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi},
+ ht=.3\paperheight,
+ sep=1ex,
+ vmode,
+ #1
+ ]{title~page.boxed}
+ \vbox_to_ht:nn {.3\paperheight} {
+ \vskip1.25em
+ {\usebeamerfont{title}\inserttitle\par}%
+ \ifx\insertsubtitle\@empty%
+ \else%
+ \vskip0.25em%
+ {\usebeamerfont{subtitle}\insertsubtitle\par}%
+ \fi%
+ \par\vfill
+ \ifx\insertsubtitle\@empty%
+ \else%
+ {\usebeamerfont{date}\leavevmode\insertdate}
+ \par
+ \fi
+ \bool_if:NT \g_ptxcd_authorontitle_bool {
+ \usebeamertemplate{author~in~title~page}
+ }
+ }
+ \end{beamercolorbox}
+ \ifbeamer@plainframe
+ \vspace*{\fill}
+ \usebeamertemplate{footline}\par
+ \fi
+ }
+}
+
+\cs_new:Nn \__ptxcd_content_separator:n {
+ \vskip-\beamer@frametopskip\relax
+ \nointerlineskip
+ \vbox_to_ht:nn {\paperheight}{
+ \bool_if:NT \l__ptxcd_content_separator_ruled_bool {
+ \vspace*{.1\paperheight}
+ \begin{beamercolorbox}[ht=\g__ptxcd_titlerule_dim,wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax]{title~rule}
+ \end{beamercolorbox}
+ \nointerlineskip
+ }
+ \begin{beamercolorbox}[ht=\bool_if:NTF \l__ptxcd_content_separator_ruled_bool {.5} {.65}\paperheight,wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax,leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin,vmode]{title~page}
+ \vbox_to_ht:nn {\bool_if:NTF \l__ptxcd_content_separator_ruled_bool {.5} {.65}\paperheight} {
+ \skip_vertical:n {.333\g__ptxcd_logo_height_dim \bool_if:NT \l__ptxcd_content_separator_ruled_bool {plus 1 fill} }
+ \leavevmode
+ \usebeamerfont{#1~title}
+ \use:c {insert#1}
+ \vfill
+ \null
+ }
+ \end{beamercolorbox}
+ \nointerlineskip
+ \begin{beamercolorbox}[ht=\g__ptxcd_titlerule_dim,wd=\dimexpr\paperwidth\ifbeamer@plainframe\else-\beamer@sidebarwidth\fi\relax]{title~rule}
+ \end{beamercolorbox}
+ \bool_if:NT \l__ptxcd_content_separator_ruled_bool {\vfill}
+ \ifbeamer@plainframe
+ \vspace*{\fill}
+ \usebeamertemplate{footline}\par
+ \fi
+ }
+}
+
+
+\defbeamertemplate*{section~page}{BFH}{
+ \bool_set_false:N \l__ptxcd_content_separator_ruled_bool
+ \__ptxcd_content_separator:n {section}
+}
+
+\defbeamertemplate{section~page}{BFH-ruled}
+{
+ \bool_set_true:N \l__ptxcd_content_separator_ruled_bool
+ \__ptxcd_content_separator:n {section}
+}
+
+\defbeamertemplate*{lecture~page}{BFH}{
+ \bool_set_false:N \l__ptxcd_content_separator_ruled_bool
+ \__ptxcd_content_separator:n {lecture}
+}
+
+\defbeamertemplate{lecture~page}{BFH-ruled}
+{
+ \bool_set_true:N \l__ptxcd_content_separator_ruled_bool
+ \__ptxcd_content_separator:n {lecture}
+}
+
+\cs_new:Nn \__ptxcd_block_begin:n {
+ \par\vskip\medskipamount%
+ \begin{beamercolorbox}[
+ wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
+ sep=1.5pt,
+ leftskip=\dimexpr\ifdim\l__ptxcd_beamer_extraindent_dim>\z@\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep\else\z@\fi,
+ ]{block~frame#1}
+ \ifx\insertblocktitle\@empty
+ \else
+ \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~title#1}
+ \usebeamerfont*{block~title#1}\insertblocktitle%
+ \end{beamercolorbox}%
+ \vskip1.5pt\par\nointerlineskip
+ \fi
+ \leavevmode
+ \usebeamerfont{block~body#1}%
+ \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~body#1}%
+ }
+
+ \cs_new:Nn \__ptxcd_block_end: {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
+
+\defbeamertemplate*{block~begin}{BFH}{\__ptxcd_block_begin:n {}}
+\defbeamertemplate*{block~end}{BFH}{\__ptxcd_block_end:}
+
+\defbeamertemplate*{block~alerted~begin}{BFH}{\__ptxcd_block_begin:n {~alerted}}
+\defbeamertemplate*{block~alerted~end}{BFH}{\__ptxcd_block_end:}
+
+\defbeamertemplate*{block~example~begin}{BFH}{\__ptxcd_block_begin:n {~example}}
+\defbeamertemplate*{block~example~end}{BFH}{\__ptxcd_block_end:}
+
+%Itemize Items
+\defbeamertemplate*{itemize~item}{BFH}{\usebeamerfont*{itemize~item}\raise\dimexpr.4\ht\strutbox-.4ex\hbox{\rule{.8ex}{.8ex}}}
+\defbeamertemplate*{itemize~subitem}{BFH}{\usebeamerfont*{itemize~item}\setlength{\fboxsep}{\z@}\setlength{\fboxrule}{1pt}\raise\dimexpr.4\ht\strutbox-.2ex-\fboxrule\hbox{\fbox{\color{bg}\rule{.4ex}{.4ex}}}}
+\defbeamertemplate*{itemize~subsubitem}{BFH}{\usebeamerfont*{itemize~subitem}\hbox{--}}
+
+\def\maketitle{
+ \ifbeamer@inframe\titlepage\else\frame[plain]{\titlepage}\fi
+}
+
+\def\sectionpage{
+ \ifbeamer@inframe\usebeamertemplate*{section~page}\else\frame[plain]{\usebeamertemplate*{section~page}}\fi
+}
+
+\def\lecturepage{
+ \ifbeamer@inframe\usebeamertemplate*{lecture~page}\else\frame[plain]{\usebeamertemplate*{lecture~page}}\fi
+}
+
+
+\mode<all>
+
+\endinput
+
diff --git a/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH-sidebar.sty b/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH-sidebar.sty
new file mode 100644
index 0000000000..458e091fb5
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH-sidebar.sty
@@ -0,0 +1,105 @@
+%% This is file `beamerouterthemeBFH-sidebar.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{beamerouterthemeBFH-sidebar}[2021/12/23 v2.0.0 BFH-CI beamer outer theme sidebar variant, CI of Bern University of Applied Sciences]
+
+\mode<presentation>
+\useoutertheme{BFH}
+\useoutertheme[height=0pt,width=20mm,right]{sidebar}
+
+\ExplSyntaxOn
+
+\box_new:N \g__ptxcd_sidebar_logo_box
+
+\defbeamertemplate*{logo~in~sidebar}{BFH-sidebar}{
+ \box_if_empty:NT \g__ptxcd_sidebar_logo_box {
+ \cs_if_exist:NT \__ptxcd_set_logobox_A:N {
+ \__ptxcd_set_logobox_A:N \g__ptxcd_sidebar_logo_box
+ \box_gresize_to_wd:Nn \g__ptxcd_sidebar_logo_box {.06\paperwidth}
+ }
+ }
+ \makebox[\beamer@sidebarwidth][c]{%
+ \box_use:N \g__ptxcd_sidebar_logo_box
+ }
+}
+\ExplSyntaxOff
+
+\defbeamertemplate*{title in sidebar}{BFH-sidebar}{
+ {\usebeamerfont{title in sidebar}%
+ \vskip1.5em%
+ \hskip3pt%
+ \usebeamercolor[fg]{title in sidebar}%
+ \insertshorttitle[width=18mm,center,respectlinebreaks]\par%
+ \vskip1.25em%
+ }%
+}
+
+\defbeamertemplate*{author in sidebar}{BFH-sidebar}{
+ {
+ \hskip3pt%
+ \usebeamercolor[fg]{author in sidebar}%
+ \usebeamerfont{author in sidebar}%
+ \insertshortauthor[width=18mm,center,respectlinebreaks]\par%
+ \vskip1.25em%
+ }%
+}
+
+\defbeamertemplate*{sidebar right}{BFH-sidebar}
+{
+ \rule{1.5pt}{\paperheight}%
+ \begin{beamercolorbox}[wd=\dimexpr\beamer@sidebarwidth-1.5pt\relax,vmode]{sidebar}
+ \vbox to \paperheight{
+ \vskip\baselineskip
+ \usebeamertemplate*{title in sidebar}
+ \usebeamertemplate*{author in sidebar}
+ \usebeamertemplate*{logo in sidebar}
+ \vskip20pt%
+ \insertverticalnavigation{15mm}%
+ \par
+ \vskip\fill
+ \usebeamertemplate*{version in sidebar}\par
+ \vskip .1\paperheight
+ \null
+ }
+ \end{beamercolorbox}
+}
+
+\defbeamertemplate*{version in sidebar}{BFH-sidebar}{
+ \ifx\insertversion\@empty
+ \else
+ \hskip3pt%
+ \insertversion\par
+ \vskip1.25em%
+ \fi
+}
+
+\mode<all>
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH.sty b/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH.sty
new file mode 100644
index 0000000000..f5c49e33ec
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamerouterthemeBFH.sty
@@ -0,0 +1,91 @@
+%% This is file `beamerouterthemeBFH.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{beamerouterthemeBFH}[2021/12/23 v2.0.0 BFH-CI beamer outer theme, CI of Bern University of Applied Sciences]
+
+\RequirePackage{l3keys2e}
+
+\mode<presentation>
+\ExplSyntaxOn
+
+\bool_new:N \g__ptxcd_footline_title_bool
+\bool_new:N \g__ptxcd_footline_author_bool
+
+\keys_define:nn {ptxcd/beamer/outer} {
+ footline .multichoice:,
+ footline / author .code:n = \bool_gset:Nn
+ \g__ptxcd_footline_author_bool {#1},
+ footline / author .default:n = true,
+ footline / title .code:n = \bool_gset:Nn \g__ptxcd_footline_title_bool {#1},
+ footline / title .default:n = true,
+}
+
+\ProcessKeysOptions{ptxcd/beamer/outer}
+\ExplSyntaxOff
+
+\defbeamertemplate*{footline}{BFH}{%
+ \begin{beamercolorbox}[wd=\paperwidth,sep=.5\beamer@leftmargin,
+ leftskip=.5\beamer@leftmargin,rightskip=.5\beamer@rightmargin,]{footline}%
+ \usebeamerfont{footline}%
+ \ifbeamertemplateempty{author in head/foot}{}{%
+ \usebeamertemplate{author in head/foot}%
+ \hfill
+ }%
+ Berner~Fachhochschule | Haute~école~spécialisée~bernoise | Bern~University~of~Applied~Sciences
+ \hfill\usebeamertemplate{page number in head/foot}%
+ \end{beamercolorbox}%
+}
+
+%bases on default frametitle, see beameroutherthemedefault.sty
+% Copyright 2007 by Till Tantau
+% Copyright 2012,2015 by Vedran Mileti\'c, Joseph Wright
+% Copyright 2017,2018 by Louis Stuart, Joseph Wright
+\defbeamertemplate*{frametitle}{BFH}[1][left]
+{%
+ \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
+ \@tempdima=\textwidth%
+ \advance\@tempdima by.6cm%
+ \begin{beamercolorbox}[sep=.3cm,#1,wd=\the\@tempdima]{frametitle}
+ \usebeamerfont{frametitle}%
+ \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
+ \strut\insertframetitle\strut\par%
+ {%
+ \ifx\insertframesubtitle\@empty%
+ \else%
+ {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+ \fi
+ }%
+ \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
+ \end{beamercolorbox}%
+}
+
+\mode<all>
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/beamerthemeBFH.sty b/macros/latex/contrib/bfh-ci/tex/beamerthemeBFH.sty
new file mode 100644
index 0000000000..21dfa5a1ca
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/beamerthemeBFH.sty
@@ -0,0 +1,75 @@
+%% This is file `beamerthemeBFH.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{beamerthemeBFH}[2021/12/23 v2.0.0 BFH-CI beamer theme, CI of Bern University of Applied Sciences]
+% ====================
+% Dependencies
+% ====================
+\mode<presentation>
+
+\DeclareOptionBeamer{logofile}{
+ \PassOptionsToPackage{logofile=#1}{beamerinnerthemeBFH}
+}
+
+\DeclareOptionBeamer{authorontitle}{
+ \PassOptionsToPackage{authorontitle=#1}{beamerinnerthemeBFH}
+}
+
+\ProcessOptionsBeamer
+
+\usefonttheme{BFH}
+\usecolortheme{BFH}
+
+% ====================
+% Elements
+% ====================
+
+\setbeamertemplate{section in toc}{{\normalsize\color{BFH-Orange}$\blacktriangleright$}~\inserttocsection}
+\setbeamertemplate{itemize items}{{\footnotesize\color{BFH-Orange}$\blacktriangleright$}~}
+\setbeamertemplate{bibliography item}[text]
+
+% Navigation
+\beamertemplatenavigationsymbolsempty
+
+% ====================
+% Components
+% ====================
+
+\usetheme{BFH}
+\useinnertheme{BFH}
+\useoutertheme{BFH}
+
+\newcommand*{\version}[1]{\gdef\insertversion{\versionformat{#1}}}
+\newcommand*{\versionformat}[1]{v#1}
+\version{}
+
+\mode<all>
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a0paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a0paper.clo
new file mode 100644
index 0000000000..dd9ecde839
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a0paper.clo
@@ -0,0 +1,44 @@
+%% This is file `bfh-a0paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a0paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a0paper}
+\cs_set:Nn \ptxcd_setup_title_sizes: {
+ \cs_set:Nn \ptxcd_title_fontsize: {{126bp}{165bp}}
+ \cs_set:Nn \ptxcd_subtitle_fontsize: {{38bp}{55bp}}
+ \cs_set:Nn \ptxcd_department_fontsize: {{45bp}{55bp}}
+ % \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_margin_dim {39mm}
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {8.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {2.1mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a1paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a1paper.clo
new file mode 100644
index 0000000000..b475c9144f
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a1paper.clo
@@ -0,0 +1,43 @@
+%% This is file `bfh-a1paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a1paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a1paper}
+\cs_set:Nn \ptxcd_setup_title_sizes: {
+ \cs_set:Nn \ptxcd_title_fontsize: {{90bp}{108bp}}
+ \cs_set:Nn \ptxcd_subtitle_fontsize: {{27bp}{32.5bp}}
+ \cs_set:Nn \ptxcd_department_fontsize: {{32bp}{38.5bp}}
+}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_margin_dim {28mm}
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {5.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {1.6mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {27pt}}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a2paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a2paper.clo
new file mode 100644
index 0000000000..7f8f44aca1
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a2paper.clo
@@ -0,0 +1,43 @@
+%% This is file `bfh-a2paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a2paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a2paper}
+\cs_set:Nn \ptxcd_setup_title_sizes: {
+ \cs_set:Nn \ptxcd_title_fontsize: {{64bp}{77bp}}
+ \cs_set:Nn \ptxcd_subtitle_fontsize: {{19.5bp}{23.4bp}}
+ \cs_set:Nn \ptxcd_department_fontsize: {{23bp}{27.6bp}}
+}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_margin_dim {20mm}
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {4.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {1.2mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {19.5pt}}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a3paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a3paper.clo
new file mode 100644
index 0000000000..1897a70292
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a3paper.clo
@@ -0,0 +1,43 @@
+%% This is file `bfh-a3paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a0paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a1paper}
+\cs_set:Nn \ptxcd_setup_title_sizes: {
+ \cs_set:Nn \ptxcd_title_fontsize: {{46bp}{55.2bp}}
+ \cs_set:Nn \ptxcd_subtitle_fontsize: {{19.5bp}{23.4bp}}
+ \cs_set:Nn \ptxcd_department_fontsize: {{16.5bp}{19.8bp}}
+}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_margin_dim {14mm}
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {3.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {0.8mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a4paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a4paper.clo
new file mode 100644
index 0000000000..be54617d7d
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a4paper.clo
@@ -0,0 +1,36 @@
+%% This is file `bfh-a4paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a0paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a4paper}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {2.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {.5mm}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a5paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a5paper.clo
new file mode 100644
index 0000000000..52af529a50
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a5paper.clo
@@ -0,0 +1,36 @@
+%% This is file `bfh-a5paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-a5paper.clo}{2021/12/23}{2.0.0}{bfh-ci~size~adjustments~for~a5paper}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {2.5mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {.5mm}%
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-a6paper.clo b/macros/latex/contrib/bfh-ci/tex/bfh-a6paper.clo
new file mode 100644
index 0000000000..6409a8bc0e
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-a6paper.clo
@@ -0,0 +1,40 @@
+%% This is file `bfh-a6paper.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas HABEGGER <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\def\fileversion{2.0.0}
+\def\filedate{2021/12/23}
+\def\fileversion{0.01}
+\def\filedate{2021/06/06}
+\ProvidesExplFile{bfh-a5paper.clo}{\filedate}{\fileversion}{bfh-ci~size~adjustments~for~a5paper}
+\cs_set:Nn \ptxcd_setup_base_sizes: {
+ \dim_gset:Nn \g_ptxcd_rule_height_dim {2mm}
+ \dim_gset:Nn \g_ptxcd_rule_arc_dim {.4mm}%
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-beamerarticle.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-beamerarticle.cfg
new file mode 100644
index 0000000000..f8aaebe936
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-beamerarticle.cfg
@@ -0,0 +1,40 @@
+%% This is file `bfh-beamerarticle.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesFile{bfh-beamerarticle.cfg} [2021/12/23 v2.0.0 beamerarticle configuration for bfhlayout]
+\let\orig@titlegraphic\titlegraphic
+\let\titlegraphic\@undefined
+
+\RequirePackage{beamerarticle}
+
+\let\titlegraphic\orig@titlegraphic
+\let\institute\@undefined
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-factsheet.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-factsheet.cfg
new file mode 100644
index 0000000000..003f94f7e3
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-factsheet.cfg
@@ -0,0 +1,89 @@
+%% This is file `bfh-factsheet.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesFile{bfh-factsheet.cfg}[2021/12/23 v2.0.0 factsheet configuration for bfhlayout]
+\KOMAoptions{headsepline=false}
+\clearpairofpagestyles
+
+\savegeometry{BFH-base}
+
+\geometry{top=\g_ptxcd_topLogoMargin_dim,headheight=\box_ht:N \g__ptxcd_logo_box}
+
+\savegeometry{BFH-headlineLogo}
+
+\loadgeometry{BFH-base}
+
+\NewDocumentCommand{\enableHeadLineLogo}{s}{
+ \loadgeometry{BFH-headlineLogo}
+ \IfBooleanTF{#1}{
+ \pagestyle{bfh-headlinelogos}
+ }{
+ \pagestyle{bfh-headlinelogo}
+ }
+}
+
+\newcommand*{\disableHeadlineLogo}{
+ \loadgeometry{BFH-base}
+ \pagestyle{scrheadings}
+}
+
+%
+\DeclareNewLayer[
+ clone=title.BFH.logo,
+ contents={\putLL{\box_use:N \g__ptxcd_logo_box}}
+]{BFH.headlinelogo}
+
+\DeclareNewLayer[
+ clone=title.BFH.partnerlogo,
+]{BFH.headlinepartnerlogo}
+
+\DeclarePageStyleByLayers{bfh-headlinelogo}{scrheadings.foot.oneside,scrheadings.foot.odd,scrheadings.foot.even,BFH.headlinelogo}
+
+\DeclarePageStyleByLayers{bfh-headlinelogos}{scrheadings.foot.oneside,scrheadings.foot.odd,scrheadings.foot.even,BFH.headlinelogo,BFH.headlinepartnerlogo}
+
+\setkomafont{pageheadfoot}{\usekomafont{titlefooter}}
+
+\ifoot{\@titlefooterleft}
+\ofoot{\@titlefooterright}
+
+\setcounter{secnumdepth}{-1}
+
+\setkomafont{section}{\usekomafont{title}}
+\setkomafont{subsection}{\Large}
+
+%compact lists
+\renewcommand*{\labelitemi}{–}
+\edef\@list@extra{\@list@extra\topsep\z@\parsep\z@\itemsep\z@}
+\setlength{\leftmarginiv}{\leftmarginiii}
+\setlength{\leftmarginiii}{\leftmarginii}
+\setlength{\leftmarginii}{\leftmargini}
+\setlength{\leftmargini}{\dimexpr.5em+1ex}
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-layout-boxes.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-layout-boxes.cfg
new file mode 100644
index 0000000000..11264734e0
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-layout-boxes.cfg
@@ -0,0 +1,184 @@
+%% This is file `bfh-layout-boxes.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas HABEGGER <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bfh-layout-boxes.cfg}[2021/12/23 v2.0.0 boxes configuration for bfhlayout]
+\RequirePackage{bfhcolors}
+\RequirePackage{fontawesome}
+\PassOptionsToPackage{most}{tcolorbox}
+\RequirePackage{tcolorbox}
+%%
+%% Usage of "bfhBox" :
+%% \begin{bfhBox}{TITLE} Some Text \end{bfhBox}
+%% \begin{bfhBox}[SOME_COLOR]{TITLE} Some Text \end{bfhBox}
+%%
+\newtcolorbox{bfhBox}[2][BFH-MediumGreen]{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=#1!10,
+ colframe=#1!50,
+ boxrule=1pt,
+ title={\normalsize\sffamily\bfseries#2},
+}%
+
+\colorlet{BFH-warnbox}{BFH-Orange!10}
+\colorlet{BFH-warnboxframe}{BFH-Orange!50}
+
+\newtcolorbox{bfhWarnBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-warnbox,
+ colframe=BFH-warnboxframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-8pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faWarning}; }%
+}%
+
+\colorlet{BFH-alertbox}{BFH-DarkRed!10}
+\colorlet{BFH-alertboxframe}{BFH-DarkRed!50}
+
+\newtcolorbox{bfhAlertBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-alertbox,
+ colframe=BFH-alertboxframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-8pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faExclamationCircle}; }%
+}%
+
+\colorlet{BFH-notebox}{BFH-MediumBlue!10}
+\colorlet{BFH-noteboxframe}{BFH-MediumBlue!50}
+
+\newtcolorbox{bfhNoteBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-notebox,
+ colframe=BFH-noteboxframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-8pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faInfoCircle}; }%
+}%
+
+\colorlet{BFH-recyclebox}{BFH-MediumGreen!10}
+\colorlet{BFH-recycleframe}{BFH-MediumGreen!50}
+
+\newtcolorbox{bfhRecycleBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-recyclebox,
+ colframe=BFH-recycleframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-10pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faRecycle}; }%
+}%
+
+\colorlet{BFH-readbox}{BFH-MediumPurple!10}
+\colorlet{BFH-readboxframe}{BFH-MediumPurple!50}
+
+\newtcolorbox{bfhReadBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-readbox,
+ colframe=BFH-readboxframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-9pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faBook}; }%
+}%
+
+\colorlet{BFH-processingbox}{BFH-MediumOcher!10}
+\colorlet{BFH-processingboxframe}{BFH-MediumOcher!50}
+
+\newtcolorbox{bfhProcessingBox}{%
+ enhanced,
+ boxsep=1.5pt,
+ arc=.25ex,
+ colback=BFH-processingbox,
+ colframe=BFH-processingboxframe,
+ boxrule=1pt,
+ leftrule=24pt,
+ overlay unbroken and first ={%
+ \node[rotate=0,
+ minimum width=24mm,
+ anchor=south,
+ font=\normalsize\sffamily\bfseries,
+ yshift=-10pt,
+ xshift=12pt,
+ white]
+ at (frame.west) {\large\faCogs}; }%
+}%
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-layout-listings.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-layout-listings.cfg
new file mode 100644
index 0000000000..2a99235d73
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-layout-listings.cfg
@@ -0,0 +1,132 @@
+%% This is file `bfh-layout-listings.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesFile{bfh-layout-listings.cfg}[2021/12/23 v2.0.0 listings configuration for bfhlayout]
+\RequirePackage{bfhcolors}
+%% Hack to fix issue with float env used in listings package
+%% ref. : https://tex.stackexchange.com/questions/51867/koma-warning-about-toc
+\RequirePackage{scrhack}
+\RequirePackage{listings}
+%%
+\lstloadlanguages{[ANSI]C,C++,Matlab,[LaTeX]TeX,bash,python}
+%%
+%% ----- code highliting colors
+\definecolor{codegreen}{rgb}{0,0.6,0}
+\definecolor{codegray}{rgb}{0.5,0.5,0.5}
+\definecolor{codepurple}{rgb}{0.58,0,0.82}
+\definecolor{backcolor}{rgb}{0.95,0.95,0.92}
+%%
+\definecolor{datatype}{rgb}{0.58,0,0.82}
+\definecolor{decision}{rgb}{0.5,0.5,0.5}
+\definecolor{memory}{rgb}{0,0.6,0}
+\definecolor{special}{rgb}{0,0.6,0.6}
+%%
+%% ----- extend listing directory
+%%
+\lstdefinelanguage{VHDL}{
+ morekeywords={
+ library,use,all,entity,is,port,in,out,end,architecture,of,
+ begin,and,type,when,else,select,with,others,else,if,elsif,
+ signal,variable,std_logic,std_logic_vector,after,
+ },
+ morecomment=[l]--
+}
+%% -- Fixed width typewriter font for code and sans-serif font for comments in listings
+\lstset{%
+ basicstyle=\ttfamily\selectfont,
+ commentstyle=\sffamily\itshape\selectfont\color{codegreen},
+ keywordstyle=\bfseries\selectfont,
+ stringstyle=\color{codepurple},
+ directivestyle={\color{red}},
+ extendedchars=true,
+ showstringspaces=true,
+ columns=fixed, % columns in the source code are respected
+ aboveskip=\smallskipamount,
+ belowskip=\smallskipamount
+}%
+%%
+%% ------ BFH listing style definitions
+%%
+\lstdefinestyle{linebreaks}{%
+ breaklines,
+ breakatwhitespace,
+ numbers=none
+}%
+%%
+\lstdefinestyle{frame}{%
+ style=linebreaks,
+ basicstyle=\scriptsize\ttfamily\selectfont,
+ numbers=left,
+ numberstyle=\color{BFH-Gray!80},
+ xleftmargin={4pt},
+ captionpos=b,
+ frame=trbl,
+ frameround=tttt,
+ framesep=1mm,
+ basewidth=.5em,
+ framerule=0pt,
+ backgroundcolor=\color{BFH-Gray!10},
+ rulecolor=\color{BFH-Gray!80},
+ abovecaptionskip=\medskipamount,
+ belowcaptionskip=\medskipamount
+}%
+%%
+\lstdefinestyle{float}{%
+ style=frame,
+ float=tp
+}%
+%%
+%% ------ language specific pre-defines
+%%
+\lstdefinestyle{bfh-c}{%
+ language=C,
+ style=frame,
+ emph={printf,srand,scanf},
+ emphstyle=\bfseries\selectfont,
+}%
+%%
+\lstdefinestyle{bfh-cpp}{%
+ language=C++,
+ style=frame,
+ emph={cout,std,::,endl,cin},
+ emphstyle=\bfseries\selectfont,
+}%
+%%
+\lstdefinestyle{bfh-vhdl}{%
+ style=frame,
+ language=VHDL,
+}%
+%% default
+\lstset{
+ style=float,
+}%
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-layout-rules.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-layout-rules.cfg
new file mode 100644
index 0000000000..09a1ede007
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-layout-rules.cfg
@@ -0,0 +1,83 @@
+%% This is file `bfh-layout-rules.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-layout-rules.cfg}{2021/12/23}{2.0.0}{rules configuration for bfhlayout}
+
+\int_if_exist:NF \g_ptxcd_paper_int {
+ \int_new:N \g_ptxcd_paper_int
+ \keys_define:nn {ptxcd/rules} {
+ paper .choices:nn = {a0,a1,a2,a3,a4,a5}{
+ \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int
+ },
+ paper .initial:n = a4,
+ }
+}
+
+\dim_new:N \g__ptxcd_rule_dim
+\dim_new:N \g__ptxcd_rule_radius_dim
+
+\int_case:nnF {\g_ptxcd_paper_int} {
+ %A0
+ {1} {
+ \dim_gset:Nn \g__ptxcd_rule_dim {8.5mm}
+ \dim_gset:Nn \g__ptxcd_rule_radius_dim {2.1mm}
+ }
+ %A1
+ {2} {
+ \dim_gset:Nn \g__ptxcd_rule_dim {5.5mm}
+ \dim_gset:Nn \g__ptxcd_rule_radius_dim {1.6mm}
+ }
+ %A2
+ {3} {
+ \dim_gset:Nn \g__ptxcd_rule_dim {4.5mm}
+ \dim_gset:Nn \g__ptxcd_rule_radius_dim {1.2mm}
+ }
+ %A3
+ {4} {
+ \dim_gset:Nn \g__ptxcd_rule_dim {3.5mm}
+ \dim_gset:Nn \g__ptxcd_rule_radius_dim {.8mm}
+ }
+}{
+ \dim_gset:Nn \g__ptxcd_rule_dim {2.5mm}
+ \dim_gset:Nn \g__ptxcd_rule_radius_dim {.6mm}
+}
+
+\ExplSyntaxOff
+\RequirePackage{tikz}
+\ExplSyntaxOn
+
+\NewDocumentCommand{\bfhRule}{sO{\linewidth}}{
+ \par\nointerlineskip\skip_vertical:n {\g__ptxcd_rule_dim}
+ \noindent\tikz\path[fill=BFH-Gray,rounded~corners=\g__ptxcd_rule_radius_dim](0,0)rectangle(#2,\g__ptxcd_rule_dim);
+ \par\nointerlineskip\skip_vertical:n {\g__ptxcd_rule_dim}
+}
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-layout-tabular.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-layout-tabular.cfg
new file mode 100644
index 0000000000..30a2e9ad35
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-layout-tabular.cfg
@@ -0,0 +1,66 @@
+%% This is file `bfh-layout-tabular.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesExplFile{bfh-layout-tabular.cfg}{2021/12/23}{v2.0.0}{tabular and tabularray configuration for bfhlayout}
+
+\colorlet{BFH-table}{BFH-LightGreen!10}
+\colorlet{BFH-tablehead}{BFH-LightGreen!50}
+
+\def\BFHarraystretch{1.4}
+\def\BFHarrayrulewidth{.08em}
+
+\newcommand*{\setupBfhTabular}{%
+ \rowcolors*{1}{BFH-table}{BFH-table}
+ \arrayrulecolor{white}%
+ \let\arraystretch\BFHarraystretch%
+ \setlength{\arrayrulewidth}{\BFHarrayrulewidth}%
+}
+
+\newenvironment{bfhTabular}[2][c]{%
+ \setupBfhTabular
+ \begin{tabular}[#1]{#2}%
+ \rowcolor{BFH-tablehead}%
+ }{\end{tabular}}
+
+\cs_if_exist:NTF \AddToHook {\AddToHook {begindocument} [BFH-tblr]}
+ {\AtBeginDocument}
+{%
+ \cs_if_exist:NT \NewTblrEnviron {%
+ \NewTblrEnviron{bfhTblr}%
+ \SetTblrInner[bfhTblr]{%
+ rows = {bg=BFH-table},
+ hlines = {white,\BFHarrayrulewidth},
+ stretch=1.1,
+ row{1} = {bg=BFH-tablehead}
+ }
+ }
+}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-layout-terminal.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-layout-terminal.cfg
new file mode 100644
index 0000000000..fce09fcdcf
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-layout-terminal.cfg
@@ -0,0 +1,117 @@
+%% This is file `bfh-layout-tabular.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bfh-layout-tabular.cfg}[2021/12/23 v2.0.0 terminal configuration for bfhlayout]
+
+\RequirePackage{bfhcolors}
+\RequirePackage{tcolorbox}
+\RequirePackage{url}
+
+\tcbuselibrary{skins,xparse,listings}
+
+\colorlet{ubuntu-terminalBackground}{violet!50!black}
+\colorlet{ubuntu-terminalText}{white}
+\colorlet{ubuntu-terminalFrame}{gray!65!black}
+\colorlet{ubuntu-terminalFirstBullet}{orange}
+\colorlet{ubuntu-terminalSecondBullet}{gray}
+\colorlet{ubuntu-terminalThirdBullet}{gray}
+
+%define key because we receive an error for setting them in case minted isn't loaded
+\csname @ifpackageloaded\endcsname{minted}{}{
+ \tcbset{minted options/.style={}}
+}
+
+
+\newcommand{\BFHterminalFormatLine}{%
+ \def\FancyVerbFormatLine##1{\BFHterminalPrompt{}##1}%
+}
+\newtcblisting{ubuntu}{ %
+ colback=ubuntu-terminalBackground,
+ colupper=ubuntu-terminalText,
+ colframe=ubuntu-terminalFrame,
+ listing only,
+ listing options={style=tcblatex,language=sh,escapeinside=``,},
+ listing inputencoding=utf8,
+ minted options={escapeinside=\\`\\`,autogobble,formatcom=\BFHterminalFormatLine,breaklines,breaksymbol=\quad},
+ size=small,
+ halign title=flush left,
+ title={\textcolor{ubuntu-terminalFirstBullet}{\huge{$\bullet$}}{\textcolor{ubuntu-terminalSecondBullet}{\huge{$\bullet$}}}{\textcolor{ubuntu-terminalThirdBullet}{\huge{$\bullet$}}}},
+ every listing line={\BFHterminalPrompt{}}
+} %%
+
+\newcommand{\setupLinuxPrompt}[1]{\pgfkeys{/terminal/.cd,host=ubuntu,#1}%
+ \gdef\BFHterminalPrompt{\textcolor{\TerminalColor}{\small\ttfamily\bfseries \TerminalUser\url{@}\TerminalHost{\textcolor{ubuntu-terminalText}:}\textcolor{ubuntu-terminalText}{\url{~}}{\textcolor{ubuntu-terminalText}\TerminalPromptChar}\,}}
+ \lstset{backgroundcolor=}
+ \lstset{frame=}
+ \lstset{numberstyle=}
+} %%tabular
+
+\colorlet{macosx-terminalBackground}{white}
+\colorlet{macosx-terminalText}{black}
+\colorlet{macosx-terminalFrame}{gray!25}
+\colorlet{macosx-terminalFirstBullet}{red!65}
+\colorlet{macosx-terminalSecondBullet}{orange!52!yellow}
+\colorlet{macosx-terminalThirdBullet}{green!80!black}
+
+\newtcblisting{macos}{ %
+ colback=macosx-terminalBackground,
+ colupper=macosx-terminalText,
+ colframe=macosx-terminalFrame,
+ listing only,
+ listing options={style=tcblatex,language=sh,escapeinside=``},
+ listing inputencoding=utf8,
+ size=small,
+ halign title=flush left,
+ title={\textcolor{macosx-terminalFirstBullet}{\huge\ttfamily\bfseries{$\bullet$}\textcolor{macosx-terminalSecondBullet}{\huge\ttfamily\bfseries{$\bullet$}\textcolor{macosx-terminalThirdBullet}{\huge\ttfamily\bfseries{$\bullet$}}}}},
+ every listing line={\BFHterminalPrompt{}},
+ minted options={escapeinside=\\`\\`,autogobble,formatcom=\BFHterminalFormatLine,breaklines,breaksymbol=\quad}
+}
+
+\newcommand{\setupOSXPrompt}[1]{\pgfkeys{/terminal/.cd,host=macintosh,#1}%
+ \gdef\BFHterminalPrompt{\textcolor{\TerminalColor}{\small\ttfamily\bfseries \TerminalUser\url{@}\TerminalHost{\textcolor{macosx-terminalText}:}\textcolor{macosx-terminalText}{\url{~}}{\textcolor{macosx-terminalText}\TerminalPromptChar}\,}}
+} %%
+
+
+\pgfkeys{
+ /terminal/.cd,
+ user/.code={\gdef\TerminalUser{#1}},user={},
+ host/.code={\gdef\TerminalHost{#1}},host={},
+ color/.code={\gdef\TerminalColor{#1}},color=whyite,
+ prompt char/.code={\gdef\TerminalPromptChar{#1}},
+ prompt char=\$,
+ root/.style={user=root,color=BFH-MediumRed,prompt char=\#},
+ student/.style={user=student,color=BFH-LightGreen,prompt char=\$},
+ remote/.style={user=user,host=remotehost,color=BFH-LightPurple,prompt char=\$},
+} %%
+
+\newcommand{\StartConsole}{\gdef\BFHterminalPrompt{}}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfh-projectproposal.cfg b/macros/latex/contrib/bfh-ci/tex/bfh-projectproposal.cfg
new file mode 100644
index 0000000000..afa1ce4a14
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfh-projectproposal.cfg
@@ -0,0 +1,227 @@
+%% This is file `bfh-projectproposal.cfg' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesFile{bfh-projectproposal.cfg}[2021/12/23 v2.0.0 projectproposal configuration for bfhlayout]
+\KOMAoptions{headsepline=false}
+\clearpairofpagestyles
+
+\savegeometry{BFH-base}
+
+\geometry{top=\g_ptxcd_topLogoMargin_dim,headheight=\box_ht:N \g__ptxcd_logo_box}
+
+\DeclareNewLayer[
+ clone=title.BFH.logo,
+ contents={\putLL{\box_use:N \g__ptxcd_logo_box}}
+]{BFH.headlinelogo}
+
+\DeclareNewLayer[
+ clone=title.BFH.partnerlogo
+]{BFH.headlinepartnerlogo}
+
+\DeclarePageStyleByLayers{bfh-projectproposal}{scrheadings.foot.oneside,scrheadings.foot.odd,scrheadings.foot.even,BFH.headlinelogo,BFH.headlinepartnerlogo}
+\pagestyle{bfh-projectproposal}
+\renewcommand*{\titlepagestyle}{bfh-projectproposal}
+
+\setkomafont{pageheadfoot}{\usekomafont{titlefooter}}
+\addtokomafont{subject}{\itshape}
+
+\ifoot{\@titlefooterleft}
+\ofoot{\@titlefooterright}
+
+\setcounter{secnumdepth}{-1}
+
+%compact lists
+\renewcommand*{\labelitemi}{–}
+\edef\@list@extra{\@list@extra\topsep\z@\parsep\z@\itemsep\z@}
+\setlength{\leftmarginiv}{\leftmarginiii}
+\setlength{\leftmarginiii}{\leftmarginii}
+\setlength{\leftmarginii}{\leftmargini}
+\setlength{\leftmargini}{\dimexpr.5em+1ex}
+
+%titlepage
+
+\date{}
+
+\renewcommand*{\@maketitle}{%
+ \begingroup
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+ \__ptxcd_print_title:
+ \tl_if_empty:NF \g__ptxcd_PP_ProjectDescription_tl {\par\g__ptxcd_PP_ProjectDescription_tl\par}
+ \skip_vertical:n {\g_ptxcd_rule_height_dim+.5\box_ht:N \g__ptxcd_logo_box}
+ \endgroup
+ \@thanks\let\@thanks\@empty
+}
+
+\bool_new:N \l__ptxcd_title_dates_bool
+
+\providecommand*{\coadvisorname}{\GetTranslation{Co-advisor}}
+\providecommand*{\advisorname}{\GetTranslation{Advisor}}
+\providecommand*{\projectpartnername}{\GetTranslation{Project~partner}}
+\providecommand*{\expertname}{\GetTranslation{Expert}}
+
+\providecommand*{\projectstartdatename}{\GetTranslation{Project~start}}
+\providecommand*{\studysubmissiondatename}{\GetTranslation{Pre-study~submission}}
+\providecommand*{\reportsubmissiondatename}{\GetTranslation{Report~submission}}
+\providecommand*{\presentationdatename}{\GetTranslation{Presentation}}
+
+\cs_new:Nn \ptxcd_title_data_field:n {
+ \tl_if_empty:cF {@#1} {
+ \use:c {#1name} & \use:c {@#1}\\
+ }
+}
+
+\cs_set:Nn \__ptxcd_print_title: {
+ \begingroup
+ \usekomafont{disposition}
+ {\usekomafont{title}\@title\par}
+ \ifx\@subtitle\@empty\else{\medskip\usekomafont{subtitle}\@subtitle\par}\fi
+ \smallskip
+ \ifx\@subject\@empty\else{\usekomafont{subject}\@subject\par\smallskip}\fi
+ \ifx\@author\@empty\else{\usekomafont{author}\@author\par\smallskip}\fi
+ \endgroup
+ \tl_if_blank:eTF {
+ \@projectstartdate
+ \@studysubmissiondate
+ \@reportsubmissiondate
+ \@presentationdate
+ }
+ {\bool_set_false:N \l__ptxcd_title_dates_bool}
+ {\bool_set_true:N \l__ptxcd_title_dates_bool}
+
+ \begin{tabular}{@{}p{0.2\linewidth}p{\dimexpr.3\linewidth-2\tabcolsep-.5\columnsep}@{}}%
+ \ptxcd_title_data_field:n {advisor}
+ \ptxcd_title_data_field:n {coadvisor}
+ \bool_if:NT \l__ptxcd_title_dates_bool
+ {
+ \ptxcd_title_data_field:n {projectpartner}
+ \ptxcd_title_data_field:n {expert}
+ }
+ \end{tabular}\hfill
+ \begin{tabular}{@{}p{0.2\linewidth}p{\dimexpr.33\linewidth-2\tabcolsep-.5\columnsep}@{}}%
+ \bool_if:NF \l__ptxcd_title_dates_bool
+ {
+ \ptxcd_title_data_field:n {projectpartner}
+ \ptxcd_title_data_field:n {expert}
+ }
+ \ptxcd_title_data_field:n {projectstartdate}
+ \ptxcd_title_data_field:n {studysubmissiondate}
+ \ptxcd_title_data_field:n {reportsubmissiondate}
+ \ptxcd_title_data_field:n {presentationdate}
+ \end{tabular}
+ \par\medskip
+ \tl_if_blank:eF {\@date\@version}{
+ \usekomafont{date}
+ \ifx\@version\@empty
+ \@date
+ \else\GetTranslation{version-of-date}
+ \fi
+ \par\smallskip
+ }
+ \ifx\@publishers\@empty\else{\usekomafont{publishers}\@publishers\par}\fi
+}
+
+\clist_map_inline:nn {advisor, coadvisor, projectpartner, expert, projectstartdate, studysubmissiondate, reportsubmissiondate, presentationdate} {
+ \cs_if_exist:cF {#1} {
+ \cs_new_nopar:cpn {#1} ##1 {\exp_args:Nc \def {@#1} {##1}}
+ \use:c {#1} {}
+ }
+}
+
+\tl_new:N \g__ptxcd_PP_ProjectDescription_tl
+\NewDocumentEnvironment{ProjectDescription}{+b}{}{\tl_gset:Nn \g__ptxcd_PP_ProjectDescription_tl {#1}}
+
+
+% RatingChart
+
+\colorlet{competenceRating-color}{BFH-DarkRed}
+
+
+\keys_define:nn {ptxcd/CompetenceChart} {
+ radius .dim_set:N = \l__ptxcd_CompetenceChart_radius_dim,
+ radius .initial:n = .35\linewidth,
+ max-weight .int_set:N = \l__ptxcd_Competencechart_maxweight_int,
+ max-weight .initial:n = {6},
+ color .code:n = \colorlet{BFH-competenceRating}{#1},
+ color .initial:n = BFH-DarkRed,
+}
+
+\seq_new:N \l__ptxcd_projectProposal_competence_rating_seq
+\tl_new:N \l__ptxcd_Competence_tl
+\tl_new:N \l__ptxcd_Competence_path_tl
+
+\cs_new:Npn \__ptxcd_Competence_get_weight:w #1 = #2 \q_stop {#2}
+\cs_new:Npn \__ptxcd_Competence_get_label:w #1 = #2 \q_stop {#1}
+
+\cs_new:Nn \__ptxcd_Competence_weight:n {
+ \__ptxcd_Competence_get_weight:w #1 \q_stop
+}
+
+\cs_generate_variant:Nn \__ptxcd_Competence_weight:n {e}
+
+\cs_new:Nn \__ptxcd_Competence_label:n {
+ \__ptxcd_Competence_get_label:w #1 \q_stop
+}
+\cs_generate_variant:Nn \__ptxcd_Competence_label:n {e}
+
+\int_new:N \l__ptxcd_projectProposal_competence_angle_int
+\dim_new:N \l__ptxcd_CompetenceChart_radius_step_dim
+
+\NewDocumentCommand{\DisplayCompetenceRatingChart}{om}
+{
+ \begingroup
+ \IfNoValueF{#1}{\keys_set:nn {ptxcd/CompetenceChart} {#1}}
+ \seq_set_from_clist:Nn \l__ptxcd_projectProposal_competence_rating_seq {#2}
+ \int_set:Nn \l__ptxcd_projectProposal_competence_angle_int {360/\seq_count:N \l__ptxcd_projectProposal_competence_rating_seq}
+ \dim_set:Nn \l__ptxcd_CompetenceChart_radius_step_dim {\l__ptxcd_CompetenceChart_radius_dim/(\seq_count:N \l__ptxcd_projectProposal_competence_rating_seq+1)}
+ \begin{tikzpicture}[rotate=\int_eval:n {90-\l__ptxcd_projectProposal_competence_angle_int},x=\l__ptxcd_CompetenceChart_radius_step_dim,y=\l__ptxcd_CompetenceChart_radius_step_dim]
+ % draw the background
+ \int_step_inline:nnnn {\l__ptxcd_projectProposal_competence_angle_int} {\l__ptxcd_projectProposal_competence_angle_int} {360} {
+ \draw(0,0) -- (\int_eval:n {##1}\c_colon_str\l__ptxcd_CompetenceChart_radius_dim);
+ }
+ \int_step_inline:nn {\l__ptxcd_Competencechart_maxweight_int} {
+ \draw [black!40] (0\c_colon_str##1) \foreach \a in {0,\int_use:N \l__ptxcd_projectProposal_competence_angle_int,...,360}{
+ -- (\a\c_colon_str##1)
+ } -- cycle;
+ \int_step_inline:nnnn {\l__ptxcd_projectProposal_competence_angle_int} {\l__ptxcd_projectProposal_competence_angle_int} {360} {
+ \fill (####1\c_colon_str##1) circle (1pt);
+ }
+ }
+ \tl_clear:N \l__ptxcd_Competence_path_tl
+ %expand path before used in path to avoid expansion bugs
+ \int_step_inline:nn {\seq_count:N \l__ptxcd_projectProposal_competence_rating_seq} {
+ \tl_put_right:Nx \l__ptxcd_Competence_path_tl {(\int_eval:n {##1*\l__ptxcd_projectProposal_competence_angle_int}\c_colon_str\__ptxcd_Competence_weight:e {\seq_item:Nn \l__ptxcd_projectProposal_competence_rating_seq {##1}})--}
+ \node[anchor=\int_eval:n {(##1-1)*\l__ptxcd_projectProposal_competence_angle_int-90}] at (\int_eval:n {##1*\l__ptxcd_projectProposal_competence_angle_int}\c_colon_str\l__ptxcd_CompetenceChart_radius_dim) {\__ptxcd_Competence_label:e {\seq_item:Nn \l__ptxcd_projectProposal_competence_rating_seq {##1}}};
+ }
+ \exp_last_unbraced:Nno \use:n {\draw[color=BFH-competenceRating,fill=BFH-competenceRating!50,line~width=1.5pt,opacity=0.5]}
+ \l__ptxcd_Competence_path_tl cycle;
+ \end{tikzpicture}
+ \endgroup
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhbeamer.cls b/macros/latex/contrib/bfh-ci/tex/bfhbeamer.cls
new file mode 100644
index 0000000000..66da85d5f5
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhbeamer.cls
@@ -0,0 +1,107 @@
+%% This is file `bfhbeamer.cls' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{bfhbeamer}[2021/12/23 v2.0.0 BFH-CI beamer layout, CI of Bern University of Applied Sciences]
+
+\RequirePackage{l3keys2e}
+\PassOptionsToPackage{table}{xcolor}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Option Processing START
+
+\ExplSyntaxOn
+\bool_new:N \g__ptxcd_handoutWithNotes_bool
+
+\keys_define:nn {ptxcd/beamer} {
+ authorontitle .code:n = \PassOptionsToPackage{authorontitle=#1}{beamerinnerthemeBFH},
+ logofile .code:n = \PassOptionsToPackage{logofile=#1}{beamerinnerthemeBFH},
+ enforce-title-logo .code:n = \PassOptionsToPackage{enforce-title-logo=#1}{beamerinnerthemeBFH},
+ beamerarticle .bool_gset:N = \g__ptxcd_beamerarticle_bool,
+ printNotes .code:n = \bool_gset_true:N \g__ptxcd_handoutWithNotes_bool \PassOptionsToPackage{beamer-notes=true}{handoutWithNotes},
+ tabletNotes .code:n = \PassOptionsToClass{handout}{beamer},
+ paperNotes .code:n = \bool_gset_true:N \g__ptxcd_handoutWithNotes_bool,
+}
+\ExplSyntaxOff
+
+\PassOptionsToClass{aspectratio=169}{beamer}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{beamer}}
+\ProcessKeysOptions{ptxcd/beamer}
+\ProcessOptions\relax
+
+\ExplSyntaxOn
+\bool_if:NT \g__ptxcd_beamerarticle_bool {
+ \LoadClassWithOptions{bfhpub}
+ \endinput
+}
+\ExplSyntaxOff
+
+%% Option Processing END
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\LoadClass{beamer}
+
+\ExplSyntaxOn
+\dim_new:N \g__ptxcd_logo_height_dim
+\dim_gset:Nn \g__ptxcd_logo_height_dim {0.125\paperheight}
+
+\setbeamersize{
+ text~margin~left=.6\g__ptxcd_logo_height_dim, text~margin~right=.6\g__ptxcd_logo_height_dim
+}
+
+\ExplSyntaxOff
+
+\usetheme{BFH}
+
+\ExplSyntaxOn
+\bool_if:NT \g__ptxcd_handoutWithNotes_bool {
+ \RequirePackage{handoutWithNotes}
+ \pgfpagesuselayout{3~on~1~with~notes}[a4paper,border~shrink=5mm]
+}
+
+
+\msg_new:nnn {bfhbeamer} {module-not-found} {
+ You~tried~to~load~the~BFH~layout~module~#1.\\
+ I~could~not~find~a~file~named~bfh-layout-#1.cfg.
+}
+
+\newcommand*\LoadBFHModule[1]{
+ \clist_map_inline:nn {#1} {
+ \file_if_exist_input:nF {bfh-layout-##1.cfg}
+ {\msg_error:nnn {bfhbeamer} {module-not-found} {##1}}
+ }
+}
+
+\ExplSyntaxOff
+
+\LoadBFHModule{tabular}
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhcolors.sty b/macros/latex/contrib/bfh-ci/tex/bfhcolors.sty
new file mode 100644
index 0000000000..e45e03896e
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhcolors.sty
@@ -0,0 +1,122 @@
+%% This is file `bfhcolors.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas HABEGGER <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\RequirePackage{expl3}
+\ProvidesExplPackage{bfhcolors}{2021/12/23}{2.0.0}{color setup for BFH-CI, CI of Bern Universitry of Applied Sciences}
+
+\RequirePackage{l3keys2e}
+\tl_new:N \g__ptxcd_colormode_tl
+\tl_gset:Nn \g__ptxcd_colormode_tl {4CU}
+
+\keys_define:nn {ptxcd/colors} {
+ coated .bool_gset:N = \g__ptxcd_color_coated_bool,
+ coated .default:n = true,
+ coated .initial:n = false,
+ colormode .choice:,
+ colormode / 4CU .code:n = {
+ \keys_set:nn {ptxcd/colors} {coated=false}
+ \PassOptionsToPackage{cmyk}{xcolor}
+ \tl_gset:Nn \g__ptxcd_colormode_tl {4CU}
+ },
+ colormode / 4CC .code:n = {
+ \keys_set:nn {ptxcd/colors} {coated=true}
+ \PassOptionsToPackage{cmyk}{xcolor}
+ \tl_gset:Nn \g__ptxcd_colormode_tl {4CC}
+ },
+ colormode / RGB .code:n = {
+ \PassOptionsToPackage{rgb}{xcolor}
+ \tl_gset:Nn \g__ptxcd_colormode_tl {RGB}
+ },
+ colormode / SW .code:n = {
+ \PassOptionsToPackage{gray}{xcolor}
+ \tl_gset:Nn \g__ptxcd_colormode_tl {SW}
+ },
+ colormode / 1C .meta:n = {colormode=SW},
+ RGB .meta:n = {colormode=RGB},
+ rgb .meta:n = {colormode=RGB},
+ cmyk .meta:n = {colormode = 4CU},
+ gray .meta:n = {colormode= SW},
+}
+\ProcessKeysOptions{ptxcd/colors}
+
+\RequirePackage{xcolor}
+
+\bool_if:NTF \g__ptxcd_color_coated_bool
+%coated definitions
+{
+ % Primary colors
+ \definecolorset[named]{RGB/cmyk}{BFH-}{}{%
+ Gray,105,125,145/0.55,0,0,0.6;%
+ Orange,250,195,0/0.00,0.25,1,0}
+ % Secondary colors
+ \definecolorset[named]{RGB/cmyk}{BFH-}{}{%
+ DarkGreen,85,100,85/.65,.3,.65,.3;%
+ MediumGreen,105,150,115/.5,0,.4,.15;%
+ LightGreen,140,175,130/.35,0,.35,.10;%
+ DarkBlue,80,110,150/.7,.4,0,.2;%
+ MediumBlue,105,155,190/.6,.25,0,0;%
+ LightBlue,135,185,200/.40,.05,.05,.05;%
+ DarkPurple,100,80,120/.5,.6,0,.35;%
+ MediumPurple,130,90,125/.25,.55,0,.3;%
+ LightPurple,160,135,170/.3,.4,0,0;%
+ DarkOcher,120,100,80/.2,.3,.4,.35;%
+ MediumOcher,150,130,95/.1,.2,.4,.25;%
+ LightOcher,185,145,100/.1,.25,.40,.05;%
+ DarkRed,180,20,40/.15,1,.8,.1;%
+ MediumRed,210,90,80/.05,.75,.6,.1;%
+ LightRed,255,145,125/.05,.50,.45,.1}%
+}
+%uncoated definitions
+{
+ % If the coated option was not passed, define the BFH colors in RGB and CMYK uncoated as the default.
+ % Primary colors
+ \definecolorset[named]{RGB/cmyk}{BFH-}{}{%
+ Gray,105,125,145/0.55,0,0,.5;%
+ Orange,250,195,0/0,0.2,1,0}
+ % Secondary colors
+ \definecolorset[named]{RGB/cmyk}{BFH-}{}{%
+ DarkGreen,85,100,85/.6,.2,.6,.35;%
+ MediumGreen,105,150,115/.55,0,.55,.10;%
+ LightGreen,140,175,130/.4,0,.5,.05;%
+ DarkBlue,80,110,150/.70,.40,0,.15;%
+ MediumBlue,105,155,190/.55,.1,0,.1;%
+ LightBlue,135,185,200/.4,0,.10,.05;%
+ DarkPurple,100,80,120/.6,.8,.05,.15;%
+ MediumPurple,130,90,125/.35,.7,.1,.15;%
+ LightPurple,160,135,170/.3,.45,.05,0;%
+ DarkOcher,120,100,80/.35,.45,.65,.25;%
+ MediumOcher,150,130,95/.25,.3,.6,.15;%
+ LightOcher,185,145,100/.1,.25,.6,.1;%
+ DarkRed,180,20,40/.05,1,.8,.05;%
+ MediumRed,210,90,80/0,.75,.6,.1;%
+ LightRed,255,145,125/.05,.5,.45,.05}%
+}
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhfonts.sty b/macros/latex/contrib/bfh-ci/tex/bfhfonts.sty
new file mode 100644
index 0000000000..dfc11c24be
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhfonts.sty
@@ -0,0 +1,70 @@
+%% This is file `bfhfonts.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{bfhfonts}[2021/12/23 v2.0.0 BFH-CI (fonts Module)]
+
+\RequirePackage{iftex}
+\RequirePackage{anyfontsize}
+
+\ifPDFTeX
+ \RequirePackage{nunito}
+ \let\sfdefault\rmdefault
+ \RequirePackage{sourceserifpro}
+ \RequirePackage[T1]{fontenc}
+ \PackageWarning{bfhfonts.sty}{You are using pdfLaTeX. In case the official fonts have been installed on your system I can't use them.}
+\else
+ \RequirePackage{fontspec}
+ \IfFontExistsTF{UnitSlabPro}{
+ \setmainfont{UnitSlabPro}[
+ BoldFont=*-Bold,
+ ItalicFont=*-Italic,
+ ]
+ }{
+ \RequirePackage{sourceserifpro}
+ }
+ \IfFontExistsTF{UnitRoundedPro}{
+ \setsansfont{UnitRoundedPro}[
+ UprightFont =*-Light,
+ ItalicFont = *-LightItalic,
+ BoldFont=*,
+ ]
+ }{
+ \setsansfont{Nunito}[
+ UprightFont = *-Light,
+ ItalicFont = *-LightItalic,
+ BoldFont = *-Regular,
+ BoldItalicFont = *-Italic,
+ ]
+ }
+ \newcommand*{\ltseries}{\fontseries{l}\selectfont}
+\fi
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhlayout.sty b/macros/latex/contrib/bfh-ci/tex/bfhlayout.sty
new file mode 100644
index 0000000000..8700483f37
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhlayout.sty
@@ -0,0 +1,777 @@
+%% This is file `bfhlayout.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\def\fileversion{2.0.0}
+\def\filedate{2021/12/23}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{bfhlayout}[2021/08/17 -- v1.2.4 BFH style package (layout)]
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Process Options created for bfharticle
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{l3keys2e}
+
+\ExplSyntaxOn
+\int_new:N \g_ptxcd_paper_int
+\tl_new:N \g_ptxcd_titleimage_ratio_tl
+\bool_new:N \g__ptxcd_tmp_bool
+\bool_new:N \g_ptxcd_geometry_bool
+\bool_new:N \g_ptxcd_margins_bool
+
+\keys_define:nn {ptxcd/layout} {
+ margins .choice:,
+ margins / typearea .code:n ={
+ \bool_gset_true:N \g_ptxcd_margins_bool
+ \bool_gset_false:N \g_ptxcd_geometry_bool
+ },
+ margins / official .code:n ={
+ \bool_gset_true:N \g_ptxcd_margins_bool
+ \bool_gset_true:N \g_ptxcd_geometry_bool
+ },
+ margins / default .meta:n = {margins=typearea},
+ margins .initial:n = default,
+ invert-title .bool_gset:N = \g__ptxcd_title_inverted_bool,
+ invert-title .initial:n = false,
+ paper .choices:nn = {a0,a1,a2,a3,a4,a5}{
+ \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int
+ \exp_args:Nx \PassOptionsToPackage{paper=\l_keys_choice_tl}{typearea}
+ \exp_args:Nx \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry}
+ },
+ paper .initial:n = a4,
+ titleimage-ratio .choice:,
+ titleimage-ratio / 12 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {.5},
+ titleimage-ratio / 13 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {.333333},
+ titleimage-ratio / 23 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {.666666},
+ titleimage-ratio / 56 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {.833333},
+ titleimage-ratio / 34 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {.75},
+ titleimage-ratio / 1011 .code:n = \tl_gset:Nn \g_ptxcd_titleimage_ratio_tl {0.909090},
+ titleimage-ratio .initial:n = 12,
+ logo-language .code:n = \PassOptionsToPackage{language=#1}{bfhlogo},
+ trilingual .meta:n = {logo-language=de_fr_en},
+ bilingual .meta:n = {logo-language=de_fr},
+ monolingual .meta:n = {logo-language=default},
+ logofile .tl_gset:N = \g_ptxcd_logofile_tl,
+ logofile .initial:n =,
+ type .choices:nn = {publication,thesis,beamerarticle} {\tl_gset_eq:NN \g_ptxcd_pubType_tl \l_keys_choice_tl},
+ type / intern .code:n = {\keys_set:nn {ptxcd/pub} {titlepage=false}},
+ type / factsheet .code:n = \tl_gset:Nn \g_ptxcd_pubType_tl {factsheet}\keys_set:nn {ptxcd/layout} {margins=official}\KOMAoptions{titlepage=true},
+ type / projectproposal .code:n = \tl_gset:Nn \g_ptxcd_pubType_tl {projectproposal}\keys_set:nn {ptxcd/layout} {margins=official}\KOMAoptions{titlepage=false,parskip=half-},
+ type .initial:n = publication,
+ beamerarticle .meta:n = {type=beamerarticle},
+ landscape .bool_gset:N = \g_ptxcd_landscape_bool,
+ landscape .initial:n = false,
+}
+
+\ProcessKeysOptions{ptxcd/layout}
+
+%%
+\bool_if:NT \g_ptxcd_geometry_bool {
+ \bool_if:NT \g_ptxcd_margins_bool {
+ \dim_new:N \g_ptxcd_innerMargin_dim
+ \dim_new:N \g_ptxcd_outerMargin_dim
+ \dim_new:N \g_ptxcd_bottomMargin_dim
+ \dim_new:N \g_ptxcd_topMargin_dim
+ \dim_new:N \g_ptxcd_topLogoMargin_dim
+ \dim_new:N \g_ptxcd_columnSep_dim
+ \dim_gset:Nn \g_ptxcd_columnSep_dim {4mm}
+ %a4
+ \int_compare:nTF {\g_ptxcd_paper_int=5}
+ {
+ \bool_if:NTF \g_ptxcd_landscape_bool {
+ \dim_gset:Nn \g_ptxcd_topMargin_dim {12mm}
+ \dim_gset:Nn \g_ptxcd_bottomMargin_dim {14mm}
+ \dim_gset:Nn \g_ptxcd_innerMargin_dim {14mm}
+ \dim_gset:Nn \g_ptxcd_outerMargin_dim {11mm}
+ \dim_gset:Nn \g_ptxcd_topLogoMargin_dim {44mm}
+ }{
+ \dim_gset:Nn \g_ptxcd_topMargin_dim {12mm}
+ \dim_gset:Nn \g_ptxcd_bottomMargin_dim {13mm}
+ \dim_gset:Nn \g_ptxcd_innerMargin_dim {16mm}
+ \dim_gset:Nn \g_ptxcd_outerMargin_dim {12mm}
+ \dim_gset:Nn \g_ptxcd_topLogoMargin_dim {48mm}
+ }
+ }{
+ %a0, a1, a2,a3
+ \int_compare:nT {1<=\g_ptxcd_paper_int<=4}
+ {
+ \int_case:nn {\g_ptxcd_paper_int}
+ {
+ {1} {\dim_gset:Nn \g_ptxcd_outerMargin_dim {39mm}\dim_gset:Nn \g_ptxcd_columnSep_dim {12mm}}
+ {2} {\dim_gset:Nn \g_ptxcd_outerMargin_dim {28mm}\dim_gset:Nn \g_ptxcd_columnSep_dim {9mm}}
+ {3} {\dim_gset:Nn \g_ptxcd_outerMargin_dim {20mm}\dim_gset:Nn \g_ptxcd_columnSep_dim {6mm}}
+ {4} {\dim_gset:Nn \g_ptxcd_outerMargin_dim {14mm}}
+ }
+ \dim_gset_eq:NN \g_ptxcd_bottomMargin_dim \g_ptxcd_outerMargin_dim
+ \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim
+ \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim
+ }
+ %a5
+ \int_compare:nT {\g_ptxcd_paper_int<=6}
+ {
+ \bool_if:NTF \g_ptxcd_landscape_bool {
+ \dim_gset:Nn \g_ptxcd_topMargin_dim {7mm}
+ \dim_gset:Nn \g_ptxcd_bottomMargin_dim {13mm}
+ \dim_gset:Nn \g_ptxcd_innerMargin_dim {15mm}
+ \dim_gset:Nn \g_ptxcd_outerMargin_dim {10mm}
+ \dim_gset:Nn \g_ptxcd_topLogoMargin_dim {35mm}
+ }{
+ \dim_gset:Nn \g_ptxcd_topMargin_dim {7mm}
+ \dim_gset:Nn \g_ptxcd_bottomMargin_dim {11mm}
+ \dim_gset:Nn \g_ptxcd_innerMargin_dim {14mm}
+ \dim_gset:Nn \g_ptxcd_outerMargin_dim {9.75mm}
+ \dim_gset:Nn \g_ptxcd_topLogoMargin_dim {39mm}
+ }
+ }
+ }
+ }
+ \KOMAoptions{footlines=1}
+ \RequirePackage{geometry}
+ \geometry{
+ includefoot,
+ % footskip=\dim_eval:n {\footskip+\baselineskip},
+ top=\g_ptxcd_topMargin_dim,
+ inner=\g_ptxcd_innerMargin_dim,
+ outer=\dim_eval:n {\g_ptxcd_outerMargin_dim},
+ bottom=\dimexpr\g_ptxcd_bottomMargin_dim-\dp\strutbox,
+ columnsep= \g_ptxcd_columnSep_dim,
+ % footinclude,
+ }
+}
+\ExplSyntaxOff
+%%
+%% Loading necessary packages
+%% For Colors
+\PassOptionsToPackage{table}{xcolor}
+\RequirePackage{bfhcolors}
+\colorlet{BFH-info}{BFH-LightGreen}
+%% Helper macros
+%\RequirePackageWithOptions{bfhhelpers}
+%%% For page references
+\PassOptionsToPackage{lastpage,user}{zref}
+\RequirePackage{zref}
+%% For internationalization
+\RequirePackage{translations}
+\LoadDictionary{bfhtranslations}
+
+%% For Pagestyles
+\PassOptionsToPackage{automark,headsepline}{scrlayer-scrpage}
+\RequirePackage{scrlayer-scrpage}
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{bfhfonts}
+\RequirePackage{graphicx}
+%%
+%% ====================== In Package Translations ================================
+%% -----------------------
+%% author and
+%% -----------------------
+\DeclareTranslationFallback{and}{and}
+%% DE
+\DeclareTranslation{German}{and}{und}
+%% FR
+\DeclareTranslation{French}{and}{et}
+%% EN
+\DeclareTranslation{English}{and}{and}
+%% -----------------------
+%% page-of-pages
+%% -----------------------
+\DeclareTranslationFallback{page-of-pages}{page~\thepage\ of~\zpageref{LastPage}}
+%% DE
+\DeclareTranslation{German}{page-of-pages}{Seite~\thepage\ von~\zpageref{LastPage}}
+%% FR
+\DeclareTranslation{French}{page-of-pages}{page~\thepage\ sur~\zpageref{LastPage}}
+%% EN
+\DeclareTranslation{English}{page-of-pages}{page~\thepage\ of~\zpageref{LastPage}}
+%% -----------------------
+%% version-of-date
+%% -----------------------
+\DeclareTranslationFallback{version-of-date}{%
+ Version~\@version\ of~\@date
+}%
+%% DE
+\DeclareTranslation{German}{version-of-date}{%
+ Version~\@version\ vom~\@date
+}%
+%% FR
+\DeclareTranslation{French}{version-of-date}{%
+ Version~\@version\ de~\@date
+}%
+%% EN
+\DeclareTranslation{English}{version-of-date}{%
+ Version~\@version\ of~\@date
+}%
+%% -----------------------
+%%
+%% BFH Logos
+%%
+\PassOptionsToPackage{
+ variant=C,
+ height=67.5pt,%125% for a4
+}{bfhlogo}
+
+\ExplSyntaxOn
+\bool_if:NTF \g__ptxcd_title_inverted_bool {
+ \PassOptionsToPackage{invert-logo-colors=true}{bfhlogo}
+} {
+ \PassOptionsToPackage{invert-logo-colors=false}{bfhlogo}
+}
+
+\file_if_exist:nTF {bfhlogo.sty}
+{\RequirePackage{bfhlogo}}
+{
+ \tl_if_empty:NT \g_ptxcd_logofile_tl {
+ \msg_new:nnnn {bfh-ci} {missing-bfhlogo}
+ {I~could~not~find~the~bfhlogo~package.}
+ {Please~have~a~look~at~the~bfh-ci~documentation~for~more~information~or~provide~an~alternative~using~the~logofile~option.}
+ \msg_warning:nn {bfh-ci} {missing-bfhlogo}
+ }
+}
+
+\dim_if_exist:NF \g__ptxcd_logo_height_dim {
+ \dim_new:N \g__ptxcd_logo_height_dim
+ \dim_gset:Nn \g__ptxcd_logo_height_dim {67.5pt}
+}
+
+\box_if_exist:NF \g__ptxcd_logo_box {
+ \box_new:N \g__ptxcd_logo_box
+}
+
+\tl_if_empty:NF \g_ptxcd_logofile_tl {
+ \hbox_gset:Nn \g__ptxcd_logo_box {\includegraphics[height=\g__ptxcd_logo_height_dim]{\g_ptxcd_logofile_tl}}
+}
+
+%% -----------------------
+
+\providecommand{\Logo}{\g_ptxcd_logofile_tl}
+\providecommand{\Logoplain}{\g_ptxcd_logofile_tl}
+
+\ExplSyntaxOn
+\dim_new:N \g_ptxcd_rule_height_dim
+\dim_new:N \g_ptxcd_rule_arc_dim
+\file_input:n {bfh-a\int_eval:n {\g_ptxcd_paper_int -1} paper.clo}
+\ptxcd_setup_base_sizes:
+%% ============================== BFH Item List ==============================
+%%
+\@ifundefined {scr@fnt@labelitemi}{\newkomafont{labelitemi}{}}{}
+\setkomafont{labelitemi}{\color{BFH-Orange}}
+\cs_new:Nn \__ptxcd_itemlabel: {{\ifvmode\leavevmode\fi\usekomafont{labelitemi}\raise1.25pt\hbox{$\blacktriangleright$}}}
+\newcommand*{\bfhitemlabel}{\__ptxcd_itemlabel:\quad}
+\renewcommand*{\labelitemi}{\__ptxcd_itemlabel:}
+%%
+%%
+%% ===================== Set fonts for caption, chapter etc. ==================
+
+\colorlet{BFH-textaccentcolor}{BFH-Gray}
+%color all headers:
+\setkomafont{disposition}{\sffamily\bfseries\color{BFH-textaccentcolor}}
+
+\setkomafont{caption}{\sffamily\footnotesize\color{BFH-textaccentcolor}}
+\setkomafont{captionlabel}{\usekomafont{caption}\bfseries}
+
+\setkomafont{pageheadfoot}{\footnotesize\color{BFH-textaccentcolor}}
+\setkomafont{footnote}{\sffamily\color{BFH-textaccentcolor}}
+
+\setkomafont{pagenumber}{\sffamily\bfseries\small\color{BFH-Orange}}
+
+\RequirePackage{trimclip}
+
+\ExplSyntaxOn
+\colorlet{BFH-Title}{BFH-Gray}
+\setkomafont{title}{\Huge\color{BFH-Title}}
+\setkomafont{subtitle}{\large\color{BFH-Title}}
+\setkomafont{subject}{\normalsize\color{BFH-Title}}
+\setkomafont{author}{\normalsize\color{BFH-Title}}
+\setkomafont{date}{\normalsize\color{BFH-Title}}
+\setkomafont{publishers}{\normalsize\color{BFH-Title}}
+\newkomafont{titlefooter}{\color{BFH-Title}\sffamily\bfseries}
+
+\seq_new:N \g_ptxcd_author_seq
+
+\renewcommand*\author[1]{
+ \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1}
+}
+
+\renewcommand*{\@author}{%
+ \begingroup
+ \hyphenpenalty=100000
+ \seq_use:Nnnn \g_ptxcd_author_seq {~\GetTranslation{and}~} {,~} {~\&~}
+ \endgroup
+}
+
+\bool_if:NTF \g__ptxcd_title_inverted_bool
+{
+ \colorlet{BFH-titlebg}{BFH-Gray}
+ \colorlet{BFH-titlefg}{BFH-Orange}
+}{
+ \colorlet{BFH-titlebg}{BFH-Orange}
+ \colorlet{BFH-titlefg}{BFH-Gray}
+}
+
+%Titelseite
+\tl_new:N \g_ptxcd_titleimage_code_tl
+\tl_gset_eq:NN \g_ptxcd_titleimage_code_tl \c_empty_tl
+
+\box_new:N \l__ptxcd_titlegraphic_box
+\box_new:N \g__ptxcd_title_box
+
+\RequirePackage{xparse}
+
+\NewDocumentCommand{\titlegraphic}{sm}{
+ \IfBooleanTF{#1}{
+ \tl_gset:Nn \g_ptxcd_titleimage_code_tl {
+ \hbox_set:Nn \l__ptxcd_titlegraphic_box {\raisebox{\depth}{#2}}
+ \box_resize_to_wd:Nn \l__ptxcd_titlegraphic_box {\width}
+ \dim_compare:nTF {\box_ht:N \l__ptxcd_titlegraphic_box - \height> \c_zero_dim}
+ {
+ \dim_set:Nn \l_tmpa_dim {.5\box_ht:N \l__ptxcd_titlegraphic_box - .5\height}
+ \clipbox{0pt~\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }{
+ \box_resize_to_ht:Nn \l__ptxcd_titlegraphic_box {\height}
+ \dim_set:Nn \l_tmpa_dim {(\box_wd:N \l__ptxcd_titlegraphic_box - \width) / 2}
+ \clipbox{\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}~0pt}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }
+ }
+ }{
+ \tl_gset:Nn \g_ptxcd_titleimage_code_tl {#2}
+ }
+}
+
+\tl_new:N \g_ptxcd_partnerlogo_tl
+\newcommand{\partnerlogo}[1]{\tl_gset:Nn \g_ptxcd_partnerlogo_tl {#1}}
+
+\dim_new:N \g__ptxcd_titleimage_ht_dim
+
+
+\dim_gset:Nn \g__ptxcd_titleimage_ht_dim { \g_ptxcd_titleimage_ratio_tl\paperheight- \g_ptxcd_titleimage_ratio_tl\g_ptxcd_rule_height_dim}
+
+\exp_args:NV \tl_if_eq:nnT \g_ptxcd_pubType_tl {thesis} {
+ \dim_compare:nT {\g__ptxcd_titleimage_ht_dim > .666\paperheight} {
+ \msg_new:nnnn {ptxcd/layout} {incompatble-titleimage-ratio} {You~tried~to~set~the~titleimage-ratio~larger~than~23.\\This~is~not~allowed~for~theses.} {I~will~set~it~to~the~maximum~allowed~value~23.}
+ \msg_warning:nn {ptxcd/layout} {incompatble-titleimage-ratio}
+ \keys_set:nn {ptxcd/layout} {titleimage-ratio=23}
+ \dim_gset:Nn \g__ptxcd_titleimage_ht_dim { \g_ptxcd_titleimage_ratio_tl\paperheight- \g_ptxcd_titleimage_ratio_tl\g_ptxcd_rule_height_dim}
+ }
+}
+
+\DeclareNewLayer[
+ page,
+ height=\g__ptxcd_titleimage_ht_dim,
+ background,mode=picture,
+ contents={
+ \putLL{\color{BFH-titlebg}\rule{\layerwidth}{\layerheight}}
+ \putLL{\color{BFH-titlebg}
+ \let\width\layerwidth
+ \let\height\layerheight
+ \g_ptxcd_titleimage_code_tl
+ }
+ }
+]{title.BFH.image}
+
+\DeclareNewLayer[
+ page,
+ height=\dim_eval:n {\box_ht:N \g__ptxcd_title_box + \box_dp:N \g__ptxcd_title_box + \coverpagetopmargin+1.5\box_ht:N \g__ptxcd_logo_box},
+ background,mode=picture,
+ contents={
+ \putLL{\color{BFH-titlebg}\rule{\layerwidth}{\layerheight}}
+ \putLL{\color{BFH-titlebg}
+ \let\width\layerwidth
+ \let\height\layerheight
+ \g_ptxcd_titleimage_code_tl
+ }
+ }
+]{title.BFH.titlehead}
+
+\DeclareNewLayer[
+ mode=picture,
+ page,background,
+ voffset=\dim_eval:n {\box_ht:N \g__ptxcd_title_box + \box_dp:N \g__ptxcd_title_box + \coverpagetopmargin+1.5\box_ht:N \g__ptxcd_logo_box},
+ width=\paperwidth,height=\g_ptxcd_rule_height_dim,
+ contents={\putLL{\color{BFH-titlefg}\rule{\layerwidth}{\layerheight}}}
+]{title.BFH.titleheadrule}
+
+\bool_if:NTF \g_ptxcd_geometry_bool {
+ \def\coverpagetopmargin{\g_ptxcd_topMargin_dim}
+ \def\coverpagebottommargin{\g_ptxcd_bottomMargin_dim}
+ \def\coverpageleftmargin{\g_ptxcd_innerMargin_dim}
+ \def\coverpagerightmargin{\g_ptxcd_outerMargin_dim}
+}{
+ \def\coverpagetopmargin{.5\g__ptxcd_logo_height_dim}
+ \def\coverpagebottommargin{.5\g__ptxcd_logo_height_dim}
+ \def\coverpageleftmargin{.75\g__ptxcd_logo_height_dim}
+ \def\coverpagerightmargin{.75\g__ptxcd_logo_height_dim}
+}
+\DeclareNewLayer[background,foot,align=bl,
+ voffset=\paperheight-\coverpagebottommargin+.35\baselineskip,
+ width=\dimexpr\paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax,
+ contents={
+ \usekomafont{titlefooter}
+ \makebox[\linewidth]{
+ \@titlefooterleft\hfill
+ \@titlefooterright
+ }
+ }
+]{title.BFH.footer}
+
+\DeclareNewLayer[
+ mode=picture,
+ page,background,
+ voffset=\g__ptxcd_titleimage_ht_dim,
+ width=\paperwidth,height=\g_ptxcd_rule_height_dim,
+ contents={\putLL{\color{BFH-titlefg}\rule{\layerwidth}{\layerheight}}}
+]{title.BFH.rule}
+
+\DeclareNewLayer[
+ mode=picture,
+ foreground,
+ align=tl,
+ hoffset=\oddsidemargin+1in,
+ voffset=\coverpagetopmargin,
+ width=\box_wd:N \g__ptxcd_logo_box,
+ height=\box_ht:N \g__ptxcd_logo_box,
+ %width=\paperwidth,height=\g_ptxcd_rule_height_dim,
+ contents={\putLL{\box_use:N \g__ptxcd_logo_box}}
+]{title.BFH.logo}
+
+\DeclareNewLayer[
+ mode=picture,
+ foreground,
+ align=tr,
+ hoffset=\oddsidemargin+1in+\textwidth,
+ voffset=\coverpagetopmargin+\ht\strutbox,
+ width=\textwidth - \box_wd:N \g__ptxcd_logo_box,
+ height=\box_ht:N \g__ptxcd_logo_box,
+ contents={%
+ \putUL{%
+ \makebox[\layerwidth][r]{%
+ \let\width\layerwidth
+ \let\height\layerheight
+ \g_ptxcd_partnerlogo_tl}%
+ }%
+ }%
+]{title.BFH.partnerlogo}
+
+\DeclareNewPageStyleByLayers{title.BFH}{title.BFH.rule,title.BFH.image,title.BFH.footer}
+
+\DeclareNewPageStyleByLayers{titlehead.BFH}{title.BFH.titleheadrule,title.BFH.titlehead,title.BFH.logo,title.BFH.partnerlogo}
+\renewcommand*{\titlepagestyle}{titlehead.BFH}
+
+% The following macro is an adapted version of the corresponding KOMA-Script macro
+% Copyright (c) 1994-2019 Markus Kohm [komascript at gmx info]
+\renewcommand*{\maketitle}[1][1]{
+ \def\and{,~ }
+ \cs_if_exist_use:N \ptxcd_pass_TitleData:
+ \if@titlepage
+ \begin{titlepage}
+ \setcounter{page}{%
+ #1%
+ }%
+ \def\thefootnote{\fnsymbol{footnote}}
+ \edef\titlepage@restore{%
+ \noexpand\endgroup
+ \noexpand\global\noexpand\@colht\the\@colht
+ \noexpand\global\noexpand\@colroom\the\@colroom
+ \noexpand\global\vsize\the\vsize
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse
+ \noexpand\let\noexpand\titlepage@restore\noexpand\relax
+ }%
+ %always is coverpage!
+ \begingroup
+ \topmargin=\dimexpr \coverpagetopmargin-1in\relax
+ \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax
+ \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax
+ \textwidth=\dimexpr
+ \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax
+ \textheight=\dimexpr
+ \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax
+ \headheight=0pt
+ \headsep=0pt
+ \footskip=\baselineskip
+ \@colht=\textheight
+ \@colroom=\textheight
+ \vsize=\textheight
+ \columnwidth=\textwidth
+ \hsize=\columnwidth
+ \linewidth=\hsize
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+ \thispagestyle{title.BFH}
+ \vbox_to_ht:nn {\g__ptxcd_titleimage_ht_dim-\coverpagetopmargin}{
+ \makebox[\linewidth]{\leavevmode\box_use:N \g__ptxcd_logo_box\hfill\raisebox{\dim_eval:n {-\height+\box_ht:N \g__ptxcd_logo_box}}[0pt][0pt]{
+ \let\height\g__ptxcd_logo_height_dim
+ \g_ptxcd_partnerlogo_tl
+ }}
+ \par
+ \vfill
+ %Check if title should be placed above or below the rule
+ \bool_gset_false:N \g__ptxcd_tmp_bool
+ \dim_compare:nT {\g__ptxcd_titleimage_ht_dim > .75\paperheight} {\bool_gset_true:N \g__ptxcd_tmp_bool}
+ \bool_if:NTF \g__ptxcd_tmp_bool
+ {
+ \begingroup
+ \colorlet{BFH-Title}{BFH-titlefg}
+ \__ptxcd_print_title:
+ \endgroup
+ \bool_gset_false:N \g__ptxcd_tmp_bool
+ } {
+ \bool_gset_true:N \g__ptxcd_tmp_bool
+ }
+ \skip_vertical:n {\coverpagetopmargin}
+ \null
+ }
+ \nointerlineskip
+ \bool_if:NT \g__ptxcd_tmp_bool
+ {
+ \skip_vertical:n {\coverpagetopmargin}
+ \__ptxcd_print_title:
+ }
+ \@thanks\let\@thanks\@empty
+ \if@twoside
+ \@tempswatrue
+ \if@tempswa
+ \next@tpage
+ \begin{minipage}[t]{\textwidth}
+ \@uppertitleback
+ \end{minipage}\par
+ \vfill
+ \begin{minipage}[b]{\textwidth}
+ \@lowertitleback
+ \end{minipage}\par
+ \@thanks\let\@thanks\@empty
+ \fi
+ \fi
+ \ifx\@dedication\@empty
+ \else
+ \next@tdpage\null\vfill
+ {\centering\usekomafont{dedication}{\@dedication \par}}%
+ \vskip \z@ \@plus3fill
+ \@thanks\let\@thanks\@empty
+ \cleardoubleemptypage
+ \fi
+ \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi
+ \end{titlepage}
+ \setcounter{footnote}{0}%
+ \global\let\and\relax
+ \cleardoublepage
+ \else
+ \par
+ \@tempcnta=%
+ #1%
+ \relax\ifnum\@tempcnta=1\else
+ \ClassWarning{\KOMAClassName}{%
+ Optional argument of \string\maketitle\space ignored\MessageBreak
+ in `titlepage=false' mode%
+ }%
+ \fi
+ \ifx\@uppertitleback\@empty\else
+ \ClassWarning{\KOMAClassName}{%
+ non empty \string\uppertitleback\space ignored
+ by \string\maketitle\MessageBreak
+ in `titlepage=false' mode%
+ }%
+ \fi
+ \ifx\@lowertitleback\@empty\else
+ \ClassWarning{\KOMAClassName}{%
+ non empty \string\lowertitleback\space ignored
+ by \string\maketitle\MessageBreak
+ in `titlepage=false' mode%
+ }%
+ \fi
+ \begingroup
+ \let\titlepage@restore\relax
+ \def\thefootnote{\fnsymbol{footnote}}
+ \next@tdpage
+ \ifx\@extratitle\@empty
+ \ifx\@frontispiece\@empty\else \mbox{}\fi
+ \else
+ \@makeextratitle
+ \fi
+ \ifx\@frontispiece\@empty
+ \ifx\@extratitle\@empty\else\next@tdpage\fi
+ \else
+ \next@tpage
+ \@makefrontispiece
+ \next@tdpage
+ \fi
+ \if@twocolumn
+ \twocolumn[\@maketitle]
+ \else
+ \@maketitle
+ \fi
+ \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi
+ \global\let\@thanks\@empty
+ \endgroup
+ \fi
+}
+
+\renewcommand*{\@maketitle}{%
+ \begingroup
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+ \thispagestyle{title.BFH}
+ \hbox_gset:Nn \g__ptxcd_title_box {
+ \bool_if:NT \g__ptxcd_title_inverted_bool {\colorlet{BFH-Title}{white}}
+ \parbox{\textwidth}{
+ \__ptxcd_print_title:
+ }
+ }
+ \null
+ \skip_vertical:n {.5\box_ht:N \g__ptxcd_logo_box}
+ \box_use:N \g__ptxcd_title_box
+ \skip_vertical:n {\g_ptxcd_rule_height_dim+.5\box_ht:N \g__ptxcd_logo_box}
+ \endgroup
+ \@thanks\let\@thanks\@empty
+}
+
+\newcommand*{\versionformat}[1]{\enskip(#1)}
+
+\cs_new:Nn \__ptxcd_print_title: {
+ \usekomafont{disposition}
+ {\usekomafont{title}\@title\par}
+ \ifx\@subtitle\@empty\else{\medskip\usekomafont{subtitle}\@subtitle\par}\fi
+ \bigskip
+ \exp_args:NV \tl_if_eq:nnTF \g_ptxcd_pubType_tl {thesis} {
+ \begin{tabular}{@{}p{0.25\linewidth}@{\quad}p{\dimexpr.75\linewidth-1em}}%
+ \ifx\@degreeprogram\@empty\else
+ \GetTranslation{Degreeprogram} & \@degreeprogram \\
+ \fi
+ \GetTranslation{Author} & \@author \\
+ \ifx\@advisor\@empty\else
+ \GetTranslation{Advisor} & \@advisor \\
+ \fi
+ \ifx\@coadvisor\@empty\else
+ \GetTranslation{Co-advisor} & \@coadvisor \\
+ \fi
+ \ifx\@projectpartner\@empty\else
+ \GetTranslation{Project~partner} & \@projectpartner \\
+ \fi
+ \ifx\@expert\@empty\else
+ \GetTranslation{Expert} & \@expert \\
+ \fi
+ \end{tabular}\par\medskip
+ }{
+ \ifx\@subject\@empty\else{\usekomafont{subject}\@subject\par\smallskip}\fi
+ \ifx\@author\@empty\else{\usekomafont{author}\@author\par\smallskip}\fi
+ }
+ {
+ \usekomafont{date}
+ \ifx\@version\@empty\@date\else\GetTranslation{version-of-date}\fi
+ \par\smallskip
+ }
+ \ifx\@publishers\@empty\else{\usekomafont{publishers}\@publishers\par}\fi
+}
+
+\ExplSyntaxOff
+
+\providecommand*{\frontmatter}{%
+ \if@twoside\cleardoublepage\else\clearpage\fi
+ \@mainmatterfalse
+ \pagenumbering{roman}%
+}
+
+\providecommand*{\mainmatter}{%
+ \if@twoside\cleardoublepage\else\clearpage\fi
+ \@mainmattertrue
+ \pagenumbering{arabic}%
+}
+
+\providecommand*{\backmatter}{%
+ \if@twoside\cleardoublepage\else\clearpage\fi
+ \@mainmatterfalse
+}
+
+
+\ExplSyntaxOn
+\msg_new:nnn {bfhlayout} {module-not-found} {
+ You~tried~to~load~the~BFH~layout~module~#1.\\
+ I~could~not~find~a~file~named~bfh-layout-#1.cfg.
+}
+
+\seq_new:N \g__ptxcd_module_seq
+
+\newcommand*\LoadBFHModule[1]{
+ \clist_map_inline:nn {#1} {
+ \seq_if_in:NnF \g__ptxcd_module_seq {##1} {
+ \file_if_exist_input:nF {bfh-layout-##1.cfg}
+ {\msg_error:nnn {bfhlayout} {module-not-found} {##1}}
+ \seq_gpush:Nn \g__ptxcd_module_seq {##1}
+ }
+ }
+}
+
+\LoadBFHModule{tabular,rules}
+%type dependent config
+\file_if_exist_input:n {bfh-\g_ptxcd_pubType_tl.cfg}
+\ExplSyntaxOff
+
+%%
+%% Variables for titlepages other than the standard ones (like \title, \date, \author, etc)
+%%
+%%
+%% AuthorVariable declarations
+%%
+%% This class exposes the following variables to authors for use in the template.
+%% All variables are optional.
+%%
+%% \institution{} --- The company name i.e. Bern University of Applied Sciences
+%% \department{} --- The department i.e. Engineering and Information Technology
+%% \institute{} --- The instidute or faculty i.e. Micro and Medical Technology
+%% \subtitle{} --- A document Subtitle used for some document types
+%% \version{} --- (optional) Document version used on some documents when supplied
+%% \titlegraphic*{} --- (optional) Document titel page image used on some documents when supplied
+%%%%%%%%%%%%%%%%%%%%%%%
+%% General Variable Definitions
+%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\institution}[1]{\def\@institution{#1}}
+\institution{\GetTranslation{Bern University of Applied Sciences}}
+
+\providecommand*{\department}[1]{\def\@department{#1}}
+\department{}
+
+\providecommand*{\institute}[2][]{\def\@institute{#2}}
+\institute{}
+
+\providecommand*{\version}[1]{\def\@version{#1}}
+\version{}
+
+\providecommand{\titlefooterleft}[1]{\def\@titlefooterleft{#1}}
+\titlefooterleft{%
+ \begin{tabular}[b]{@{}l@{}}%
+ \ifx\@department\@empty\else
+ \bfhitemlabel\@department \\\par
+ \fi
+ \ifx\@institute\@empty\else
+ \bfhitemlabel\@institute
+ \fi
+ \end{tabular}%
+}
+
+\providecommand{\titlefooterright}[1]{\def\@titlefooterright{#1}}
+\titlefooterright{}
+
+\endinput
+%end of package bfhlayout.sty \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhletter.sty b/macros/latex/contrib/bfh-ci/tex/bfhletter.sty
new file mode 100644
index 0000000000..ef0393f6bc
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhletter.sty
@@ -0,0 +1,197 @@
+%% This is file `bfhletter.sty' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\ProvidesPackage{bfhletter}[2021/12/23 v2.0.0 letter layouts for BFH-CI, CI of Bern University of Applied Sciences]
+
+\PassOptionsToPackage{fromlogo=true,refline=false,addrfield=topaligned,pagenumber=botright}{scrletter}
+
+\RequirePackage{l3keys2e}
+
+\ExplSyntaxOn
+\keys_define:nn {ptxcd/letter} {
+ logofile .tl_gset:N = \g_ptxcd_letterlogofile_tl,
+ logofile .initial:n = BFH-logo_\g__ptxcd_colormode_tl,
+ colormode .code:n =\PassOptionsToPackage{colormode=#1}{bfhcolors},
+}
+\ExplSyntaxOff
+
+\ProcessKeysOptions{ptxcd/letter}
+
+\RequirePackage{scrletter}
+
+\RequirePackage{graphicx}
+\RequirePackage{bfhcolors}
+\RequirePackage{translations}
+\LoadDictionary{bfhtranslations}
+
+\ExplSyntaxOn
+\file_if_exist:nTF {\g_ptxcd_letterlogofile_tl.pdf}
+{\setkomavar{fromlogo}{\includegraphics[height=19mm]{\g_ptxcd_letterlogofile_tl}}}
+{
+ \msg_new:nnnn {bfh-ci} {missing-bfhlogo}
+ {I~could~not~find~the~bfhlogo~package.}
+ {Please~have~a~look~at~the~bfh-ci~documentation~for~more~information~or~provide~an~alternative~using~the~logofile~option.}
+ \msg_warning:nn {bfh-ci} {missing-bfhlogo}
+}
+
+
+\ExplSyntaxOff
+
+\PassOptionsToPackage{pass}{geometry}
+\RequirePackage{geometry}
+\AtBeginLetter{
+ \newgeometry{
+ includehead=false,
+ includefoot=false,
+ top=44.7mm,
+ bottom=21.8mm,
+ left=25.3mm,
+ right=36.7mm,
+ footskip=\dimexpr12.7mm-8bp\relax
+ }
+ \makeatletter
+ \input{bfhlettersize9.5pt.clo}
+ \makeatother
+}
+\AtEndLetter{\restoregeometry}
+
+\setkomavar{firsthead}{%
+ \if@logo
+ \rlap{\usekomavar{fromlogo}}%
+ \fi
+}
+
+\ExplSyntaxOn
+
+\setkomafont{placeanddate}{\small\sffamily}
+\newkomafont{ptxcd_location}{\sffamily\small}
+\setkomavar{specialmail}[]{\rule[-\dp\strutbox]{0pt}{5.9mm}}
+\setkomavar*{fromurl}{}
+\setkomavar*{fromemail}{}
+
+%DOKU neue komavars
+\newkomavar{frominstitution}
+\newkomavar{frominstitution-en}
+\newkomavar{fromfunction}
+
+\setplength{PPdatamatrixvskip}{1cm}
+\setkomavar{backaddress}{BFH\\\usekomavar{fromname}\\\usekomavar{fromaddress}}
+
+\setkomavar{backaddressseparator}{\space|\space}
+
+\@setplength{toaddrvpos}{\dimexpr51.8mm-7bp}
+\@setplength{toaddrhpos}{25.3mm}
+\@setplength{firstheadhpos}{25.3mm}
+\@setplength{locvpos}{22.9mm}
+\@setplength{refvpos}{\dimexpr94.6mm-\ht\strutbox}
+\@setplength{locwidth}{53mm}
+\@setplength{lochpos}{-139.3mm}
+
+\cs_set:Nn \__ptxcd_locfield: {%
+ \usekomafont{ptxcd_location}\usekomafont{fromaddress}
+ \raggedright
+ \setparsizes{\z@}{\z@}{\z@ plus 1fil}
+ \par@updaterelative
+ \begingroup
+ \int_compare:nT {0 < \@pageat <3} {
+ \ptxcd_letterpagemark:\\[\baselineskip]
+ }
+ \textbf{\GetTranslation{Bern~University~of~Applied~Sciences}}\\
+ \Ifkomavarempty{frominstitution}{}{%
+ {\parbox[t][2\baselineskip]{\linewidth}{\usekomavar[\raggedright]{frominstitution}}}
+ \\[.5\baselineskip]}%
+ \endgroup
+ \Ifkomavarempty{fromname}{}
+ {{\usekomafont{fromname}\usekomavar{fromname}}
+ \Ifkomavarempty{fromfunction}{}{\\\usekomavar{fromfunction}}
+ \\[\baselineskip]}%
+ \Ifkomavarempty{fromaddress}{}{\usekomavar{fromaddress}\\[\baselineskip]}%
+ \clist_map_inline:nn {fromphone, fromfax}{
+ \Ifkomavarempty{##1}{}{
+ \Ifkomavarempty*{##1}{}{\usekomavar*{##1}\space}\usekomavar{##1}\par
+ }
+ }
+ \par\vspace{.5\baselineskip}
+ \clist_map_inline:nn {fromemail, fromurl}{
+ \Ifkomavarempty{##1}{}{
+ \Ifkomavarempty*{##1}{}{\usekomavar*{##1}\space}\usekomavar{##1}\par
+ }
+ }
+ \strut\seq_use:Nn \g__ptxcd_reffields_seq {}
+}
+
+\seq_new:N \g__ptxcd_reffields_seq
+
+\tl_const:Nn \ptxcd_reffield_separator_tl {\\}
+
+\setkomavar{location}{\parbox[t][\useplength{locheight}][t]{\useplength{locwidth}}{\__ptxcd_locfield:}}
+
+\RequirePackage{bfhfonts}
+
+\cs_if_exist_use:NT \fontspec_font_if_exist:nT {{LucidaSansOT.otf} {
+ \setsansfont[
+ Ligatures=TeX,
+ ItalicFont=LucidaSansOT-Italic.otf,
+ BoldFont=LucidaSansOT-Demi.otf,
+ BoldItalicFont=LucidaSansOT-DemiItalic.otf,
+ ]{LucidaSansOT.otf}
+ }}
+
+\renewcommand*{\familydefault}{\sfdefault}
+
+\ExplSyntaxOff
+
+\if@refline
+\else
+ \renewcommand*{\@datefield}{%
+ {%
+ \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative
+ \@setplength{refwidth}{\useplength{locwidth}}%
+ \@setplength{refhpos}{-\useplength{lochpos}}%
+ \@tempswafalse
+ \move@topt\vskip\useplength{refvpos}%
+ \@tempswafalse
+ \rlap{\noindent\move@topl\hskip\useplength{refhpos}%
+ \vbox{\hsize\useplength{refwidth}%
+ \noindent
+ {\usekomafont{placeanddate}{\Ifkomavarempty{place}{}{%
+ \usekomavar{place}\usekomavar{placeseparator}}%
+ \usekomavar{date}}}%
+ }%
+ }%
+ \vskip\useplength{refaftervskip}%
+ }%
+ }
+\fi
+
+%signature raggedright
+\let\raggedsignature\raggedright
+
+\endinput
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhlettersize9.5pt.clo b/macros/latex/contrib/bfh-ci/tex/bfhlettersize9.5pt.clo
new file mode 100644
index 0000000000..6db499de20
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhlettersize9.5pt.clo
@@ -0,0 +1,107 @@
+%% This is file `bfhlettersize9.5pt.clo' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+\ProvidesFile{%
+ bfhlettersize9.5pt.clo%
+}[bfhletter font size class option]
+
+\def\normalsize{%
+ \@setfontsize\normalsize{9.5bp}{12.2bp}%
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI
+}
+\def\small{%
+ \@setfontsize\small{8bp}{9.6bp}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+}
+\def\footnotesize{%
+ \@setfontsize\footnotesize{7.5pt}\@xpt%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+}
+\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\def\large{\@setfontsize\large\@xiipt{14}}
+\def\Large{\@setfontsize\Large\@xivpt{18}}
+\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\def\huge{\@setfontsize\huge\@xxpt{25}}
+\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\normalsize
+\setlength\footnotesep {6.65\p@}
+\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop {0\p@ \@plus 1fil}
+\setlength\@fpsep {8\p@ \@plus 2fil}
+\setlength\@fpbot {0\p@ \@plus 1fil}
+\setlength\@dblfptop {0\p@ \@plus 1fil}
+\setlength\@dblfpsep {8\p@ \@plus 2fil}
+\setlength\@dblfpbot {0\p@ \@plus 1fil}
+\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep4\p@ \@plus2\p@ \@minus\p@}
+\let\@listI\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep \z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep \topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
+\@ifundefined{@list@extra}{}{%
+ \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
+ \l@addto@macro{\@listi}{\@list@extra}%
+ \let\@listI=\@listi
+ \l@addto@macro{\@listii}{\@list@extra}%
+ \l@addto@macro{\@listiii}{\@list@extra}%
+ \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}%
+ \l@addto@macro{\small}{\protect\add@extra@listi{sml}}%
+}
+\@listi
+\endinput
+%%
+%% End of file `bfhlettersize9.5pt.clo'.
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhpub.cls b/macros/latex/contrib/bfh-ci/tex/bfhpub.cls
new file mode 100644
index 0000000000..eb20168673
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhpub.cls
@@ -0,0 +1,89 @@
+%% This is file `bfhpub.cls' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas HABEGGER <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplClass{bfhpub}
+{2021/12/23}{2.0.0}{Publications using Corporate Design of BFH (BFH-CI)}
+
+\RequirePackage{l3keys2e}
+
+\str_const:Nn \c__ptxcd_base_str {pub}
+\tl_new:N \g_ptxcd_pub_class_tl
+
+\prop_new:N \g_ptxcd_clsopts_prop
+\prop_new:N \g_ptxcd_unknown_clsopts_prop
+\prop_gput:Nnn \g_ptxcd_clsopts_prop {titlepage} {firstiscover}
+\prop_gput:Nnn \g_ptxcd_clsopts_prop {captions} {nooneline}
+
+\keys_define:nn {ptxcd/pub} {
+ class .choice:,
+ class/report .meta:n = {class=scrreprt},
+ class/scrreprt .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrreprt},
+ class/article .meta:n = {class=scrartcl},
+ class/scrartcl .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrartcl},
+ class/book .meta:n = {class=scrbook},
+ class/scrbook .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrbook},
+ class .initial:n = scrartcl,
+ department .choice:,
+ department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default},
+ department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ type / factsheet .meta:n = {class=scrartcl},
+ beamerarticle .code:n = \PassOptionsToPackage{type=beamerarticle}{bfhlayout},
+ unknown .code:n = {\prop_gput:NVn \g_ptxcd_unknown_clsopts_prop \l_keys_key_tl {#1}},
+}
+
+\ProcessKeysOptions{ptxcd/pub}
+
+\prop_map_inline:Nn \g_ptxcd_clsopts_prop {
+ \tl_if_empty:nTF {#2}
+ {\PassOptionsToClass {#1} {\g_ptxcd_pub_class_tl}}
+ {\clist_map_inline:nn {#2} {\PassOptionsToClass {#1=##1} {\g_ptxcd_pub_class_tl}}}
+}
+
+\LoadClass{\g_ptxcd_pub_class_tl}
+
+\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop {
+ \cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} {
+ \tl_if_empty:nTF {#2}
+ {\KOMAoptions{#1}}
+ {\KOMAoption{#1}{#2}}
+ }
+}
+
+\RequirePackage{bfhlayout}
+
+%custom config depends on department_str
+\file_if_exist_input:n {bfh\g_ptxcd_department_str.cfg}
+\endinput
+%End of class bfhpub.cls
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhsciposter.cls b/macros/latex/contrib/bfh-ci/tex/bfhsciposter.cls
new file mode 100644
index 0000000000..d60284ecba
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhsciposter.cls
@@ -0,0 +1,577 @@
+%% This is file `bfhsciposter.cls' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplPackage{bfhsciposter}{2021/12/23}{2.0.0}{Scientific poster layout of BFH}
+
+\RequirePackage{l3keys2e}
+\prop_new:N \g_ptxcd_clsopts_prop
+\tl_new:N \g_ptxcd_boxstyle_tl
+\int_new:N \g_ptxcd_paper_int
+\str_new:N \g_ptxcd_department_str
+\str_const:Nn \c__ptxcd_base_str {sciposter}
+
+\dim_new:N \g_ptxcd_rule_height_dim
+\dim_new:N \g_ptxcd_rule_arc_dim
+
+\bool_new:N \g__ptxcd_ruled_footer_bool
+\bool_new:N \g__ptxcd_ruled_title_bool
+\bool_new:N \g__ptxcd_color_coated_bool
+
+\keys_define:nn {ptxcd/poster} {
+ footer .bool_gset:N = \g_ptxcd_poster_foot_bool,
+ footer .default:n = true,
+ footer .initial:n = true,
+ thanks .tl_gset:N = \g_ptxcd_footnote_label_tl,
+ thanks .initial:n = arabic*,
+ pdfa .bool_gset:N = \g_ptxcd_pdfa_bool,
+ pdfa .initial:n = false,
+ boxstyle .choice:,
+ boxstyle / plain .code:n = \tl_gset:Nn \g_ptxcd_boxstyle_tl {BFH-plain},
+ boxstyle / colored .code:n= \tl_gset:Nn \g_ptxcd_boxstyle_tl {BFH-colored},
+ boxstyle / framed .code:n= \tl_gset:Nn \g_ptxcd_boxstyle_tl {BFH-framed},
+ boxstyle / default .meta:n = {boxstyle=plain},
+ boxstyle .initial:n = default,
+ unknown .code:n = {\prop_gput:NVn \g_ptxcd_clsopts_prop \l_keys_key_tl {#1}},
+ paper .choices:nn = {a0,a1,a2,a3}{
+ \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int
+ \exp_args:Nx \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry}
+ },
+ paper .initial:n = a1,
+ fontsize .tl_gset:N = \g_ptxcd_fontsize_tl,
+ title .choice:,
+ title / default .meta:n = {title=large},
+ title / large .code:n = \bool_gset_false:N \g_ptxcd_smalltitle_bool,
+ title / small .code:n = \bool_gset_true:N \g_ptxcd_smalltitle_bool,
+ title .initial:n = default,
+ department .choice:,
+ department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default},
+ department .initial:n = default,
+ logo-language .tl_gset:N = \g__ptxcd_logo_language_tl,
+ invert-colors .meta:n = {invert-logo-colors,invert-title-colors,invert-footer-colors},
+ invert-logo-colors .bool_gset:N = \g__ptxcd_invert_logo_colors_bool,
+ invert-title-colors .bool_gset:N = \g__ptxcd_invert_title_colors_bool,
+ invert-footer-colors .bool_gset:N = \g__ptxcd_invert_footer_colors_bool,
+ logo-variant .tl_gset:N = \g__ptxcd_logo_variant_tl,
+ logo-file .tl_gset:N = \g__ptxcd_logo_file_tl,
+ logo .choice:,
+ logo / head .code:n = {
+ \bool_gset_true:N \g__ptxcd_LogoInHead_bool
+ \keys_set:nn {ptxcd/poster} {logo-variant=C}
+ },
+ logo / foot .code:n = {
+ \bool_gset_false:N \g__ptxcd_LogoInHead_bool
+ \keys_set:nn {ptxcd/poster} {logo-variant=B}
+ },
+ logo / top .meta:n = {logo=head},
+ logo / bottom .meta:n = {logo=foot},
+ logo .initial:n = foot,
+ logofile .tl_gset:N = \g_ptxcd_logofile_tl,
+ logofile .initial:n =,
+ coated .code:n = \bool_gset:Nn \g__ptxcd_color_coated_bool {#1}\PassOptionsToPackage{coated=#1}{bfhcolors},
+ title-style .choice:,
+ title-style / ruled .code:n = \bool_gset_true:N \g__ptxcd_ruled_title_bool,
+ title-style / plain .code:n = \bool_gset_false:N \g__ptxcd_ruled_title_bool,
+ title-style / default .meta:n = {title-style=plain},
+ title-style .initial:n = default,
+ footer-style .choice:,
+ footer-style / ruled .code:n = \bool_gset_true:N \g__ptxcd_ruled_footer_bool,
+ footer-style / plain .code:n = \bool_gset_false:N \g__ptxcd_ruled_footer_bool,
+ footer-style / default .meta:n = {footer-style=plain},
+ footer-style .initial:n = default,
+ style .meta:n = {title-style=#1,footer-style=#1},
+ style .initial:n = plain,
+ align-title .choice:,
+ align-title / left .code:n = \let\raggedtitle\raggedright,
+ align-title / right .code:n = \let\raggedtitle\raggedleft,
+ align-title / center .code:n = \let\raggedtitle\centering,
+}
+
+\let\raggedtitle\centering
+\let\raggedfooter\raggedright
+
+\ProcessKeysOptions{ptxcd/poster}
+
+\dim_new:N \g_ptxcd_margin_dim
+\bool_if:NTF \g_ptxcd_smalltitle_bool {
+ \file_input:n {bfh-a\int_use:N \g_ptxcd_paper_int paper.clo}
+ \ptxcd_setup_title_sizes:
+ \file_input:n {bfh-a\int_use:N \g_ptxcd_paper_int paper.clo}
+ \ptxcd_setup_base_sizes:
+}{
+ \int_gdecr:N \g_ptxcd_paper_int
+ \file_input:n {bfh-a\int_use:N \g_ptxcd_paper_int paper.clo}
+ \ptxcd_setup_title_sizes:
+ \ptxcd_setup_base_sizes:
+}
+
+\prop_gput:NnV \g_ptxcd_clsopts_prop {fontsize} \g_ptxcd_fontsize_tl
+
+\prop_map_inline:Nn \g_ptxcd_clsopts_prop {
+ \tl_if_empty:nTF {#2}
+ {\exp_args:NnV\PassOptionsToClass{#1}\l_tmpa_tl}
+ {\clist_map_inline:nn {#2} {\PassOptionsToClass{#1=##1}{scrartcl}}}
+}
+
+\ExplSyntaxOff
+\PassOptionsToClass{parskip=half-}{scrartcl}
+\LoadClass{scrartcl}
+
+% add switch?
+\PassOptionsToPackage{colormode=4CU}{bfhcolors}
+
+\RequirePackage{bfhfonts}
+
+\ExplSyntaxOn
+\file_if_exist:nTF {bfhlogo.sty}
+{\RequirePackage{bfhlogo}}
+{
+ \tl_if_empty:NT \g_ptxcd_logofile_tl {
+ \msg_new:nnnn {bfh-ci} {missing-bfhlogo}
+ {I~could~not~find~the~bfhlogo~package.}
+ {Please~have~a~look~at~the~bfh-ci~documentation~for~more~information~or~provide~an~alternative~using~the~logofile~option.}
+ \msg_warning:nn {bfh-ci} {missing-bfhlogo}
+ }
+ \RequirePackage{graphicx}
+}
+
+\box_if_exist:NF \g__ptxcd_logo_box {
+ \box_new:N \g__ptxcd_logo_box
+}
+
+\tl_if_empty:NF \g_ptxcd_logofile_tl {
+ \hbox_gset:Nn \g__ptxcd_logo_box {\includegraphics{\g_ptxcd_logofile_tl}}
+}
+\ExplSyntaxOff
+
+\RequirePackage{tikz}
+\usetikzlibrary{calc}
+
+\RequirePackage{tcolorbox}
+\tcbuselibrary{poster}
+
+\RequirePackage[margin=0pt]{geometry}
+\RequirePackage{xparse}% will be only necessary for old debian installations
+
+\ExplSyntaxOn
+
+%Font adjusments
+\renewcommand*{\familydefault}{\sfdefault}
+
+\setkomafont{title}{
+ \color{titlefgcolor}
+ \expandafter\fontsize\ptxcd_title_fontsize:\selectfont
+ \bfseries
+}
+
+\setkomafont{author}{\bfseries}
+\setkomafont{captionlabel}{\bfseries}
+
+\setkomafont{disposition}{\sffamily\bfseries}
+\setkomafont{section}{\large}
+\setkomafont{subsection}{\normalsize}
+
+\setkomafont{pagefoot}{\small}
+
+% end of font adjustments
+
+\RequirePackage{bfhcolors}
+\RequirePackage{qrcode}
+
+%Setup title
+\box_new:N \l_ptxcd_tmpa_box
+\box_new:N \g_ptxcd_titlegraphic_box
+\box_new:N \g_ptxcd_title_box
+\box_new:N \g_ptxcd_author_box
+\box_new:N \g_ptxcd_credit_box
+
+\tl_new:N \g_ptxcd_thanks_tl
+\newcommand*{\ptxcd_title@footnote}[2][1]{
+ \begingroup
+ \ptxcd_def_footnotelabel:
+ \footnotemark[#1]\,#2\quad
+ \endgroup
+}
+
+\tl_greplace_all:Nnn \g_ptxcd_footnote_label_tl {*} {{footnote}}
+\clist_map_inline:nn {alph, arabic, fnsymbol, Alph, roman, Roman} {
+ \tl_greplace_all:Nnn \g_ptxcd_footnote_label_tl {#1} {\use:c {#1}}
+}
+
+\cs_set:Nn \ptxcd_def_footnotelabel: {
+ \renewcommand*{\thefootnote}{\g_ptxcd_footnote_label_tl}
+}
+
+\pagestyle{empty}
+\renewcommand*{\title}[1]{\gdef \@title {#1}}
+
+\dim_new:N \g_ptxcd_footheight_dim
+\dim_gset:Nn \g_ptxcd_footheight_dim {2\g_ptxcd_margin_dim}%\dim_eval:n {}}% taken from PP template
+
+\box_new:N \g_ptxcd_footergraphics_box
+\newcommand*{\footergraphics}[1]{
+ \begingroup
+ \let\height\g_ptxcd_footheight_dim
+ \hbox_gset:Nn \g_ptxcd_footergraphics_box {#1}
+ \endgroup
+}
+
+\tl_new:N \g_ptxcd_poster_foot_tl
+\newcommand{\footer}[1]{
+ \tl_gset:Nn \g_ptxcd_poster_foot_tl {#1}
+}
+
+\tl_new:N \g_ptxcd_poster_qrcode_tl
+
+\msg_new:nnnn {bfhsciposter} {biblatex-required}{
+ You~tried~to~use~#1.\\
+ This~feature~requires~the~biblatex~package.
+} {
+ Try~to~remove~the~star~or~load~biblatex.
+}
+
+\NewDocumentCommand{\footerqrcode}{sm}{
+ \IfBooleanTF {#1} {
+ \cs_if_exist:NTF \blx@blxinit {
+ \begingroup
+ \blx@blxinit
+ \entrydata{#2}{
+ \tl_gset:Nx \g_ptxcd_poster_qrcode_tl{\thefield{url}}
+ }
+ \endgroup
+ }{
+ \msg_error:nnx {bfhsciposter} {biblatex-required} {\use:c{footerqrcode*}}
+ }
+ }{
+ \tl_gset:Nn \g_ptxcd_poster_qrcode_tl {#2}
+ }
+}
+
+%redefine \author to manage \and and \thanks
+
+\seq_new:N \g_ptxcd_author_seq
+
+\renewcommand*\author[1]{
+ \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1}
+}
+
+\msg_new:nnn{bfhsciposter} {unknown-language} {
+ You~selected~an~unknown~language~#1.\\
+ The~Variable~#2~does~not~have~a~predefined~value.\\
+ Ensure~to~redefine~#2~to~match~your~language.\\
+ Otherwise~the~ngerman~vaue~#3~will~be~used.
+}
+
+\providecommand*\authorandname{
+ \msg_warning:nnxxx{bfhsciposter} {unknown-language}
+ {\languagename} {\exp_not:N \authorandname} {und}
+ und
+}
+
+\defcaptionname{ngerman, german,swissgerman,nswissgerman}{\authorandname}{und}
+\defcaptionname{french}{\authorandname}{et}
+\defcaptionname{english, USenglish, american, UKenglish, british}{\authorandname}{and}
+
+\renewcommand*{\@author}{
+ \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~}
+}
+
+\newcommand\titlegraphic[1]{\def\@titlegraphic{#1}}
+\titlegraphic{}
+
+\newcommand{\institute}[1]{\def\@institute{#1}}
+\institute{}
+
+\newlength{\contentwidth}
+\setlength{\contentwidth}{\dimexpr\paperwidth-2\g_ptxcd_margin_dim\relax}
+\newlength{\contentheight}
+
+\tcbposterset{
+ coverage =
+ {
+ spread,
+ parbox=false,
+ bottom=\dim_eval:n {
+ \g_ptxcd_margin_dim
+ \bool_if:NT \g_ptxcd_poster_foot_bool {+\g_ptxcd_footheight_dim}
+ \bool_if:NTF \g__ptxcd_ruled_footer_bool {+\g_ptxcd_margin_dim}
+ {+.5\g_ptxcd_margin_dim}
+ },
+ left=\g_ptxcd_margin_dim,
+ right=\g_ptxcd_margin_dim,
+ before= {\ptxcd_poster_setup_title_box:},
+ top= \dim_eval:n {
+ \box_ht:N \g_ptxcd_title_box
+ + \box_dp:N \g_ptxcd_title_box
+ + 1.25 \g_ptxcd_margin_dim
+ + \bool_if:NTF \g__ptxcd_ruled_title_bool {.5} {1.25} \g_ptxcd_margin_dim
+ },
+ overlay={%
+ \coordinate(topleft) at ([xshift=\g_ptxcd_margin_dim, yshift=-\g_ptxcd_margin_dim]current~page.north~ west);
+ \coordinate(topright) at ([xshift=-\g_ptxcd_margin_dim, yshift=-\g_ptxcd_margin_dim]current~page.north~ east);
+ \coordinate(bottomleft) at ([xshift=\g_ptxcd_margin_dim, yshift=\dim_eval:n {\bool_if:NTF \g__ptxcd_ruled_footer_bool {1}{.5}\g_ptxcd_margin_dim}]current~page.south~ west);
+ \coordinate(bottomright) at ([xshift=-\g_ptxcd_margin_dim, yshift=\dim_eval:n {\bool_if:NTF \g__ptxcd_ruled_footer_bool {1}{.5}\g_ptxcd_margin_dim}]current~page.south~ east);
+ \node[anchor=north~west,inner~sep=0pt,] (title) at (topleft) {\box_use:N \g_ptxcd_title_box};
+ \bool_if:NT \g__ptxcd_ruled_title_bool {\fill[titlerulecolor]([xshift=-\g_ptxcd_margin_dim,yshift=-.5\g_ptxcd_margin_dim]title.south~west)rectangle++(\paperheight,\g_ptxcd_rule_height_dim);}
+ \bool_if:NT \g_ptxcd_poster_foot_bool {\__ptxcd_typeset_footer:}
+ }
+ }
+}
+
+\cs_new:Nn \__ptxcd_typeset_footer: {
+ \coordinate(lastpos) at (bottomright);
+ \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl
+ {
+ \node[anchor=south~east, inner~sep=\z@] (qrcode)at (lastpos)
+ {
+ \exp_args:NnV \use:n {\qrcode[height=\dim_use:N \g_ptxcd_footheight_dim]}\g_ptxcd_poster_qrcode_tl
+ };
+ \coordinate (lastpos) at (qrcode.south~west);
+ }
+ \box_if_empty:NF \g_ptxcd_footergraphics_box {
+ \node[anchor=south~east, inner~sep=\z@] at (lastpos) {
+ \box_use:N \g_ptxcd_footergraphics_box
+ };
+ }
+ \bool_if:NTF \g__ptxcd_LogoInHead_bool {
+ \node[inner~sep=\z@,anchor=south~west] (footerlogo) at (bottomleft) {\rule{0pt}{\g_ptxcd_footheight_dim}};
+ }{
+ \box_if_empty:NF \g__ptxcd_logo_box {\box_gresize_to_ht_plus_dp:Nn \g__ptxcd_logo_box {\g_ptxcd_footheight_dim}}
+ \node[anchor=south~ west, inner~ sep=\z@] (footerlogo) at (bottomleft) {
+ \box_use:N \g__ptxcd_logo_box\rule{\footerhsep}{\z@}
+ };
+ }
+ \node[anchor=base~ west,inner~sep=0pt] (infofooter) at (footerlogo.south~east) {
+ \parbox[b]{\dim_eval:n {\contentwidth
+ -\box_wd:N \g_ptxcd_footergraphics_box
+ \bool_if:NF \g__ptxcd_LogoInHead_bool {
+ -\box_wd:N \g__ptxcd_logo_box
+ -\footerhsep
+ }
+ \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl {-\g_ptxcd_footheight_dim-\footerhsep}
+ }}{
+ \raggedfooter
+ \usekomafont{pagefoot}
+ \g_ptxcd_poster_foot_tl
+ \par\medskip
+ \let\footnotetext\ptxcd_title@footnote
+ \g_ptxcd_thanks_tl}
+ };
+
+ \bool_if:NTF \g__ptxcd_ruled_footer_bool {
+ \fill[footerrulecolor](footerlogo.north~west)++(-\g_ptxcd_margin_dim,.25\g_ptxcd_footheight_dim) rectangle++(\paperwidth,.7\g_ptxcd_rule_height_dim);
+ \fill[footerrulecolor](footerlogo.south~west)++(-\g_ptxcd_margin_dim,-.25\g_ptxcd_footheight_dim) rectangle++(\paperwidth,-.7\g_ptxcd_rule_height_dim);
+ }{
+ \fill[footerrulecolor](footerlogo.north~west)++(-\g_ptxcd_margin_dim,.25\g_ptxcd_footheight_dim) rectangle++(\paperwidth,\g_ptxcd_rule_height_dim);
+ }
+}
+
+% Background Colors
+\colorlet{backgroundcolor}{white}
+\colorlet{framecolor}{BFH-Orange}
+% Title Colors
+\bool_if:NTF \g__ptxcd_invert_title_colors_bool
+{
+ \colorlet{titlefgcolor}{BFH-Gray}
+ \colorlet{titlerulecolor}{BFH-Orange}
+} {
+ \colorlet{titlefgcolor}{BFH-Orange}
+ \colorlet{titlerulecolor}{BFH-Gray}
+}
+
+%Footer colors
+\bool_if:NTF \g__ptxcd_invert_footer_colors_bool
+{
+ \addtokomafont{pagefoot}{\color{BFH-Orange}\leavevmode}
+ \bool_if:NTF \g__ptxcd_ruled_footer_bool {
+ \colorlet{footerrulecolor}{BFH-Orange}
+ }{
+ \colorlet{footerrulecolor}{BFH-Gray}
+ }
+}{
+ \addtokomafont{pagefoot}{\color{BFH-Gray}\leavevmode}
+ \bool_if:NTF \g__ptxcd_ruled_footer_bool {
+ \colorlet{footerrulecolor}{BFH-Gray}
+ }{
+ \colorlet{footerrulecolor}{BFH-Orange}
+ }
+}
+
+% Block Colors
+\colorlet{blocktitlefgcolor}{BFH-Gray}
+\colorlet{blocktitlebgcolor}{blocktitlefgcolor!10}
+\colorlet{blockbodybgcolor}{blocktitlefgcolor!10}
+\colorlet{blockbodyfgcolor}{black}
+% Innerblock Colors
+\colorlet{innerblocktitlebgcolor}{BFH-Orange}
+\colorlet{innerblocktitlefgcolor}{BFH-Gray}
+\colorlet{innerblockbodybgcolor}{BFH-Orange}
+\colorlet{innerblockbodyfgcolor}{black}
+
+\dim_new:N \g_ptxcd_titleblock_dim
+\dim_new:N \g_ptxcd_titleindent_dim
+\dim_new:N \g__ptxcd_titlegraphic_sep_dim
+\dim_gset:Nn \g__ptxcd_titlegraphic_sep_dim {1cm}
+
+\cs_new:Nn \__ptxcd_inst:n {\textsuperscript{#1}}
+
+\cs_new:Nn \ptxcd_poster_setup_title_box: {
+ \hbox_gset:Nn \g_ptxcd_titlegraphic_box {
+ \@titlegraphic
+ }
+ \hbox_gset_to_wd:Nnn \g_ptxcd_title_box {\contentwidth} {
+ \usekomafont{disposition}\usekomafont{title}
+ \bool_if:NTF \g__ptxcd_LogoInHead_bool {
+ \box_if_empty:NF \g__ptxcd_logo_box {\box_gresize_to_ht:Nn \g__ptxcd_logo_box {\g_ptxcd_footheight_dim}}
+ \dim_set:Nn \l_tmpb_dim {\dim_max:nn {\box_wd:N \g_ptxcd_titlegraphic_box} {\box_wd:N \g__ptxcd_logo_box} - \g__ptxcd_titlegraphic_sep_dim}
+ }
+ {
+ \dim_set:Nn \l_tmpb_dim {\dim_compare:nTF {\box_wd:N \g_ptxcd_titlegraphic_box = 0pt} {0pt} {\box_wd:N \g_ptxcd_titlegraphic_box - \g__ptxcd_titlegraphic_sep_dim}}
+ }
+ \dim_set:Nn \l_tmpa_dim {\cs_if_eq:NNTF \centering \raggedtitle {-2} {-1} \l_tmpb_dim +
+ \contentwidth}
+ \box_if_empty:NF \g_ptxcd_titlegraphic_box {
+ \bool_if:NTF \g__ptxcd_LogoInHead_bool
+ {\raisebox{-\height} {\box_use:N \g__ptxcd_logo_box}}
+ {\raisebox{-\height} {\box_use:N \g_ptxcd_titlegraphic_box}}
+ \hspace{\g__ptxcd_titlegraphic_sep_dim}
+ }
+ \parbox[t]{\l_tmpa_dim}{
+ \vskip0pt
+ \raggedtitle
+ \leavevmode\@title \par
+ \normalfont\normalsize\normalcolor
+ \skip_vertical:n {\baselineskip}
+ \ptxcd_def_footnotelabel:
+ \cs_set_eq:NN \inst\__ptxcd_inst:n
+ {\usekomafont{author}\@author\\}
+ \tl_gset:No \g_ptxcd_thanks_tl {\@thanks}
+ \@institute
+ }
+ \hspace{\g__ptxcd_titlegraphic_sep_dim}
+ \hfill
+ \bool_if:NT \g__ptxcd_LogoInHead_bool {
+ \hfill
+ \raisebox{-\height} {\box_use:N \g_ptxcd_titlegraphic_box}
+ }
+ }
+}
+
+%%%%%%%%%%%%%%%%%%%%%%
+%Declare TCBstyles for bfhsciposter
+
+\AtBeginDocument{
+ \dim_const:Nn \c_ptxcd_smallrule_dim {5pt}
+ \dim_const:Nn \c_ptxcd_rulesep_dim {1ex}
+ \setlength{\footerhsep}{1.5cm}
+
+}
+\newlength\footerhsep
+
+\tcbset{
+ BFH-plain/.style = {
+ enhanced,
+ coltitle=blocktitlefgcolor,
+ colbacktitle=white,
+ coltext=blockbodyfgcolor,
+ colback=white,
+ size=minimal,
+ fonttitle=\usekomafont{disposition}\usekomafont{section},
+ before~title={\strut},
+ bottomtitle=\c_ptxcd_rulesep_dim,
+ top=\c_ptxcd_rulesep_dim,
+ bottom=\c_ptxcd_rulesep_dim,
+ parbox=false,
+ },
+ BFH-inner/.style = {
+ BFH-plain,
+ fonttitle=\usekomafont{disposition}\usekomafont{subsection}
+ },
+ BFH-abstract/.style = {BFH-plain, coltext=BFH-Gray},
+ BFH-colored/.style = {
+ BFH-plain,
+ boxsep=\c_ptxcd_rulesep_dim,
+ colbacktitle=blocktitlebgcolor,
+ colback=blockbodybgcolor,
+ fonttitle=\usekomafont{disposition}\usekomafont{section},
+ titlerule=\z@,
+ },
+ BFH-framed/.style = {
+ enhanced,
+ size=minimal,
+ coltitle=blocktitlefgcolor,
+ boxsep=\c_ptxcd_rulesep_dim,
+ boxrule=\c_ptxcd_smallrule_dim,
+ colframe=framecolor,
+ titlerule=\z@,
+ arc=1ex,
+ auto~outer~arc,
+ fonttitle=\usekomafont{disposition}\usekomafont{section},
+ before~title={\strut},
+ parbox=false,
+ },
+ BFH-framed-inner/.style = {
+ BFH-framed,
+ colbacktitle=innerblocktitlebgcolor,
+ coltitle=innerblocktitlefgcolor,
+ colback=innerblockbodybgcolor,
+ coltext=innerblockbodyfgcolor,
+ sharp~corners,
+ fonttitle=\usekomafont{disposition}\usekomafont{subsection}
+ },
+ BFH-colored-inner/.style = {BFH-framed-inner},
+}
+
+%Select default box styles according to style option
+\tcbposterset{boxes ={\g_ptxcd_boxstyle_tl}, poster={spacing=\c_ptxcd_rulesep_dim}}
+\tcbset{
+ every~ box~ on~ layer~ 3/.style={reset,\g_ptxcd_boxstyle_tl -inner},
+ every~ box~ on~ layer~ 4/.style={reset,\g_ptxcd_boxstyle_tl -inner},
+}
+
+
+\msg_new:nnn {bfhsciposter} {module-not-found} {
+ You~tried~to~load~the~BFH~layout~module~#1.\\
+ I~could~not~find~a~file~named~bfh-layout-#1.cfg.
+}
+
+\newcommand*\LoadBFHModule[1]{
+ \clist_map_inline:nn {#1} {
+ \file_if_exist_input:nF {bfh-layout-##1.cfg}
+ {\msg_error:nnn {bfhsciposter} {module-not-found} {##1}}
+ }
+}
+\LoadBFHModule{tabular}
+
+\file_if_exist_input:n {bfh\g_ptxcd_department_str.cfg}
+
+\endinput
+%end of bfhsciposter.cls
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhthesis.cls b/macros/latex/contrib/bfh-ci/tex/bfhthesis.cls
new file mode 100644
index 0000000000..4348574e1a
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhthesis.cls
@@ -0,0 +1,168 @@
+%% This is file `bfhthesis.cls' version 2.0.0 (2021/12/23),
+%% it is part of
+%% BFH-CI -- Corporate Design for Bern University of Applied Sciences
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2021 by
+%% Marei Peischl <marei@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <bfh-ci@peitex.de>
+%% Andreas Habegger <andreas.habegger@bfh.ch>
+%%
+%% The development respository can be found at
+%% https://gitlab.ti.bfh.ch/bfh-latex/bfh-ci/
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplClass{bfhthesis}{2021/12/23}{2.0.0}{Theses using Corporate Design of BFH (BFH-CI), CI of Bern University of Applied Sciences}
+
+\RequirePackage{l3keys2e}
+
+\str_const:Nn \c__ptxcd_base_str {pub}
+\tl_new:N \g_ptxcd_pub_class_tl
+
+\prop_new:N \g_ptxcd_clsopts_prop
+\prop_new:N \g_ptxcd_unknown_clsopts_prop
+\prop_gput:Nnn \g_ptxcd_clsopts_prop {titlepage} {firstiscover}
+\prop_gput:Nnn \g_ptxcd_clsopts_prop {captions} {nooneline}
+
+\keys_define:nn {ptxcd/pub} {
+ class .choice:,
+ class/report .meta:n = {class=scrreprt},
+ class/scrreprt .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrreprt},
+ class/article .meta:n = {class=scrartcl},
+ class/scrartcl .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrartcl},
+ class/book .meta:n = {class=scrbook},
+ class/scrbook .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrbook},
+ class .initial:n = scrbook,
+ department .choice:,
+ department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default},
+ department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ unknown .code:n = {\prop_gput:NVn \g_ptxcd_unknown_clsopts_prop \l_keys_key_tl {#1}},
+}
+
+\ProcessKeysOptions{ptxcd/pub}
+
+\prop_map_inline:Nn \g_ptxcd_clsopts_prop {
+ \tl_if_empty:nTF {#2}
+ {\PassOptionsToClass {#1} {\g_ptxcd_pub_class_tl}}
+ {\clist_map_inline:nn {#2} {\PassOptionsToClass {#1=##1} {\g_ptxcd_pub_class_tl}}}
+}
+
+\LoadClass{\g_ptxcd_pub_class_tl}
+
+\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop {
+ \cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} {
+ \tl_if_empty:nTF {#2}
+ {\KOMAoptions{#1}}
+ {\KOMAoption{#1}{#2}}
+ }
+}
+
+\PassOptionsToPackage{type=thesis}{bfhlayout}
+\RequirePackage{bfhlayout}
+
+
+\clist_map_inline:nn {advisor, coadvisor, projectpartner, expert, degreeprogram} {
+ \cs_if_exist:cF {#1} {
+ \cs_new_nopar:cpn {#1} ##1 {\exp_args:Nc \def {@#1} {##1}}
+ \use:c {#1} {}
+ }
+}
+\ExplSyntaxOff
+
+\providecommand{\doade}{German}
+\providecommand{\doafr}{French}
+\providecommand{\doaen}{English}
+
+\DeclareTranslationFallback{doa-heading}{Declaration of Authorship}
+\DeclareTranslation{German}{doa-heading}{Eigenständigkeitserklärung}
+\DeclareTranslation{French}{doa-heading}{D\'eclaration sur l'honneur}
+
+\DeclareTranslationFallback{doa-body}{I hereby declare that I have written this thesis independently and have not used any sources or aids other than those acknowledged.\par
+ All statements taken from other writings, either literally or in essence, have been marked as such.\par
+ I hereby agree that the present work may be reviewed in electronic form using appropriate software.}
+
+\DeclareTranslation{German}{doa-body}{Hiermit erkläre ich, dass ich die hier vorliegende Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe.\par
+ Sämtliche Ausführungen, die anderen Schriften wörtlich oder sinngemäß entnommen wurden, habe ich als solche kenntlich gemacht.\par
+ Hiermit stimme ich zu, dass die vorliegende Arbeit in elektronischer Form mit entsprechender Software überprüft wird.}
+
+\DeclareTranslation{French}{doa-body}{Je d\'eclare par la pr\'esente avoir r\'edig\'e cette thèse de mani\`ere ind\'ependante et n'avoir utilis\'e aucune autre source ou aide que celles qui sont mentionn\'ees.\par
+ Toutes les d\'eclarations tir\'ees d'autres \'ecrits, litt\'eralement ou en substance, ont \'et\'e marqu\'ees comme telles.\par
+ J'accepte par la pr\'esente que le pr\'esent travail puisse \^etre revu sous forme \'electronique \`a l'aide de logiciels appropri\'es.}
+
+%====================== Declaration of Authorship for BFH Thesis ===================================
+
+\ExplSyntaxOn
+
+\dim_new:N \l_ptxcd_signature_dim
+\dim_set:Nn \l_ptxcd_signature_dim {5cm}
+
+\skip_new:N \l_ptxcd_signature_skip
+\skip_set:Nn \l_ptxcd_signature_skip {5mm}
+
+\tl_new:N \g__ptxcd_signature_tl
+\newcommand*{\setupSignature}[1]{\tl_gset:Nn \g__ptxcd_signature_tl {#1}}
+
+\newcommand*{\SignatureBox}[1]{%
+ \keyval_parse:NNn \__ptxcd_signature_no_image:n \__ptxcd_signature_image:nn {#1}
+}
+
+\cs_new:Nn \__ptxcd_signature_no_image:n {
+ \__ptxcd_signature_image:nn {#1} {}
+}
+
+\cs_new:Nn \__ptxcd_signature_image:nn {
+ \parbox[b]{\l_ptxcd_signature_dim}{
+ \centering
+ \tl_if_empty:nF {#2} {{#2}}
+ \par\nointerlineskip\rule{\linewidth}{.3pt}\\\makebox[0pt][c]{#1}%
+ }%
+ \skip_horizontal:N \l_ptxcd_signature_skip
+}
+
+\NewDocumentCommand{\declarationOfAuthorship}{o}{
+ \clearpage
+ \thispagestyle{plain}
+ \chapter*{\GetTranslation{doa-heading}}
+ \begingroup
+ \KOMAoptions{parskip=full}
+ \GetTranslation{doa-body}
+ \begin{flushright}
+ \raisebox{1.3\baselineskip}{\@date}\hfill
+ \setlength{\baselineskip}{4\baselineskip}
+ \IfNoValueTF{#1}{
+ \tl_if_empty:NTF \g__ptxcd_signature_tl
+ {\seq_map_inline:Nn \g_ptxcd_author_seq {\SignatureBox{##1}}}
+ {\exp_args:NV \SignatureBox \g__ptxcd_signature_tl}
+ }{
+ \SignatureBox{#1}
+ }
+ \end{flushright}
+ \endgroup
+} % End declarationOfAuthorship
+
+%custom config depends on department_str
+\file_if_exist_input:n {bfh\g_ptxcd_department_str.cfg}
+
+\endinput
+%End of class bfhthesis.cls
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhtranslations-english.trsl b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-english.trsl
new file mode 100644
index 0000000000..7bf19e472b
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-english.trsl
@@ -0,0 +1,68 @@
+\ProvideDictionaryFor{English}{bfhtranslations}[2021/12/13]
+%% ==== Translations for
+\ProvideDictTranslation{Learning Objectives}{Learning Objectives}
+\ProvideDictTranslation{learning objectives}{learning objectives}
+\ProvideDictTranslation{topic of study}{topic of study}
+\ProvideDictTranslation{Topic of study}{Topic of study}
+\ProvideDictTranslation{Module name}{Module name}
+\ProvideDictTranslation{module name}{module name}
+\ProvideDictTranslation{author}{author}
+\ProvideDictTranslation{Author}{Author}
+\ProvideDictTranslation{authors}{authors}
+\ProvideDictTranslation{Authors}{Authors}
+\ProvideDictTranslation{advisor}{advisor}
+\ProvideDictTranslation{Advisor}{Advisor}
+\ProvideDictTranslation{advisors}{advisors}
+\ProvideDictTranslation{Advisors}{Advisors}
+\ProvideDictTranslation{co-advisor}{co-advisor}
+\ProvideDictTranslation{Co-advisor}{Co-advisor}
+\ProvideDictTranslation{co-advisors}{co-advisors}
+\ProvideDictTranslation{Co-advisors}{Co-advisors}
+\ProvideDictTranslation{expert}{expert}
+\ProvideDictTranslation{Expert}{Expert}
+\ProvideDictTranslation{experts}{experts}
+\ProvideDictTranslation{Experts}{Experts}
+\ProvideDictTranslation{project partner}{project partner}
+\ProvideDictTranslation{Project partner}{Project partner}
+\ProvideDictTranslation{project partners}{project partners}
+\ProvideDictTranslation{Project partners}{Project partners}
+\ProvideDictTranslation{Company}{Company}
+\ProvideDictTranslation{company}{company}
+\ProvideDictTranslation{Supervisor}{Supervisor}
+\ProvideDictTranslation{supervisor}{supervisor}
+\ProvideDictTranslation{Co-Supervisor}{Co-supervisor}
+\ProvideDictTranslation{co-supervisor}{co-supervisor}
+\ProvideDictTranslation{degreeprogram}{course of study}
+\ProvideDictTranslation{Degreeprogram}{Course of study}
+\ProvideDictTranslation{Date}{Date}
+\ProvideDictTranslation{date}{date}
+\ProvideDictTranslation{Bern University of Applied Sciences}{Bern University of Applied Sciences}
+\ProvideDictTranslation{bfh}{BUAS}
+\ProvideDictTranslation{bfhti}{Engineering and Information Technology} % Departement TI
+%%
+%% === Translations for project proposal dates
+\ProvideDictTranslation{Project start}{Project start}
+\ProvideDictTranslation{Pre-study submission}{Pre-study submission}
+\ProvideDictTranslation{Report submission}{Report submission}
+\ProvideDictTranslation{Presentation}{Presentation}
+%%
+%% ==== Translations for Exams
+\ProvideDictTranslation{bfhproblem}{Problem} % Problem, question or exercise?
+\ProvideDictTranslation{bfhexamid}{Exam-ID} % Student-ID
+\ProvideDictTranslation{bfhpoints}{Points} % Points for a problem
+\ProvideDictTranslation{bfhreachedpoints}{Reached Points} % Points reached by the student
+\ProvideDictTranslation{bfhexperiencegrade}{Experience Grade} % Grade of the experience part
+\ProvideDictTranslation{bfhmaxpoints}{Max. Points} % Maximum of points
+\ProvideDictTranslation{bfhexamgrade}{Grade} % Grade for the exam
+\ProvideDictTranslation{bfhweightedaverage}{weighted average} % Average for exam and experience
+\ProvideDictTranslation{bfhmodulegrade}{Module Grade} % Final Grade
+\ProvideDictTranslation{bfhproblemshortcut}{P} % shortcut for the execise number
+\ProvideDictTranslation{bfhadvice}{Advice} % Title for the Advice Section
+\ProvideDictTranslation{bfhcontinued}{continued} % Subtitle the backside of the exercise sheets
+\ProvideDictTranslation{name}{name}
+\ProvideDictTranslation{Name}{Name}
+%%
+%% ==== Translations for ....
+%\ProvideDictTranslation{key}{value}
+%%
+\endinput% End of file bfhtranslations-english.trsl
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhtranslations-french.trsl b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-french.trsl
new file mode 100644
index 0000000000..91d9d31c79
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-french.trsl
@@ -0,0 +1,69 @@
+\ProvideDictionaryFor{French}{bfhtranslations}[2021/12/13]
+%%
+%% ==== Translations for
+\ProvideDictTranslation{Learning Objectives}{Objectifs}
+\ProvideDictTranslation{learning objectives}{objectifs}
+\ProvideDictTranslation{topic of study}{sujet d'étude}
+\ProvideDictTranslation{Topic of study}{Sujet d'étude}
+\ProvideDictTranslation{Module name}{Nom du module}
+\ProvideDictTranslation{module name}{nom du module}
+\ProvideDictTranslation{author}{auteur}
+\ProvideDictTranslation{Author}{Auteur}
+\ProvideDictTranslation{authors}{auteurs}
+\ProvideDictTranslation{Authors}{Auteurs}
+\ProvideDictTranslation{advisor}{conseiller}
+\ProvideDictTranslation{Advisor}{Conseiller}
+\ProvideDictTranslation{advisors}{conseillers}
+\ProvideDictTranslation{Advisors}{Conseillers}
+\ProvideDictTranslation{co-advisor}{co-conseiller}
+\ProvideDictTranslation{Co-advisor}{Co-Conseiller}
+\ProvideDictTranslation{co-advisors}{co-conseiller}
+\ProvideDictTranslation{Co-advisors}{Co-Conseillers}
+\ProvideDictTranslation{expert}{expert}
+\ProvideDictTranslation{Expert}{Expert}
+\ProvideDictTranslation{experts}{experts}
+\ProvideDictTranslation{Experts}{Experts}
+\ProvideDictTranslation{project partner}{partenaire du projet}
+\ProvideDictTranslation{Project partner}{Partenaire du projet}
+\ProvideDictTranslation{project partners}{partenaires du projet}
+\ProvideDictTranslation{Project partners}{Partenaires du projet}
+\ProvideDictTranslation{Supervisor}{Superviseur}
+\ProvideDictTranslation{supervisor}{superviseur}
+\ProvideDictTranslation{Co-Supervisor}{Co-superviseur}
+\ProvideDictTranslation{co-supervisor}{co-superviseur}
+\ProvideDictTranslation{Company}{Entreprise}
+\ProvideDictTranslation{company}{entreprise}
+\ProvideDictTranslation{degreeprogram}{filière d'etude}
+\ProvideDictTranslation{Degreeprogram}{Filière d'etude}
+\ProvideDictTranslation{Date}{Date}
+\ProvideDictTranslation{date}{date}
+\ProvideDictTranslation{Bern University of Applied Sciences}{Haute \'ecole sp\'ecialis\'ee bernoise}
+\ProvideDictTranslation{bfh}{HESB}
+\ProvideDictTranslation{bfhti}{Technique et informatique} % Departement TI
+%%
+%% === Translations for project proposal dates
+\ProvideDictTranslation{Project start}{Début du projet}
+\ProvideDictTranslation{Pre-study submission}{Remise pré-étude}
+\ProvideDictTranslation{Report submission}{Remise rapport}
+\ProvideDictTranslation{Presentation}{Présentation}
+%%
+%% ==== Translations for Exams
+\ProvideDictTranslation{bfhproblem}{Probèm} % Problem, question or exercise?
+\ProvideDictTranslation{bfhexamid}{Exam-ID} % Student-ID
+\ProvideDictTranslation{bfhpoints}{Points} % Points for a problem
+\ProvideDictTranslation{bfhreachedpoints}{Points atteints} % Points reached by the student
+\ProvideDictTranslation{bfhexperiencegrade}{Note d'expérience} % Grade of the experience part
+\ProvideDictTranslation{bfhmaxpoints}{Points Max} % Maximum of points
+\ProvideDictTranslation{bfhexamgrade}{\'Echelon} % Grade for the exam
+\ProvideDictTranslation{bfhweightedaverage}{moyen pondéré} % Average for exam and experience
+\ProvideDictTranslation{bfhmodulegrade}{note de cours} % Final Grade
+\ProvideDictTranslation{bfhproblemshortcut}{P} % shortcut for the execise number
+\ProvideDictTranslation{bfhadvice}{Conseils} % Title for the Advice Section
+\ProvideDictTranslation{bfhcontinued}{suite} % Subtitle the backside of the exercise sheets
+\ProvideDictTranslation{name}{nom}
+\ProvideDictTranslation{Name}{Nom}
+%%
+%% ==== Translations for ....
+%\ProvideDictTranslation{key}{value}
+%%
+\endinput% End of file bfhtranslations-french.trsl \ No newline at end of file
diff --git a/macros/latex/contrib/bfh-ci/tex/bfhtranslations-german.trsl b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-german.trsl
new file mode 100644
index 0000000000..d5ff5eda91
--- /dev/null
+++ b/macros/latex/contrib/bfh-ci/tex/bfhtranslations-german.trsl
@@ -0,0 +1,68 @@
+\ProvideDictionaryFor{German}{bfhtranslations}[2021/12/15]
+%% ==== Translations for
+\ProvideDictTranslation{Learning Objectives}{Lernziele}
+\ProvideDictTranslation{learning objectives}{Lernziele}
+\ProvideDictTranslation{topic of study}{Studienrichtung}
+\ProvideDictTranslation{Topic of study}{Studienrichtung}
+\ProvideDictTranslation{Module name}{Modulname}
+\ProvideDictTranslation{module name}{Modulname}
+\ProvideDictTranslation{author}{Autor}
+\ProvideDictTranslation{Author}{Autor}
+\ProvideDictTranslation{authors}{Autoren}
+\ProvideDictTranslation{Authors}{Autoren}
+\ProvideDictTranslation{advisor}{Dozent}
+\ProvideDictTranslation{Advisor}{Dozent}
+\ProvideDictTranslation{advisors}{Dozenten}
+\ProvideDictTranslation{Advisors}{Dozenten}
+\ProvideDictTranslation{co-advisor}{Mitbetreuer}
+\ProvideDictTranslation{Co-advisor}{Mitbetreuer}
+\ProvideDictTranslation{co-advisors}{Mitbetreuer}
+\ProvideDictTranslation{Co-advisors}{Mitbetreuer}
+\ProvideDictTranslation{expert}{Expert}
+\ProvideDictTranslation{Expert}{Expert}
+\ProvideDictTranslation{experts}{Experten}
+\ProvideDictTranslation{Experts}{Experten}
+\ProvideDictTranslation{project partner}{Projekt Partner}
+\ProvideDictTranslation{Project partner}{Projekt Partner}
+\ProvideDictTranslation{project partners}{Projekt Partner}
+\ProvideDictTranslation{Project partners}{Projekt Partner}
+\ProvideDictTranslation{Supervisor}{Betreuer}
+\ProvideDictTranslation{supervisor}{Betreuer}
+\ProvideDictTranslation{Co-Supervisor}{Co-Betreuer}
+\ProvideDictTranslation{co-supervisor}{Co-Betreuer}
+\ProvideDictTranslation{Company}{Firma}
+\ProvideDictTranslation{company}{Firma}
+\ProvideDictTranslation{degreeprogram}{Studiengang}
+\ProvideDictTranslation{Degreeprogram}{Studiengang}
+\ProvideDictTranslation{Date}{Datum}
+\ProvideDictTranslation{date}{Datum}
+\ProvideDictTranslation{Bern University of Applied Sciences}{Berner Fachhochschule}
+\ProvideDictTranslation{bfh}{BFH}
+\ProvideDictTranslation{bfhti}{Technik und Informatik} % Departement TI
+%%
+%% === Translations for project proposal dates
+\ProvideDictTranslation{Project start}{Projektbeginn}
+\ProvideDictTranslation{Pre-study submission}{Abgabe Vorstudie}
+\ProvideDictTranslation{Report submission}{Abgabe Bericht}
+\ProvideDictTranslation{Presentation}{Präsentation}
+%%
+%% ==== Translations for Exams
+\ProvideDictTranslation{bfhproblem}{Aufgabe}% Problem, question or exercise?
+\ProvideDictTranslation{bfhexamid}{Klausur-ID} % Student-ID
+\ProvideDictTranslation{bfhpoints}{Punkte}% Points for a problem
+\ProvideDictTranslation{bfhreachedpoints}{erreichte Punkte} % Points reached by the student
+\ProvideDictTranslation{bfhmaxpoints}{Max. Punkte} % Maximum of points
+\ProvideDictTranslation{bfhexamgrade}{Note} % Grade for the exam
+\ProvideDictTranslation{bfhexperiencegrade}{Erfahrungsnote} % Grade of the experience part
+\ProvideDictTranslation{bfhweightedaverage}{Durchschnittsnote}% Average for exam and experience
+\ProvideDictTranslation{bfhmodulegrade}{Modulnote} % Final Grade
+\ProvideDictTranslation{bfhproblemshortcut}{P} % shortcut for the execise number
+\ProvideDictTranslation{bfhadvice}{Hinweise} % Title for the Advice Section
+\ProvideDictTranslation{bfhcontinued}{Fortsetzung} % Subtitle the backside of the exercise sheets
+\ProvideDictTranslation{Name}{Name}
+\ProvideDictTranslation{name}{Name}
+%%
+%% ==== Translations for ....
+%\ProvideDictTranslation{key}{value}
+%%
+\endinput% End of file bfhtranslations-german.trsl \ No newline at end of file