LaTeX

Hva er LaTeX

LaTeX er et språk som ligner litt på html: Når du lager et dokument med LaTeX, må du skrive inne i filen hvordan teksten skal se ut. Etter at du har skrevet ferdig koden, må du imidlertid kompilere den, slik at det blir laget en ny fil som er det virkelige dokumentet. Denne genererte filen, blir kalt en dvi-fil. LaTeX er et program for ulike typer dokumentproduksjon, som artikler, bøker, brev og lignende. Det kan kanskje være noe krevende å sette seg inn i, men etter litt øving, har du et veldig kraftig verktøy som forholdsvis enkelt lager meget pene dokumenter. Det egner seg fint til innleveringer av obliger, og ikke minst til masteroppgaver. LaTeX er ikke minst et særs egnet program til å skrive matematiske formler ol. På matnats termstuer har vi gode LaTeX-bøker til utlån som omfatter alt fra hvordan komme i gang til avansert bruk. Henvend deg til en termvakt som låner ut boken til deg.

Hvordan komme igang

Her er en liten oversikt over hvordan du på enklest mulig måte kommer i gang med LaTeX. Hvis du vil se på en LaTeX-fil, f.eks. for å finne ut hvordan du setter inn bilder, ta en titt på malen som er laget i den forbindelse.

1. Lagre en LaTeX-fil, gjerne etter denne malen, og kall den ett filnavn som slutter med .tex, f.eks. minfil.tex. Emacs er veldig fin å lage LaTeX-dokumenter i, den gjenkjenner .tex-filer og gir deg fine og oversiktlige farger på kommandoer etc.

2. Skriv LaTeX-kode i filen. En LaTeX-fil må alltid begynne, og slutte, med:
\begin{document}
\end{document}
Noen flere kommandoer er gitt under.

3. Kompiler filen med kommandoen:
latex minfil.tex
Det blir da laget mange filer til ulike formål. Du er sannsynligvis bare interessert i den som heter minfil.dvi.

4. For å se på .dvi-fila, må følgende kommandoer brukes.
dvips minfil.dvi
preview minfil.dvi
Preview-kommandoen vil gi deg lov til både å bruke xterm-vinduet ditt videre, samtidig som den oppdaterer seg selv neste gang du kompilerer fila di, slik at du trenger ikke lukke preview for hver gang.

5. Endre tex-filen hvis du ikke er førnøyd.

6. Gjør punkt 2 til 4 gjentatte ganger, inntil du er fornøyd.

Tips
For å få et mer egnet filformat enn .dvi finnes flere forskjellige kommandoer:

dvipdf minfil.dvi
Denne kommandoen gir deg en .pdf-fil direkte

dvips minfil.dvi
Denne kommandoen gir deg en .ps-fil.

ps2pdf minfil.ps
Denne kommandoen gjør om .ps-filer til .pdf-filer.

Vanlige problemer

Her har vi prøvd å ta med de vanligste problemene en kan støte på i forbindelse med LaTeX.

LaTeX vil ikke kompilere
Når LaTeX ikke vil kompilere kan det være greit å prøve det en gang til, kanskje logge inn på en annen maskin via ssh.

Ingenting har forandret seg enda jeg har kompilert
Noen ganger må man kompilere flere ganger for at LaTeX skal få med seg at ting har forandret på seg. F.eks. hvis en har lagt til figurer med \label{} må det kompileres to ganger for at LaTeX skal få med seg at det er en label, og for å kombinere labels og referanser.

Preview virker ikke
Preview har i det siste vært litt ustabil, men funker somregel fint på solaris-maskiner. Bruk ssh til å logge deg inn på solaris.ifi.uio.no.

Badness 10 000
Dette står det når du kompilerer LaTeX-fila di hvis LaTeX ikke er helt fornøyd med hvordan teksten ser ut på siden. For eksempel vil du få badness 10000 hvis du selv legger inn linjeskift. Dette er forsåvidt ikke så mye å bry seg om.

Feilmeldinger
Feilmeldinger i LaTeX er ikke alltid veldig lette å skjønne, og de er ikke veldig godt dokumenterte heller. Man må nesten bare prøve seg frem.

Litt videre

Her har vi tatt med endel forskjellige kommandoer du kan komme borti ved bruk av LaTeX.

Noen kommandoer

