Vejledning til listings-pakken

Relaterede dokumenter
Indstillinger. 1. Built-in viewer 2. Built-in viewer embedded 3. Ekstern viewer

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

Microsoft Word fremgangsmåde til Blomsterhuset Side 1 af 11

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

Anvendelse af metoder - Programmering

Lav dine egne hjemmesider/websider

Nu skal vi især se på <font> og <center> samt centrering af hele siden på skærmen.

Orddeling. Automatisk orddeling. Manuel orddeling. Word thoremil.dk. Vælg fanebladet [Sidelayout] Vælg [Orddeling] Markér Automatisk orddeling

Virkefeltsregler i Java

Opgaver i LaTeX - IDA på AAU

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

Initialmåling for deltager

1 af 5. Nogle. Word. funktioner. Mvh otto. Indhold. Fortryd

Naja Schlüter Roskilde Tekniske Gymnasium 26/ Interessentanalyse

Open Office Tekst

Manual Søg & erstat. Søg efter tekst

DAGSORDENPUNKTER I ACADRE CM

Større skriftlige opgaver i Microsoft Word 2007 Indhold

Opgaveark....Of doom! Bjarke Mønsted

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Hvad er Objekter - Programmering

Vejledning til opbygning af hjemmesider

Programmering for begyndere Lektion 2. Opsamling mm

DM536. Rapport og debug

DM507 Algoritmer og datastrukturer

A Profile for Safety Critical Java

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Software Construction 1 semester (SWC) Spørgsmål 1

Dokumentation af programmering i Python 2.75

Formatering af tekst, JCE Editor, Joomla

Indholdsfortegnelse: Forord Logo Farver Skrifttyper Billeder Opsætning. Forord:

Typografi og ombrydning

FORMATERING AF REGNEARK


Introduktion til Calc Open Office med øvelser

Introduktion til L A TEX

Genvejstaster. Brugerfladen. Filhåndtering. Navigation i præsentationen. Aktiver adgangstaster

Brugervejledning til Design Manager Version 1.02

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

I gang med Adobe Muse CC

Microsoft Word thoremil.dk

Microsoft Word 2010 Huskesedler

Stine Dorry Meulengracht Madsen Rapport Multimedie og kommunikation

Introduktion til L A TEX

Typografisk formatering i forskellige tekstbehandlingssystemer: Word, OpenOffice og WordPerfect. Foreløbig udgave.

Opgaver i LaTeX - IDA på AU

Stregkode Specifikation Version 1.2. Forord

Crash Course i Programmering. HumTek, RUC

DM507 Algoritmer og datastrukturer

I denne manual kan du finde en hurtig introduktion til hvordan du:

1. Større opgaver i word

Genvejstaster. Brugerfladen. Filhåndtering. Navigation i dokumentet. Aktiver adgangstaster. Aktiver genvejsmenu (højreklik)

Nolde Museet. I gang med Dreamweaver. Opgave. Opgavebeskrivelse. Layout. Mål og CSS

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

Få flot tekst i din slægtsbog med få klik (Af Henning Karlby)

Hvordan vælger jeg dokumentprofilen?

Om binære søgetræer i Java

Dannelse af PDF dokumenter

TEKNISK DOKUMENTATION FAKTURA LAYOUT ABAQUE VERSION 2.0

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

1.0 Velkommen til manualen for Editor Editorens typiske udseende HTML-kode Generelle funktioner og deres ikoner 2

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Book Creator. Du skal bruge App en Book Creator for at følge denne vejledning. Scan koden og se en videovejledning

Start i cirklen med nummer 1 - følg derefter pilene:

Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i)

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper.

PowerPoint Intro 2010 Segment - en del af dit netværk

dpix opgaveredigering i Emacs en tutorial

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Introduktion til EXCEL med øvelser

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

1. Opbygning af et regneark

Grundlæggende HTML. Hjemmesider, kommunikation og kode. mandag den 13. august 12

Hjemmesidens layout. Sitecore Foundry maj Version 1.2

Kapitel 13 Arbejde med Typografier:

Databaseadgang fra Java

Forståelse for grafisk workflow

Transkript:

Vejledning til listings-pakken Morten Ovi latex@student.dtu.dk / 6. juli 2004 Indhold 1 Om listings-pakken 1 2 Indstilling af listings 2 3 listings-pakken i praksis 2 3.1 listings i teksten............................ 2 3.2 listings som miljø........................... 2 3.3 listings inkludering fra andre filer.................. 2 4 Eksempler på inkludering af kildekode 3 4.1 Java................................... 3 4.2 Matlab.................................. 3 4.3 HTML, del I.............................. 4 4.4 HTML, del II.............................. 4 A Flere kommandoer i listings-pakken a Listings 1 Java-kode................................ 3 2 Matlab-kode............................... 3 3 HTML-kode med markeringer, del 1................. 4 4 HTML-kode med markeringer, del 2................. 4 1 Om listings-pakken listings-pakken er en pakke, en udvidelse, til L A TEX som meget nemt gør en i stand til blandt andet at indsætte tekst, typisk kildekode, fra andre filer, og vise tekst med linjenumre. 1

