da:rusturen:how-to-latex

Tilbage til Rusturen

How-to-LaTeX

Der er rigtig mange fordelle ved at skrive sin drejebog i LaTeX. Der er en masse smarte kommandoer og genveje som gør afslutningen på drejebogen meget nemmere. LaTeX er også bare smukt ud. I dette afsnit vil basale LaTeX kommandoer der er releveante i drejebogen gennemgås, derudover vil en mulig arbejdsfordeling når det kommer til udfærdigørelsen af drejebogen forklares. Det forventes at læseren af dette har grundlæggende LaTeX-erfaring, man kan på 30 min få en basal forståelse af LaTeX på Overleaf.

En af de største fordele ved at skrive i Overleaf er, at man kan skrive samtidig på drejebogen ligesom google docs. Yderlgiere er der også indbygget versionskontrol. Dette skirer at man nemt kan finde en tidligere revision af dokumentet og slipper for at have flere versioner af side/section med konflikter, som der skal bruges tid på at løse.

Ligesom til store LaTeX projekter er det smart at dele sit dokument op i flere filer. Vi anbefaler at man bruger den udarbejdet skabelon, som findes på github og Overleaf.

Her er filerne allerede opdelt i dage, aktiviteter og generelle ting.

fig
latex
  bagerst
  dage 
  forrest
  settings
main.tex
  • fig mappen er til figure/billeder som skal indsættes i drejebogen
  • latex og alle undermapper er til latex dokumenter
  • bagerst er mappen til det som skal bagerst, dvs. efter alle dage er gennemgået i drejebogen. Det kan være ting som f.eks. bufferlege, førstehjælp, forventningsafstemning, hvem-kan-ikke-hvad osv.
  • dage er mappen til alle aktiviteter for hver dag. For f.eks. dag 1 vil der være ting som klargøring af hytte, busturen og velkomstalen. Bemærk at der er en undermappe for hver dag
  • Ligesom bagerst er til ting som skal bagefter dage, så er forrest mappen til ting som skal foran. Her findes ting som f.eks. forsiden, det overordnet aktivitetskema, vesteskema, bordplan, kontaktinfo osv.
  • settings er mappen til hvis man vil tilføje nye pakker til drejebogen, lave navnekoder (se Farvekoder), ændre hytte navn og mere som handler om „meta“ delen af drejebogen.

Du kan nemt kopiere skabelonen fra overleaf, ved at trykke på Menu og herefter Copy Project. Herefter kan du give den et nyt navn, f.eks. „Drejebog Østersøen 2020“. Du vil nu automatisk blive sent hen til din nye drejebog. For at dele den med resten af dit hold så tryk på share, herfra kan du enten tilføje dem manuelt ved at skrive deres studieemail ind, eller tryk på turn on link sharing og copiere det øverste link, der kommer frem.


Skabelonen udnytter subfile LaTeX pakken til at gøre det nemmere at redigere i dokumenterne. Når man compiler en fil i LaTeX, vil det kun være den ene side som bliver skabt og ikke hele dokumentet. Ved dette sparer man både tid og resourcer. For at compile hele dokumentet skal man gå ind i main.tex og compile.

\subfiles{} kommandoen fungerer ved at tage første parameter som stien til filen man gerne vil tilføje til sit dokument. Du skal skrive denne kommando i main.tex, hvis der er noget som skal tilføjes fra forside eller bagside mappen. Hvis det er en aktivitet som hører til en spesifik dag, skal den tilføjes til dens tilhørende .tex dokument. Her er et breakdown af hvordan bustur.tex fra dag 1 er tilføjet:

Først oprettes dokumentet latex/days/01_arrival/bustur.tex:

\documentclass[../../../main.tex]{subfiles}
 
\begin{document}
 
 % Information om busturen
 
\end{document}

Læg mærke til hvordan documentclass er defineret her. Antallet af ../ svarer til hvor mange foldere man skal gå op fra latex/days/01_arrival/bustur.tex til main.tex som er på toppen. Her er der 3 foldere fra bustur til main.tex dokumentet, derfor skal der være 3 ../ in \documentclass[../../../main.tex]{subfiles}.

Fordi det er en aktivitet på første dag, tilføjer vi den til latex/days/01_arrival.tex:

\section{Første dag}
\subfile{latex/dage/01_ankomst/01_tidsplan.tex}
\subfile{latex/dage/01_ankomst/bustur.tex}       % <--- Her er bustur tilføjet
\subfile{latex/dage/01_ankomst/velkomsttale.tex}
\newpage
\subfile{latex/dage/01_ankomst/natloeb.tex}