\section{navnpåavsnitt}Navn på avsnitt
\section*{navnpåavsnitt}Navn på avsnitt uten nummer foran, * kan brukes på \subsection osv.
\subsection{navnpåunderavsnitt}Navn på underavsnitt
\begin{itemize}Starte punktliste, husk og avslutte listen med: \end{itemize}. Se også mal
\begin{enumerate}Punktliste med tallpunkter, husk \end{enumerate}
\begin{figure}Kommando for å sette inn figur. Her trengs imidlertid mer, se mal
\LaTeX{}Kommandoen gjør at latex skriver LaTeX på den "offisielle" måten.
\%Kommandoen gjør det mulig å få med %-tegnet i teksten, dette gjelder for alle spesialtegn
\todayGir dagens dato
\textsl{tekst}Gir "slant" tekst, altså skrå
\textbf{tekst}Gir fet skrift
\begin{center}Sentrerer videre skrift, husk \end{center}
\clearpageBegynner på en ny side, kan også bruke \newpage
\\Lager linjeskift
\vspace{-15pt}Fjerner vertikal luft, man kan også legge til, ved å fjerne minustegnet
\hspace{15pt}Legger til horisontal luft i teksten
\begin{verbatim}Legger inn ren tekst akkurat som den er, husk \end{verbatim}
\rule{\textwidth}{1pt}Lager en horisontal strek, 1 punkt tykk, like bred som teksten
\footnote{fotnotetekst}Lager en fotnote med teksten skrevet inni {}
\small{tekst}Lager tekst som blir mindre enn vanlig, hvis ikke annet er angitt er vanlig 10pt

Relevanter linker

Det finnes veldig mange gode LaTeX-linker. Jeg vil uansett på det varmeste anbefale Dag Langmyhrs hjemmeside for deg som vil lære deg LaTeX. "LaTeX for nybegynnere" er skrevet av Dag Langmyhr og er veldig pedagogisk og fin da den forklarer mye om LaTeX - og har annenhver side med tekst og LaTeX-kode. "The Not So Short Introduction To LaTeX" er også å anbefale. Jeg vil påstå at man kan lære seg veldig mye LaTeX kun ved hjelp av disse to. Vi også lagt til linken til USITS hjemmeside for LaTeX. I tillegg til disse linkene er det enkelt å søke på nettet etter kommandoer etc. Termstuene er også i besittelse av forskjellige LaTeX-bøker som det er fult mulig å låne.

Dag Langmyhrs hjemmeside
På hjemmesiden til Dag finnes link til både "LaTeX for nybegynnere" og forskjellige foredrag han har holdt, f.eks. "LaTeX for viderekommende". Her finnes også "Lokal guide til BibTeX".

The Not So Short Introduction To LaTeX
Som tittelen sier er det en ikke fult så kort introduksjon til LaTeX, og den er veldig god! Blant annet finner du veldig mye matematiske symboler her, veldig godt kapittel om matte og formler i LaTeX.

USITs side om LaTeX
Mange gode linker, og endel nyttige tips for LaTeX-brukere på universitetet.

Referanseliste (BibTeX)

BibTeX er et referanselistehåndteringsverktøy for LaTeX. Her kan man lage seg en referanseliste man kan bruke til alle sine senere innleveringer og oppgaver. BibTeX består ev en fil som heter filnavn.bib. I denne filen lagrer man alle referansene sine, om man skal bruke dem i oppgaven eller ei. Ved å referere til .bib-fila fra .tex-fila henter BibTeX automatisk alle referansene som er brukt, og systematiserer dem. Et eksempel er gitt i Dag Langmyhrs "Lokal guide til BibTeX", så bare "høydepunktene" blir gjengitt her. Lurer du på noe mer, sjekk Langmyhrs guide.

minereferanser.bib
@book{219boka,
author = {Øystein Andersen and Geir Brånå and Svein Erik Lønnum},
edition = {2.},
publisher = {NKI},
title = {Fotogrammetri},
year = 1991
}

Dette er BibTeX-fila, minereferanser.bib. Den består av en referanse, boka "Fotogrammetri". Forskjellige typer dokumenter og hvilke objekter som inngår i dem kan leses i "Lokal guide til BibTeX". En viktig ting i fila er referansen som skal brukes i .tex-fila, "nøkkelen" til referansen. I minereferanser.bib heter den nøkkelen "219boka" ("@book{219boka,"). BibTeX-fila gjør ingen nytte for seg så lenge den ikke er knyttet til et LaTeX-dokument. Referansene til BibTeX-fila i .tex-fila gjøres med kommandoen "\cite{219boka}".
En typisk linje i .tex-fila vil da se slik ut:

