17.07.2013 Views

Introduktion til LaTeX

Introduktion til LaTeX

Introduktion til LaTeX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Lidt om listings<br />

Sidebemærkning 9.21. Eksemplerne i denne bog er lavet via listings. Til at starte<br />

med var de dog lavet med både listings og fancyvrb, men seneste version af listings<br />

gjorde fancyvrb overflødig (hvis man lige var en smule snedig).<br />

Listings er så, kombineret med en masse hjemmebrygget kode, blevet <strong>til</strong> den pakke<br />

vi anvender <strong>til</strong> at lave eksemplerne.<br />

9.10.2 Lidt om listings<br />

Pakken listings virker lidt som verbatim men kan nu konfigureres ud i det ekstreme. listings<br />

Den er specielt god <strong>til</strong> at tage sig af fremvisnings af kode fra forskellige programmeringssprog,<br />

inkluderer bl.a. muligheder for automatisk at indeksere nøgleord etc. Den<br />

er specielt god <strong>til</strong> at hente koden ind fra eksterne filer og så f.eks. kun vise visse linier.<br />

I Eksempel 9.59 følger et simpelt eksempel på fremvisning af et Perl-script. Vi har<br />

skiftet fonten i eksemplet fra Utopia <strong>til</strong> Computer Modern for at kunne understrege en<br />

pointe som følger senere i teksten.<br />

\usepackage{listings}<br />

\lstset{extendedchars=true, basicstyle=\ttfamily,<br />

keywordstyle=\normalfont\bfseries, columns=flexible,<br />

\begin{lstlisting}<br />

#!/usr/bin/perl<br />

numbers=left, numberstyle=\tiny,<br />

breaklines=true, breakatwhitespace=true,<br />

language=Perl}<br />

slut preamble<br />

# epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper<br />

# anvendelse: EpsToPdf *.eps<br />

foreach $l (@ARGV) {<br />

}<br />

system "epstopdf $l";<br />

\end{lstlisting}<br />

1 #!/usr/bin/perl<br />

2 # epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper<br />

3 # anvendelse: EpsToPdf *.eps<br />

4 foreach $l (@ARGV) {<br />

5 system "epstopdf $l";<br />

6 }<br />

Eksempel 9.59 viser forskellige ting:<br />

(a) Man kan styre hvordan forskellige dele af teksten skal skrives (prettyprint), se<br />

#!-linien samt se to nøgleord, foreach og system.<br />

(b) Man har mulighed for at sætte linienumre på.<br />

(c) Man kan specificere hvilket programmeringssprog som kodestumpen er skrevet<br />

i, på denne måde ved LATEX hvilke ord der skal betragtes som nøgleord.<br />

(d) Systemet kan automatisk bryde linierne hvis de bliver for lange, uden at dette<br />

påvirker linienumrene.<br />

Pakken listings kan ufatteligt meget mere og er yderst konfigurerbar. Den interesserede<br />

læser henvises <strong>til</strong> Heinz (2004). F.eks. kan man i stedet for at skrive det<br />

Kapitlet er sidst opdateret 2010/03/04 00:31 (revision 659)<br />

239<br />

Eksempel<br />

9.59<br />

£

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!