Vejledning til listings-pakken 2 listings-pakken, og den tilhørende manual, kan hentes fra www.ctan.org. Pakken er et must for folk der skal inkludere kildekode i deres rapporter, men der er også andre fornuftige ting man kan bruge pakken til. listings-pakken er ikke en erstatning for verbatim-pakken, men et supplement til denne. Tekst der skal formateres med verbatim, som skal stå sammen med den normale tekst, skal stadig formateres med verbatim-pakken. 2 Indstilling af listings Alle indstillingerne for listings skrives komma-separeret i \ l s t s e t {<i n d s t i l l i n g e r >} Alternativt kan de skrives som options i de hårde paranteser i lstlisting-miljøet (med enkelte undtagelser, se manualen, eller brug trial n error-metoden): \begin{lstlisting}[firstline=2] Linje 1 Linje 2 \end{lstlisting} L i n j e 2 I teksten vil disse indstillinger være markeret med denne grønne skrifttype. listings-pakken kan indstilles på mange leder og kanter. En fuldstændig oversigt kan ses i manualen, men da der også er meget fyld i denne, er der i appendiks A på side a vist nogle ofte benyttede indstillinger. 3 listings-pakken i praksis listings kan bruges til formatering af tekst på tre forskellige måder, som det fremgår af de tre næste afsnit. 3.1 listings i teksten Brug eksempelvis \lstinline!var i: int;! til at skrive var i : int; med. Lidt ligesom med simpel matematik, $... $. 3.2 listings som miljø Med et lstlisting-miljø tages teksten direkte fra dokumentet, som det kendes fra verbatim-miljøet: \begin{lstlisting} Tekst... \LaTeX{} \end{lstlisting} Tekst... \LaTeX{} Teksten bliver bare inkluderet uden at den bliver kompileret af L A TEX. Dette er den nemme, hurtige, og lidt begrænsede måde at bruge listings-pakken på. 3.3 listings inkludering fra andre filer Med \lstinputlisting{<filnavn>} tages indholdet fra denne fil og sættes ind det pågældende sted i teksten.

Vejledning til listings-pakken 3 4 Eksempler på inkludering af kildekode Afhængig af hvilket sprog koden er skrevet i, bør man altid checke fra tabel 1 på side 12 i manualen, om ens sprog er understøttet, således at syntaksen bliver formatteret herefter. Det er også muligt at få kommentarer, strings mv. i teksten til at fremstå med specielle skrifttyper. I de følgende afsnit er vist små eksempler på hvordan man kan inkludere noget forskellig kode. 4.1 Java I listing 1 er vist noget Java-kode der er inkluderet med language=java parameteren. Rammerne laves med frame=single og \lstset{frameround=tttt} for at få de runde hjørner. Caption laves med caption={[java-kode]eksempel på Java-kode.}, og dermed fremkommer listen over listings (se side 1). Listing 1: Eksempel på Java-kode. 1 import p a r s e r ; 2 import java_cup. runtime. Symbol ; 3 import java. i o. ; 4 5 class Main { 6 7 s t a t i c boolean do_debug_p a r s e = f a l s e ; 8 s t a t i c public void main ( S t r i n g argv [ ] ) { 9 10 / S t a r t t h e p a r s e r / 11 try { 12 p a r s e r p = new p a r s e r (new Lexer (new FileReader ( argv [ 0 ] ) ) ) ; 13 Object r e s u l t = p. p a r s e ( ). value ; 14 } 15 catch ( Exception e ) { 16 / do cleanup here p o s s i b l y rethrow e / 17 } f i n a l l y { 18 / do c l o s e out here / 19 } 20 } 21 } 4.2 Matlab Herunder er vist noget Matlab-kode der er inkluderet med language=matlab parameteren. Listing 2: Eksempel på Matlab-kode 1 function v i s v e j 2 3 global parametre q v 4 global xy 5 global parametre 6 global axis_s t u f f 7 global v e j e n_handle 8 9 carparam ; 10 11 i f get ( v e j e n_handle, value )==2 % case 1 % 12 x = [ 0 xy ( 1, : ) eval ( parametre ( 3, : ) ) ] ; 13 y = [ 0 xy ( 2, : ) eval ( axis_s t u f f ( 3, : ) ) ] ; 14 x i = 0 :. 25 : eval ( parametre ( 3, : ) ) ;

