Rekommendationer för L A TEX-dokument Christian von Schultz von@student chalmers se 2005 11 09 Sammanfattning Här gås igenom hur man skriver fina dokument i enlighet med de rekommendationer och internationella standarder som finns (dock ej komplett). Här beskrivs också mina favoritpaket och lite allmänna tips. 1
Innehåll 1 Trevliga paket 3 1.1 inputenc och fontenc...................... 3 1.2 babel............................... 3 1.3 amsmath.............................. 3 1.4 units............................... 4 1.5 icomma............................... 4 1.6 color och graphics/graphicx................. 4 2 Att skapa fina PDF-filer: paketet ae 5 3 Några viktiga symboler 6 3.1 Mängderna,,, och : paketet bbm.......... 6 3.2 Operatorer och andra luriga filurer............... 6 3.3 Snygga siffror och tal....................... 7 3.4 Olika sorters streck........................ 8 3.4.1 Datum........................... 8 3.5 Matematiska och fysikaliska konstanter............. 9 3.6 Vektorer.............................. 9 3.7 Andra roligheter......................... 9 4 Enheter 10 5 Figurer 10 2
1 Trevliga paket 1.1 inputenc och fontenc \usepackage[latin1]{inputenc} \usepackage[t1]{fontenc} Dessa har man med för att få riktiga å, ä och ö. Den första raden säger att dokumentet är kodat som ISO-8859-1, vilket är brukligt i Sverige och övriga Västeuropa. Den andra säger att vi ska använda fonter som är speciellt anpassade för Västeuropeiska språk, bland annat kommer prickarna över ö lite närmare o:et. Det räcker ofta, men inte alltid, att bara ange den senare. Det bör räcka att bara ange den första, men blir inte fullt så snyggt. 1.2 babel \usepackage[swedish]{babel} Vi får svensk avstavning, vilket betyder orden delas isär med bindestreck vid radbrytning på rätt ställen, t.ex. köks-svamp istället för kök-ssvamp (jag har faktiskt sett den senare varianten i tidningar). Detta förutsätter förstås att tabeller för svensk avstavning är installerade, om inte kan man behöva kontrollera avstavningen själv. Vill man ändra avstavning kan man skriva \- på de ställen där man kan acceptera avstavning, t.ex. köks\-svamp. Dessutom får vi svenska rubriker och dylikt för sådant som L A TEX lägger till. Exempelvis ger \begin{abstract} rubriken Sammanfattning och \tableofcontents rubriken Innehållsförteckning. 1.3 amsmath \usepackage{amsmath} AMS är the American Mathematical Society och de har gjort ett paket med alldeles egna L A TEX-kommandon. Dessa är i regel mycket användbara, och jag har ingen koll på vilka kommandon som kommer från L A TEX och vilka som kommer från AMS L A TEX. Är man i behov av lite extra symboler kan man även köra 3
\usepackage{amssymb} Man får då med sig lite extra godbitar (se dokumentationen), till exempel (\nexists). 1.4 units \usepackage{units} Enheter ska skrivas i upprätt stil med seriffer, och separeras från föregående siffror med ett tunt mellanslag tunnare än ett vanligt. Med paketet units får du tillgång till kommandot \unit som man använder så här: \unit[1,34]{m} ger 1,34 m (jämför: 1,34 m, eller ännu värre 1,34m); \unit{m} ger m. Se vidare avsnitt 4. 1.5 icomma \usepackage{icomma} I icke-engelsk skrift används decimalkomma, i engelsk är kommatecken i matteläge enbart en koordinatavskiljare. Därför sätter L A TEX i vanliga fall automatiskt in ett extra mellanslag efter alla kommatecken i matteläge. Detta kommando ger ett intelligent kommatecken som förstår om det är decimalavskiljare eller koordinatavskiljare, beroende på om det står något mellanslag efter. Använd aldrig decimalpunkt i icke-engelsk skrift. 1.6 color och graphics/graphicx \usepackage{color} \usepackage{graphics} Du behöver ett grafikpaket om du vill använda bilder. Om du använder graphics eller graphicx kan du använda kommandot \includegraphics{filnamn.eps} 4
för att inkludera en fil i eps-format, Encapsulated PostScript. Varför inkludera color i ett svartvitt dokument? Jo, både color och graphics behövs om man inkluderar figurer gjorda med programmet xfig, i formatet PS/LaTeX. Varför skulle man vilja använda detta format? Jo, för att man kan ställa in xfig så att man kan skriva L A TEX-text direkt i sina figurer! Vad sägs om en fin formel vid din funktionskurva, till exempel? Med xfig är det bara att skriva in din formel precis som man gör i L A TEX. Din text kommer också att harmoniera med resten av dokumentet, eftersom samma typsnitt används rakt igenom. För att få detta beteende måste man välja Use LaTeX fonts och sätta flaggan special när man skapar en textsnutt: du kan göra detta längst ned på skärmen när du valt textverktyget. Vad är det då för skillnad mellan graphics och graphicx? Jo, man skriver lite annorlunda när man inkluderar en eps-bild som man vill ändra storlek på, eller rotera, eller ha något annat kul för sig. Vill man göra det lätt (svårt?) för sig ändrar man på bilden istället. 2 Att skapa fina PDF-filer: paketet ae När du gör pdf-filer för publicering på Internet eller för att skicka via e-post, bör du använda Type1-fonter (-typsnitt). L A TEX använder vanligen bitmapfonter, som ger utmärkt resultat i skrivare, men bedrövligt på skärm. Med paketet ae får du fonter med samma utseende som ordinarie L A TEX, men som också fungerar på bildskärmar. Pdf-filer skapar du sedan genom att skriva dvipdf filnamn efter att ha kört L A TEX för att få fram en filnamn.dvi. Det finns ingen garanti för att alla fonter du använder finns med i ae, och de som inte finns kommer i regel bli vanliga bitmapfonter istället. Det kan då röra sig om enstaka tecken eller möjligen stycken: sammanfattningen till exempel. Det mesta blir bra. Det finns även andra paket som tjänar samma syfte, till exempel paketet times. Du kommer då få andra fonter, och använder du times finns det risk att ditt dokument kommer att se ut som ett Word-dokument (Usch!). \usepackage{ae} Notera att det finns många fler aspekter på pdf-filer, sök på Google så hittar du mycket mer. 5
3 Några viktiga symboler 3.1 Mängderna,,, och : paketet bbm Ibland finner man det praktiskt att använda mängdnotation för att säga saker som att x är ett reellt tal, dvs x. Man vill då gärna hålla sig till traditionen att ha dubbelstreckade symboler. Jag brukar för detta ändamål definiera: \usepackage{bbm} \newcommand{\n}{\ensuremath{\mathbbm{n}}} \newcommand{\z}{\ensuremath{\mathbbm{z}}} \newcommand{\q}{\ensuremath{\mathbbm{q}}} \newcommand{\r}{\ensuremath{\mathbbm{r}}} \newcommand{\c}{\ensuremath{\mathbbm{c}}} Det finns också en andra möjlighet. Man kan inkludera paketet amssymb och använda kommandot \mathbb{r} för att referera till de reella talen. Det kommer då se lite annorlunda ut: \mathbbm \mathbb N Z Q R C Att jag föredrar \mathbbm-varianterna har helt enkelt att göra med att det är precis så jag skriver mängderna när jag skriver för hand (ingen skulle väl skriva R för hand?). 3.2 Operatorer och andra luriga filurer Sinus, cosinus, limes, supremum. Jag kommer, kanske lite slarvigt, kalla dem alla operatorer, för det är så L A TEX ser på dem. Operatorer ska skrivas med upprätt stil (eng. roman) och ha ett litet extra mellanrum efter sig. Som tur är finns det fördefinierade operatorer för de flesta syften: \sin x ger sin x, \lim_{x\to 0} x ger lim x 0 x (inne i stycken) eller i equation-miljö och liknande: lim x 0 x. Vi har också \sup, \cos, \max, m.fl. 6
Vi kan anmärka lite parentetiskt hur man bör skriva argumentet till de trigonometriska funktionerna: parentes eller inte? sin x eller sin(x)? Om det bara är en eller två saker i argumentet, utan något tecken utskrivet mellan dem, ska man köra utan (varvid 2π räknas som en sak), är det fler ska man köra med. Således: sin ωt = sin(2πft). När man har ett större uttryck använder man \left( och \right). L A TEX kommer då automatiskt att räkna ut den erforderliga höjden på parentesen. Man inte utgå ifrån att allt man kan tänkas vilja göra finns fördefinierat, eventuellt kan man tänkas behöva lägga till något själv. Enklast är det att köra med gamla hederliga \mathrm, men det finns specialiserade kommandon för att göra nya operatorer också. En speciell medlem i denna grupp är d. Jag menar då d som i dy dx eller b a f(x) dx Det slarvas en del i litteraturen, men detta ska definitivt vara ett upprätt d. d är en variabel, d är, ja, vad det nu är för något. Detta finns också etablerat i internationella standarder. I integralen bör man dessutom lägga in ett litet extra mellanrum före dx för bästa resultat. Jag brukar definiera: \newcommand{\rd}{\ensuremath{\mathrm{d}}} \newcommand{\id}{\ensuremath{\,\rd}} \rd står för rakt d, \id står för integral-d. Jämför med att göra det utan rakt d: b b dy dy ydx y dx dx dx a a Nog blev det väl snyggare, för att inte tala om tydligare, med raka d. 3.3 Snygga siffror och tal Siffror ska enligt standard skrivas upprätt, vilket som tur är blir precis det L A TEX gör om man inte begär något annat. Decimalavskiljare på svenska, ja på alla icke-engelska språk[1], är decimalkommat. Att skriva decimalpunkt är fel, såvida det inte handlar om ett utdrag med kod ur något programmeringsspråk. För att få ett komma som inte sätter extra mellanrum efter sig används paketet icomma, se avsnitt 1.5. Tustentalsavskiljare är av tradition ett litet mellanslag på svenska. Andra traditioner förekommer i andra länder: tusentalskomma, tusentalspunkt, upphöjd tusentalspunkt eller apostrof, etc. För att göra det enkelt för sig har man kommit överens internationellt om en standard för teknik och vetenskap, 7
och som tur är har man kommit överens om att följa de svenska traditionerna! Oavsett språk ska du alltså skriva ett litet mellanslag som tusentalsavskiljare, om du har fler än fyra siffror. Man skriver 281\,342 för att få 281 342, medan man skriver 1998 för att få just 1998, utan tusentalsavskiljare. Återstår bara en sak: minustecken. Av någon underlig anledning vill man ibland skriva negativa tal, och jag har sett att somliga använder ett vanligt bindestreck för att indikera minus: -5. Gör inte så. Ska du skriva in ett negativt tal ska du göra det i matteläge, $-5$ blir 5. Mycket bättre än -5, eller hur? 3.4 Olika sorters streck Vi har redan berört minustecknet, som ska skrivas in i matteläge. Därutöver har vi tre olika långa streck: bindestrecket - som skrivs -, intervallstrecket som skrivs -- och tankstreck/talstreck som skrivs ---. Intervallstrecket används för att dela av intervall, till exempel 4 6 personer. Ibland används det i svensk text i stället för det långa strecket för att beteckna tankstreck; det långa strecket är inte brukligt i svensk typografi. Grundprincipen är dock att tänka på den man skriver för. Om läsarna ofta läser engelsk text kommer det långa strecket att göra jobbet, kanske rentutav bättre. Är läsarna i första hand svenskar, så kan man undvara det långa strecket (så vida man inte vill vänja dem vid engelsk typsättning :-) 3.4.1 Datum I olika länder används mycket olika sätt att skriva datum. I Europa skulle de flesta tolka 9/10 som nionde oktober, i usa skulle man tolka det som tionde september. Om man sedan lägger till året med två siffror, och kanske struntar i streck, så är det upplagt för förvirring. På förpackningar kan det stå bäst före: 060705, och man finner att somliga tillverkare menar 2005, somliga 2006. För att undgå internationell (och inhemsk) förvirring har man definierat det internationella datumformatet: året med fyra siffror följt av månaden med två, följt av dagen med två, allt åtskilt med streck av lämplig längd. Dagens datum skulle jag skriva 2005--11--09 och det skulle då visas som 2005 11 09. Ett fullgott alternativ är att skriva ut månaden med bokstäver och året med fyra siffror, det kan då aldrig missförstås. 8
3.5 Matematiska och fysikaliska konstanter Variabler är enkla: alltid kursiv stil. Med konstanter är det lite annorlunda. En grundregel är att matematiska konstanter skrivs upprätt, medan fysikaliska (sådana som man kan förbättra genom noggrannare mätningar) skrivs kursivt. Således har vi elektronens laddning e och basen för den naturliga logaritmen e, strömstyrkan i och den imaginära enheten i, och så vidare för alla andra konstanter:, π... Här kan den uppmärksamme läsaren notera att jag precis bröt mot mitt råd och konventionen. Jag skrev π kursivt. Det är bara för att den blir så väldigt ful upprätt, och den brukar inte missförstås. Över huvud taget är detta ett råd som man ofta bryter emot, men att hålla sig till det kan ge ett intryck av professionalism. Sedan är det faktiskt så att man har fysikaliska betydelser för både i och j, varvid det blir tydligare, och i detta fallet också vackrare, att skriva i eller j (i är vad jag förstår vanligare bland vetenskapsmän, medan j är vanligare bland ingenjörer). Den som vill kan göra till exempel % imaginary unit \newcommand{\iu}{\ensuremath{\mathrm{i}}} Det gör det då också enkelt att byta från i till j om man känner att man behöver det. 3.6 Vektorer Vektorer bör utmärkas på något sätt. Det har brukat göras med pilar: kommandot \vec{v} ger v, men nu gällande standarder dikterar att det ska göras med fetstil istället: v. Observera dock att vektorn fortfarande ska vara kursiv. Vanlig L A TEX och kommandot \mathbf{v} ger v i upprätt form, vilket inte är korrekt. Använder man AMS (om det nu var amsmath eller amssymb) kan man använda kommandot \boldsymbol{v}, som ger precis önskat resultat ovan. Du kan definiera om \vec med: \renewcommand{\vec}[1]{\ensuremath{\boldsymbol{#1}}} Men, återigen, här slarvas det en del bland matematiker och vetenskapsmän, så både v och v förekommer i litteraturen. 3.7 Andra roligheter Kemiska symboler skrivs upprätt. Vill man ha gradertecken skriver man ^\circ i matteläge: 21. Observera att man inte ska säga eller skriva grader kelvin, eller kelvingrader, utan bara kort och gott kelvin. 9
4 Enheter Det finns några allmänna konventioner om enheter. Efter siffror ska man skriva enheter med deras förkortningar (men inga förkortningspunkter e.d.). Man skriver 2 m och inte 2 meter. Om det däremot inte är en siffra är rådet det motsatta: man skriver några meter inte några m. Enheter som är uppkallade efter personer har stora bokstäver i sina symboler. Att skriva dem smått är fel. Det gäller i ännu högre grad prefixen: MW och mw är helt olika saker. Ibland ser man förpackningar med volymen angiven i megaliter: usch! (Litern är ett undantag så tillvida att den kan skrivas såväl med liten som stor bokstav, men så är den ingen äkta si-enhet heller.) Men lägg märke till att det bara är symbolerna som skrivs stort. Själva enheterna skrivs smått. Vi talar om hertz, ampère, volt och watt, så vida vi inte menar gubbarna Hertz, Ampère, Volt och Watt. Enheter brukar anses inbakade i sina storheter. Man kan skriva att pendelns period är T, men det vore fel att säga att den är T sekunder. Man anser också mer eller mindre att ett mätetal multipliceras med sin enhet 1 för att bilda en storhet. Det innebär då också att storheten delat med enheten blir mätetalet (siffrorna). Det används i första hand i grafer på koordinataxlarna: vi vill inte sätta ut enhet framför alla siffror som förekommer på axeln, så vi låter axeln beteckna till exempel T/s, periodtiden delat på sekund. Somliga enheter är sammansatta. Kilowatt-timmen är en kilowatt multiplicerat med en timme. Man får skriva ut multiplikationen: kw h, och om det inte kan missförstås kan man också skriva ihop det som kwh, men det rekommenderade är att här sätta in ett litet mellanslag mellan enheterna (dock aldrig mellan prefix och enhet). Man skriver \unit{kw\,h} för att få kw h. 5 Figurer Snygga figurer är ett återkommande problem för många, och om så önskas kan jag någon gång ta mig tid att skriva en ordentlig genomgång. Maila mig om ni vill ha en sådan, ju fler desto större sannolikhet att jag gör det inom rimlig tid. Här nöjer jag mig med att visa hur man praktiskt använder de metoder jag nämnde i avsnitt 1.6: % Figurer inkluderade som eps-filer 1 Måhända en sanning med modifikation, eftersom det inte är kommutativt: man kan inte skriva m 1 för att mena en meter. I övrigt har den dock samma egenskaper som multiplikation. 10
\begin{figure}\centering \includegraphics{filnamn.eps} \caption{\label{figuren} Perioden $T$ som funktion av pendellängden.} \end{figure} % Figurer inkluderade med xfigs postscript+latex \begin{figure}\centering \input{filnamn.pstex_t} \caption{\label{finafiguren} Perioden $T$ som funktion av pendellängden.} \end{figure} Referenser [1] Typesetting mathematics for science and technology according to ISO 31/XI, Claudio Beccari, TUGboat volym 18 (1997) nr 1. http://www.tug.org/tugboat/articles/tb18-1/tb54becc.pdf [2] A Guide to L A TEX, Helmut Kopka och Patrick W. Daly, tredje utgåvan, Pearson Education Ltd 1999 11