Initial commit
This commit is contained in:
commit
4e058e1ac4
|
@ -0,0 +1,4 @@
|
|||
.direnv
|
||||
/*.typ
|
||||
templates/self.typ
|
||||
*.pdf
|
|
@ -0,0 +1,8 @@
|
|||
[language-server.typst-lsp]
|
||||
command = "typst-lsp"
|
||||
config = { exportPdf = "never" }
|
||||
|
||||
[[language]]
|
||||
name = "typst"
|
||||
auto-format = true
|
||||
formatter = { command = "typstfmt" }
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1702151865,
|
||||
"narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
description = "Typst dev environment";
|
||||
|
||||
inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; };
|
||||
|
||||
outputs = { self, nixpkgs }: {
|
||||
devShells."x86_64-linux".default =
|
||||
let pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||
in pkgs.mkShell {
|
||||
buildInputs = with pkgs; [ typst typst-lsp typst-fmt ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
#let din5008(
|
||||
returnaddr: none,
|
||||
recipient: none,
|
||||
recipientnote: none,
|
||||
information: none,
|
||||
header: none,
|
||||
footer: none,
|
||||
footermargin: none,
|
||||
body,
|
||||
) = {
|
||||
let combinedfooter = stack(dir: ttb, spacing: 1in / 6, align(right, locate(loc => [
|
||||
Seite #counter(page).display() von #counter(page).final(loc).at(0)
|
||||
])), footer)
|
||||
|
||||
set page(
|
||||
paper: "a4",
|
||||
footer: combinedfooter,
|
||||
footer-descent: 1in / 6,
|
||||
header: header,
|
||||
margin: (
|
||||
top: 27mm,
|
||||
left: 25mm,
|
||||
right: 20mm,
|
||||
bottom: if footermargin != none { footermargin } else { 35mm },
|
||||
),
|
||||
)
|
||||
|
||||
for item in (
|
||||
(ref: top + left, dx: -25mm, dy: 60mm, len: 4mm),
|
||||
(ref: top + right, dx: 20mm, dy: 60mm, len: 4mm),
|
||||
(ref: bottom + left, dx: -25mm, dy: -80mm, len: 4mm),
|
||||
(ref: bottom + right, dx: 20mm, dy: -80mm, len: 4mm),
|
||||
(ref: top + left, dx: -25mm, dy: 121.5mm, len: 10mm),
|
||||
) {
|
||||
place(item.ref, dx: item.dx, dy: item.dy, line(length: item.len))
|
||||
}
|
||||
|
||||
grid(
|
||||
columns: 1,
|
||||
rows: (60mm, auto),
|
||||
gutter: 1in / 3,
|
||||
rect(width: 100%, height: 100%, stroke: none, {
|
||||
place(
|
||||
top + left,
|
||||
dx: 0mm,
|
||||
dy: 0mm,
|
||||
rect(height: 45mm, width: 80mm, stroke: none, grid(
|
||||
columns: 1,
|
||||
rows: (5mm, 12.7mm, 27.3mm),
|
||||
text(8pt)[#returnaddr],
|
||||
recipientnote,
|
||||
recipient,
|
||||
)),
|
||||
)
|
||||
place(
|
||||
top + left,
|
||||
dx: 100mm,
|
||||
dy: 5mm,
|
||||
rect(width: 75mm, stroke: none, information),
|
||||
)
|
||||
}),
|
||||
body,
|
||||
)
|
||||
}
|
||||
|
||||
#let signature(image: none, width: 30%, name) = {
|
||||
block(
|
||||
width: width,
|
||||
stack(
|
||||
dir: ttb,
|
||||
spacing: 5pt,
|
||||
if image == none {
|
||||
rect(stroke: (bottom: 1pt + black, rest: none), height: 20pt, width: 100%)
|
||||
} else {
|
||||
image
|
||||
},
|
||||
name,
|
||||
),
|
||||
)
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
#import "@preview/polylux:0.3.1": *
|
||||
#import "self.typ"
|
||||
|
||||
#let presentation(title: none, subtitle: none, authors: self.name, doc) = {
|
||||
set page(paper: "presentation-16-9")
|
||||
set text(size: 25pt, font: "Comic Sans MS")
|
||||
|
||||
if title != none [
|
||||
#polylux-slide[
|
||||
#set align(horizon + center)
|
||||
= #title
|
||||
=== #subtitle
|
||||
|
||||
#align(bottom)[#authors]
|
||||
]
|
||||
]
|
||||
|
||||
doc
|
||||
}
|
Loading…
Reference in New Issue