From c4c0266fd87809e6f2000201b1b4a18dee79d026 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Thu, 19 Feb 2026 18:07:27 +0100 Subject: [PATCH] Improve build --- build/build.py | 20 +++++++++++++++----- install.sh | 2 +- janishutz-helpers.sty | 3 --- janishutz-helpers.tex | 5 ----- src/core/setup.sty | 3 --- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/build/build.py b/build/build.py index 17b35ab..676089f 100644 --- a/build/build.py +++ b/build/build.py @@ -2,6 +2,7 @@ import os from typing import List import labels import datetime +import sys version = "1.0.1" @@ -17,6 +18,12 @@ print(""" """) +build_sty = False +try: + build_sty = sys.argv.index("sty") > -1 +except: + pass + def load_all_files_of_array(dirname: str, files: List[str]): data = "" @@ -28,7 +35,8 @@ def load_all_files_of_array(dirname: str, files: List[str]): output = load_all_files_of_array("../src/", ["header.sty"]) -output += f"\\ProvidesPackage{{janishutz-helpers}}[{datetime.datetime.now().date().isoformat()} v{version}]\n\n" +if build_sty: + output += f"\\ProvidesPackage{{janishutz-helpers}}[{datetime.datetime.now().date().isoformat()} v{version}]\n\n" output += load_all_files_of_array("../src/", ["core.sty"]) output += load_all_files_of_array("../src/config/", os.listdir("../src/config/")) output += load_all_files_of_array("../src/", ["style.sty"]) @@ -41,11 +49,13 @@ output += l[1] output += "\\endinput" -with open("../janishutz-helpers.tex", "w") as file: - file.write(output) -with open("../janishutz-helpers.sty", "w") as file: - file.write(output) +if not build_sty: + with open("../janishutz-helpers.tex", "w") as file: + file.write(output) +else: + with open("../janishutz-helpers.sty", "w") as file: + file.write(output) print("==> Built successfully. Output to project-root/janishutz-helpers.tex\n") diff --git a/install.sh b/install.sh index c90bbcc..6352b40 100755 --- a/install.sh +++ b/install.sh @@ -1,7 +1,7 @@ #!/bin/sh cd build/ -python build.py +python build.py sty cd .. loc="l" diff --git a/janishutz-helpers.sty b/janishutz-helpers.sty index f390be2..7f655c2 100644 --- a/janishutz-helpers.sty +++ b/janishutz-helpers.sty @@ -496,7 +496,6 @@ % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ \typeout{[Setup] Setting up...} - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -520,7 +519,6 @@ % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -530,7 +528,6 @@ % TODO: Use landscape and columns for new version % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} diff --git a/janishutz-helpers.tex b/janishutz-helpers.tex index f390be2..f488a38 100644 --- a/janishutz-helpers.tex +++ b/janishutz-helpers.tex @@ -12,8 +12,6 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{janishutz-helpers}[2026-02-19 v1.0.1] - % Package imports \RequirePackage[table, dvipsnames]{xcolor} \RequirePackage{amsmath} @@ -496,7 +494,6 @@ % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ \typeout{[Setup] Setting up...} - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -520,7 +517,6 @@ % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -530,7 +526,6 @@ % TODO: Use landscape and columns for new version % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} diff --git a/src/core/setup.sty b/src/core/setup.sty index a271823..d29dc8e 100644 --- a/src/core/setup.sty +++ b/src/core/setup.sty @@ -4,7 +4,6 @@ % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ \typeout{[Setup] Setting up...} - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -28,7 +27,6 @@ % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle} @@ -38,7 +36,6 @@ % TODO: Use landscape and columns for new version % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \loadLang \RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \title{\Huge \textbf{#1}} \author{\authorTitle}