LaTeX/Algoritmes en broncodes: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Daaf Spijker (overleg | bijdragen)
DimiC88 (overleg | bijdragen)
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.
 
<sourcesyntaxhighlight lang="LaTeX">
\usepackage{algorithmic}
</syntaxhighlight>
</source>
 
Een algoritme moet je maken binnen een <tt>algorithmic</tt>-omgeving. We geven een klein voorbeeld:
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{algorithmic}
\IF {$i\geq maxval$}
Regel 22:
\ENDIF
\end{algorithmic}
</sourcesyntaxhighlight><br />
[[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:
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{algorithmic}
\STATE $i \gets 10$
\STATE RoepFunctieOp($i$)
\end{algorithmic}
</syntaxhighlight>
</source>
 
====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:
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{algorithmic}[5]
%algoritme code
\end{algorithmic}
</syntaxhighlight>
</source>
 
===Een drijvende omgeving===
Regel 97:
Om de <tt>verbatim</tt>-omgeving te gebruiken moet je eerst het <tt>verbatim</tt>-pakket laden.
 
<sourcesyntaxhighlight lang="LaTeX">
\usepackage{verbatim}
</syntaxhighlight>
</source>
 
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:
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{verbatim}
Hier komt de code die je wil laten zien.
\end{verbatim}
</syntaxhighlight>
</source>
 
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:
 
<sourcesyntaxhighlight lang="LaTeX">
In deze tekst vertel ik over de variabele \verb=$var=, deze variabele ...
</syntaxhighlight>
</source>
 
==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:
 
<sourcesyntaxhighlight lang="LaTeX">
\usepackage{listings}
</syntaxhighlight>
</source>
 
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:
 
<sourcesyntaxhighlight lang="LaTeX">
\lstset{language=Pascal}
</syntaxhighlight>
</source>
 
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:
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{lstlisting}[language=pascal]
for i:=maxint to 0 do
Regel 150:
WritE(’Pascal keywords.’);
\end{lstlisting}
</syntaxhighlight>
</source>
Ook met het commando <tt>\lstinputlisting</tt> kun je dezelfde opties gebruiken:<sourcesyntaxhighlight lang="LaTeX">
\lstinputlisting[language=pascal]{padVanHetBestand}</sourcesyntaxhighlight>
 
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.
 
<sourcesyntaxhighlight lang="LaTeX">
\documentclass{article}
 
Regel 348:
In regel \ref{re:printCommando} tonen we ``Hello world!''.
\end{document}
</syntaxhighlight>
</source>
 
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:
<sourcesyntaxhighlight lang="LaTeX">
\documentclass{article}
 
Regel 403:
\end{document}
 
</syntaxhighlight>
</source>
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
 
<sourcesyntaxhighlight lang="LaTeX">
\begin{lstlisting}[frame=BTrl]
public class HelloWorld{
Regel 460:
}
\end{lstlisting}
</syntaxhighlight>
</source>
 
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.
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.