CoverPilot / app /typst /template_base.typ
cxumol's picture
move main program to ./app dir
d78d2a0
raw
history blame
1.33 kB
// This function gets your whole document as its `body`
// and formats it as a simple letter.
#let letter(
// The letter's sender, which is display at the top of the page.
sender: none,
// The letter's recipient, which is displayed close to the top.
recipient: none,
// The date, displayed to the right.
date: none,
// The subject line.
subject: none,
// The name with which the letter closes.
name: none,
// The letter's content.
body
) = {
// Configure page and text properties.
set page(paper: "us-letter", margin: (top: 2cm, bottom: 1.0cm))
set text(font: "PT Sans")
// Display sender at top of page. If there's no sender
// add some hidden text to keep the same spacing.
[== #name]
text(9pt, if sender == none {
hide("a")
} else {
sender
})
v(1.8cm)
// Display recipient.
recipient
v(0.5cm)
// Display date. If there's no date add some hidden
// text to keep the same spacing.
align(right, if date != none {
date
} else {
hide("a")
})
v(2cm)
// Add the subject line, if any.
if subject != none {
pad(right: 10%, strong(subject))
}
// Add body and name.
body
v(0.25cm)
// image("Signature.png", height: 7%, fit: "stretch")
linebreak()
text(font: "Testimonia",size:3em)[#name]
linebreak()
v(0.2cm)
name
}