fix: typstyle #120

Merged
servostar merged 4 commits from fix/typstyle into main 2024-12-03 08:29:34 +00:00
10 changed files with 80 additions and 66 deletions

View File

@ -17,7 +17,7 @@ function format() {
exit 1 exit 1
fi fi
local imports=$(rg "#import \"([a-z0-9/\-]+\.typ)\"" -Nor '$1' "$1") local imports=$(rg "#import \"([a-z0-9/\-.]+\.typ)\"" -Nor '$1' "$1")
# format all included files # format all included files
while IFS= read -r line; do while IFS= read -r line; do
@ -26,6 +26,16 @@ function format() {
fi fi
format "$wd/$line" "$2" format "$wd/$line" "$2"
done <<< "$imports" done <<< "$imports"
local includes=$(rg "#import \"([a-z0-9/\-.]+\.typ)\"" -Nor '$1' "$1")
# format all included files
while IFS= read -r line; do
if [ -z "$line" ]; then
continue
fi
format "$wd/$line" "$2"
done <<< "$includes"
} }
case $1 in case $1 in

View File

@ -1,5 +1,5 @@
let let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.11"; nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-unstable";
pkgs = import nixpkgs { config = {}; overlays = []; }; pkgs = import nixpkgs { config = {}; overlays = []; };
in in

View File

@ -11,64 +11,75 @@
// default configuration // default configuration
#let default-config = ( #let default-config = (
// language settings used to make decisions about hyphenation and others // language settings used to make decisions about hyphenation and others
lang: "en", // ISO 3166 language code of text: "de", "en" lang: "en", // ISO 3166 language code of text: "de", "en"
region: "en", // region code region: "en", // region code
// mark this thesis as draft // mark this thesis as draft
// Adds preleminarry note page and watermark // Adds preleminarry note page and watermark
draft: true, draft: true,
// information about author(s) // information about author(s)
university: ( university: (
program: "Informationtechnology", program: "Informationtechnology",
faculty: "Technik", faculty: "Technik",
name: "dualen Hochschule Baden-Württemberg", name: "dualen Hochschule Baden-Württemberg",
campus: "Eppelheim" campus: "Eppelheim",
),
supervisor-signature: false,
authors: ((), ()),
// information about thesis
thesis: (
title: "Unofficial ABB/DHBW Typst template",
subtitle: "for reports and thesises", // subtitle may be none
submission-date: "23rd march 2020",
timeframe: "1st january 2020 - 20th march 2020",
kind: "T2000",
// translated version of abstract, only used in case language is not english
summary: none,
abstract: none,
preface: none,
keywords: ("IT", "other stuff"),
bibliography: none, /* bibliography("refs.bib") */
glossary: none,
appendices: none,
),
style: (
header: (
content-padding: 1.5em,
underline-top-padding: 0pt,
logo-height: 5em,
logo-image: "res/ABB.svg",
), ),
supervisor-signature: false, footer: (
authors: ((),()), content-padding: 1.5em,
// information about thesis ),
thesis: ( page: (
title: "Unofficial ABB/DHBW Typst template", format: "a4",
subtitle: "for reports and thesises", // subtitle may be none margin: (
submission-date: "23rd march 2020", left: 3cm,
timeframe: "1st january 2020 - 20th march 2020", right: 2.5cm,
kind: "T2000", top: 2.5cm,
// translated version of abstract, only used in case language is not english bottom: 2.5cm,
summary: none, ),
abstract: none, ),
preface: none, text: (
keywords: ( "IT", "other stuff" ), size: 12pt,
bibliography: none /* bibliography("refs.bib") */, font: "Fira Sans",
glossary: none, ),
appendices: none), heading: (
style: ( font: "Fira Sans",
header: ( ),
content-padding: 1.5em, code: (
underline-top-padding: 0pt, theme: "res/abb.tmTheme",
logo-height: 5em, font: "FiraCode Nerd Font",
logo-image: "res/ABB.svg"), lines: false,
footer: ( size: 10pt,
content-padding: 1.5em), tab-size: 4,
page: ( ),
format: "a4", link: (
margin: ( color: ABB-GRAY-02,
left: 3cm, ),
right: 2.5cm, ),
top: 2.5cm, )
bottom: 2.5cm)),
text: (
size: 12pt,
font: "Fira Sans"),
heading: (
font: "Fira Sans"),
code: (
theme: "res/abb.tmTheme",
font: "FiraCode Nerd Font",
lines: false,
size: 10pt,
tab-size: 4),
link: (
color: ABB-GRAY-02)))
// Insert a dictionary `update` into `base` but only the entries of update that also exist in base // Insert a dictionary `update` into `base` but only the entries of update that also exist in base
// Runs recursively on all sub dictionaries // Runs recursively on all sub dictionaries

View File

@ -8,7 +8,6 @@
// License: MIT // License: MIT
#let glossary(entries, config) = { #let glossary(entries, config) = {
assert( assert(
type(entries) == dictionary, type(entries) == dictionary,
message: "The glossary is not a dictionary", message: "The glossary is not a dictionary",

View File

@ -8,7 +8,6 @@
#let new_abstract(config) = ( #let new_abstract(config) = (
context { context {
set align(center + horizon) set align(center + horizon)
// only include summary when a language other than english is used // only include summary when a language other than english is used

View File

@ -8,7 +8,6 @@
#let new_confidentiality_statement_page(config) = ( #let new_confidentiality_statement_page(config) = (
context { context {
pagebreak(weak: true) pagebreak(weak: true)
let thesis = config.thesis let thesis = config.thesis

View File

@ -8,7 +8,6 @@
#let new_declaration_of_authorship(config) = ( #let new_declaration_of_authorship(config) = (
context { context {
pagebreak(weak: true) pagebreak(weak: true)
let thesis = config.thesis let thesis = config.thesis

View File

@ -12,7 +12,6 @@
// NOTE: will not render in case the listing is empty // NOTE: will not render in case the listing is empty
#let render_filtered_outline(title: str, kind: selector) = ( #let render_filtered_outline(title: str, kind: selector) = (
context { context {
let elems = query(figure.where(kind: kind)) let elems = query(figure.where(kind: kind))
let count = elems.len() let count = elems.len()

View File

@ -8,7 +8,6 @@
#let new_prerelease_note(config) = ( #let new_prerelease_note(config) = (
context { context {
pagebreak(weak: true) pagebreak(weak: true)
let thesis = config.thesis let thesis = config.thesis

View File

@ -296,7 +296,6 @@
if current-page == 1 { if current-page == 1 {
// logo moved to content // logo moved to content
} else if query(<end-of-content>) } else if query(<end-of-content>)
.first() .first()
.location() .location()