Det kan godt se lidt uoverskueligt ud at tilføje flere dokumenter, men prøv at kigge i skabelonen, som har flere eksempler på dette. Vi anbefaler virkelig at man bruger subfiles, fordi med en drejebog på +100 sider tager det ufatteligt lang tid at kompilere. Den tid man venter i kunne man have brugt på at skrive drejebog og derved blive hurtigere færdig.

I drejebogskabelonen har vi tilføjet muligheden for at tildele en farve til en vektors hold og navn, så den enkelte vekotr nemmere kan overskue hvor og hvornår de har ansvar for noget, samt hvornår deres hold skal noget. For at opsætte dette skal det tilføjes i filen latex/settings/navnekoder.tex, som gøres på følgende måde:

\navnekode{kommando navn}{farve}{navn}

kommando navn er den kommando som du kalder når du gerne vil skrive når du vil lave farve koden, f.eks. \VEKTOREKS for at lave farve koden

navn er navnet som skal skrives i drejebogen. I eksemplet over er det „Munken“.

farve mulighederne kan findes i filen latex/static/farver.tex. I navnekoder.tex er der også givet følgende eksempler på hvordan man laver farvekoder.

% KABS
\navnekode{\KABS}{lightblue}{KABS}
\navnekode{\KABSEKS}{lightblue}{Rustursnavn}
 
% VEKTORER
\navnekode{\VEKTOREKS}{lemon}{Munken}
 
\navnekode{\ALLEV}{mediumpurple}{Alle vektorer}
 
% BUMSER
\navnekode{\BUMS}{lust}{Bumserne}
 
% HOLD
\navnekode{\vektoreks}{lemon}{Stodderne}

Det anbefales at navnekoder bliver lavet hurtigt og alle ved hvordan man bruger dem. Det anbefales at måden man navngiver farvekoderne er nogenlunde standardiseret, så f.eks. \niels er koden til at få vektoren Niels, \nielsR er vektorens retningshold og \nielsT er vektorens tværhold.

Den simpleste måde at indsætte et billede i drejebogen er med kommandoen \includegraphics{fig/sti/til/billede.png}. Ofte vil man dog gerne kunne skrive en figurtekst til samt modificere størrelsen af billedet.

Følgende er et eksempel, hvor man har modificeret bredden af billedet til 7cm (højden vil automatisk blive ændret for at opretholde højde-bredde forholdet) samt tilføjet figurteksten „Hænger ved indgangsdør til bakkedragets fælleshus, Bakkedraget 30.“

\begin{figure}[H]
  \centering
  \includegraphics[width=7cm]{fig/hjertestarter.jpg}
  \caption{Hænger ved indgangsdør til Bakkedragets fælleshus, Bakkedraget 30.}
  \label{fig:hjertestarter}
\end{figure}

En mere udførlig guide til at insætte billeder i LaTeX kan findes her.

Tabeller er rigtig smarte i forbindelse med vektorinformationer, rotationsskemaer, oversigt over russer etc. De følgende tabeller er eksempler på hvordan tabellerne i skabelonen kan udfyldes.

Hvis man ikke er skarp i latex, kan man bruge Tabel Generator. til at udforme tabellen, det kan gøre det mere overskueligt at lave dem.

Til afkrydsning af russer til busturen samt det generelle overblik er det meget smart at have en tabel over hvilke russer som er på hvilke retnings- og tværhold. Hvis en rus siger at de tager hjem er det også nemt at finde de pågældende vektorer og informere dem om dette.

Vi anbefaler ikke at man skriver oversigten direkte i sin drejebog, men at man gør det i et seperat dokument. Der er ofte russer som tilmelder sig efter man har fået den samlede liste over hvilke russer som kommer med på turen — endda nogle på selve introdagen — det er derfor ikke smart at vente med at udskrive sin drejebog til man har sidste rus med, da man ikke ved hvornår den sidste kommer med.

Rotationsskemaerne benyttes til løb for at holde styr på hvilke hold, som roterer hvor hen. Det er smart at have lavet et holdnavn i samme farve som vektorerens egne farve i drejebogen på denne måde er det nemt at følge med ens eget hold. Følgende er et eksempel på hvordan et rotationsskema lavet med drejebogssakbelonen kan laves

