# HSRTReport LaTeX Template A professional LaTeX report template for academic papers and theses at the University of Applied Sciences Reutlingen (Hochschule Reutlingen). ## πŸ“‹ Table of Contents - [Overview](#overview) - [Features](#features) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Project Structure](#project-structure) - [Usage](#usage) - [Document Class Options](#document-class-options) - [Customization](#customization) - [Building the Document](#building-the-document) - [Troubleshooting](#troubleshooting) - [Contributing](#contributing) - [License](#license) ## πŸ“– Overview The HSRTReport class is a customized LaTeX document class based on KOMA-Script's `scrreprt` class, specifically designed for creating professional academic reports, seminar papers, and bachelor/master theses at the University of Applied Sciences Reutlingen. It provides a consistent, professional layout with minimal configuration required. ## ✨ Features - **Professional Typography**: Configured for optimal readability with proper font settings - **Automatic Title Page Generation**: Customizable title page with university branding - **Bibliography Management**: Integrated BibLaTeX support for citations - **Glossary Support**: Built-in glossary and acronym management - **Code Highlighting**: Syntax highlighting for source code listings - **Word Count**: Automatic word counting functionality - **Cross-referencing**: Smart referencing with hyperref ## πŸ”§ Prerequisites ### Required Software - **XeLaTeX**: This template requires XeLaTeX for compilation (included in most TeX distributions) - **TeX Distribution**: One of the following: - [TeX Live](https://www.tug.org/texlive/) (Linux/Windows/macOS) - [MiKTeX](https://miktex.org/) (Windows) - [MacTeX](https://www.tug.org/mactex/) (macOS) - **GNU make**: Automates compilation and cleaning tasks ### Required LaTeX Packages The template automatically loads all necessary packages. Key dependencies include: - KOMA-Script bundle - BibLaTeX with Biber backend - glossaries-extra - fontspec (for font management) - TikZ (for graphics) - listings (for code) ## πŸ“ Project Structure ``` SAT-WiSe-25-26/ β”‚ β”œβ”€β”€ HSRTReport/ # Document class files β”‚ β”œβ”€β”€ HSRTReport.cls # Main class definition β”‚ β”œβ”€β”€ Assets/ # Fonts and images β”‚ β”‚ β”œβ”€β”€ Fonts/ # Custom fonts β”‚ β”‚ └── Images/ # Logo and graphics β”‚ β”œβ”€β”€ Config/ # Configuration modules β”‚ β”‚ β”œβ”€β”€ Fonts.tex # Font settings β”‚ β”‚ β”œβ”€β”€ PageSetup.tex # Page layout β”‚ β”‚ └── ... # Other configurations β”‚ β”œβ”€β”€ Imports/ # Package imports β”‚ β”‚ β”œβ”€β”€ Core.tex # Core packages β”‚ β”‚ β”œβ”€β”€ Document.tex # Document structure β”‚ β”‚ └── ... # Other imports β”‚ β”œβ”€β”€ Modules/ # Feature modules β”‚ β”‚ β”œβ”€β”€ Content/ # Content-related features β”‚ β”‚ β”œβ”€β”€ Layout/ # Layout features β”‚ β”‚ └── Tools/ # Utility tools β”‚ └── Pages/ # Page templates β”‚ └── Titlepage.tex # Title page definition β”‚ β”œβ”€β”€ Content/ # Document content β”‚ β”œβ”€β”€ 00_toc.tex # Table of contents and lists β”‚ β”œβ”€β”€ 01_content.tex # Chapter loader (auto-managed) β”‚ β”œβ”€β”€ 99_bibliography.tex # Bibliography β”‚ β”œβ”€β”€ Chapters/ # Individual chapter files β”‚ β”‚ β”œβ”€β”€ 01_introduction.tex β”‚ β”‚ β”œβ”€β”€ example_chapter.tex β”‚ β”‚ └── ... β”‚ └── Images/ # Document images β”‚ β”œβ”€β”€ Settings/ # Document settings β”‚ β”œβ”€β”€ General.tex # General settings β”‚ └── Logos.tex # Logo configuration β”‚ β”œβ”€β”€ scripts/ # Chapter management scripts β”‚ β”œβ”€β”€ create_chapter.sh # Create new chapters β”‚ β”œβ”€β”€ list_chapters.sh # List all chapters β”‚ β”œβ”€β”€ delete_chapter.sh # Delete chapters β”‚ └── show_chapter.sh # View chapter content β”‚ β”œβ”€β”€ Main.tex # Main document file β”œβ”€β”€ Preamble.tex # Document preamble β”œβ”€β”€ Glossary.tex # Glossary definitions β”œβ”€β”€ Main.bib # Bibliography database β”œβ”€β”€ Makefile # Build automation β”œβ”€β”€ .latexmkrc # Latexmk configuration └── QUICKSTART.md # Quick start guide ``` ## πŸ“ Usage ### Basic Document Setup 1. **Edit `Main.tex`** to configure document class options: ```latex \documentclass[ 11pt, % Font size (10pt, 11pt, 12pt) paper=a4, % Paper size oneside, % Single-sided (use twoside for double) DIV=14, % Page layout calculation onecolumn % Single column layout ]{HSRTReport/HSRTReport} ``` 2. **Configure document metadata** in `Settings/General.tex`: ```latex % Document title \title{Your Document Title} % Title page information \AddTitlePageDataLine{Thema}{Your Topic} \AddTitlePageDataLine{Vorgelegt von}{Your Name} \AddTitlePageDataLine{Studiengang}{Your Study Program} % ... additional fields ``` 3. **Add your content** using one of these methods: - **Automatic (Recommended)**: Use scripts to manage chapters ```bash ./scripts/create_chapter.sh 02 methodology ./scripts/create_chapter.sh 03 results ./scripts/list_chapters.sh ``` - **Manual**: Create files in `Content/Chapters/` and add them to `Content/01_content.tex` 4. **Manage bibliography** in `Main.bib` using BibTeX format 5. **Define glossary entries** in `Glossary.tex`: ```latex \newglossaryentry{term}{ name=Term, description={Description of the term} } \newacronym{abbr}{ABBR}{Full Form of Abbreviation} ``` ## βš™οΈ Document Class Options The HSRTReport class accepts all standard KOMA-Script `scrreprt` options plus: | Option | Description | Values | |--------|-------------|---------| | `paper` | Paper size | `a4`, `letter`, etc. | | `fontsize` | Base font size | `10pt`, `11pt`, `12pt` | | `oneside`/`twoside` | Page layout | Single or double-sided | | `DIV` | Type area calculation | Integer (12-16 recommended) | | `onecolumn`/`twocolumn` | Column layout | Single or double column | ## 🎨 Customization ### Modifying the Title Page Edit `Settings/General.tex` to customize title page fields: ```latex \AddTitlePageDataLine{Field Name}{Field Content} \AddTitlePageDataSpace{5pt} % Add vertical space ``` ### Adding Custom Packages Add custom packages to `Preamble.tex`: ```latex \usepackage{yourpackage} \yourpackagesetup{options} ``` ### Changing Fonts The template uses custom fonts defined in `HSRTReport/Config/Fonts.tex`. Modify this file to change fonts template-wide. ### Creating Custom Commands Add custom commands to `Preamble.tex`: ```latex \newcommand{\mycommand}[1]{#1} ``` ## πŸ“š Chapter Management ### Automatic Chapter Management (Recommended) The template includes scripts for efficient chapter management: #### Create a New Chapter ```bash ./scripts/create_chapter.sh 02 methodology ``` This creates `Content/Chapters/02_methodology.tex` with a template structure and automatically adds it to the document. #### List All Chapters ```bash ./scripts/list_chapters.sh ``` Shows all chapters and their inclusion status in the document. #### View Chapter Content ```bash ./scripts/show_chapter.sh 02_methodology --info ./scripts/show_chapter.sh 02_methodology --structure ``` #### Delete a Chapter ```bash ./scripts/delete_chapter.sh 02_methodology ``` Removes the chapter and creates a backup in `.chapter_backups/`. ### Manual Chapter Management 1. Create a file in `Content/Chapters/` 2. Add `\input{Content/Chapters/your_chapter}` to the marked section in `Content/01_content.tex` ## πŸ”¨ Building the Document ### Using Make (Recommended) ```bash # Full build with bibliography and glossary – open after make # Just build make compile # Clean auxiliary files make clean ``` ### Using latexmk ```bash latexmk -xelatex -bibtex Main.tex ``` ## πŸ› Troubleshooting ### Common Issues 1. **"This class can only be used with XeLaTeX" error** - Solution: Ensure you're using XeLaTeX, not pdfLaTeX - Check your editor's compiler settings 2. **Bibliography not appearing** - Run `biber Main` after the first XeLaTeX compilation - Check for errors in `Main.bib` 3. **Glossary entries not showing** - Run `makeglossaries Main` after adding new entries - Ensure entries are referenced in the document using `\gls{term}` ## πŸ“„ License This template is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). - **Original Author**: Martin Oswald (ZΓΌrich University of Applied Sciences) - **Modified by**: Frederik Beimgraben (University of Applied Sciences Reutlingen) See [LICENSE](LICENSE) for details. ## πŸ“§ Support For questions, issues, or suggestions: - Open an issue on GitHub - Contact the maintainer at [frederik@beimgraben.net](mailto:frederik@beimgraben.net) ## πŸ™ Acknowledgments - Martin Oswald for the original ZHAWReport class - KOMA-Script team for the excellent document classes - University of Applied Sciences Reutlingen – [Reutlingen University](https://reutlingen-university.de) --- *Last updated: October 2025*