Latex og Typst

LaTeX’ (dominerede) status som typesetting værktøj/system kommer næppe til at blive omvæltet foreløbigt, både som resultat af dets store rolle indenfor akademiske institutioners praksis såvel som dets mange år som standard, og der tilhørende store øko-system. Det betyder dog ikke at udviklingen af typesetting systemer går i stå, ej heller at man bør begrænse sig eller være modvillig til nye systemer - eller at introduktionen af nye systemer derfor kategorisk betyder at de ældre derfor ikke længere er brugbare.

Typst #

Typst er et forsøg på at skabe et latex-alternativ, skrevet i rust og som istedet for macros bruger et mere en mere “programming-like” syntaks og et simplere markup (se den nedenstående tabel for forskellene i markup) - som dog stadig tillader typesetting på et niveau som forsøger at matche latex’s men med en langt hurtigere compilations-tid.

Fordelen i hastighed er nok primært at ses med store dokumenter på de 100+ sider. Som en erstatning for eksempelvis latex’s beamer package vil en hastigheds-boost i compilations tid være en betydelig quality improvement, idet at beamer allerede er meget langsom allerede ved 4+ slides (ikke at man skal sidde og konstant compile, men langsomheden er alligevel mærkbar når man endelig når til det punkt i ens arbejdsprocess).

Latex Typst
Stort økosystem af pakker Mindre økosystem - men mere læsbare pakker
Macro Programming syntaks
Dokument-kompileringen er opdelt i flere trin (producere mange auxillary filer) Dokument kompileringen er håndteret i et compile

For et overblik over de generelle forskelle mellem latex og typst kan man læse mere i deres guide for latex brugere, men forskellen i syntaks opsummeret er som følgende:

Element LaTeX Typst
Strong emphasis \textbf{strong} *strong*
Emphasis \emph{emphasis} _emphasis_
Monospace/code \texttt{print(1)} print(1)
Link \url{https://typst.app} https://typst.app/
Label \label{intro}
Reference \ref{intro} @intro
Citation \cite{humphrey97} @humphrey97
Bullet list itemize environment - List
Numbered list enumerate environment +List
Term list description environment / Term: List
Figure figure environment figure function
Table table environment table function
Equation $x$, align/equation environments $x$, $x=y$

Noter #

Min oprindelige overvejelse ved det endelige brud med logseq, var at jeg ville overgå til at skrive mine noter i markdown eller latex. Efter at have læst et par blog posts om andre nørder som brugte et vim+latex setup for deres note behov, var jeg så godt som overbevist om at begynde at skrive mine noter i latex, ligesom jeg allerede skrev mine eksamener i latex.

Yderligere som kan læse i min tekst om mit brud med logseq, så har jeg migreret væk fra logseq, men istedet for at blot at fortsætte med at skrive mine noter i markdown udenfor logseq i min tekst-editor helix, har jeg skiftet over til at skrive mine noter i typst.

Fordelen ved at skifte fra markdown til formater som typst eller latex ligger i muligheden for seperationen mellem indhold og formatering, og den control over dokumentet som det tillader. Ved implementation af mine egne typst-pakker, kan jeg kontrollere formateringen og implementere de funktioner og features som jeg vil have i mine dokumenter/noter, eksempelvis timelines, grafer, diagrammer, noter i marginen, etc. - på bekostningen af at jeg er nødsaget til at compile/render mine noter som pdf’er for at kunne se det endelige produkt. Fordelen som ligger i denne bekostning er at forfatteren, når at de skriver deres noter kan fokusere på indholdet, men når noterne skal læses/review’es senere så er de formateret med henblik på læsbarhed, som også gør det lettere tilgængeligt for andre at læse.

Hvis man tilbringer nok tid på nettet vil man finde mange forskellige blogs og videoer om såkaldte “productivity setups” med obsidian og lignende closed-source mainstream applikationer, men hvis man kommer bag dette “mainstream hype”-lag finder man mere “obskure” indslag om hvorledes at folk bruger vim+latex, vim+typst, emacs+org-mode, etc. Og dette skriveri falder nok i dette obskure segment under banneret helix+typst - og som mange andre også udtrykker det i dette segment, som kritik af de mainstream content-farms, så er configuration-procrastination en faldgruppe som er let at ende i.1

(Foreløbig) konklusion #

Indtil videre har jeg skiftet over til at bruge typst til de fleste af mine typesetting behov fra noter og essays til plakater - grundet letheden af formatering qua syntaksen. Mine eksisterende latex projekter for indeværende øjeblik er endnu ikke blevet konverteret, men de fleste af mine kommende projekter kommer til at være skrevet i typst grundet de her nævnte fordele - men hvis man er nysgerrig på typst vil jeg opfodre at man blot går igang med at prøve kræfter med det.


  1. At bruge store mængder af tid på at konfigurere sit “productivity setup” kan være en form for overspringshandeling, som bliver gjort istedet for realt at være produktiv. Eks. at man ofte ender med at bruge tid på at konfigurere værktøjet istedet for at bruge det. ↩︎