Reworked the language selection and switched to \selectlanguage
This commit is contained in:
@@ -6,11 +6,11 @@ Dieses Paket stellt eine LaTeX-Dokumentenklasse bereit, die an die Formatierungs
|
|||||||
|
|
||||||
## Funktionsübersicht
|
## 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`)
|
- Integrierte Titelseitenfunktion (`\makelfhtitle`)
|
||||||
- Key-Value-Konfiguration über `\lfhsetup{...}`
|
- Key-Value-Konfiguration über `\lfhsetup{...}`
|
||||||
- Optionale Kopfzeile auf der Titelseite (`plaintitle`)
|
- Optionale Kopfzeile auf der Titelseite (`plaintitle`)
|
||||||
- Sprachumschaltung (`ngerman` / `english`)
|
- Sprachumschaltung (`german` / `english`)
|
||||||
- LPPL-lizenziert (freie Nutzung und Modifikation)
|
- LPPL-lizenziert (freie Nutzung und Modifikation)
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -54,13 +54,9 @@ Hier beginnt der Text der Arbeit.
|
|||||||
Beim Laden der Klasse können Optionen gesetzt werden:
|
Beim Laden der Klasse können Optionen gesetzt werden:
|
||||||
|
|
||||||
```latex
|
```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.
|
Nicht unterstützte Optionen werden automatisch an die Basisklasse `article` weitergereicht.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -111,6 +107,18 @@ Die Klasse basiert auf der Standardklasse `article` und verwendet folgende Paket
|
|||||||
- `babel`, `fancyhdr`, `graphicx`, `hyperref`
|
- `babel`, `fancyhdr`, `graphicx`, `hyperref`
|
||||||
- `keyval` für die Konfigurationslogik
|
- `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
|
## Lizenz
|
||||||
|
|||||||
+66
-63
@@ -1,5 +1,5 @@
|
|||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
% LeibnizFH LaTeX-Klasse v1.1.0
|
% LeibnizFH LaTeX-Klasse v1.1.1WIP
|
||||||
|
|
||||||
% Erstellt von: F. L. Werner
|
% Erstellt von: F. L. Werner
|
||||||
% Datum: 27.01.2026
|
% Datum: 27.01.2026
|
||||||
@@ -30,15 +30,19 @@
|
|||||||
|
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\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:
|
% Eigene Klassenoptionen:
|
||||||
\newif\if@ngerman
|
\newif\if@ngerman
|
||||||
|
\newif\if@german
|
||||||
\newif\if@english
|
\newif\if@english
|
||||||
\newif\iflfh@plaintitle
|
\newif\iflfh@plaintitle
|
||||||
\newif\if@truetitle
|
\newif\if@truetitle
|
||||||
|
|
||||||
\@truetitlefalse
|
\@truetitlefalse
|
||||||
\@ngermantrue
|
\@ngermanfalse
|
||||||
|
\@germanfalse
|
||||||
|
\@englishfalse
|
||||||
|
|
||||||
\DeclareOption{plaintitle}{%
|
\DeclareOption{plaintitle}{%
|
||||||
\lfh@plaintitletrue
|
\lfh@plaintitletrue
|
||||||
@@ -47,13 +51,30 @@
|
|||||||
\@truetitletrue
|
\@truetitletrue
|
||||||
}
|
}
|
||||||
\DeclareOption{ngerman}{%
|
\DeclareOption{ngerman}{%
|
||||||
|
\ClassWarning{leibnizfh}{Option 'ngerman' is deprecated. Use \protect\selectlanguage{german} in the document body instead}%
|
||||||
\@ngermantrue
|
\@ngermantrue
|
||||||
|
\@germanfalse
|
||||||
|
\@englishfalse
|
||||||
|
}
|
||||||
|
\DeclareOption{german}{%
|
||||||
|
\ClassWarning{leibnizfh}{Option 'german' is deprecated. Use \protect\selectlanguage{german} in the document body instead}%
|
||||||
|
\@germantrue
|
||||||
|
\@ngermanfalse
|
||||||
\@englishfalse
|
\@englishfalse
|
||||||
}
|
}
|
||||||
\DeclareOption{english}{%
|
\DeclareOption{english}{%
|
||||||
|
\ClassWarning{leibnizfh}{Option 'english' is deprecated. Use \protect\selectlanguage{english} in the document body instead}%
|
||||||
\@englishtrue
|
\@englishtrue
|
||||||
\@ngermanfalse
|
\@ngermanfalse
|
||||||
|
\@germanfalse
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\lfh@ifgerman}[2]{%
|
||||||
|
\iflanguage{german}{#1}{%
|
||||||
|
\iflanguage{ngerman}{#1}{#2}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
||||||
|
|
||||||
\ProcessOptions\relax
|
\ProcessOptions\relax
|
||||||
@@ -75,13 +96,22 @@
|
|||||||
% Konfiguration per Key->Value
|
% Konfiguration per Key->Value
|
||||||
\RequirePackage{keyval}
|
\RequirePackage{keyval}
|
||||||
% Sprache
|
% Sprache
|
||||||
\if@ngerman
|
\RequirePackage[english,ngerman ,german]{babel}
|
||||||
\RequirePackage[ngerman]{babel}
|
\if@english
|
||||||
|
\AtBeginDocument{\selectlanguage{english}}
|
||||||
\else
|
\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
|
\fi
|
||||||
|
|
||||||
|
|
||||||
% Formatgrundlagen
|
% Formatgrundlagen
|
||||||
\renewcommand{\familydefault}{\sfdefault} % Font
|
\renewcommand{\familydefault}{\sfdefault} % Font
|
||||||
\onehalfspacing %Zeilenabstand
|
\onehalfspacing %Zeilenabstand
|
||||||
@@ -89,13 +119,10 @@
|
|||||||
\setlength{\parskip}{11pt} % Absatzhöhe
|
\setlength{\parskip}{11pt} % Absatzhöhe
|
||||||
|
|
||||||
% Fußnote
|
% Fußnote
|
||||||
\makeatletter
|
|
||||||
\renewcommand\footnotesize{%
|
\renewcommand\footnotesize{%
|
||||||
\@setfontsize\footnotesize{9pt}{11pt} }
|
\@setfontsize\footnotesize{9pt}{11pt} }
|
||||||
\makeatother
|
|
||||||
|
|
||||||
% Konfiguration
|
% Konfiguration
|
||||||
\makeatletter
|
|
||||||
\newcommand*\lfh@title{Thema (Schrift groß oder fett)}
|
\newcommand*\lfh@title{Thema (Schrift groß oder fett)}
|
||||||
\newcommand*\lfh@subtitle{}
|
\newcommand*\lfh@subtitle{}
|
||||||
\newcommand*\lfh@module{Nennung des Moduls}
|
\newcommand*\lfh@module{Nennung des Moduls}
|
||||||
@@ -130,10 +157,8 @@
|
|||||||
|
|
||||||
|
|
||||||
\newcommand{\lfhsetup}[1]{\setkeys{lfh}{#1}}
|
\newcommand{\lfhsetup}[1]{\setkeys{lfh}{#1}}
|
||||||
\makeatother
|
|
||||||
|
|
||||||
% Header
|
% Header
|
||||||
\makeatletter
|
|
||||||
|
|
||||||
% Globale Header-Höhen
|
% Globale Header-Höhen
|
||||||
\setlength{\headheight}{36pt}
|
\setlength{\headheight}{36pt}
|
||||||
@@ -147,7 +172,7 @@
|
|||||||
\textbf{\fontsize{10}{12}\selectfont \lfh@headertwo}\\
|
\textbf{\fontsize{10}{12}\selectfont \lfh@headertwo}\\
|
||||||
\fontsize{10}{12}\selectfont \lfh@headerthree
|
\fontsize{10}{12}\selectfont \lfh@headerthree
|
||||||
}
|
}
|
||||||
\fancyhead[R]{\includegraphics[height=3\baselineskip]{\lfh@logo}}
|
\IfFileExists{\lfh@logo}{\fancyhead[R]{\includegraphics[height=3\baselineskip]{\lfh@logo}}}{}
|
||||||
\renewcommand{\headrulewidth}{0.4pt}
|
\renewcommand{\headrulewidth}{0.4pt}
|
||||||
\renewcommand{\footrulewidth}{0pt}
|
\renewcommand{\footrulewidth}{0pt}
|
||||||
}
|
}
|
||||||
@@ -167,22 +192,30 @@
|
|||||||
\renewcommand{\footrulewidth}{0pt}
|
\renewcommand{\footrulewidth}{0pt}
|
||||||
}
|
}
|
||||||
%maketitle
|
%maketitle
|
||||||
\if@english
|
|
||||||
\newcommand*{\makelfhtitle}{%
|
\newcommand*{\makelfhtitle}{%
|
||||||
\newgeometry{left=3cm,right=2cm,top=3cm,bottom=1cm}
|
\newgeometry{left=3cm,right=2cm,top=3cm,bottom=1cm}
|
||||||
|
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
\iflfh@plaintitle
|
\iflfh@plaintitle
|
||||||
\thispagestyle{lfhplain} % ← Plain ohne Header
|
\thispagestyle{lfhplain} % <- Plain ohne Header
|
||||||
\else
|
\else
|
||||||
\thispagestyle{lfhheader} % ← Standard mit Header
|
\thispagestyle{lfhheader} % <- Standard mit Header
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
\vspace{2cm}
|
\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 Leibniz-Fachhochschule\\[0.5em]
|
||||||
\fontsize{11.5}{12}\selectfont \lfh@program\\[0.5em]
|
\fontsize{11.5}{12}\selectfont \lfh@program\\[0.5em]
|
||||||
\fontsize{11.5}{12}\selectfont Supervised by: \lfh@prof
|
\fontsize{11.5}{12}\selectfont Supervised by: \lfh@prof
|
||||||
|
}{}
|
||||||
|
}
|
||||||
\end{flushleft}
|
\end{flushleft}
|
||||||
|
|
||||||
\vspace{2cm}
|
\vspace{2cm}
|
||||||
@@ -192,7 +225,14 @@
|
|||||||
\if@truetitle
|
\if@truetitle
|
||||||
\fontsize{11.5}{12}\selectfont \lfh@module\ \lfh@semester
|
\fontsize{11.5}{12}\selectfont \lfh@module\ \lfh@semester
|
||||||
\else
|
\else
|
||||||
|
\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
|
\fontsize{11.5}{12}\selectfont in the subject \lfh@module\ in \lfh@semester
|
||||||
|
}{}
|
||||||
|
}
|
||||||
|
|
||||||
\fi
|
\fi
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@@ -204,57 +244,20 @@
|
|||||||
|
|
||||||
\vfill
|
\vfill
|
||||||
\begin{flushleft}
|
\begin{flushleft}
|
||||||
|
\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 \lfh@author\\[0.8em]
|
||||||
\fontsize{11.5}{12}\selectfont matr.-no.: \lfh@studentid\\[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 e-mail: \href{mailto:\lfh@email}{\lfh@email}\\[1em]
|
||||||
\fontsize{11.5}{12}\selectfont Submission date: \lfh@submission
|
\fontsize{11.5}{12}\selectfont Submission date: \lfh@submission
|
||||||
|
}{}
|
||||||
|
}
|
||||||
\end{flushleft}
|
\end{flushleft}
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
\restoregeometry
|
\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}
|
|
||||||
\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
|
|
||||||
\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
|
|
||||||
\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.-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
|
|
||||||
\end{flushleft}
|
|
||||||
\end{titlepage}
|
|
||||||
\restoregeometry
|
|
||||||
}
|
|
||||||
\fi
|
|
||||||
\makeatother
|
|
||||||
|
|||||||
Reference in New Issue
Block a user