Gi rapporten plass til kildene, og la den følge egne dokumenter
Kolonnen «Kilde» i forutsetningstabellen fikk for liten plass, fordi de to første kolonnene tok det de ville. Kolonnene har nå faste bredder, og tabellen leses på én linje per rad. En ny [rapport]-tabell i bygningsbeskrivelsen setter logo, aksentfarge, avsenderlinje og skrift for overskrifter, slik at energirapporten kan se ut som firmaets øvrige rapporter. Logoen kopieres til utdatakatalogen; mangler filen, lages rapporten uten den. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
This commit is contained in:
+35
-8
@@ -7,11 +7,32 @@
|
||||
#let lys = rgb("#f4f1ee")
|
||||
#let kantlinje = rgb("#ddd4cc")
|
||||
|
||||
// Aksentfarge og overskriftsskrift kan settes av rapporten, slik at den kan følge
|
||||
// firmaets øvrige dokumenter. Verdiene under er enoks egne.
|
||||
#let aksent-valgt = state("aksent-valgt", aksent)
|
||||
#let skrift-valgt = state("skrift-valgt", none)
|
||||
|
||||
#let font-heading = ("Libertinus Serif", "DejaVu Serif", "Noto Serif")
|
||||
#let font-body = ("Libertinus Serif", "DejaVu Serif", "Noto Serif")
|
||||
#let font-tall = ("DejaVu Sans Mono", "Liberation Mono")
|
||||
|
||||
#let oppsett(tittel: "", undertittel: "", bunntekst: "", doc) = {
|
||||
/// Skriften rapporten har bedt om, ellers enoks egen.
|
||||
#let overskriftsskrift() = {
|
||||
let valgt = skrift-valgt.get()
|
||||
if valgt == none { font-heading } else { (valgt,) + font-heading }
|
||||
}
|
||||
|
||||
#let oppsett(
|
||||
tittel: "",
|
||||
undertittel: "",
|
||||
bunntekst: "",
|
||||
avsender: "",
|
||||
farge: none,
|
||||
skrift: none,
|
||||
doc,
|
||||
) = {
|
||||
aksent-valgt.update(if farge == none { aksent } else { farge })
|
||||
skrift-valgt.update(skrift)
|
||||
set page(
|
||||
paper: "a4",
|
||||
margin: (top: 2.4cm, bottom: 2.4cm, left: 2.2cm, right: 2.2cm),
|
||||
@@ -20,32 +41,36 @@
|
||||
grid(
|
||||
columns: (1fr, auto),
|
||||
align: (left + horizon, right + horizon),
|
||||
text(font: font-heading, size: 8pt, fill: mid)[#tittel],
|
||||
text(font: overskriftsskrift(), size: 8pt, fill: mid)[#tittel],
|
||||
text(font: font-body, size: 8pt, fill: mid)[#counter(page).display()],
|
||||
)
|
||||
line(length: 100%, stroke: 0.4pt + kantlinje)
|
||||
}
|
||||
},
|
||||
footer: context {
|
||||
if counter(page).get().first() > 1 and bunntekst != "" {
|
||||
if counter(page).get().first() > 1 and (bunntekst != "" or avsender != "") {
|
||||
line(length: 100%, stroke: 0.4pt + kantlinje)
|
||||
v(3pt)
|
||||
if avsender != "" {
|
||||
text(font: font-body, size: 7.5pt, fill: mid)[#avsender]
|
||||
linebreak()
|
||||
}
|
||||
text(font: font-body, size: 7.5pt, fill: mid)[#bunntekst]
|
||||
}
|
||||
},
|
||||
)
|
||||
set text(font: font-body, size: 10pt, fill: moerk, lang: "nb")
|
||||
set par(justify: true, leading: 0.62em)
|
||||
show heading: it => {
|
||||
set text(font: font-heading, fill: aksent)
|
||||
show heading: it => context {
|
||||
set text(font: overskriftsskrift(), fill: aksent-valgt.get())
|
||||
block(above: 1.2em, below: 0.6em, it)
|
||||
}
|
||||
show heading.where(level: 1): it => {
|
||||
show heading.where(level: 1): it => context {
|
||||
set text(size: 15pt, weight: "bold")
|
||||
block(above: 1.6em, below: 0.7em)[
|
||||
#it.body
|
||||
#v(-0.45em)
|
||||
#line(length: 100%, stroke: 1pt + aksent)
|
||||
#line(length: 100%, stroke: 1pt + aksent-valgt.get())
|
||||
]
|
||||
}
|
||||
show heading.where(level: 2): set text(size: 11.5pt, weight: "bold")
|
||||
@@ -55,7 +80,8 @@
|
||||
}
|
||||
|
||||
// Tabell med stripete rader og linje under overskriften.
|
||||
#let tabell(kolonner: (), overskrift: (), rader: (), justering: none, sum-rader: ()) = {
|
||||
#let tabell(kolonner: (), overskrift: (), rader: (), justering: none, sum-rader: ()) = context {
|
||||
let aksent = aksent-valgt.get()
|
||||
let j = if justering == none { kolonner.map(_ => right) } else { justering }
|
||||
block(breakable: true, table(
|
||||
columns: kolonner,
|
||||
@@ -99,3 +125,4 @@
|
||||
stroke: (left: 2pt + aksent-lys),
|
||||
text(size: 9pt)[#innhold],
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user