Vejledning til listings-pakken 4 15 y i = pchip ( x, y, x i ) ; 16 plot ( x, y, o, xi, y i ) ; 17 else 18 x i = linspace ( 0, q, 1 0 0 0 ) ; 19 [ vej1, v e j 2 ] = v e j ( x i ) ; 20 plot ( v xi, vej1, g ) ; 21 axis ( [ 0 v q 1 1 ] ) ; 22 end 4.3 HTML, del I Herunder er vist noget HTML-kode der er inkluderet med language=html parameteren. Listing 3: Eksempel på HTML-kode. 1 <html> 2 <head> 3 <t i t l e>min f ø r s t e CSS s i d e</ t i t l e> 4 <style type=" t e x t / c s s "> 5 <! 6 h1 {font size : 30 pt ; font f a m i l y : a r i a l } 7 h2 {font size : 15 pt ; font f a m i l y : c o u r i e r } 8 p {font size : 8 pt ; font f a m i l y : times new roman} 9 > 10 </ style> 11 </head> 12 13 <body> 14 <h1>min f ø r s t e CSS s i d e</h1> 15 <h2>css e r en kende smart</h2> 16 <p>her kan man se, hvordan CSS v i r k e r.</p> 17 </body> 18 </html> 4.4 HTML, del II Det interessante ved dette eksempel er ændringen af farven af keywordet h1 fra rød til blå og til understregning af ordet (linje 6 og linje 14). Dette sættes med \lstset{emph={h1},emphstyle=\color{navyblue}\underbar} og med blandt andet følgende options: keywordstyle=\color{red}\bfseries. Listing 4: Eksempel på HTML-kode med ændring af keywordet h1. 1 <html> 2 <head> 3 <t i t l e>min f ø r s t e CSS s i d e</ t i t l e> 4 <style type=" t e x t / c s s "> 5 <! 6 h1 {font size : 30 pt ; font f a m i l y : a r i a l } 7 h2 {font s i z e : 15 pt ; font f a m i l y : c o u r i e r } 8 p {font s i z e : 8 pt ; font f a m i l y : times new roman} 9 > 10 </ style> 11 </head> 12 13 <body> 14 <h1>min f ø r s t e CSS s i d e</h1> 15 <h2>css e r en kende smart</h2> 16 <p>her kan man se, hvordan CSS v i r k e r.</p> 17 </body> 18 </html>

Vejledning til listings-pakken a A Flere kommandoer i listings-pakken I tabel 1 er vist en oversigt over nogle af de mest benyttede funktioner i listingspakken. Resten står i manualen. Der benyttes notationen key=value medmindre andet er nævnt. Består nogle af værdierne af flere ord, eksempelvis name={main og app-filerne}, skal de ekstra Tuborg-paranteser bruges. Tabel 1: Udvalgte kommandoer i listings-pakken. Kommando Forklaring extendedchars=true æøå kan benyttes. breaklines=true Linjer ombrydes hvis de er for lange. firstline=3 Starter indlæsning ved linje 3. lastline=6 Slutter indlæsning ved linje 6. firstnumber=10 Første linje får linjenummeret 10. numbers=left Linjenumre på venstre side. numberstyle= \tiny linjenumre. stepnumber=3 3 linjer for hvert linjenummer. numbersep=2pt 2pt mellemrum mellem linjenummer og tekst. Værdi kan være negativ. basicstyle=\small Skriftstørrelsen på teksten. keywordstyle Prædefinerede keywords (for det pågældende sprog) markeres således, eksempelvis \color{black}\bfseries\underbar giver sorte, fede, og understregede keywords. stringstyle Eksempelvis \ttfamily. Formaterer strings. showspaces=true Mellemrum vises med tegnet. showstringspaces=true Mellemrum vises med tegnet i strings. float Indholdet bliver til en float (ligesom figurer og tabeller). (Tager ingen value.) caption=<navn> Caption på listen. label=<navn> Som i normal L A TEX og man kan dermed referere til denne listing. tabsize=8 Standardværdien for tabs. name=<navn> Navngivning letter arbejdet hvis filen deles op i flere dele når den inkluderes. frame=single Vælg ml. none, leftline, topline, bottomline, lines, single, shadowbox. Eller bogstaverne t r b l (store bogstaver = dobbelt linje). Begge funktioner er brugt til Java og Matlab-eksemplerne. frameround=tttf Giver runde hjørner i frames, undtagen i øverste venstre hjørne, dog såfremt der er streger ind mod disse hjørner. Skal sættes i \lstset. Referencer til linjenumre er vist praktis i afsnit 4.4, og er gange snedigt. Det laves med ganske almindelige L A TEX kald, \ref{h1-1}, hvor der er en tilhørende label i filen: ( @\ l a b e l {h1 1}@ ) Der er foretaget indstillingen \lstinputlisting[escapeinside={(*@}{@*)}]. Slut.