forskningsingeniøren bloghoved

Mange plots i rapport: Hvordan?

Jeg har den seneste måneds tid arbejdet på et projekt for en kunde, hvor vi analyserer en udfoldelig satellitantenne på en satellitplatform.

Arbejdet består i sin essens i at forudsige, hvor godt antennen virker, når antennen ikke svæver alene rundt i himmelrummet, men netop sidder på en satellitplatform, der potentielt kan indvirke på antennens udstråling.

Nu er arbejdet næsten færdig, og udstrålingen fra antennen skal opsummeres i mange forskellige situationer - for fire forskellige geometriske konfigurationer, ved tre frekvenser og med fem forskellige fødeelementer for antennen. 60 konfigurationer i alt. Og for én variant af fødeleementet, skal udstrålingen præsenteres i to planer.

Så 72 plots i alt.

Hvordan laver man alle de plots, og hvordan inkluderer man dem i sin rapport?

Vi skriver både rapporter i Word og LaTeX, lidt afhængig af situationen og afhængig af hvem vi evt. samarbejder med.

Hvis jeg skulle skrive denne rapport i Word, ville det umiddelbart kræve ganske meget manuelt arbejde at inkludere de mange plots. Og endnu mere arbejde, hvis plots sidenhen skulle rettes og erstattes i rapporten.

Derfor overvejede jeg en hybridløsning, hvor alle plots blev dannet med et script, siden inkluderet i et LaTeX-dokument, også via scripting, hvilket så skulle give f.eks. en PDF med de mange plots. Og denne kunne så inkluderes i Word-rapporten.

Men min egen begrænsede erfaring med at inkludere en PDF i et Word-dokument har ikke været specielt god.

Så derfor endte jeg med den rene LaTeX-tilgang:

1) Først et script til at lave alle plots og eksportere hvert af dem til en PDF.

2) Så et script til at skrive en LaTeX-fil, hvor alle figurer og subfigurer dannes og refererer til PDF-plotfilerne.

3) Og så inkludere denne LaTeX-fil som input i LaTeX-rapportfilen.

Det første punkt 1) var også tænkt som første skridt i en evt. Word-procedure.

En del af LaTeX-input-scriptet (Matlab) ses i billedet herunder.

Illustration: Jakob Rosenkrantz de Lasson

Læs også: Burde Python erstatte Matlab på ingeniøruddannelserne?

En fordel ved denne scriptede tilgang er, at en generel ændring - f.eks. hvor store plots skal være i rapporten, hvilken farve kurverne skal vises med, hvordan figurteksten til hver figur skal formuleres, mv. - nemt kan ændres, enten ved at køre plotscriptet i 1) med ændringer eller ved at ændret LaTeX-input-scriptet i 2).

Ulempen er, at det tog et par timer at lave de omtalte scripts og finjustere dem.

Der er altid nogle, som udtrykker deres foragt for LaTeX og hævder, at det kun er støvede akademikere, som ikke har noget vigtigt at bruge deres tid på, som bruger dette.

Ligeledes er der dem, som kun har hovedrysten tilovers for, at man skriver noget som helst i Word (mit yngre jeg inklusive).

Som allerede omtalt skriver vi ganske ofte denne type af tekniske rapporter i Word, men i den her konkrete situation var den scriptede LaTeX-metode umiddelbart bare mere effektiv.

Jeg ser det som en styrke at kunne både det ene og det andet og at vælge den rette tilgang til den konkrete situation.

Hvordan ville I inkludere de mange plots i en rapport?

Emner : Software
Jakob Rosenkrantz de Lasson er civilingeniør og ph.d. i nanofotonik fra DTU. Jakob arbejder som Product Lead og forskningsingeniør hos virksomheden TICRA i København og blogger om forskning, fotonik og rumteknologi. Jakobs blog har tidligere heddet DTU Indefra (2012-2016) og DTU Studenten (2012)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

OOXML standarden som Word bruger er åben, og der findes masser af måder at generere og manipulere .docx filer via scripts (eksempelvis https://python-docx.readthedocs.io/en/latest/). Så du behøver slet ikke at gå Latex vejen hvis du vil scripte.

Selv benytter jeg typisk Jupyter notebooks til at lave min databehandling. Her er der rig mulighed for at skrive med markdown/LaTeX sideløbende med selve koden hvilket gør at man kan beskrive databehandlingsmetodikken og resultater samme sted som det bliver genereret. Det gør at man i notebooken direkte kan se hvordan de enkelte plots er lavet. Når man er klar til at publicere kan man så konvertere notebooken til et LaTeX dokument (eller et væld af andre formater), og så er rapporten sådan set færdig. Det har den kæmpe fordel for et rodehovede som mig at man slipper for at lave et eller andet WYSIWYG dokument hvor der så skal copy-pastes ind i og potentielt introducere fejl.

  • 4
  • 0

Jeg lever i et Microsoft "økosystem" så Word er det eneste der rigtig virker til samarbejde. En metode med en lav læringskurve er at sætte plots ind i Word med fuktionen "Insert and link" når man så fra sit plotteprogram erstatter en figur med en ny af samme navn, så bliver den opdateret i Word dokumentet når man trykker "Print" eller opdaterer på anden måde. For at undgå problemer er det godt at "un-linke" når man er sikker på at det man har er i orden. Det giver (for det meste) et godt arbejds flow hos os.

  • 1
  • 0

Hej

Når jeg har mange plots som hele tiden laves om efterhånden som jeg skriver, så bruger jeg PGF plots til latex. Du skriver bare din data i en csv fil, som du ligger sammen med dine latex filer. Så skriver du dine plot definitioner inde i latex, meget ala den måde man gør det på i matlab. Den hiver bare dataen fra csv filen. Fordelen er at du kan lave al databehandling i matlab, og alt plot håndtering og typesetting sker i latex. Jeg har et eksempel template hvis du vil have den.

mvh

  • 0
  • 0
Bidrag med din viden – log ind og deltag i debatten