\begin{table}[ht!]
\centering\small
\begin{tabular}{|l|l|l|l|l|l|l|} \hline
  \backslashbox{Runde}{Post} & Post 1 & Post 2 & Post 3 & Post 4 & Post 5 & Post 6 \\ \hline
  1. Runde 21:30-21:45 & \HPeter   & \HJakob    & \HTeodora & \HNiels   & \HFrida & \makecell[l]{\HMelissa \\ \HLinea}   \\ \hline
 
  2. Runde 21:50-22:5 & \HLinea   & \HPeter    & \HJakob   & \HTeodora & \HNiels   & \makecell[l]{\HFrida \\ \HMelissa}  \\ \hline
 
  3. Runde 22:10-22:25& \HMelissa  & \HLinea    & \HPeter   & \HJakob   & \HTeodora  & \makecell[l]{\HNiels \\ \HFrida}  \\ \hline
 
  4. Runde 22:30-22:45 & \HFrida & \HMelissa  & \HLinea   & \HPeter   & \HJakob     & \makecell[l]{\HTeodora \\ \HNiels} \\ \hline
 
  5. Runde 22:50-23:05 & \HNiels & \HFrida   & \HMelissa & \HLinea   & \HPeter     & \makecell[l]{\HJakob \\ \HTeodora}  \\ \hline
 
  6. Runde 23:10-23:25&\HTeodora & \HNiels & \HFrida   & \HMelissa & \HLinea   & \makecell[l]{\HPeter\\ \HJakob}\\ \hline
 
  7. Runde 23:30-23:45&\HJakob & \HTeodora & \HNiels & \HFrida   & \HMelissa   & \makecell[l]{\HLinea \\\HPeter}\\ \hline
 
  8. Runde 23:55-00.15 &\textbf{ALLE} & \textbf{FAKE}& \textbf{RUSSER} & \textbf{TIL}   & \textbf{SPISE}  & \textbf{SALEN} \\ \hline
\end{tabular}
\caption{Rotationsskema}
\label{tab:rotationsskema_natloeb}
\end{table}

Dette giver tabellen

Bemærk her, at vi har brugt kommandoen \makecell[l]{} til at gøre så vi kan lave linjeskift i tabellen. l'et indikerer, at den bliver justeret mod venstre.

For de forskellige dage er den en rigitg god idé at lave en tidsplan med alt der skal ske, så man nemt kan få et overblik. Nedenstående er et eksempel på dette. Der er angivet klokkeslæt, aktivitet, sted/bemærkning/materiale samt ansvarlige.

\begin{table}[H]
\centering
\begin{tabularx}{\textwidth}{|p{2cm}|p{6cm}|p{4cm}|X|}
\hline
\textbf{Tid} & \textbf{Aktivitet} & \textbf{Sted/Bemærk/Materialer} & \textbf{Ansvarlige}         \\ \hline
  01:00       & Kommende ædruansvarlige stopper druk &                         & \Frida og \Melissa         \\ \hline
  13:00???    & \BUMSER + \Niels og \Peter           &                         & \BUMSER + \Niels  + \Peter \\ \hline
  16:30       & Fake vektorer mødes i Hegnet         & Hegnet                  & \ALLEV                     \\ \hline
  17:00       & Deltagere møder op i Hegnet          & Hegnet                  &                            \\ \hline
  18:00       & Afgang fra DTU (husk afkrydsning!)   & Hegnet, dags krydser af & \Frida                     \\ \hline
  18:15       & Busunderholdning                     & Bussen                  & \Linea                     \\ \hline
  19:00       & Ankomst ved hytten                   & Hytten                  &                            \\ \hline
  19:05        & Folk pakker ud. Ansvarlige sender fake russere det rigtige sted hen & Sovesale. & \Niels og \Peter \\ \hline
  19:20-19:40 & KAOSMØDE                             & Bumseland               & \ALLEV                     \\ \hline
  19:30-19:45 & Opdækning til aftensmad              & Spisesalen              & \BUMSER + \Niels + \HNiels \\ \hline
  19:30-19:45  & Alle der ikke lige laver noget skal bære læske & Læskerummet  & \Peter                      \\ \hline
  19:45-20:00 & Samling i spisesalen og velkomsttale & Spisesalen              & \Frida                     \\ \hline
  20:00-20:45 & Aftensmad                            & Spisesalen.             & \BUMSER                    \\ \hline
  20:45-21:15  & Oprydning og opvask                 & Køkkenet. Dags siger hvem der skal rydde op & \BUMSER og \Peter + \HPeter \\ \hline
  21:30-23:30 & Stjerneløb                           & Overalt                 & \ALLEV                     \\ \hline
  01:00       & Natmad                               & Spisesalen              & \BUMSER                    \\ \hline
  01:00       & Kommende ædruansvarlige stopper druk &                         & \Teodora og \Linea         \\ \hline
  03:00       & Sluk musik                           & Overalt                 & \Frida                     \\ \hline
  04:00       & Godnat                               &                         & \ALLEV                     \\ \hline
\end{tabularx}
\end{table}

Et screenshot af koden compilet ser ud som følger:

