LaTeX/Algoritmes en broncodes: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
kGeen bewerkingssamenvatting |
Lintfouten: Verouderde HTML-elementen |
||
Regel 4:
==Algoritmes==
Als je algoritmes met een mooie lay-out wilt zetten gebruik je best het <
<syntaxhighlight lang="LaTeX">
Regel 10:
</syntaxhighlight>
Een algoritme moet je maken binnen een <
<syntaxhighlight lang="LaTeX">
Regel 22:
\ENDIF
\end{algorithmic}
</syntaxhighlight><br
[[Bestand:Latex-algorithmic-if-else.png|300px]]
===Programmeertaal===
Natuurlijk moet het <
====Gewone opdrachten====
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 <
<syntaxhighlight lang="LaTeX">
Regel 44:
De volgende codes spreken voor zich:
<
\IF{<conditie>} <uit te voeren code> \ELSE <uit te voeren code> \ENDIF<br
\IF{<conditie>} <uit te voeren code> \ELSIF{<conditie>} <uit te voeren code> \ELSE <uit te voeren code> \ENDIF<br
Het doet er niet toe of je alles nu op een lijn zet of het splitst over verschillende lijnen, het <
====Lussen====
<
\FORALL{<conditie>} <te herhalen code> \ENDFOR<br
\WHILE{<conditie>} <te herhalen code> \ENDWHILE<br
Een lus die normaal niet in programmeertalen zit is de oneindige lus, te vergelijken met ''while(true)''. In het <
<
====Pre- en postcondities====
In het <
<
\ENSURE <postconditie></
====Andere commando's====
Regel 71:
De andere commando's spreken ook voor zich aangezien ze gebruikt worden in zowat alle programmeertalen.
<
\PRINT <een variabele of een vaste tekst><br
\COMMENT <commentaar><br
Merk op dat het commentaar bij een <
===Regelnummering===
Regel 89:
===Een drijvende omgeving===
Net zoals er voor figuren en tabellen een drijvende omgeving bestaat is er ook zo'n omgeving voor algoritmes. Deze omgeving heeft de naam <
Als je nog meer informatie wilt, kun je nog eens de [http://developer.berlios.de/docman/display_doc.php?docid=800&group_id=3442 originele handleiding] bekijken ook.
==De <
Om de <
<syntaxhighlight lang="LaTeX">
Regel 101:
</syntaxhighlight>
De <
<syntaxhighlight lang="LaTeX">
Regel 109:
</syntaxhighlight>
Je kan ook het <
<syntaxhighlight lang="LaTeX">
Regel 115:
</syntaxhighlight>
==Het <
Het <
<syntaxhighlight lang="LaTeX">
Regel 123:
</syntaxhighlight>
Merk even op dat alle commando's van het <
De code zelf zet je in een <
Alle opties in het <
===De programmeertaal definiëren===
Meestal gebruik je voor het volledige document eenzelfde programmeertaal, dan kun je deze taal in de hoofding definiëren. De taal <
<syntaxhighlight lang="LaTeX">
Regel 136:
</syntaxhighlight>
De ''sleutel'' is hier dus <
Alles wat je als opties binnen het <
<syntaxhighlight lang="LaTeX">
Regel 151:
\end{lstlisting}
</syntaxhighlight>
Ook met het commando <
\lstinputlisting[language=pascal]{padVanHetBestand}</syntaxhighlight>
Van sommige talen zijn er ook dialecten, deze kun je opvragen als <
====Voorgedefinieerde talen====
Regel 160:
Hieronder staat een tabel met voorgedefinieerde talen, tussen haakjes zijn mogelijke dialecten aangegeven en de standaard dialecten zijn onderlijnd.
{|{{
|-
|[[w:ABAP|ABAP]] (R/2 4.3, R/2 5.0, R/3 3.1, R/3 4.6C, <u>R/3 6.10</u>)
Regel 268:
===Regelnummering===
In verband met regelnummering zijn er ook heel wat opties in het <
{|{{
!sleutel
!omschrijving
|-
|<
|De eerste regel die wordt weergegeven (kun je gebruiken als je enkel een deel code vanuit een extern bestand wilt weergeven)
|-
|<
|De laatste regel die wordt weergegeven (zie <
|-
|<
|De vorige twee commando's in één met de mogelijkheid om meer blokken samen te nemen. <begin1>,<einde1> ... zijn allemaal regelnummers.
|-
|<
|De plaats waar de regelnummers geplaatst worden.
|-
|<
|De opmaak voor de regelnummers, je kunt mogelijk <
|-
|<
|De afstand van de linkerkant van de regelnummers tot de linkermarge van de broncode.
|-
|<
|Per hoeveel nummers geteld wordt.
|-
|<
|Bij welk nummer je begint te tellen, <
|}
Regel 303:
Escapen kun je vertalen door ''ontsnappen''. We gaan hier dus in onze broncode ontsnappen naar LaTeX. Je kunt dit gebruiken om dynamisch naar regels te verwijzen, om over iets commentaar te geven in wiskunde-modus en om willekeurige, eenmalige opmaak te geven aan je code-documenten.
De eerste optie die je kunt gebruiken is de <
Je kunt ook de optie <
Uiteindelijk heb je nog vier commando's om volledig zelf te bepalen wanneer je naar LaTeX modus overschakelt:
{|{{
|-
|<
|tussen twee karakters die opgegeven zijn zal er overgegaan worden op LaTeX-modus. Let wel op, als het karakter dat je wilt opgeven een speciale betekenis heeft in LaTeX (zoals het %-teken), dan moet je er een backslash voor zetten (\%).
|-
|<
|Hetzelfde zoals hierboven maar voor verschillende begin- en eindkarakters
|-
|<
|Hetzelfde als hierboven maar voor de duidelijkheid kun je het over twee commando's splitsen.
|-
|<
|Hetzelfde als hierboven maar voor de duidelijkheid kun je het over twee commando's splitsen.
|}
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 <
<syntaxhighlight lang="LaTeX">
Regel 357:
Je kunt ook een dergelijke structuur gebruiken om een dynamisch deel van je tekst te selecteren. In de vorige subsectie heb je gezien dat je delen van je code kunt selecteren om in te voegen in je document. Bij dat selecteren moest je echter vaste regelnummers kiezen. Dit is niet aan te raden als de code nog in ontwikkeling is en er dus nog regels kunnen bij komen. De makers van het listings-pakket waarschuwen wel dat het nog om een experimentele optie gaat, het zou dus kunnen dat in latere versies de syntax of de uitvoer licht gewijzigd wordt en je document niet meer 100% compatibel is.
In de uitleg zullen we ook het woord label gebuiken, merk op dat het hier niet gaat om een LaTeX-label maar een label dat enkel binnen het <
De twee commando's die je nodig hebt zijn:
{|{{
|<
|De karakters die gebruikt worden om het begin van een label aan te geven.
|-
|<
|De karakters die gebruikt worden om het einde van een label aan te geven.
|-
|<
|Toon of verberg de regels waar het label staat.
|}
Regel 404:
</syntaxhighlight>
Let wel even op het regelnummer in je document. Het <
===Kaders en lijnen rond je code===
Het eenvoudigste om een kader rond je code te zetten is met de optie <
{|{{
|<
| Geen lijnen.
|-
|<
| Een enkele lijn langs de linkerkant.
|-
|<
|Een enkele lijn langs de bovenkant.
|-
|<
|Een enkele lijn langs de onderkant.
|-
|<
|Twee enkele lijnen langs de boven en onderkant.
|-
|<
|Een enkel kader.
|-
|<
|Een schaduw aan je kader geven.
|-
|}
Het is ook mogelijk zelf te bepalen welke lijnen je toont i.p.v. een van de vorige keuzes te nemen. Dit is mogelijk door als argument aan de <
{|{{
|'''t,T'''
|boven (top)
Regel 462:
</syntaxhighlight>
een kader rond de java code weergeven met onder en boven een dubbele lijn. Het is het best deze optie met het <
====Ronde hoeken====
Het is ook mogelijk om ronde hoeken aan je kaders te geven. Dit wordt met de optie <
Let er wel op dat een viewer zoals adobe wat meer moeite heeft met ronde dan met rechte hoeken. Kijk dus goed of alles correct wordt weergegeven.
Regel 472:
====Kaders en regelnummering====
Standaard staat de regelnummering links van de code. Als er dus een kader getekend wordt, dan valt die nummering buiten het kader. Dit kan de bedoeling zijn maar meestal is het niet zo mooi. Je kunt dit oplossen door het kader iets groter te maken met de <
====Achtergrondkleur====
Het kan duidelijk zijn als je je code in een achtergrondkleur zet. Dit kan eenvoudig gebeuren met de optie <
Het is wel aan te raden je eigen grijs te definiëren (zoals onder in de sectie over [[LaTeX/Tekstopmaak#Kleuren|kleuren]] uitgelegd) en als je met kleuren werkt, dan werk je beter met eenvoudige of zelfs zonder kaders.
{{
|