minfil.tex
I følge Andersen m.fl.\cite{219boka} har...

...og helt på slutten av .tex-fila setter vi inn disse linjene:
\bibliography{referanser}
\bibliographystyle{norplain}

Vi har nå referert til BibTeX-fila ved hjelp av "\cite{219boka}", og vi har hentet inn referansefila vår ved hjelp av "\bibliography{referanser}". I tillegg har vi, ved hjelp av "\bibliographystyle{norplain}" fortalt LaTeX hvilken stil vi vil ha på den ferdige referanselista vår.

Så må det hele kompileres og kjøres. Dette må gjøres i en litt spesiell rekkefølge:

  1. Kjør LaTeX-fila: latex minfil.tex slik at den får med seg at den har referanser
  2. Kjør BibTeX-fila: bibtex minfil slik at LaTeX får hentet frem referansene
  3. Kjør LaTeX-fila: latex minfil.tex to ganger, først så den får med seg referansene fra BibTeX-fila, så for at den får koblet.

Noen nyttlige tips:

  • Du kan i utgangapunktet lage deg kun en BibTeX-fil som du benytter deg av under hele ditt studieopphold. LaTeX henter kun ut de referansene du refererer til, og BibTeX bryr seg ikke om at du har referanser i .bib-fila som ikke blir referert til.
  • Siden de forskjellige referansestilene som finnes henter ut informasjonen fra BibTeX-fila forskjellig, lønner det seg alltid og fylle inn så mye informasjon som mulig i BibTeX-fila. Skriv for eksempel alltid inn hele navnet på forfatter(ene). Referansestilen du velger, velger om den blir seendes slik ut: Etternavn, F. eller slik: Fornavn Etternavn. Fyll også inn all informasjon du har om dokumentet du referer til, utgave, redaktør osv osv.
  • Hvis du bruker emacs til å skrive minereferanser.bib så hjelper emacs deg når du skal sette inn nye referanser. I menylinja kan du nemlig velge "Entry-Types", hvor du kan velge hvilken type referanse du skal putte inn, f.eks. book, article osv, og emacs vil da ta med alt du kan legge inn. OPT betyr optional, vil du ha punktet med bare slett de tre bokstavene.

Mal av en LaTeX-fil

Malen er laget med tanke på at den kan kopieres inn i et nytt dokument og brukes direkte. Det viktigste i dette tilfellet er de øverste linjene. Den første forteller hva slags dokumentklasse det skal være - denne linjen må alltid være med! De andre linjene inkluderer en rekke pakker en trenger for at latex skal kunne kompilere. Skal en f.eks. ha med figurer i dokumentet sitt, må pakken {epsfig} og pakken {graphicx} være inkludert. Vidre i dokumentet har jeg lagt inn forskjellige ting, som bilder og punktlister, slik at du kan se hvordan det skal gjøres. Dette kan selvfølgelig bare klippes vekk hvis du bruker denne malen som grunnstamme for ditt dokument.
NB! Husk å ikke klippe vekk den helt siste linja: \end{document}, denne må være med for at latex skal kunne kompilere ordentlig.

Filen finnes også som en .tex-fil som kan lastes ned her. Denne filen inneholder tex-koden til malen under, men i en fil som kan kompileres og sees på. Det kan være greit å laste ned denne filen hvis en skal bruke den til å klippe og lime fra. Kun de helt esensielle kommentarene er med. Siden det ikke ligger ved noe bilde som heter BILDE.eps, så vil du få noen feilmeldinger når du kompilerer, det er bare å trykke enter til du er gjennom, også skrive "preview mal.dvi" også vil du kunne se dokumentet.

minfil.tex
\documentclass[a4paper,norsk,11pt,twoside]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[norsk]{babel}
\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{pstricks}
\usepackage{subfigure}


\date{DATO}
\title{DOKUMENTTITTEL}
\author{FORFATTER}


