From 6f2c05b6eb38c5e99b545ccd92e898fdb8029421 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Thu, 22 Jan 2026 14:34:57 +0100 Subject: [PATCH] [Core] add preliminary support for multicols --- config/config.tex | 6 ++++++ dist/full.tex | 24 +++++++++++++++++++++++- dist/minimal.tex | 24 +++++++++++++++++++++++- dist/most.tex | 24 +++++++++++++++++++++++- dist/recommended.tex | 24 +++++++++++++++++++++++- main/core.tex | 18 +++++++++++++++++- 6 files changed, 115 insertions(+), 5 deletions(-) diff --git a/config/config.tex b/config/config.tex index e5ba08a..283da7e 100644 --- a/config/config.tex +++ b/config/config.tex @@ -42,3 +42,9 @@ % The colour-saturation of the shade command (default = 20) \setcounter{shadeStrength}{20} + +% Whether or not to use landscape orientation for the cheat sheet +\boolfalse{cheatSheetLandscape} + +% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true) +\setcounter{colCount}{3} diff --git a/dist/full.tex b/dist/full.tex index 74f6558..aeceb9d 100644 --- a/dist/full.tex +++ b/dist/full.tex @@ -30,6 +30,7 @@ \usepackage[export]{adjustbox} \usepackage[most]{tcolorbox} \usepackage{cancel} +\usepackage{etoolbox} \usepackage{dsfont} \usepackage{amssymb} \usepackage{mathrsfs} @@ -90,6 +91,8 @@ \newcounter{numberSubsections} \newcounter{descriptorShadeStrength} \newcounter{shadeStrength} +\newcounter{colCount} +\newbool{cheatSheetLandscape} % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers @@ -141,7 +144,20 @@ \newcommand{\setupCheatSheet}[1]{ \typeout{[Setup] Using CheatSheet setup} \loadLang - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } \title{\Huge \textbf{#1}} \author{\authorTitle} } @@ -214,6 +230,12 @@ % The colour-saturation of the shade command (default = 20) \setcounter{shadeStrength}{20} +% Whether or not to use landscape orientation for the cheat sheet +\boolfalse{cheatSheetLandscape} + +% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true) +\setcounter{colCount}{3} + %░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ %░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░ %▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ diff --git a/dist/minimal.tex b/dist/minimal.tex index 3c82b73..fe6d17e 100644 --- a/dist/minimal.tex +++ b/dist/minimal.tex @@ -30,6 +30,7 @@ \usepackage[export]{adjustbox} \usepackage[most]{tcolorbox} \usepackage{cancel} +\usepackage{etoolbox} \usepackage{dsfont} \usepackage{amssymb} \usepackage{mathrsfs} @@ -90,6 +91,8 @@ \newcounter{numberSubsections} \newcounter{descriptorShadeStrength} \newcounter{shadeStrength} +\newcounter{colCount} +\newbool{cheatSheetLandscape} % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers @@ -141,7 +144,20 @@ \newcommand{\setupCheatSheet}[1]{ \typeout{[Setup] Using CheatSheet setup} \loadLang - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } \title{\Huge \textbf{#1}} \author{\authorTitle} } @@ -214,6 +230,12 @@ % The colour-saturation of the shade command (default = 20) \setcounter{shadeStrength}{20} +% Whether or not to use landscape orientation for the cheat sheet +\boolfalse{cheatSheetLandscape} + +% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true) +\setcounter{colCount}{3} + %░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ %░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░ %▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ diff --git a/dist/most.tex b/dist/most.tex index ffc0485..5f7936f 100644 --- a/dist/most.tex +++ b/dist/most.tex @@ -30,6 +30,7 @@ \usepackage[export]{adjustbox} \usepackage[most]{tcolorbox} \usepackage{cancel} +\usepackage{etoolbox} \usepackage{dsfont} \usepackage{amssymb} \usepackage{mathrsfs} @@ -90,6 +91,8 @@ \newcounter{numberSubsections} \newcounter{descriptorShadeStrength} \newcounter{shadeStrength} +\newcounter{colCount} +\newbool{cheatSheetLandscape} % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers @@ -141,7 +144,20 @@ \newcommand{\setupCheatSheet}[1]{ \typeout{[Setup] Using CheatSheet setup} \loadLang - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } \title{\Huge \textbf{#1}} \author{\authorTitle} } @@ -214,6 +230,12 @@ % The colour-saturation of the shade command (default = 20) \setcounter{shadeStrength}{20} +% Whether or not to use landscape orientation for the cheat sheet +\boolfalse{cheatSheetLandscape} + +% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true) +\setcounter{colCount}{3} + %░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ %░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░ %▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ diff --git a/dist/recommended.tex b/dist/recommended.tex index 47d85a9..e5cddae 100644 --- a/dist/recommended.tex +++ b/dist/recommended.tex @@ -30,6 +30,7 @@ \usepackage[export]{adjustbox} \usepackage[most]{tcolorbox} \usepackage{cancel} +\usepackage{etoolbox} \usepackage{dsfont} \usepackage{amssymb} \usepackage{mathrsfs} @@ -90,6 +91,8 @@ \newcounter{numberSubsections} \newcounter{descriptorShadeStrength} \newcounter{shadeStrength} +\newcounter{colCount} +\newbool{cheatSheetLandscape} % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers @@ -141,7 +144,20 @@ \newcommand{\setupCheatSheet}[1]{ \typeout{[Setup] Using CheatSheet setup} \loadLang - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } \title{\Huge \textbf{#1}} \author{\authorTitle} } @@ -214,6 +230,12 @@ % The colour-saturation of the shade command (default = 20) \setcounter{shadeStrength}{20} +% Whether or not to use landscape orientation for the cheat sheet +\boolfalse{cheatSheetLandscape} + +% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true) +\setcounter{colCount}{3} + %░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ %░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░ %▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ diff --git a/main/core.tex b/main/core.tex index cb6bdf6..c6e1aca 100644 --- a/main/core.tex +++ b/main/core.tex @@ -21,6 +21,7 @@ \usepackage[export]{adjustbox} \usepackage[most]{tcolorbox} \usepackage{cancel} +\usepackage{etoolbox} \usepackage{dsfont} \usepackage{amssymb} \usepackage{mathrsfs} @@ -81,6 +82,8 @@ \newcounter{numberSubsections} \newcounter{descriptorShadeStrength} \newcounter{shadeStrength} +\newcounter{colCount} +\newbool{cheatSheetLandscape} % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers @@ -132,7 +135,20 @@ \newcommand{\setupCheatSheet}[1]{ \typeout{[Setup] Using CheatSheet setup} \loadLang - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } \title{\Huge \textbf{#1}} \author{\authorTitle} }