#let qctr = counter("question") #let french_month = ("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre") #let exam(title: "Exam", course: none, date: none, class: none, author: none, subtitle: none, indications: none, doc) = { set text(font: "Montserrat") let date = if date == none { datetime.today() } else { date }; align(center, text(size:26pt, course + " - " + date.display("[year]"))) align(center, text(size:26pt, title)) align(center, text(size:15pt, fill: luma(80), subtitle)) v(5%) align(center, text(size:14pt, author)) v(3%) align(center, text(size:14pt, date.display("[day] ") + french_month.at(date.month() - 1) + date.display(" [year]"))) v(7%) align(left, text(size: 20pt, "Nom :")) align(left, text(size: 20pt, "Prénom :")) v(3%) line(length: 100%, stroke: luma(80)) text(size: 14pt, indications) pagebreak() doc }; #let question(points: 1, q, a) = { let pts = text(weight: "bold", [#points] + if points < 2 { "pt" } else { "pts" }); context { qctr.step(); qctr.display() } q }