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.

Appendix A<br />

Om generering af nye makroer<br />

Når man skriver større projekter vil man hurtigt opdage vigtigheden af at kunne lave<br />

forkortelser <strong>til</strong> ofte anvendte konstruktioner eller lave sine helt egne specielle makroer.<br />

Dette kapitel tjener som en mindre introduktion <strong>til</strong> det at lave makroer i LATEX. Den<br />

er på ingen måde fyldestgørende, da man kunne skrive hele bøger om dette emne.<br />

A.1 At lave sin egen makro<br />

Til at lave en ny makro er den grundlæggende makro \newcommand med syntaksen 1<br />

\newcommand{\〈makronavn〉}[〈num arg〉]{〈kode〉} \newcommand<br />

Makronavnet må kun bestå af bogstaver. 2 Her er store og små bogstaver forskellige, så<br />

\Hest og \hest er to forskellige makroer. Hvis makroen ikke skal have nogen argumenter<br />

anvender man enten [0] eller helt udelader [〈num arg〉]. Koden som makroen skal<br />

udføre kan stort set være hvad som helst, dog undtagen visse verbatim 3 konstruktioner,<br />

så som \verb.<br />

Sidebemærkning A.1. Man vil i koden <strong>til</strong> mange pakker og klasser se makroen \def \def<br />

blive anvendt. Hvis man ønsker at anvende \def skal man vide præcist hvad man<br />

gør, idet \def overskriver allerede eksisterende makroer uden advarsel. Syntaksen<br />

vedrørende \def og venner er ikke noget vi kommer nærmere ind på, den interesserede<br />

læser kan tage et kig på Knuth (1986) eller Eijkhout (2001). Vi har dog et eksempel i<br />

afsnit E.4 på side 376.<br />

Navne på makroer<br />

De fleste af de kommandoer man selv kommer <strong>til</strong> at lave vil tjene som et fast navn<br />

for et eller andet, f.eks. et symbol. I den forbindelse er det en god ide at komme på et<br />

sigende navn <strong>til</strong> makroen, et navn som kan lede en på sporet af hvad denne makro har<br />

med at gøre.<br />

Vi har allerede set eksempler på dette med f.eks. \setR fra afsnit 3.2.5 på side 56.<br />

Det anbefales at man undlader at lave makronavne som er meget korte og uforståelige<br />

for andre end en selv. Det kan godt være man synes det er træls at skulle huske<br />

på længere navne eller træls at skulle skrive dem, i så fald er rådet at man finder<br />

sig en bedre editor, eller lærer at snyde sin editor. Mange editorer i dag <strong>til</strong>byder<br />

valgmuligheder når man bare kan huske den første del af et makronavn.<br />

1 Der findes også en ∗’et version af \newcommand, men den skal vi ikke komme nærmere ind på her, der er<br />

ikke den store forskel.<br />

2 Og under specielle omstændigheder, @, se senere.<br />

3 Dvs. ordret fremvisning uden LATEX-fortolkning.<br />

Kapitlet er sidst opdateret 2010/03/02 16:53 (revision 610)<br />

335

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

Saved successfully!

Ooh no, something went wrong!