Back to Rustrips
How-to-LaTeX
There are a lot of advantage when using LaTeX for writing your playbook. LaTeX has a lot of awesome commands and macros that makes writing your playbook a lot easier. Simpply LaTeX is just beautifull. This section will cover a lot of basic LaTeX commands that are relevant for writing your playbook. It is expected that the reader has a basic understanding of LaTeX or at least has gone through this 30 min tutorial Overleaf.
We highly recommend that you write on Overleaf. One of the big advantages to using Overleaf is the ability to write simutationally like in google docs. Everyone has access to the playbook and can write at the same time. Overleaf even includes versioncontrol that enables you to quickly find a previous revision of the document if need be.
Basic setup
For efficiency's sake it is a good idea to split your LaTeX document into smaller files — as you would any other big LaTeX project. It is recommended to use one of the premade playbook templates. The template can be found on github and a read-only version on Overleaf which you can easily create a copy of.
The templates is already split into days, activities, front- and back-matter
fig latex back-matter days front-matter settings main.tex
New page
The method of which you add a new page / activity to the playbook depends on which template you have chosen.
Subfiles
The template uses the subfiles
package to easily split the document into smaller managable pieces.
When compiling a subfile in LaTeX you only compile the working document and not the whole playbook
which would take a long amount of time. To actually compile the whole document you need to compile the
main.tex
document.
The \subfile{}
commands works by using the first parameter as the path to the file to add to the document.
Therefor you write this command in the main.tex
document if it is from the front- or back-matter.
If it is an activity corresponding to a day you add it to the day's corresponding .tex
document. Here
is a breakdown of how busride.tex
from day 1 is added:
First we have created the document latex/days/01_arrival/bustur.tex
:
\documentclass[../../../main.tex]{subfiles} \begin{document} % Information about the busride \end{document}
Take notice to how the documentclass is defined. The number of ../
corresponds to how meany levels of folders
you have to go from latex/days/01_arrival/bustur.tex
to main.tex
which is at the top. Here there are 3 folders
we have to go through to get to main.tex
hence 3 ../
in \documentclass[../../../main.tex]{Subfiles}
.
Because it is an activity of day 1 we add it to latex/days/01_arrival.tex
:
\documentclass[../../main.tex]{subfiles} \begin{document} \section{First day} \subfile{01_arrival/01_timetable.tex} \subfile{01_arrival/busride.tex} % <----- busride is added here \subfile{01_arrival/welcome_speech.tex} \newpage \subfile{01_arrival/starrun.tex} \end{document}
It might seem a bit overwhelming at first to create new documents, but have a look at the template. It has a lot
more examples of how each document is added. We highly recommend using the sufiles
version because of the fact
that the playbook is only compiling the working document. For a playbook of +100 pages you waste a lot of time
compiling the playbook if you used the \input{}
version. That time you could have used to write the playbook
and sooner be done.
\input{}
I denne skabelon bruges \input{}
til at dele drejebogen op i flere dokumenter. For at tilføje en ekstra aktivitet, skal man blot skrive \input{sti-til-din-fil.tex}
i enten main.tex
eller i den tilhørende dags .tex
fil. Her er et eksempel på hvordan bustur.tex
er tilføjet til drejebogen
latex/dage/01_ankomst.tex
\section{Første dag} \input{latex/dage/01_ankomst/01_tidsplan.tex} \input{latex/dage/01_ankomst/bustur.tex} % <--- Her er bustur tilføjet \input{latex/dage/01_ankomst/velkomsttale.tex} \newpage \input{latex/dage/01_ankomst/natloeb.tex}
\input{}
kommandoen vil nu tage alt hvad der står i bustur.tex
og indsætte i drejebogen.
Det skal lige siges, at på samme måde som bustur.tex
er tilføjet til 01_ankomst.tex
er 01_ankomst.tex
også tilføjet til main.tex
med \input{}
kommandoen.
Code names and colours
The template includes the ability to add a colour to a vectors team and name. This makes it easier
for the vector to distinguish when and where they are responsible for something and when their team
is. To make these open the document latex/settings/code_names.tex
and add the command:
\codename{command name}{colour}{name to be displayed}
This could for example be
\codename{\VEKTOREX}{lemon}{Munken}
You would then later in the document write \VEKTOREX
to get
In latex/settings/code_names.tex
there are also the following examples of different codenames
% KABS \codename{\KABS}{lightblue}{KABS} \codename{\KABSEKS}{lightblue}{Rustrip Name} % VEKTORER \codename{\VEKTOREX}{lemon}{Niels} \codename{\ALLV}{mediumpurple}{All vectors} % BUMSER \codename{\BUMS}{lust}{Bums} % TEAM \codename{\vektorex}{lemon}{Stodderne}
To make it easier for yourself when writing the playbook you should make a system for the study line team and
cross team. For example \niels
would be the vector, \nielsS
would be the study line team and
\nielsC
would be the cross team.
Images
The most simple way of inserting an image in the playbook is with the command \includegraphics{fig/path/to/image.png}
The following is an example of how an image is inserted with a width of 7cm (the height will automatically adjusted) and adding the caption „is placed at the entrance door to Bakkedargest fælleshus, Bakkedraget 30.“
\begin{figure}[H] \centering \includegraphics[width=7cm]{fig/hjertestarter.jpg} \caption{is placed at the entrance door to Bakkedargest fælleshus, Bakkedraget 30.} \label{fig:AED} \end{figure}
A more extensive guide for inserting images in LaTeX can be found here.
Tables in LaTeX
Tables are extremly useful for displaying contact information, rotation table, overview of russes etc. The following tables are examples of how to fill the tables in the playbook template.
If you are not proficient with LaTeX you could use Tabel Generator to fill the tables it might make it a bit easier.
Cross and Study Line tables
When checking russes for the bus trip and the general overview it is important to have tables for which russes are on which study line and cross team. It will also be easier to find the vector of a corresponding rus if they are needed.
We recommend that you do not write these tables directly in you playbook but in a seperate document. There will often be very late rustrip sign ups — even some on the introduction day. If you wrote the tables in the playbook you would have to print out a new list anyways, so it would be much easier to just make a different document and print it the day before the rustrip.
Star run rotation table
Rotation tables are used to find out which teams go where at any given time during the star run. The following is an example of how one might make a rotation table using the playbook template.
\begin{table}[ht!] \centering\small \begin{tabular}{|l|l|l|l|l|l|l|} \hline \backslashbox{Round}{Post} & Post 1 & Post 2 & Post 3 & Post 4 & Post 5 & Post 6 \\ \hline 1. Round 21:30-21:45 & \peterC & \jakobC & \teodoraC & \nielsC & \fridaC & \makecell[l]{\melissaC \\ \lineaC } \\ \hline 2. Round 21:50-22:5 & \lineaC & \peterC & \jakobC & \teodoraC & \nielsC & \makecell[l]{ \fridaC \\ \melissaC } \\ \hline 3. Round 22:10-22:25& \melissaC & \lineaC & \peterC & \jakobC & \teodoraC & \makecell[l]{ \nielsC \\ \fridaC } \\ \hline 4. Round 22:30-22:45 & \fridaC & \melissaC & \lineaC & \peterC & \jakobC & \makecell[l]{ \teodoraC \\ \nielsC } \\ \hline 5. Round 22:50-23:05 & \nielsC & \fridaC & \melissaC & \lineaC & \peterC & \makecell[l]{ \jakobC \\ \teodoraC }\\ \hline 6. Round 23:10-23:25&\teodoraC & \nielsC & \fridaC & \melissaC & \lineaC & \makecell[l]{ \peterC\\ \jakobC }\\ \hline 7. Round 23:30-23:45&\jakobC & \teodoraC & \nielsC & \fridaC & \melissaC & \makecell[l]{ \lineaC \\\peterC }\\ \hline \end{tabular} \caption{Rotation table} \label{tab:rotation_table_starrun} \end{table}
This compiles to the following table
Take note of how one makes line breaks inside a table. You have to use \makecell[l]
to enable this. The l
indicates that it is „left-aligned“.
Timetable
It is a good idea to create a timetable for each day with a list of what happends when. The following is an example taken directly from the template.
\begin{tabularx}{\textwidth}{|p{1cm}|X|X|X|} \hline \textbf{Time} & \textbf{Activity} & \textbf{Where/Notice/Materials} & \textbf{Responsible} \\ \hline \textbf{08:30} & Vectors meet for breakfast fernet branca and breakfast & Hos \VEKTOREX at William Demant (Akademivej 100B) & \VEKTOREX and \VEKTOREX \\ \hline \textbf{09:30} & Walk to the S-house & 101E & \ALLV \\ \hline \textbf{10:15} & Russes arrive & 101E, find your crossteam and badge distribution & \ALLV \\ \hline \textbf{10:30} & Remind the russes to use the bathroom, might be a long trip & 101E & \ALLV \\ \hline \textbf{10:45} & The bus arrives & Russes walk into the bus, \VEKTOREX counts the russes & \VEKTOREX \\ \hline \textbf{11:00} & Bus leaves from DTU & Practial information about the trip & \VEKTOREX \\ \hline \textbf{11:30-13:00}& Bustrip & Speed-dating, jokes, bridge toast & \VEKTOREX \\ \hline \textbf{13:00} & Arrival at the cabin & Crossvector shows the team their sleeping accommodations & \ALLV \\ \hline \textbf{13:30} & \KABS's welcome speech & Dinning hall. Introduction of Swamp machine and study start rules & \#RIPBuffalloBill \\ \hline \textbf{13:45-14:30}& Lunch & Dinning hall & \BUMS \\ \hline \textbf{14:30-15:30}& \vektorex cleans up after lunch & Free play for everyone else& \VEKTOREX \\ \hline \textbf{15:30-17:00}& Team Spirit & All over the cabin. Paint banner and make a battle cry for the team & \VEKTOREX \\ \hline \textbf{16:00} & New vest shift & \VEKTOREX and \VEKTOREX downs a beverage & \VEKTOREX and \VEKTOREX \\ \hline \textbf{17:00-17:30}& Cleanup and presentation of banners & The terrace & \VEKTOREX \\ \hline \textbf{17:30-18:00}& \vektorex prepares dinner & Free play for everyone else & \VEKTOREX \\ \hline \textbf{18:00-19:00}& Dinner & Where do you think? The dinning hall. Presentation of the gossip box (and memes) & \BUMS and gossip box responsible \\ \hline \textbf{19:00-20:00}& \vektorex cleans up after dinner & Dinning hall and the kitchen & \VEKTOREX \\ \hline \textbf{19:30} & Caos meeting & Caos meeting room & \ALLV, \KABS and \BUMS \\ \hline \textbf{20:00-22:30}& Starrun & Plan for the starrun & \VEKTOREX is responsible for rotation \\ \hline \textbf{22:00} & SHUT ALL DOORS AND WINDOWS & We don't want to loose our cabin for next years rustrip & \ALLV \\ \hline \textbf{22:30} & Free play & Everywhere & \#freeofresponsibility \\ \hline \textbf{23:30} & Late night snack & Dinning hall / party room & \BUMS \\ \hline \textbf{00:00} & \ALLV stops drinking & \#responsiblevectors \#soberday \#cocioday & \\ \hline \textbf{ca. 02:30} & Throw the Russians to bed & & Those who haven't died yet \\ \hline \end{tabularx} \end{document}
Vector information
Vector information should be at one of the first pages in the playbook together with information about nearest hopsital, police, cabin daddy etc. Even though most of you have written the number of you probably have the teams phone numbers, what if your telephone is destroyed and you are in an emegency that need some other vectors?
The following is an example of how to create this list. It is also included in the template.
\subsection{Our telephone numbers} \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}
Your table won't fit
It happends a lot. You have a table to big for your page. What you can try to do is put it in landscape
mode.
Simply put you turn the page 90 degrees. You do this by surround the table with \begin{landscape}
and
\end{landscape}
.
\begin{landscape} ...tabel... \end{landscape}
Another option is to reduce the font size. This can also be combined with the above. The following is a list of all the default sizes you can operate with LaTeX.
\Huge \huge \LARGE \Large \large \normalsize (standard) \small \footnotesize \scriptsize \tiny
There are 2 methods to change the font size in LaTeX
{\small This is some text with a small font size written `inline'} \begin{small} This is some text with a small font size written in a LaTeX enviroment \end{small}
If you write just \small
in your playbook ALL text afterwards (in the given enviroment) will be at the font
size \small
. The 2 methods above are ways of limiting how much of the text is affected.
Multiple columns
Some times you want to write your playbook in multiple columns to utilize more of the page. It is very simple to
do in the playbook template. Simply surround what you want in mutliple columns with \begin{multicols}{X}
and
\end{multicols}
. The X is the amount of columns you want. The following is an example of writing in 2 columns
\begin{multicols}{2} This text is now in 2 columns \end{multicols}
Material list
Matlist
When making the material list we recommend using our custom mats
enviroment. It automatically
collects all materials written in the playbook and writes it at the end of the playbook.
To use the enviroment you simply write
\begin{mats}{DAY}{ACTIVITY}
For each item you want to add to the list you write
\mat{QUANTITY}{MATERIAL}
When you want to end your list you end the enviroment with
\end{mats}
Example of a post from a starrun where mats is used
{\large \textbf{Post 7: Fear Pong}} \\ \textbf{Postansvarlig:} \backupvictor and \carl \\ A game of beer pong without liquid. Underneath each cup there is a challenge you have to do aswell. If you wanted to turn it into a drinking game you can suggest the russes that they can drink a few sips every hit.\\ \begin{mats}{Tuesday}{Fear Pong} \mat{12}{plastic cups} \mat{1}{Ping pong balls} \mat{1}{Challenges} \mat{1}{Small weights to prevent the cups from falling over} \end{mats} \textbf{Challenge ideas are printed, ask \carl}
At the end of the playbook you can see Tuesday and Fear Pong where the materials are listed.
External links for extra help
The fastest method is most likely a Google search with your specific problem, stackoverflow and wiki-pages usually have great solutions to your problem/question. However here is a small collection of links that might be usefull
- https://www.overleaf.com/learn/latex/Main_Page - The main page
- https://www.overleaf.com/learn/latex/Tables - about tables
- https://www.overleaf.com/learn/latex/Hyperlinks - links and labels
Emergency LaTeX support
Name | |
---|---|
Niels Kjær Ersbøll | niels@bund.nu |
Rasmus Aagaard | latex-student@student.dtu.dk |
First draft made by Henriette Steenhoff the 26-06-2015, revised by Niels Kjær Ersbøll in 2020