Syfte: kontrakt för hur en tentamen renskrivs till en konceptliknande markdown-fil i
meta/tentor/. Bygger på de allmänna renskrivningskonventionerna — de gäller också här. Detta dokument lägger bara till det som är specifikt för tentor. Förebild: M0068M-2025-05-28 — använd den som mall för struktur, ton och detaljnivå.
1. När och varför
En tenta-md är till för plugg, inte för publicering till någon ny student. Tre saker den ska kunna göra:
- Visa hela tentan i läsbar layout, så man kan skriva ut eller skumma den utan att öppna PDF:en.
- Erbjuda en kollapsad lösning per uppgift, så läsaren kan försöka själv först och vecka ut facit på begäran.
- Länka in i resten av valvet — när man fastnar på en uppgift ska man kunna klicka sig direkt till relevant konceptfil.
AI:ns roll här
Originalet är lärarens handskrivna lösningsförslag i PDF:en. AI:s uppgift är att typsätta den — sätta upp matematiken i LaTeX, förklara stegen i ord, lyfta in callouts och länkar. Det är inte AI:s uppgift att uppfinna alternativa lösningar, lägga till uppgifter eller ändra slutsvar.
2. Filnamn och placering
meta/tentor/
<kurskod>-<datum>.md # själva renskrivningen
tenta<YYMMDD>_losn.pdf # originalet (rör inte)
tenta<YYMMDD>_svar.pdf # kortare facit (om det är vad som finns)
konventioner-tentor.md # denna fil
bilder/... # hellre meta/bilder/ (se §6)
- Format:
M0068M-2025-05-28.md. Kurskod versaler, datum ISO (YYYY-MM-DD). - PDF:en byter aldrig namn — den är källmaterial.
- En tenta = en md. Slå inte ihop flera tentor i samma fil.
3. Frontmatter
---
kurs:
- <kurskod>
tags:
- tenta
- <huvudämne>
- <delämne>
status: utkast
datum: <YYYY-MM-DD>
typ: tenta
examinator: <Förnamn Efternamn> # om känt
aliases:
- Tenta <kurskod> <YYYY-MM-DD>
- <annan naturlig variant>
---Status
En nyrenskriven tenta är
utkast. Höj tillgranskadförst när ägaren själv räknat igenom och stämt av varje uppgift mot PDF-facit. AI:n höjer aldrig statusen ensidigt — samma regel som för konceptfiler.
4. Sidans struktur
> **Kurs:** [[<kurskod>]] — <kursnamn>
> **Datum:** <YYYY-MM-DD>
> **Examinator:** <namn>
> **Källa:** [[<original-pdf>|originaltentamen med lösningsförslag]]
> [!abstract] Översikt
>
> Kort sammanfattning av vad uppgifterna täcker, gärna grupperat per modul. Detta är navigation, inte facit.
---
## 1. <kort beskrivande titel på uppgift 1>
<problemtext>
<eventuell figur>
*Totalpoäng: <poäng>*
> [!note]- Lösning
>
> <detaljerad lösning>
---
## 2. <…>
…
## Se även
- länkar till relevanta konceptfilerRiktlinjer för rubrikerna
- Numrera uppgifterna (
## 1.,## 2., …) precis som för konceptfilers huvudsektioner.- Lägg till en kort beskrivande titel efter numret (
## 1. Tangentplan och tangentvektor). Bara “Uppgift 1” är otillräckligt — titeln gör innehållsförteckningen användbar.---mellan uppgifter, inte före## Se även.
5. Lösning som kollapsbar callout
Kärnregeln
Problemtexten står direkt i sektionen — synligt. Lösningen ligger i en kollapsad callout
> [!note]- Lösning. Detta är hela poängen med formatet: läsaren ska kunna skanna sidan och försöka själv innan facit veckas ut.Bindestrecket efter
]är obligatoriskt — det är vad som gör callouten kollapsad som standard.
## 4. Dubbelintegraler över ett triangulärt område
![[tenta250528-uppgift4-triangel.png|460]]
Låt $T$ beteckna det triangulära område … *(problemtext)*
*Totalpoäng: 5*
> [!note]- Lösning
>
> *(detaljerad lösning)*Skillnad mot konceptfiler
I konceptfiler ligger exempel i
[!example]-medLösningsom nästlad[!note]-. I en tenta finns ingen mening med ett ytterligare lager — uppgiften är sektionen. Använd alltså bara den ena callouten, för lösningen.
6. Bilder
Två sorters bilder i en tenta
- Problembild (figur som hör till uppgiftstexten i originalet). Extrahera ur PDF:en. Visa direkt under sektionsrubriken, före problemtexten.
- Lösningsbild (figur som klargör lösningen — t.ex. uppdelning av integrationsområde, inneslutande yta). Lägg in inne i
[!note]- Lösning-callouten där den behövs.
Filnaming och placering
Bilder läggs i meta/bilder/ (samma katalog som alla andra valvbilder — Quartz hittar dem därifrån via ![[…]]).
Naming för tentabilder:
tenta<YYMMDD>-uppgift<N>-<kort-beskrivning>.png
Exempel:
tenta250528-uppgift4-triangel.png
tenta250528-uppgift7-halvsfar.png
tenta250528-uppgift7-slutning.png
<kort-beskrivning> är svenska, små bokstäver, bindestreck. Det gör det lätt att hitta alla bilder från en tenta i meta/bilder/ med en filtrering.
Hur bilder extraheras ur PDF
Använd
pymupdf(fitz) — inte skärmdumparSkärmdumpar blir suddiga och tappar transparent bakgrund.
pymupdfrendrar PDF-sidan vektoriskt och sparar exakt det område du vill ha.
Mall:
import fitz, os
src = "/home/pelle/quartz/content/meta/tentor/tenta250528_losn.pdf"
out = "/home/pelle/quartz/content/meta/bilder"
doc = fitz.open(src)
# (sidindex 0-baserat, filnamn, top, bottom, left, right) som fraktion av sidan
specs = [
(1, "tenta250528-uppgift4-triangel.png", 0.10, 0.40, 0.14, 0.86),
(2, "tenta250528-uppgift5-talt.png", 0.10, 0.40, 0.14, 0.86),
]
for idx, name, t, b, l, r in specs:
page = doc[idx]
R = page.rect
crop = fitz.Rect(R.x0 + l*R.width, R.y0 + t*R.height,
R.x0 + r*R.width, R.y0 + b*R.height)
pix = page.get_pixmap(matrix=fitz.Matrix(2.5, 2.5), clip=crop)
pix.save(os.path.join(out, name))- Skala 2.5× ger tillräcklig upplösning för Quartz utan att filerna blir gigantiska.
- Justera fraktionerna tills rubrikraden (“Uppgift N”) och brödtexten är borta — bara figurboxen kvar.
När man ska generera egna matplotlib-bilder
Lärarens handskrivna lösningar har ibland små skisser (t.ex. uppdelning av integrationsområde i och , slutande yta för Gauss). De är värdefulla men sitter inklämda mellan andra beräkningar.
Tröskel för egen figur
Generera en ren matplotlib-figur bara om geometrin är central för lösningen och svår att se i text. Annars: hänvisa till lärarens skiss i prosa och låt det vara. Spamma inte figurer.
Om du genererar — följ valvets palett (
#fcfaf7bakgrund,#2f4858accent,#86a59cskugga, serif-typsnitt, 160 DPI).
Embed-syntax och bredd
![[tenta250528-uppgift4-triangel.png|460]]- 460 är bra för en vanlig problemfigur i löpande text på sidan.
- 360–420 för småfigurer inne i en lösningscallout.
- Quartz skalar ändå — siffran är riktvärde.
7. Lösningens detaljnivå
Detta är det enda stället där en tenta-md skiljer sig radikalt från en konceptfil: lösningen ska vara utförlig, inte komprimerad.
Tre saker måste finnas i varje lösning
- Vilken sats/metod används? En mening i början — “Vi använder Gauss sats”, “Detta är ett Lagrange-problem”, “Bivillkoret är kompakt så Weierstrass garanterar extremvärden”.
- Varje algebraiskt steg är skrivet ut. Inte “förenkla” utan den faktiska förenklingen. Studenten som plöjer en gammal tenta ska inte behöva fylla i mellansteg.
\boxed{}runt slutsvaret. Ett per delfråga. Visuellt ankare när läsaren skummar.
Mall för en delfråga
**(a)** *(kort sammanfattning av angreppssättet, 1 mening)*
*(räkning, steg för steg, med löpande prosa mellan stegen)*
$$
\boxed{\;<slutsvar>\;}
$$Vad lösningen inte ska innehålla
Begränsa AI:s frihet
- Inte alternativa lösningsmetoder om de inte fanns i originalet. Lägg en
> [!tip]med en mening om hur t.ex. Lagrange skulle ge samma sak — inte en hel andra lösning.- Inte rekonstruktion av sätt som kanske skulle fungera. Om lärarens lösning är direktberäkning, presentera direktberäkningen.
- Inte rättningsanvisningar eller poängbedömningar (“man får 2 p för detta steg”). Ointressant för läsaren.
- Inte uppfunna kontroller (“låt oss verifiera genom…”) om de inte fanns och inte uppenbart hjälper.
Tillägg som faktiskt hjälper
Två tillägg som höjer kvaliteten
> [!tip] Rimlighetskollefter ett numeriskt slutsvar — gränsfall, dimensions- eller storleksuppskattning.> [!tip] Igenkänningstricknär uppgiftens svårighet låg i att se en sats — t.ex. att en täljare är derivatan av en nämnares logaritm.
8. Länkning
Förstanämnande-regeln gäller
Länka relevanta konceptfiler bara första gången de dyker upp i tentan. Om uppgift 4 och uppgift 5 båda nämner Dubbelintegraler, länka bara i uppgift 4.
Sektionen
## Se ävenfår upprepa länkar — det är navigation.
Vad som ska länkas:
- Den centrala satsen / metoden som löser uppgiften.
- Underliggande begrepp som dyker upp (t.ex. “konservativt fält” → Vektorfält).
- Närbesläktade tekniker som nämns i en
[!tip](t.ex. Lagranges multiplikatormetod som alternativ).
Vad som inte ska länkas:
- Generiska ord (funktion, integral, område, parametrisering).
- Sig själv — den här filen länkar inte till sig själv.
- Inuti
$...$eller$$...$$. Inte heller i frontmatter eller rubriker.
9. Översikt-callouten
> [!abstract] Översikt ligger högst upp och är en tabell över innehållet, inte en sammanfattning av lösningarna. Den ska kunna besvara frågan “vilka uppgifter testar område X?” på en sekund.
Mall:
> [!abstract] Översikt
>
> Sju uppgifter som täcker hela kursen: tangentplan och kryssprodukt (1),
> kritiska punkter och Hessian (2), Lagrange via parametrisering (3),
> dubbelintegral över ett delat triangulärt område (4), volym genom skivning (5),
> kurvintegraler — direkt och via potential (6), och flöde genom halvsfär via Gauss (7).
> Räknat efter modul: M1·1 — M2·2 — M3·2 — M4·1 — M5·1.Modulräkningen (sista raden) finns för att se hur viktningen ligger jämfört med kursplanens moduler. Hoppa över raden för kurser som inte är modulindelade.
10. ## Se även
3–8 wikilänkar. Här återupprepar vi alla viktiga konceptfiler från brödtexten — det är OK och förväntat.
## Se även
- [[<kurskod>]] — kursfilen
- [[<konceptfil 1>]] — uppgift N
- [[<konceptfil 2>]] — uppgift MKommentaren efter bindestrecket (“uppgift N”) gör att läsaren ser varför länken finns där.
11. Steg för steg — när du sätter dig med en ny tenta
Renskrivningsrutinen för tentor
- Öppna PDF:en. Räkna antalet uppgifter och dela upp i moduler — det blir grunden för Översikt-callouten.
- Extrahera problembilder ur PDF:en med
pymupdf-skriptet i §6. Spara imeta/bilder/.- Skapa filen
meta/tentor/<kurskod>-<datum>.mdmed frontmatter och header-callout enligt §3 och §4.- Skriv en uppgift i taget. Problemtext först (verbatim från PDF, kursivera lokala definitioner om de finns), sedan figur, sedan
[!note]- Lösning.- I varje lösning: börja med en mening som identifierar metoden, gå igenom stegen,
\boxed{}slutsvaret. Lägg eventuella[!tip]-callouts på slutet av lösningen.- Förstanämnande-länka medan du skriver. Slå inte upp länkar i efterhand — det är då man dubbel-länkar.
- Översikt-callouten skrivs sist. När man har sett alla uppgifter är det lättare att sammanfatta.
## Se ävenmed kursfilen och uppgift-relaterade konceptlänkar.- Lämna
status: utkast. Ägaren räknar igenom och höjer status manuellt.
12. Vad som ALDRIG ska göras
Hårda gränser för tentor
- Ändra inte slutsvar. Om lärarens svar verkar fel — skriv
> [!warning] Möjlig felräkningoch lämna originalet kvar. Ändra inte.- Hitta inte på uppgifter. Om PDF:en bara har 5 uppgifter, har den 5 uppgifter — det finns ingen “uppgift 6”.
- Slå inte ihop delfrågor. Om uppgiften är (a)–(c) ska lösningen också vara (a)–(c).
- Markera inte som
granskadensidigt. Detsamma som för konceptfiler.- Pusha inte utan att bli tillsagd.
Se även
- konventioner — de allmänna renskrivningskonventionerna. Vinner vid konflikt med detaljerna här.
- index — arbetsflödet i sin helhet.
- M0068M-2025-05-28 — referenstenta, mall för struktur och ton.