Compare commits
3 Commits
main
..
ctan-rework
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d78d4441a | |||
| fc8e756e83 | |||
| 783fcd03c7 |
@@ -6,11 +6,11 @@ Dieses Paket stellt eine LaTeX-Dokumentenklasse bereit, die an die Formatierungs
|
||||
|
||||
## Funktionsübersicht
|
||||
|
||||
- Automatische Formatierung nach den gültigen Layoutvorgaben (Stand: Januar 2026)
|
||||
- Automatische Formatierung nach den gültigen Layoutvorgaben der LeibnizFH Hannover (Stand: Mai 2026)
|
||||
- Integrierte Titelseitenfunktion (`\makelfhtitle`)
|
||||
- Key-Value-Konfiguration über `\lfhsetup{...}`
|
||||
- Optionale Kopfzeile auf der Titelseite (`plaintitle`)
|
||||
- Sprachumschaltung (`ngerman` / `english`)
|
||||
- Sprachumschaltung (`german` / `english`)
|
||||
- LPPL-lizenziert (freie Nutzung und Modifikation)
|
||||
|
||||
---
|
||||
@@ -33,7 +33,7 @@ Ein minimales Beispiel:
|
||||
semester = {WS2025/2026},
|
||||
worktype = {Praxisreflektion},
|
||||
submission= {21. Januar 2026}
|
||||
logo = logoort
|
||||
logo = {pfad/zum/logo.bild}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
@@ -54,13 +54,9 @@ Hier beginnt der Text der Arbeit.
|
||||
Beim Laden der Klasse können Optionen gesetzt werden:
|
||||
|
||||
```latex
|
||||
\documentclass[english,plaintitle]{leibnizfh}
|
||||
\documentclass[plaintitle]{leibnizfh}
|
||||
```
|
||||
|
||||
- `ngerman` (Standard) - Deutsche Dokumentensprache (babel)
|
||||
- `english` - Englische Dokumentensprache
|
||||
- `plaintitle` - Titelseite ohne Kopfzeile (z.B. für offizielle Abgaben)
|
||||
|
||||
Nicht unterstützte Optionen werden automatisch an die Basisklasse `article` weitergereicht.
|
||||
|
||||
---
|
||||
@@ -83,7 +79,7 @@ Die Klasse nutzt das Key-Value-System (`keyval`) zur komfortablen Einrichtung ze
|
||||
| `program` | Studiengang |
|
||||
| `submission` | Datum der Abgabe. Standard ist das aktuelle Datum mit `\today` |
|
||||
| `headerone`, `headertwo`, `headerthree` | Texte für Kopfzeile von oben nach unten auf der linken Seite|
|
||||
| `logo` | Dateiname des Logos (ohne Endung, z.B. `logo-lfh`) wird rechts oben in der Kopfzeile angezeigt `logo-lfh` ist dabei der Standardort |
|
||||
| `logo` | Dateiname des Logos iklusive Dateiendung und Pfad |
|
||||
|
||||
---
|
||||
|
||||
@@ -107,10 +103,22 @@ Beispiel:
|
||||
|
||||
Die Klasse basiert auf der Standardklasse `article` und verwendet folgende Pakete:
|
||||
|
||||
- `geometry`, `helvet`, `setspace`, `microtype`
|
||||
- `geometry`, `tex-gyre`, `setspace`, `microtype`
|
||||
- `babel`, `fancyhdr`, `graphicx`, `hyperref`
|
||||
- `keyval` für die Konfigurationslogik
|
||||
|
||||
---
|
||||
## Sprache
|
||||
|
||||
Die Standardsprache des Dokuments ist Deutsch.
|
||||
Man kann die Sprache auf Englisch am Anfang des Dokuments wechseln, das sieht dann wie folgt aus:
|
||||
```latex
|
||||
...
|
||||
\begin{document}
|
||||
\selectlanguage{german/english}
|
||||
```
|
||||
mit dem `\selectlanguage`
|
||||
kann man auch im Dokument die Sprache wechseln.
|
||||
---
|
||||
|
||||
## Lizenz
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,76 @@
|
||||
\documentclass[german]{leibnizfh}
|
||||
|
||||
% Pakete für Blindtext und Sonderzeichen
|
||||
\usepackage{blindtext}
|
||||
\usepackage{lipsum} % Alternative für mehr Textvariation, falls blindtext nicht reicht
|
||||
|
||||
% --- KONFIGURATION DER KLASSE ---
|
||||
\lfhsetup{
|
||||
title={Multilinguale Hausarbeit},
|
||||
subtitle={Ein Beispiel für die Nutzung der leibnizfh-Klasse},
|
||||
module={Einführung in die wissenschaftliche Arbeit},
|
||||
semester={WS 2025/2026},
|
||||
worktype={Hausarbeit},
|
||||
author={Max Mustermann},
|
||||
studentid={12345678},
|
||||
email={max.mustermann@example.invalid},
|
||||
prof={Prof. Dr. Klaus Beispiel},
|
||||
program={Bachelor Informatik},
|
||||
submission={08. Mai 2026},
|
||||
headerone={Leibniz-Fachhochschule},
|
||||
headertwo={Beispielarbeit},
|
||||
headerthree={Version 2025}
|
||||
% logo={logo.png} % Optional: Pfad zum Logo einfügen, falls vorhanden
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ============================================================
|
||||
% TEIL 1: DEUTSCH
|
||||
% ============================================================
|
||||
|
||||
% 1. Sprache explizit auf Deutsch setzen (falls Class-Option nicht ausreicht)
|
||||
\selectlanguage{german}
|
||||
|
||||
% 2. Deutsche Titelseite generieren
|
||||
\makelfhtitle
|
||||
|
||||
% 3. Inhalt auf Deutsch (ca. 2 Seiten)
|
||||
\section{Einleitung auf Deutsch}
|
||||
\blindtext[2] % Generiert 2 Absätze Blindtext
|
||||
|
||||
\subsection{Methodik und Vorgehen}
|
||||
\blindtext[3] % Weitere 3 Absätze
|
||||
|
||||
\subsection{Erste Ergebnisse}
|
||||
\blindtext[2] % Weitere 2 Absätze
|
||||
|
||||
% Um sicherzustellen, dass wir ca. 2 Seiten füllen, fügen wir hier etwas mehr Text hinzu
|
||||
\blindtext[4]
|
||||
|
||||
% ============================================================
|
||||
% TEIL 2: ENGLISCH
|
||||
% ============================================================
|
||||
|
||||
% 1. Sprache auf Englisch wechseln
|
||||
\selectlanguage{english}
|
||||
|
||||
% 2. Englische Titelseite generieren
|
||||
% Hinweis: Die Klasse erlaubt mehrere Aufrufe, da sie die Geometrie nach jedem Aufruf wiederherstellt.
|
||||
% Der Header auf der Titelseite passt sich nun automatisch der aktuellen Sprache an (Supervised by).
|
||||
\makelfhtitle
|
||||
|
||||
% 3. Inhalt auf Englisch (ca. 2 Seiten)
|
||||
\section{Introduction in English}
|
||||
\blindtext[2] % Generiert 2 Absätze Blindtext (auf Englisch)
|
||||
|
||||
\subsection{Methodology and Approach}
|
||||
\blindtext[3] % Weitere 3 Absätze
|
||||
|
||||
\subsection{Preliminary Results}
|
||||
\blindtext[2] % Weitere 2 Absätze
|
||||
|
||||
% Füllung für die zweite Seite
|
||||
\blindtext[4]
|
||||
|
||||
\end{document}
|
||||
+91
-72
@@ -1,5 +1,5 @@
|
||||
% -----------------------------------------------------------------------------
|
||||
% LeibnizFH LaTeX-Klasse v1.1.0
|
||||
% LeibnizFH LaTeX-Klasse v1.1.1WIP
|
||||
|
||||
% Erstellt von: F. L. Werner
|
||||
% Datum: 27.01.2026
|
||||
@@ -30,15 +30,19 @@
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
|
||||
\ProvidesClass{leibnizfh}[2026/01/21 v1.1.0 Leibniz FH Dokumentenklasse]
|
||||
\ProvidesClass{leibnizfh}[2026/01/21 v1.1.1WIP Leibniz FH Dokumentenklasse]
|
||||
|
||||
% Eigene Klassenoptionen:
|
||||
\newif\if@ngerman
|
||||
\newif\if@german
|
||||
\newif\if@english
|
||||
\newif\iflfh@plaintitle
|
||||
\newif\if@truetitle
|
||||
|
||||
\@truetitlefalse
|
||||
\@ngermantrue
|
||||
\@ngermanfalse
|
||||
\@germanfalse
|
||||
\@englishfalse
|
||||
|
||||
\DeclareOption{plaintitle}{%
|
||||
\lfh@plaintitletrue
|
||||
@@ -47,13 +51,30 @@
|
||||
\@truetitletrue
|
||||
}
|
||||
\DeclareOption{ngerman}{%
|
||||
\ClassWarning{leibnizfh}{Option 'ngerman' is deprecated. Use \protect\selectlanguage{german} in the document body instead}%
|
||||
\@ngermantrue
|
||||
\@germanfalse
|
||||
\@englishfalse
|
||||
}
|
||||
\DeclareOption{german}{%
|
||||
\ClassWarning{leibnizfh}{Option 'german' is deprecated. Use \protect\selectlanguage{german} in the document body instead}%
|
||||
\@germantrue
|
||||
\@ngermanfalse
|
||||
\@englishfalse
|
||||
}
|
||||
\DeclareOption{english}{%
|
||||
\ClassWarning{leibnizfh}{Option 'english' is deprecated. Use \protect\selectlanguage{english} in the document body instead}%
|
||||
\@englishtrue
|
||||
\@ngermanfalse
|
||||
\@germanfalse
|
||||
}
|
||||
|
||||
\newcommand{\lfh@ifgerman}[2]{%
|
||||
\iflanguage{german}{#1}{%
|
||||
\iflanguage{ngerman}{#1}{#2}%
|
||||
}%
|
||||
}
|
||||
|
||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
||||
|
||||
\ProcessOptions\relax
|
||||
@@ -65,7 +86,7 @@
|
||||
% Pakete laden
|
||||
% Standardformat
|
||||
\RequirePackage[left=4cm, right=2cm, top=2.5cm, bottom=2.5cm]{geometry} % Abstände
|
||||
\RequirePackage{helvet} % Helvetika (Serifenlose Schrift)
|
||||
\RequirePackage{tex-gyre} % Für TeX Gyre Heros (Serifenlose Schrift)
|
||||
\RequirePackage{setspace} % Zeilenabstände
|
||||
\RequirePackage{microtype} % Bessere Typographie im Blocksatz
|
||||
% Headerzusätze
|
||||
@@ -75,27 +96,48 @@
|
||||
% Konfiguration per Key->Value
|
||||
\RequirePackage{keyval}
|
||||
% Sprache
|
||||
\if@ngerman
|
||||
\RequirePackage[ngerman]{babel}
|
||||
\RequirePackage[english,ngerman ,german]{babel}
|
||||
\if@english
|
||||
\AtBeginDocument{\selectlanguage{english}}
|
||||
\else
|
||||
\RequirePackage[english]{babel}
|
||||
\if@ngerman
|
||||
\AtBeginDocument{\selectlanguage{ngerman}}
|
||||
\ClassWarning{leibnizfh}{ngerman deprecated. Use german instead}%
|
||||
\else
|
||||
\if@german
|
||||
\AtBeginDocument{\selectlanguage{german}}
|
||||
\else
|
||||
% Keine Sprache gewählt -> Standard
|
||||
\AtBeginDocument{\selectlanguage{german}}
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
|
||||
|
||||
% Formatgrundlagen
|
||||
\renewcommand{\familydefault}{\sfdefault} % Font
|
||||
\onehalfspacing %Zeilenabstand
|
||||
\setlength{\parindent}{0pt} % Absatzeinrückung
|
||||
\setlength{\parskip}{11pt} % Absatzhöhe
|
||||
|
||||
% Helpercommandos
|
||||
% Logo
|
||||
\newcommand{\lfh@includeLogo}{%
|
||||
\ifx\lfh@logo\@empty
|
||||
\ClassInfo{leibnizfh}{No logo file specified. Use \protect\lfhsetup{logo=path/to/file.ext}}%
|
||||
\else
|
||||
\IfFileExists{\lfh@logo}{%
|
||||
\includegraphics[height=3\baselineskip]{\lfh@logo}%
|
||||
}{%
|
||||
\ClassWarning{leibnizfh}{Logo file '\lfh@logo' not found. Header rendered without logo}%
|
||||
}%
|
||||
\fi
|
||||
}
|
||||
|
||||
|
||||
% Fußnote
|
||||
\makeatletter
|
||||
\renewcommand\footnotesize{%
|
||||
\@setfontsize\footnotesize{9pt}{11pt} }
|
||||
\makeatother
|
||||
|
||||
% Konfiguration
|
||||
\makeatletter
|
||||
\newcommand*\lfh@title{Thema (Schrift groß oder fett)}
|
||||
\newcommand*\lfh@subtitle{}
|
||||
\newcommand*\lfh@module{Nennung des Moduls}
|
||||
@@ -110,7 +152,7 @@
|
||||
\newcommand*\lfh@headerone{Muster}
|
||||
\newcommand*\lfh@headertwo{Haus-\, Seminararbeiten\, Praxisreflexionen\, Essays…}
|
||||
\newcommand*\lfh@headerthree{Leibniz-Fachhochschule $\cdot$ Version 2025}
|
||||
\newcommand*\lfh@logo{logo-lfh}
|
||||
\newcommand*\lfh@logo{}
|
||||
|
||||
\define@key{lfh}{title}{\def\lfh@title{#1}}
|
||||
\define@key{lfh}{subtitle}{\def\lfh@subtitle{#1}}
|
||||
@@ -122,6 +164,7 @@
|
||||
\define@key{lfh}{email}{\def\lfh@email{#1}}
|
||||
\define@key{lfh}{prof}{\def\lfh@prof{#1}}
|
||||
\define@key{lfh}{program}{\def\lfh@program{#1}}
|
||||
\define@key{lfh}{logo}{\def\lfh@logo{#1}}
|
||||
\define@key{lfh}{submission}{\def\lfh@submission{#1}}
|
||||
\define@key{lfh}{headerone}{\def\lfh@headerone{#1}}
|
||||
\define@key{lfh}{headertwo}{\def\lfh@headertwo{#1}}
|
||||
@@ -130,10 +173,8 @@
|
||||
|
||||
|
||||
\newcommand{\lfhsetup}[1]{\setkeys{lfh}{#1}}
|
||||
\makeatother
|
||||
|
||||
% Header
|
||||
\makeatletter
|
||||
|
||||
% Globale Header-Höhen
|
||||
\setlength{\headheight}{36pt}
|
||||
@@ -147,7 +188,7 @@
|
||||
\textbf{\fontsize{10}{12}\selectfont \lfh@headertwo}\\
|
||||
\fontsize{10}{12}\selectfont \lfh@headerthree
|
||||
}
|
||||
\fancyhead[R]{\includegraphics[height=3\baselineskip]{\lfh@logo}}
|
||||
\fancyhead[R]{\lfh@includeLogo}
|
||||
\renewcommand{\headrulewidth}{0.4pt}
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
}
|
||||
@@ -167,76 +208,47 @@
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
}
|
||||
%maketitle
|
||||
\if@english
|
||||
\newcommand*{\makelfhtitle}{%
|
||||
\newgeometry{left=3cm,right=2cm,top=3cm,bottom=1cm}
|
||||
\newgeometry{left=3cm,right=2cm,top=3cm,bottom=1cm}
|
||||
|
||||
\begin{titlepage}
|
||||
\iflfh@plaintitle
|
||||
\thispagestyle{lfhplain} % ← Plain ohne Header
|
||||
\thispagestyle{lfhplain} % <- Plain ohne Header
|
||||
\else
|
||||
\thispagestyle{lfhheader} % ← Standard mit Header
|
||||
\thispagestyle{lfhheader} % <- Standard mit Header
|
||||
\fi
|
||||
|
||||
\vspace{2cm}
|
||||
\begin{flushleft}
|
||||
\fontsize{11.5}{12}\selectfont Leibniz-Fachhochschule\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont \lfh@program\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont Supervised by: \lfh@prof
|
||||
\end{flushleft}
|
||||
|
||||
\vspace{2cm}
|
||||
|
||||
\begin{center}
|
||||
\fontsize{11.5}{12}\selectfont \lfh@worktype\\[0.5em]
|
||||
\if@truetitle
|
||||
\fontsize{11.5}{12}\selectfont \lfh@module\ \lfh@semester
|
||||
\else
|
||||
\fontsize{11.5}{12}\selectfont in the subject \lfh@module\ in \lfh@semester
|
||||
\fi
|
||||
\end{center}
|
||||
|
||||
\vspace{1.8cm}
|
||||
\begin{center}
|
||||
{\Huge\bfseries \lfh@title}\\
|
||||
{\Large\bfseries \lfh@subtitle}
|
||||
\end{center}
|
||||
|
||||
\vfill
|
||||
\begin{flushleft}
|
||||
\fontsize{11.5}{12}\selectfont \lfh@author\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont matr.-no.: \lfh@studentid\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont e-mail: \href{mailto:\lfh@email}{\lfh@email}\\[1em]
|
||||
\fontsize{11.5}{12}\selectfont Submission date: \lfh@submission
|
||||
\end{flushleft}
|
||||
\end{titlepage}
|
||||
\restoregeometry
|
||||
}
|
||||
\else
|
||||
\newcommand*{\makelfhtitle}{%
|
||||
\newgeometry{left=3cm,right=2cm,top=3cm,bottom=1cm}
|
||||
|
||||
\begin{titlepage}
|
||||
\iflfh@plaintitle
|
||||
\thispagestyle{lfhplain} % ← Plain ohne Header
|
||||
\else
|
||||
\thispagestyle{lfhheader} % ← Standard MIT Header
|
||||
\fi
|
||||
|
||||
\vspace{2cm}
|
||||
\begin{flushleft}
|
||||
\begin{flushleft}
|
||||
\lfh@ifgerman{%
|
||||
\fontsize{11.5}{12}\selectfont Leibniz-Fachhochschule\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont \lfh@program\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont Betreut durch: \lfh@prof
|
||||
}{
|
||||
\iflanguage{english}{%
|
||||
\fontsize{11.5}{12}\selectfont Leibniz-Fachhochschule\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont \lfh@program\\[0.5em]
|
||||
\fontsize{11.5}{12}\selectfont Supervised by: \lfh@prof
|
||||
}{}
|
||||
}
|
||||
\end{flushleft}
|
||||
|
||||
\vspace{2cm}
|
||||
|
||||
\begin{center}
|
||||
\fontsize{11.5}{12}\selectfont \lfh@worktype\\[0.5em]
|
||||
\if@truetitle
|
||||
\fontsize{11.5}{12}\selectfont \lfh@module\ \lfh@semester
|
||||
\else
|
||||
\fontsize{11.5}{12}\selectfont im Fach \lfh@module\ im \lfh@semester
|
||||
\lfh@ifgerman{%
|
||||
\fontsize{11.5}{12}\selectfont im Fach \lfh@module\ im \lfh@semester
|
||||
}{
|
||||
\iflanguage{english}{%
|
||||
\fontsize{11.5}{12}\selectfont in the subject \lfh@module\ in \lfh@semester
|
||||
}{}
|
||||
}
|
||||
|
||||
\fi
|
||||
\end{center}
|
||||
|
||||
@@ -248,13 +260,20 @@
|
||||
|
||||
\vfill
|
||||
\begin{flushleft}
|
||||
\fontsize{11.5}{12}\selectfont \lfh@author\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont Matr.-Nr.: \lfh@studentid\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont E-Mail: \href{mailto:\lfh@email}{\lfh@email}\\[1em]
|
||||
\fontsize{11.5}{12}\selectfont Abgabedatum: \lfh@submission
|
||||
\lfh@ifgerman{%
|
||||
\fontsize{11.5}{12}\selectfont \lfh@author\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont Matrikel.-Nr.: \lfh@studentid\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont E-Mail: \href{mailto:\lfh@email}{\lfh@email}\\[1em]
|
||||
\fontsize{11.5}{12}\selectfont Abgabedatum: \lfh@submission
|
||||
}{
|
||||
\iflanguage{english}{%
|
||||
\fontsize{11.5}{12}\selectfont \lfh@author\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont matr.-no.: \lfh@studentid\\[0.8em]
|
||||
\fontsize{11.5}{12}\selectfont e-mail: \href{mailto:\lfh@email}{\lfh@email}\\[1em]
|
||||
\fontsize{11.5}{12}\selectfont Submission date: \lfh@submission
|
||||
}{}
|
||||
}
|
||||
\end{flushleft}
|
||||
\end{titlepage}
|
||||
\restoregeometry
|
||||
}
|
||||
\fi
|
||||
\makeatother
|
||||
|
||||
Reference in New Issue
Block a user