Vektorinformationerne er noget af det første der står i jeres drejebog sammen med oplysninger vedr. nærmeste skadestue/hospital, politi, hyttefars informationer osv. Selvom de fleste af jer nok har telefonnumrene på jeres tværvektorer er det vigtig at have dem ved hånden, hvis jeres mobil skulle være løbet tør for strøm eller lignende og i står i en nødsituation.
Nedenstående er et eksempel på, hvordan disse informationer kan angives. De er igen angivet med navne som kodeord. De tilhørende telefonnumre er fiktive.

\subsection{Vores telefonnumre}
 
\begin{tabular}{c|l}
% KABS
+45 00 00 00 00 & \Niels \\
+45 00 00 00 00 & \Peter \\
 
% Vektorer
+45 00 00 00 00 & \Teodora \\
+45 00 00 00 00 & \Melissa \\
+45 00 00 00 00 & \Linea\\
+45 00 00 00 00 & \Frida\\ 
+45 00 00 00 00 & \Jakob \\
 
% Bumser
+45 00 00 00 00 & \Viktor \\
+45 00 00 00 00 & \Munken \\
+45 00 00 00 00 & \Neel \\
+45 00 00 00 00 & \Matteo \\
 
\end{tabular}

Et screenshot af koden compilet ser ud som følger:

Hvis du har en tabel som er for stor til din side, kan du prøve at lægge den ned i „landscape“ mode, altså lægge siden ned. Dette gøres ved at sætte \begin{landscape} og \end{landscape} rundt om din tabel.

\begin{landscape}
   ...tabel...
\end{landscape}

En anden mulighed som kan sættes i kombination med ovenstående er at ændre skriftstørrelsen LaTeX skriver i. Følgende er listen over de standard skirftstørelser som LaTeX bruger

\Huge
\huge
\LARGE
\Large
\large
\normalsize % <-- standard
\small
\footnotesize
\scriptsize
\tiny

Der findes 2 måder at ændre på skriftstørrelsen i LaTeX

{\small Dette er tekst med en lille skriftstørrelse skrevet `inline'}
 
\begin{small}
Dette er tekst med en lille skriftstørrelse skrevet i et LaTeX enviroment
\end{small}

Hvis man bare skriver \small i sin kode, vil alt tekst efter ændres til at bruge størrelsen \small indtil dette ændres. De ovenstående måder er 2 forskellige måder at begrænse hvor meget tekst som bliver påvirket.


Ofte har man lyst til at give sin drejebog flere kolonner, for at give mere plads til tekst eller gøre ting mere overskueligt. Det kan gøres meget simpelt i drejebogen ved at omringe den tekst man gerne vil have i flere kolonner med \begin{multicols}{X} og \end{multicols}, hvor X er antallet af kolonner. Følgende er et eksempel på noget som sættes i 2 kolonner.

\begin{multicols}{2}
  Denne tekst er nu i 2 kolonner
\end{multicols}

For at gøre materialelisten så simpel som mulig kan man vælge at lave denne i LaTeX. På denne måde vil LaTeX samle alle items på materialelisten for dig. Dette gøres på følgende måde:

Start materialelisten med følgende kommando:

\begin{mats}{DAG}{AKTIVITET}

Herefter skrives alle materialer på følgende måde:

\mat{antal}{materiale}

Når der ikke er flere materialer afsluttes der med:

\end{mats}

Når man gør det på denne måde kommer materialelisten automatisk bagerst i drejebogen og samler det nemt og overskueligt sammen.

Eksempel på en post, hvor mats er brugt:

{\large \textbf{Post 8 - Kassestaffet}} \\
\textbf{Postansvarlig:} \LORD \\
 
\begin{mats}{Lørdag}{Kassestaffet}
   \mat{4}{Mælkekasser} 
\end{mats}
 
Russerne stilles op på mælkekasserne og skal nu transportere sit hold så langt som muligt uden at røre jorden.

Til sidst i drejebogen, hvor man kan se at den er kommet ind under Lørdag, Kassestaffet:


Eksterne links til hjælp

Det aller hurtigste er klart et søg på Google med dit specifikke problem, Stackoverflow og Wiki-sider plejer nemt at kunne løse de små problemer eller spørgsmål.


Emergency LaTeX support

Navn mail
Niels Kjær Ersbøll niels@bund.nu
Rasmus Aagaard latex-student@student.dtu.dk

Første udkast lavet af Henriette Steenhoff d. 26-06-2015, revideret af Niels Kjær Ersbøll i 2020

  • da/rusturen/how-to-latex.txt
  • Sidst ændret: 2020-12-16 14:30
  • af niels