BFH Modules

The BFH-CI provides some features to make your document easier to read. This includes a terminal like output, highlight box and predefined listing to show source code. Each module can be separately loaded by the command \LoadBFHModule within the document preamble.

\LoadBFHModule{terminal,boxes,tabular,listings,rules}
---
\begin{document}
---

For more detailed examples, have a look at the DEMO-BFHPub in the bfh-examples zip.

BFH Terminal

\LoadBFHModule{terminal}

There are two terminal styles provided by the terminal module ubuntu and macos.

\usepackage{caption}

\setupLinuxPrompt{student}
\begin{ubuntu}
echo "Hello World" `\StartConsole`
Hello World
\end{ubuntu}
\captionof{lstlisting}{This is a caption}

Missing terminal hello world

Have a look at the section color aliases for examples on how to change the colors of the terminal.

BFH Boxes

\LoadBFHModule{boxes}

The boxes module provides box environments based on the BFH corporate design. The syntax is the same for all BFH boxes types.

\begin{ENV_TYPE}[COLOR_OPTION]{BOX TITLE}
Some text displayed in the color box.
\end{ENV_TYPE}
\begin{bfhBox}[BFH-MediumBlue]{\texttt{bfhBox}}
Color provided by \texttt{bfhcolors} package: \texttt{BFH-MediumBlue}
\end{bfhBox}

Missing bfhBox image

In addition to the color boxes, there are some notification boxes to highlight special content. Use one of the listed ENV_TYPE types for notification boxes:

  • bfhAlertBox

  • bfhWarnBox

  • bfhNoteBox

  • bfhRecycleBox

  • bfhReadBox

  • bfhProcessingBox

BFH Tables

\LoadBFHModule{tabular}

There are three different ways to create BFH CI compliant tables.

  • Using \setupBfhTabular macro

  • Using \bfhTabular environment provided by the BFH tabular module.

  • Using \bfhTblr environment provided by the BFH tabular module along with the package tabularray.

Missing bfhtable image

Have a look at the section color aliases for examples on how to change the colors of the table.

Example with setupBFHTabular macro

\begin{table}
\centering
\setupBfhTabular
\begin{tabular}{lll}
\rowcolor{BFH-tablehead}
Header 1&Header 2&Header3\\\hline
Content 11&Content 12&Content 13\\\hline
Content 21&Content 22&Content 23
\end{tabular}
\caption{table caption}
\label{table-label}
\end{table}

Example with the BFH tabular environment

\begin{table}
\begin{bfhTabular}{lll}
Header 1&Header 2&Header3\\
Content 11&Content 12&Content 13\\
Content 21&Content 22&Content 23
\end{bfhTabular}
\caption{table caption}
\label{table-label}
\end{table}

Example with the tabularray package

In case the package tabularray is loaded the table module will also implement a tblr environ to use the layout. For further usage information please have a look at the tabularray documentation.

\begin{bfhTblr}{lll}
Header 1&Header 2&Header3\\
Content 11&Content 12&Content 13\\
Content 21&Content 22&Content 23
\end{bfhTblr}

BFH Listings

\LoadBFHModule{listings}

Loads the listings package and adjusts colors for the listing environments to match the CI.

Here is an example of, how to include the source code of expl_hello.c as a listing with syntax highlighting for the C programming language.

\lstinputlisting[style=bfh-c,
                 language=C,
                 caption={My very first C program.},
                 label={lst:hello}]{listings/expl_hello.c} 

There are different styles available:

  • bfh-c

  • bfh-cpp

  • bfh-vhdl

  • float

  • frame

  • linebreaks

There are different languages for highlighting available:

  • C

  • C++

  • VHDL

Example of BFH ruler

\LoadBFHModule{rules}
\bfhRule[optional length]

Missing bfhrule image