LaTeX/Algoritmes en broncodes: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k →Voorgedefinieerde talen: link aangepast |
kGeen bewerkingssamenvatting |
||
Regel 6:
Als je algoritmes met een mooie lay-out wilt zetten gebruik je best het <tt>algorithmic</tt>-pakket (let op de ''h''). Met dit pakket kun je het algoritme op een logische manier opbouwen zoals je de code zou schrijven in een eenvoudige programmeertaal. Het pakket zal dan de code verwerken tot een mooi ogend algoritme.
<
\usepackage{algorithmic}
</syntaxhighlight>
Een algoritme moet je maken binnen een <tt>algorithmic</tt>-omgeving. We geven een klein voorbeeld:
<
\begin{algorithmic}
\IF {$i\geq maxval$}
Regel 22:
\ENDIF
\end{algorithmic}
</
[[Bestand:Latex-algorithmic-if-else.png|300px]]
Regel 33:
Onder de gewone opdrachten valt alles wat op één regel komt. Dit zijn bijvoorbeeld oproepen van een andere functie of het toewijzen van een waarde aan een variabele. Een gewone opdracht moet altijd met het <tt>\STATE</tt>-commando beginnen (let op de hoofdletters). Na het state-commando volgt dan je opdracht. Het is aan te raden opdrachten altijd in wiskunde-modus te schrijven, dan kun je de uitgebreide verzameling aan wiskundige symbolen gebruiken. Een voorbeeld van een klein algoritme:
<
\begin{algorithmic}
\STATE $i \gets 10$
\STATE RoepFunctieOp($i$)
\end{algorithmic}
</syntaxhighlight>
====If-Else====
Regel 81:
Er is eenvoudig regelnummering toe te voegen aan een algoritme, als je bijvoorbeeld iedere vijf regels een nummer wil plaatsen, dan gebruik je de volgende omgeving:
<
\begin{algorithmic}[5]
%algoritme code
\end{algorithmic}
</syntaxhighlight>
===Een drijvende omgeving===
Regel 97:
Om de <tt>verbatim</tt>-omgeving te gebruiken moet je eerst het <tt>verbatim</tt>-pakket laden.
<
\usepackage{verbatim}
</syntaxhighlight>
De <tt>verbatim</tt>-omgeving zelf werkt zeer eenvoudig. Alles wat je in die omgeving zet wordt rechtstreeks weergegeven, zonder enige opmaak. Je gebruikt de omgeving dus als volgt:
<
\begin{verbatim}
Hier komt de code die je wil laten zien.
\end{verbatim}
</syntaxhighlight>
Je kan ook het <tt>\verb</tt>-commando gebruiken om iets (b.v. de naam van een veriabele) letterlijk weer te geven binnen een regel. Na het <tt>\verb</tt>-commando moet je eerst een teken gebruiken dat nergens in je code vooromt, b.v. een ":" of een "=", daarna typ je de code die je wil weergeven en je sluit weer af met hetzelfde teken als je eerst gebruikt hebt. We geven een voorbeeldje:
<
In deze tekst vertel ik over de variabele \verb=$var=, deze variabele ...
</syntaxhighlight>
==Het <tt>listings</tt>-pakket==
Regel 119:
Het <tt>listings</tt>-pakket is veel geavanceerder dan het <tt>verbatim</tt>-pakket. Om listings te gebruiken moet je eerst het <tt>listings</tt>-pakket laden:
<
\usepackage{listings}
</syntaxhighlight>
Merk even op dat alle commando's van het <tt>listings</tt>-pakket beginnen met <tt>lst</tt>, dit is om zeker in orde te zijn met de lppl-licentie.
Regel 132:
Meestal gebruik je voor het volledige document eenzelfde programmeertaal, dan kun je deze taal in de hoofding definiëren. De taal <tt>pascal</tt> voor je volledig document definiëren doe je als volgt:
<
\lstset{language=Pascal}
</syntaxhighlight>
De ''sleutel'' is hier dus <tt>language</tt> en de waarde die je aan de ''sleutel'' geeft is <tt>Pascal</tt>.
Regel 140:
Alles wat je als opties binnen het <tt>lstset</tt>-commando zet kun je ook per <tt>lstlisting</tt>-omgeving apart definiëren als optie. Dit doe je zoals het voorbeeld hier onder:
<
\begin{lstlisting}[language=pascal]
for i:=maxint to 0 do
Regel 150:
WritE(’Pascal keywords.’);
\end{lstlisting}
</syntaxhighlight>
Ook met het commando <tt>\lstinputlisting</tt> kun je dezelfde opties gebruiken:<
\lstinputlisting[language=pascal]{padVanHetBestand}</
Van sommige talen zijn er ook dialecten, deze kun je opvragen als <tt>language=[XSC]Pascal</tt>
Regel 324:
om de kracht van het escapen naar LaTeX te zien kun je eens onderstaande code uitproberen. Als je pdfLaTeX gebruik kun je ook het pakket <tt>pdfpages</tt> toevoegen om een hyperlink naar de juiste regel te krijgen.
<
\documentclass{article}
Regel 348:
In regel \ref{re:printCommando} tonen we ``Hello world!''.
\end{document}
</syntaxhighlight>
Let er op dat de code blijft werken want in Java staat commentaar na een "//" en dit is een deel van het escape begin.
Regel 372:
We geven een voorbeeld:
<
\documentclass{article}
Regel 403:
\end{document}
</syntaxhighlight>
Let wel even op het regelnummer in je document. Het <tt>listings</tt>-pakket begint standaard te tellen bij 1 aan het begin van de code, maar nu geef je die code niet meer weer. Je kunt mogelijk het pakket instellen om regelnummers weer te geven of je kunt instellen om te beginnen tellen bij de eerste regen van de weergegeven code, dit is al behandeld in een vroegere subsectie.
Regel 451:
Zo zal de code
<
\begin{lstlisting}[frame=BTrl]
public class HelloWorld{
Regel 460:
}
\end{lstlisting}
</syntaxhighlight>
een kader rond de java code weergeven met onder en boven een dubbele lijn. Het is het best deze optie met het <tt>\lstset</tt>-commando te definiëren omdat dan voor alle omgevingen hetzelfde kader gebruikt wordt.
|