% Kommentarer er markert med "%" i margen. Alle disse kan, om du
% ønsker det, fjernes i sin helhet.
%
% Erstatt ``DOKUMENTTITTEL'' med dokumentets tittel.
% Erstatt ``FORFATTER'' med ditt navn.
% Hvis du vil ha dagens dato hver gang du redigerer dokumentet kan du
% bytte ut DATO med \today, ellers erstatter du "DATO" med en fornuftig dato.
% Det finnes også ved universitetet en pakke som heter "uioforside", denne kan du lese mer om her.


\begin{document}
\maketitle
\newpage


\tableofcontents{}
% denne kommandoen gir deg innholdsfortegnelse, såfremt du har brukt \section{} og ikke
\section*{} (altså at du har valgt nummererte avsnitt).


\section{AVSNITTSOVERSKRIFT}
% \section{} gir avsnitt
\subsection{UNDER-AVSNITTSOVERSKRIFT}
% \subsection{} gir under-avsnitt


% Punkt-liste:
\begin{itemize}
\item{} TEKST
\end{itemize}


% Nummerert punktliste:
\begin{enumerate}
\item{}
\end{enumerate}


% Sette inn bilde/figur:
\begin{figure}[hbt]
\begin{center}
\fbox{\includegraphics[width=\textwidth]{BILDE.eps}}
\caption{BILDEUNDERTEKST}\label{fig:finfigur}}
\end{center}
\end{figure}
% width = \textwidth gjør at bildet blir like stort som teksten, her kan man endre størrelsen på bildet ved å skrive "width = 10cm" f.eks.
%"[hbt]" gjør at du prøver å overstyre LaTeX til å putte figuren HER i teksten (h), hvis ikke det går (figurer i LaTeX er flytende objekter, og vil gjerne ikke puttes seg akkurat der vi vil...), prøver vi å få LaTeX til å sette figuren på BÅNN av siden (b), hvis ikke det går, så på TOPPEN (t)
% "\fbox{}" lager en ramme rundt figuren.
% Latex tar kun .eps-filer (og .ps-filer). Stort sett alle bildeformater kan konverteres til .eps i bildebehandlingsprogrammet Gimp.
% "\caption" er bildeteksten, hvis du vil ha teksten mindre kan man slenge på "\caption{\small{tekst}}".
% "\label{}" er figurens "nøkkel". Denne nøklen kan du referere til hvor som helst i teksten din, referansen må da se slik ut: "Se figur \ref{fig:figur1}".
% Latex må få kompilere to ganger for at den skal få med seg både at det er en referanse, og for å kople referanse og label.


% Sette inn formel/matteelement (nummerert):
\begin{equation}\label{eq:9.141}
\varrho^{j}_{i}(t) =
\sqrt{(X^{j}(t)-X_{i}) +(Y^{j}(t)-Y_{i}) +(Z^{j}(t)-Z_{i}) } \equiv f(X_{i}, Y_{i}, Z_{i})
\end{equation}
% "\varrho" gir den greske bokstaven rho
% "\sqrt{}" gir kvadratrot
% "^{}" betyr at det som står inni {} skal opphøyes, "_{}" betyr det motsatte
% likningen blir seendes slik ut (står nederst på siden)
% "\equiv" gir likhetstegn med tre streker
% equation lager nummererte formler, man kan også bruke "$formel$" hvis man vil ha matteelementer midt i en tekst (altså matteelementer mellom to dollartegn $$).


% Sette in en tabell:
\begin{table}
\begin{tabular}{|c|c|c|c|}
\hline
data & data & data & data
\hline
data & data & data & data
hline
data & data & data & data
\hline
\end{tabular}
\caption{TABELLFORKLARINGSTEKST}\label{tab:fintabell}
\end{table}
% "|c|c|c|c|" lager en tabell med fire kolonner
% "\hline" lager en horisontal linje
%du kan lage så mange rader du vil, hver kolonne i raden skilles med &-tegn.
% "\caption" og "\label" er det samme som på figur. Man må ikke skrive "{tab:fintabell}", man kan skrive hva man vil, men hvis en skriver et stort dokument kan det være greit å skille mellom referanser som er fra tabeller, likninger, figurer og overskrifter.


% Referanseliste fra BibTeX:
\bibliography{referanser}
\bibliographystyle{norplain}
% "\bibliography{referanser}" henter inn filen "referanser.bib" hvor du har listet opp alle referansene dine.
%"\bibliographystyle{norplain}" forteller LaTeX at referanselisten din skal ha stilen "norplain"


\end{document}


Likningen fra \begin{equation}: