From cb02f87a6c1058c685cf1423e74a8bd28d2ebaad Mon Sep 17 00:00:00 2001
From: Jan Wille <jan.wille@siemens.com>
Date: Thu, 10 Aug 2023 10:14:51 +0200
Subject: [PATCH] better interaction with geometry

- settings are more relative, allowing it to adapt better to papersize
- loading is defered untill `AtBeginDocument`, allowing the user to load and
  modify the package if he chooses.
---
 CHANGELOG.md           | 8 ++++++++
 HsH-classes.dtx        | 8 ++++----
 src/HsH-article.cls    | 4 ++--
 src/HsH-report.cls     | 4 ++--
 src/HsH-standalone.cls | 6 ------
 5 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4be6335..bf42c00 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
 
 ## [Current]
 
+### Changed
+
+- the margins are now set using relative values, which makes them adapt to different paper sizes
+
+## Fixed
+
+- `geometry` is now deferred until `AtBeginDocument`, which allows the user to load and modify the package in his preamble
+
 ## [2.0]
 
 ### Changed
diff --git a/HsH-classes.dtx b/HsH-classes.dtx
index d985c1c..d0bc09d 100644
--- a/HsH-classes.dtx
+++ b/HsH-classes.dtx
@@ -104,13 +104,12 @@
 %
 %<*article|report>
 % required for changing layout
-\PassOptionsToPackage{a4paper,vmargin=3cm,bindingoffset=1cm,textwidth=15.5cm}{geometry}
+\PassOptionsToPackage{vmargin=5\baselineskip,bindingoffset=0.08\paperwidth,textwidth=0.75\paperwidth}{geometry}
 \if@todos
   \PassOptionsToPackage{paperwidth=1.2\paperwidth,left=2cm}{geometry}
 \else
   \PassOptionsToPackage{nomarginpar}{geometry}
 \fi
-\RequirePackage{geometry}
 %
 % language specific localisation
 \if@german
@@ -313,7 +312,8 @@
 %% load config at beginning of document
 \AtBeginDocument{
   \makeatletter
-%<^*standalone>
+%<!standalone>  \RequirePackage{geometry}
+%<*!standalone>
 % solve some common errors:
   \@ifpackageloaded{biblatex}{
 % solves fontype warning in San-Serif
@@ -322,7 +322,7 @@
   \@ifpackageloaded{subfigure}{
     \newcommand{\subfigureautorefname}{\figureautorefname}
   }{}
-%<^*standalone>
+%</!standalone>
   \InputIfFileExists{config.tex}{
     \ClassInfo{\myClassName}{config.tex was found. Using it...}
   }{
diff --git a/src/HsH-article.cls b/src/HsH-article.cls
index 73b5a5d..8838ab8 100644
--- a/src/HsH-article.cls
+++ b/src/HsH-article.cls
@@ -82,13 +82,12 @@
 \RequirePackage{graphicx}
 \RequirePackage{amsmath}
 \if@german\RequirePackage{ziffer}\fi
-\PassOptionsToPackage{a4paper,vmargin=3cm,bindingoffset=1cm,textwidth=15.5cm}{geometry}
+\PassOptionsToPackage{vmargin=5\baselineskip,bindingoffset=0.08\paperwidth,textwidth=0.75\paperwidth}{geometry}
 \if@todos
   \PassOptionsToPackage{paperwidth=1.2\paperwidth,left=2cm}{geometry}
 \else
   \PassOptionsToPackage{nomarginpar}{geometry}
 \fi
-\RequirePackage{geometry}
 \if@german
   \PassOptionsToPackage{ngerman}{babel}
 \else
@@ -218,6 +217,7 @@
 %% load config at beginning of document
 \AtBeginDocument{
   \makeatletter
+  \RequirePackage{geometry}
   \@ifpackageloaded{biblatex}{
     \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}}
   }{}
diff --git a/src/HsH-report.cls b/src/HsH-report.cls
index 017ac99..9cb90d9 100644
--- a/src/HsH-report.cls
+++ b/src/HsH-report.cls
@@ -82,13 +82,12 @@
 \RequirePackage{graphicx}
 \RequirePackage{amsmath}
 \if@german\RequirePackage{ziffer}\fi
-\PassOptionsToPackage{a4paper,vmargin=3cm,bindingoffset=1cm,textwidth=15.5cm}{geometry}
+\PassOptionsToPackage{vmargin=5\baselineskip,bindingoffset=0.08\paperwidth,textwidth=0.75\paperwidth}{geometry}
 \if@todos
   \PassOptionsToPackage{paperwidth=1.2\paperwidth,left=2cm}{geometry}
 \else
   \PassOptionsToPackage{nomarginpar}{geometry}
 \fi
-\RequirePackage{geometry}
 \if@german
   \PassOptionsToPackage{ngerman}{babel}
 \else
@@ -234,6 +233,7 @@
 %% load config at beginning of document
 \AtBeginDocument{
   \makeatletter
+  \RequirePackage{geometry}
   \@ifpackageloaded{biblatex}{
     \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}}
   }{}
diff --git a/src/HsH-standalone.cls b/src/HsH-standalone.cls
index 742489d..b635ccd 100644
--- a/src/HsH-standalone.cls
+++ b/src/HsH-standalone.cls
@@ -91,12 +91,6 @@
 %% load config at beginning of document
 \AtBeginDocument{
   \makeatletter
-  \@ifpackageloaded{biblatex}{
-    \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}}
-  }{}
-  \@ifpackageloaded{subfigure}{
-    \newcommand{\subfigureautorefname}{\figureautorefname}
-  }{}
   \InputIfFileExists{config.tex}{
     \ClassInfo{\myClassName}{config.tex was found. Using it...}
   }{
-- 
GitLab