From 7a1e0c2f69ffcc2d2523a2e3050fe5c6defe7fc0 Mon Sep 17 00:00:00 2001 From: Jonah Alex Bedouch Date: Mon, 2 Jun 2025 19:19:12 -0700 Subject: [PATCH 1/2] Fix errors when coverpage = str or function --- src/lib.typ | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib.typ b/src/lib.typ index 5409103..48ac96e 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -133,7 +133,7 @@ show heading.where(level: 1): it => titled-question(title: it) show raw: set text(font: "New Computer Modern Mono", size: 1.25em, weight: 700, top-edge: 5pt) - + show raw: it => { show "~": set text(font: "Atkinson Hyperlegible Mono", weight: 500) show "^": set text(font: "Atkinson Hyperlegible Mono", weight: 500) @@ -156,15 +156,15 @@ } } + states.print-answers.update(it => print-answers) if coverpage == none { - states.print-answers.update(it => print-answers) frontpage(class, instructors, semester, exam, time, last-edited) - states.print-answers.update(it => print-answers) - } else if type(coverpage) == string { + } else if type(coverpage) == str { include coverpage } else if type(coverpage) == function { - coverpage = coverpage(class, instructors, semester, exam, time, print-answers, header, footer, last-edited) + coverpage(class, instructors, semester, exam, time, print-answers, header, footer, last-edited) } + states.print-answers.update(it => print-answers) [ #body From 4c3f03fc3e0eabc944cfd456c67661f9bad88e61 Mon Sep 17 00:00:00 2001 From: Jonah Alex Bedouch Date: Mon, 28 Jul 2025 19:20:31 -0700 Subject: [PATCH 2/2] Update print-answers to be set by the coverpage itself --- example/main.pdf | Bin 48745 -> 0 bytes src/coverpage.typ | 50 ++++++++++++++++++++++------------------------ src/lib.typ | 8 +++----- 3 files changed, 27 insertions(+), 31 deletions(-) delete mode 100644 example/main.pdf diff --git a/example/main.pdf b/example/main.pdf deleted file mode 100644 index 8f9afd4591e71ae4facab2afbe7e399770ee6de5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48745 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

&mTp}xbMt!uy=?eLkL5V}phsithLwPQy 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 w21pa@) { (str(q.num),) }, [ Total ], - - [Points:], + + [Points:], ..for q in states.questions.at() { (str(q.points),) }, [ #states.num-points() ] ) } @@ -54,40 +54,40 @@ } #v(12pt) - #smallcaps("Print") Your Name: + #smallcaps("Print") Your Name: #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) #v(12pt) - #smallcaps("Print") Your Student ID: + #smallcaps("Print") Your Student ID: #box(width: 1fr, [#line(length:60%, stroke: 0.5pt)]) #v(12pt) - #smallcaps("Print") the Name and Student ID of the person to your left: + #smallcaps("Print") the Name and Student ID of the person to your left: #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) - + #v(12pt) - #smallcaps("Print") the Name and Student ID of the person to your right: + #smallcaps("Print") the Name and Student ID of the person to your right: #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) #v(12pt) - #smallcaps("Print") the Name and Student ID of the person in front of you: + #smallcaps("Print") the Name and Student ID of the person in front of you: #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) - + #v(12pt) - #smallcaps("Print") the Name and Student ID of the person behind you: + #smallcaps("Print") the Name and Student ID of the person behind you: #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) - + #line(length: 100%, stroke: 1pt) - #context [ - You have #time. There are #states.num-questions() questions of varying credit. (#states.num-points() points total) + #context [ + You have #time. There are #states.num-questions() questions of varying credit. (#states.num-points() points total) ] - + #align(center)[ #pointstable() ] - + #states.print-answers.update(true) #grid( columns: (1fr, 1fr), @@ -95,7 +95,7 @@ [ #set par(justify: false) For questions with *circular bubbles*, you may select only one choice. - + #multi-choice( [ Unselected option (Completely unfilled) ], bad()[ Don't do this (it will be graded as incorrect) ], @@ -105,7 +105,7 @@ [ #set par(justify: false) For questions with *square checkboxes*, you may select one or more choices. - + #multi-select( correct()[You can select], correct()[multiple squares], @@ -113,10 +113,9 @@ ) ] ) - #states.print-answers.update(false) - + Anything you write outside the answer boxes or you #strike([cross out]) will not be graded. If you write multiple answers, your answer is ambiguous, or the bubble/checkbox is not entirely filled in, we will grade the worst interpretation. For coding questions with blanks, you may write at most one statement per blank and you may not use more blanks than provided. - + If an answer requires hex input, you must only use capitalized letters (`0xB0BACAFE` instead of `0xb0bacafe`). For hex and binary, please include prefixes in your answers unless otherwise specified, and do not truncate any leading 0’s. For all other bases, do not add any prefixes or suffixes. @@ -124,11 +123,10 @@ #box(width: 100%, stroke: 1pt, inset: 6pt, )[ As a member of the UC Berkeley community, I act with honesty, integrity, and respect for others. I will follow the rules of this exam. ] - - Acknowledge that you have read and agree to the honor code above and sign your name below: + + Acknowledge that you have read and agree to the honor code above and sign your name below: #v(20pt) #box(width: 1fr, [#line(length:100%, stroke: 0.5pt)]) #pagebreak() ] - diff --git a/src/lib.typ b/src/lib.typ index 12a93b2..27dbfce 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -111,9 +111,9 @@ text-scale: 1, body, ) = { - + if type(header) == function { - + header = header(class, semester, exam) } @@ -135,7 +135,7 @@ show heading.where(level: 1): it => titled-question(title: it) show heading.where(level: 2): it => titled-subquestion(title: it) - + show raw: set text(font: "New Computer Modern Mono", size: 1.25em, weight: 700, top-edge: 5pt) show raw: it => { @@ -160,7 +160,6 @@ } } - states.print-answers.update(it => print-answers) if coverpage == none { frontpage(class, instructors, semester, exam, time, last-edited) } else if type(coverpage) == str { @@ -177,4 +176,3 @@ #metadata("exam-end") ] } -