Skriv LaTeX i Emacs

latex

Hvis du har læst, og fulgt, første del af denne serie ( http://www.linuxin.dk/node/60 ), så burde du nu have en ide om den grundlæggende brug af Emacs.

Du er nu nået til at lære at skrive LaTeX koder. Det første du skal bruge er et præambel. Det fortæller TeX (det program der oversætter dine filer tex- til dvi-filer), hvordan dokumentet er opbygget, og hvilke kommandoer der er tilladt. I første omgang må du nøjes med disse fire, først i en senere artikel kigger vi på hvordan man tilpasser præamblerne.

Præamblerne kan hentes på: http://www.sslug.dk/linuxbog/dokumentation/eksempl.... Det er endnu engang de venlige mennesker i Sjælland-Skåne-Linux-User-Group der har begået den gode gerning, at lægge disse fire præambler ud til fri afbenyttelse. Til denne lektion skal du bruge preamble1.tex.

Et godt råd, er at oprette en mappe, som du fx kalder LaTeX og i denne en undermappe som du kunne kalde Præambler.
Dine præambler gemmer du så i mappen Præambler. Derfra kopierer du dem så ned i mappen LaTeX når du skal skrive en tekst, hvor det aktuelle præambel skal bruges. Når det ligger her omdøber du det fra preambleX.tex til .tex, fx la.tex.
Grunden til alt dette besvær er, at når du er færdig med at skrive til la.tex, og skal til at oversætte den til dvi, så sviner det en hel del. Der opstår mange spildprodukter, alt det ligger i mappen LaTeX, og når du er helt færdig kan du eksporter den endelige dvi-, pdf- eller ps-fil til den mappe den for fremtiden skal være i men lidt mere om det senere.

Hvad du end gør, så skal du før eller senere åbne filen, for at skrive i den dette kan gøres i enhver teksteditor der kan gemmer i tex-format (word er derfor udelukket) Men da titlen lægger op til at sker i emacs, vil jeg tage det for givet i det efterfølgende afsnit. Selve indholdet og koderne er selvfølgelig det sammen i enhver editor så hvis du ikke bruger emacs, kan du stadig godt bruge alle de LaTeX-koder der bliver angivet.

Vi vil ikke koncentrere os om, hvad præamblet indeholder, kun konstatere, at det virker. (de interesserede kan finde oplysninger om disse ting på http://www.ctan.org/tex-archive/info/lshort og http://www.sslug.dk/linuxbo/dokumentation/bog/late...)
For at skrive det der senere skal være teksten i output-filen (det være sig dvi oa.) skal du bruge kommandoerne \begin{document} og \end{document}, alt mellem disse to vil blive betragtet som indhold, og forsøgt oversat, til fornuftigt output.
Kommandoerne \begin{} og \end{} afgrænser et miljø d.v.s. et område i output-filen der skal have et karakteristisk udsende.
Det vil vi ikke bekymre os om denne gang.

Som dit første LaTeX dokument vil vi forsøge at skabe en rimelig enkel tekst det kunne fx være en stil (på gymnasie Niveau, jeg kan ikke huske, om det var nødvendigt at underinddele stilene i folkeskolen)

Midt for, øverst på første side vil du gerne have overskriften. Det gøres med kommandoen \begin{center} \\end{center} ups, så kom det alligevel! Men her er det tydeligt at se, at \begin og \end afgrænser et område med en speciel egenskab, teksten er centreret.

Du lader nu en linje stå tom, det betyder, at du vil begynde på at nyt afsnit ( \\\ betyder, at du bryder linjen/skifter linje). Hvis du nu gerne vil have dit navn til at stå med småt i venstre side under overskriften, gøres det med kommandoen {\small Skrevet af: } - det er ikke nødvendigt at bede om at får det til venstre, da LaTeX som standart retter teksten til venstre. Som du kan se, er alle skriftstørrelser i LaTeX relative, kun brødtekst størrelsen er absolut, og den vælger du i præamblet. Alle andre størrelser defineres ud fra den - derfor når du skal have større skrifte sker det med kommandoen {\\large }, og ikke ved at skrive en eller anden punkt strørrelse for bogstaverne.

En anden ting er mellemrummet mellem ordene, ligegyldigt hvor langt der er mellem ordene i tex-filen, så vil LaTeX forsøge at tilpasse afstanden, så output-filen får lige venstre og højre margen. Derfor kommer den kun linjebrud når du eksplicit beder om det, med kommandoen \\\\ eller \newline.
Du kan i eksemplet i bunden se hvordan din tex-fil burde se ud indtil nu.
Et par kommandoer mere, og du kan skrive eksemplet færdig.
Med kommandoen \textbf{} laver du fed skrift (Bold Font). Denne er god til at lave underoverskrifter. I en stil kunne det se sådan ud:
____________________________________________________________
\textbf{Resume}\\\
Da de var trætte af at fiske gik de hjem.\

\textbf{Fortolkning}\\\
Teksten handler om to drenge der prøver at finde lykken \\\\
_____________________________________________________________

Hvis du skal bruge kursiv skrift, så er det kommandoen \textit{} du skal have fat på (it = italic). Denne er god til fx citater.
\emph{} er beregnet til at fremhæve teksten, det betyder at ordet kommer i kursiv hvis det er et normalt miljø, og i normalskrift hvis det er et kursivt miljø.

Når du har skrevet teksten. Og sluttet af med \end{document} RET
Trykker du C-x s og C-x c (for at gemme og lukke).
Du skal nu have oversat tex til noget mere læsevenligt. Start derfor konsolen, og gå til den mappe, hvor la.tex ligger. Nu skriver du latex la.tex. latex er det program der oversætter, og du beder den om at arbejde på filen la.tex.
Når den er færdig skriv ls. Nu skulle gene være flere la. filer, deriblandt en med navnet la.dvi. Skrive nu xdvi la.dvi &, og voila du kan nu se din tekst pænt sat op.

Du kan også gemmer den i postscrip-formet (ps), til det bruger du dvips la.dvi. Ps-filer ser du ved hjælp af gv la.ps & (gv = ghostviwer)

Men hvad nu, hvis du hellere vil have en pdf-fil?
Så er der et par muligheder. Du kan skriver pdflatex la.tex det giver en pdf-fil direkte fra tex-filen.
Eller du kan bruge:
ps2pdf13 la.ps den giver en pdf-fil fra en ps.fil, den er den bedste, hvis du har billeder i teksten.
Egentligt skulle jeg ikke skrive: ps2pdf13 men ps2pdfXX da der er flere udgaver.

Dette var så dine, måske, første LaTeX-koder, jeg håber du vil få fornøjelse af dem, indtil næste artikel.

Her er eksemplet:
Præamblet er "preamble1.tex", fra SSLUG

%Kopier herfra
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[danish]{babel}
\usepackage{a4,array,latexsym}

\newcommand{\ema}{Emacs}

\begin{document}

\begin{center}
{\large Dette er din første LaTeX tekst}\\\\
\end{center}

{\small Skrevet af og Dexter}\\\

Her begynder teksten i dit første \LaTeX -dokument, du kan evt. kopiere dette ind i en tex-fil og oversætte den?\\\

%så langt så godt, denne linje kommer ikke med, men hertil burde du være med :-)
%Da et % suspendere resten af linjen, så det ikke bliver oversat.
%Det kan du bruge til at skrive noter ind i filen med!

\textbf{Et par tip }\\\
Overskriften kommer til at stå med fed, når du har oversat dokumentet.\\\\
Når du har oversat denne fil, opdager du, hvad komandoen $\backslash$ ldots = \ldots gør.\\\

\textbf{Hvorfor \LaTeX{} i \ema?}
Grunden til, at jeg vil anbefale at bruge \ema{} er, at der sker en fremhævning af kommandoer. Kommandoerne for stor og lille skrift bliver fremhævet (\emph{grøn}). Kommander til linjebrud, fremhæves (med rødt) osv. Alt det gør, at det er nemt at finde rundt i filen, på trods af at alle \LaTeX{} koderne er lidt forvirrende i begyndelsen.\\\

\textit{\LaTeXe}\\\
\LaTeX{} hedder ikke latex (som gummiproduktet), da de tre sidste bogstaver er de græske tegn $\tau$, $\epsilon$ og $\chi$, og disse udtales som TEK.\\
Egentligt hedder det \LaTeXe{} men det skal jeg nok lade være med at forvirre med :-).

\end{document}
%og hertil

Slettet

copycat
copycat's picture
Antal: 199
Tilmeldt:
25-09-2007
User is offline
Spam

Ovenstående spambot er anmeldt til mod

copycat / Erik


Prezioso
Prezioso's picture
Antal: 550
Tilmeldt:
17-05-2008
User is offline
Første gang jeg har været

Første gang jeg har været glad for en spam bot ;-)


marlar
Antal: 2823
Tilmeldt:
05-12-2009
User is offline
Første gang jeg har

#3: Første gang jeg har været glad for en spam bot ;-)

Mon ikke du har overset #1 som jeg har slettet men stadig står som et "fantom" ?


Prezioso
Prezioso's picture
Antal: 550
Tilmeldt:
17-05-2008
User is offline
Nej den jeg hentydet til.

Nej den jeg hentydet til. Fik bare mine øjne op for emacs og give det et forsøg til istedet for kun vim, måske synes jeg om det, måske ikk ;-)


marlar
Antal: 2823
Tilmeldt:
05-12-2009
User is offline
Ah, så spambotten

#5:

Ah, så spambotten bumpede tråden. Smart :-)