Komponenter i Saros

Saros er egentlig bare en første del av prosessen. Saros bygger helt i bunnen på en rekke teknologier og pakker, rettet mot ulike biter av puslespillet.

flowchart LR
  datasett --> saros
  kapitteloversikt --> saros
  innstillinger --> saros
  saros --> qmd
  qmd --> knitr_for_R
  qmd --> Jupyter_for_Python
  qmd --> IJulia_for_Julia
  qmd --> Markdown_for_annet
  knitr_for_R --> md
  Jupyter_for_Python --> md
  IJulia_for_Julia --> md
  Markdown_for_annet --> md
  md --> Pandoc
  Pandoc --> docx
  Pandoc --> html
  Pandoc --> LaTeX_pdf
  Pandoc --> Beamer
  Pandoc --> Typst_pdf
  Pandoc --> ePub
  Pandoc --> pptx

flowchart LR
  datasett --> saros
  kapitteloversikt --> saros
  innstillinger --> saros
  saros --> qmd
  qmd --> knitr_for_R
  qmd --> Jupyter_for_Python
  qmd --> IJulia_for_Julia
  qmd --> Markdown_for_annet
  knitr_for_R --> md
  Jupyter_for_Python --> md
  IJulia_for_Julia --> md
  Markdown_for_annet --> md
  md --> Pandoc
  Pandoc --> docx
  Pandoc --> html
  Pandoc --> LaTeX_pdf
  Pandoc --> Beamer
  Pandoc --> Typst_pdf
  Pandoc --> ePub
  Pandoc --> pptx

Pakker og verktøy laget spesielt for NIFU

  • For å konvertere NIFU-rapporter fra Quarto-format til pdf med riktig NIFU-layout benyttes nifutypst-malen for Quarto. Den er utviklet og vedlikeholdt av Henrik Karlstrøm, med bidrag fra Stephan Daus.

  • For å konvertere fra Quarto-format til docx med riktig NIFU-layout benyttes nifudocx-malen for Quarto (under utvikling), utviklet og vedlikeholdt av Stephan Daus.

  • For å kunne anvende riktige NIFU-fargepaletter og andre grafiske elementer korrekt i R har Henrik Karlstrøm utviklet {nifuthemes}-pakken.

  • For å kunne bygge opp et NIFU-rapportnettsted raskt og konsistent samles mange andre generelle nødvendige filer, maler og bilder i {nifutemplates}-pakken i R.

Andre teknologier som systemet bygger på

Følgende teknologier er free open source software, og utvikles av andre enn NIFU. Enten det er Quarto, Pandoc eller Typst er formatene alltid åpne tekstfiler som kan åpnes i en hvilken som helst notepad-lignende program.

  • Quarto, en videreføring av RMarkdown, lar en kunne sy sammen vanlig formatert tekst med bilder, tabeller, R-kode, Python-kode, osv mens man enkelt justerer innstillinger for hele dokumentet (eller hele prosjektet) på ett sted. (Saros bruker kun R-syntaksen men man kan selv legge til Python om man ønsker det). Det er veldig enkelt å formatere tekst (slik som i Markdown), og like enkelt å forstå og endre innstillinger for dokumentet eller prosjektet.

  • Pandoc er en universal translatør av ulike filtyper. Quarto benytter denne for å generere alt av HTML, docx, pptx, PDF, osv.

  • Typst er en genial erstatter for den eldgamle LaTeX-systemet for å sette sammen PDF-filer med korrekt og pen formatering av matematiske formler, tabeller, figurer, osv. Der LaTeX var veldig tungvint å forstå for nybegynnere, treg å kompilere og hadde rare feilmeldinger, så tilbyr Typst øyeblikkelig kompilering av endringer, forståelige feilmeldinger, og en langt enklere syntaks.

  • R er motoren som lar en produsere alt man kan drømme om.

  • RStudio er det grafiske brukergrensesnittet som syr sammen alt ovenfor.

  • Github benyttes for versjonskontroll av flere av Saros-komponentene, og kan/bør også benyttes for prosjekter som anvender Saros - for å lagre R-filer og ressurser man har brukt tid på å sette opp, samt kanskje qmd-filene man selv har skrevet på. Man skal ikke trenge å sette det opp for andre ting i prosjektet.

Mulige utvidelser etter hvert

  • For prosessene som innebærer R kan man også anvende {renv}-pakken slik at alle installerte pakker er “fryste”. Det innebærer at man har mer kontroll med oppdateringer av pakker i prosessen slik at en oppdatering ikke kludrer til noe som allerede fungerte bra. Man får altså versjonskontroll på programvarepakkene man benytter.

Gjenbruk