Er der fejl eller mangler på siden? Så skriv gerne til hacker(snabel-a)matfystutor.dk

Forskel mellem versioner af "LaTeX"

Fra Hackerwiki
Spring til navigation Spring til søgning
Linje 129: Linje 129:


En enkelt ting: Man er med Ubuntus pakke <tt>texlive-full</tt> ikke garanteret de nyeste versioner af de enkelte [[LaTeX]]-pakker. For langt de fleste er dette ikke et problem, men hvis man er afhængig af have den nyeste version af fx [http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/ memoir] eller [http://www.ctan.org/tex-archive/macros/latex/contrib/siunitx/ siunitx], skal du følge installationen længere nede.
En enkelt ting: Man er med Ubuntus pakke <tt>texlive-full</tt> ikke garanteret de nyeste versioner af de enkelte [[LaTeX]]-pakker. For langt de fleste er dette ikke et problem, men hvis man er afhængig af have den nyeste version af fx [http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/ memoir] eller [http://www.ctan.org/tex-archive/macros/latex/contrib/siunitx/ siunitx], skal du følge installationen længere nede.
=== Vim latex-suite ===
 
[[Vim]] er en meget anvendt editor som også kan sættes op til at arbejde mere effektivt med latex. Installer pakken vim-latexsuite for at tilføje diverse ekstra features.
=== Revtex4 ===
=== Revtex4 ===
Bliver man bedt om at bruge klassen revtex4 kan man risikere at Latex brokker sig over at "File revtex4.cls does not exist" eller lignende. Dette er fordi pakken nu om dage hedder revtex4-1. Hvis Latex stadig brokker sig prøv da at installere pakken texlive-publishers ie:
Bliver man bedt om at bruge klassen revtex4 kan man risikere at Latex brokker sig over at "File revtex4.cls does not exist" eller lignende. Dette er fordi pakken nu om dage hedder revtex4-1. Hvis Latex stadig brokker sig prøv da at installere pakken texlive-publishers ie:

Versionen fra 27. apr. 2013, 12:16

Skabelon:Ambox

Lad det være sagt med det samme: LaTeX udtales ikke som i snuskede pornoforretninger, men så det rimer på smæk. Hvis du nogensinde har prøvet at skrive matematikopgaver eller fysikrapporter i Word, så vil LaTeX sikkert falde i din smag. Især når du skriver større opgaver, har almindelige tekstbehandlingsprogrammer svært ved at håndtere opgaven. Her kan LaTeX gøre det meget nemmere.

Om LaTeX

Midt i 70'erne besluttede den fremragende (men også ganske pedantiske) datalog Donald Knuth at kvaliteten af hans bøger og artikler var for ringe. På den tid blev de fleste bøger stadig trykt på gammeldags manér, dvs. med metalbogstaver, men andet bind af hans værk "The Art of Computer Programming" var sat med datidens bedste digitale typografiværktøjer. Da Donald så den første prøveudgave blev han overbevist om, at det kunne gøres bedre. Sådan gik det til, at han fik idéen til det, der senere blev TeX.

TeX er ikke nemt at bruge, så mange brugte meget tid på at skrive makroer, der gjorde TeX mere brugervenligt. En af dem, der fik mest succes med dette, var Leslie Lamport og han skrev, hvad der fik navnet LaTeX.

At skrive i LaTeX

Modsat tekstbehandlingsprogrammer, såsom OpenOffice Writer eller Microsoft Word, kan du ikke umiddelbart se, hvad du skriver. Det kan lyde underligt, men i LaTeX koder man sine dokumenter, men bare rolig: Det er ikke kompliceret kode der skal til. Koden skal derefter oversættes (compiles) hvilket resulterer i det endelige dokument.

Det er måske på sin plads med et eksempel: <source lang="latex"> \documentclass[a4paper]{article}

\begin{document} \author{Steffen V. Petersen} \title{\LaTeX{} testdokument} \maketitle

\end{document} </source> Dette resulterer i et dokument i A4-format med titlen "LaTeX test dokument". Det rigtigt smarte i dette er, at LaTeX styrer layoutet. Det kan, specielt i i starten, være lidt underligt, at man ikke selv skal styre sidens og tekstens opsætning, men det er gjort for at du kan koncentrere dog om indholdet i stedet.

Et dokument har to hoveddele:

Preamblen
er alt der, der står før \begin{document}. Det er her man styrer al generel opsætning af sit dokument. En preamble skal starte med makroen \documentclass, men ellers er der frit slag. Det er dog ikke sådan lige til at skrive sin egen, se mere under #Preamble.
Selve teksten
findes i document environmentet, dvs mellem linjerne \begin{document} og \end{document}. Det er her man skriver sin tekst, formler, figurer, tabeller og hvad man nu ellers kan finde på.

Preamble

Uden en preamble kan man ikke skrive et dokument, og siden det ikke er helt enkelt at skrive en selv er her en, du kan bruge.


Til afleveringer

Denne kan det meste relevante, men vær ikke bange for at tilføje en pakke eller to, hvis du får at vide, at det kan hjælpe. Vær desuden opmærksom på, at den ikke rigtigt egner sig til større projekter men mest til afleveringer og lignende. <source lang="latex"> % Dokumentklassen sættes til memoir. % Manual: http://ctan.org/tex-archive/macros/latex/contrib/memoir/memman.pdf \documentclass[a4paper,oneside,article]{memoir}

% Danske udtryk (fx figur og tabel) samt dansk orddeling og fonte med % danske tegn. Hvis LaTeX brokker sig over æ, ø og å skal du udskifte % "utf8" med "latin1" eller "applemac". \usepackage[utf8]{inputenc} \usepackage[danish]{babel} \usepackage[T1]{fontenc}

% Matematisk udtryk, fede symboler, theoremer og fancy ting (fx kædebrøker) \usepackage{amsmath,amssymb} \usepackage{bm} \usepackage{amsthm} \usepackage{mathtools}

% Kodelisting. Husk at læse manualen hvis du vil lave fancy ting. % Manual: http://mirror.ctan.org/macros/latex/contrib/listings/listings.pdf \usepackage{listings}

% Fancy ting med enheder og datatabeller. Læs manualen til pakken % Manual: http://www.ctan.org/tex-archive/macros/latex/contrib/siunitx/siunitx.pdf \usepackage{siunitx}

% Indsættelse af grafik. \usepackage{graphicx}

% Reaktionsskemaer. Læs manualen for at se eksempler. % Manual: http://www.ctan.org/tex-archive/macros/latex/contrib/mhchem/mhchem.pdf \usepackage[version=3]{mhchem}

\begin{document} % Din kode her!

\end{document} </source> Som du kan se er dem dokumentet med henvisninger til pakkemanualer, hvilket skulle gøre det nemmere at finde ud af, hvordan man bruger de enkelte pakker.

Hvordan bruges preamblen?

Der findes flere forskellige måder at bruge denne preamble på. Man kunne fx kopiere den ind i starten af alle sine dokumenter, men det kan bliver træls i længden. En bedre idé er at gemme den i fil for sig selv (den kunne fx hedde preamble-afleveringer.tex) og lægge den et sted hvor LaTeX kan finde den. Fordel er da, at man kan nøjes med at skrive \input{preamble-afleveringer} i starten af dokumentet, så klarer LaTeX resten. Husk at din preamble skal have en ny linje til sidst -- ellers laver LaTeX mærkelige fejl.

Om pakkerne

Det er en god idé at vide, hvad ens preamble gør. Derfor kan du her finde en kort beskrivelse af dokumentklassen og de enkelte pakker.

memoir
Dokumenklassen er memoir, der er den mest konfigurerbare klasse der findes. Der er meget få ting man ikke kan med memoir og den egner sig til alt fra simple afleveringer til specialer og bøger.
inputenc
Denne pakke fortæller LaTeX hvilket tegnsæt du bruger i dokumentet. De fleste Linux'er bruger utf8, men på Windows benyttes ofte latin1 og på Mac applemac. Hvis man har problemer med æ, ø og å skal du prøve med "de to andre".
babel
Denne pakke indlæser dansk orddeling og danske navne for tabeller og figurer, så der står "Figur 2" i stedet for "Figure 2". Hvis man skriver på engelsk bør man ændre [danish] til [english] på denne linje.
fontenc
Her fortæller du LaTeX at den skal bruge europæiske fonte. Det er ikke noget man skal tænke for meget over :)
amsmath og amssymb
Disse to pakker giver flere muligheder når det kommer til brug af matematisk udtryk, fx align-environmentet.
bm
Giver mulighed for at lave fede tegn i matematiske udtryk bed brug af makroen \bm. Bruges fx ved vektorer.
amsthm
Giver environments til opsætning af sætninger og beviser, der er dokumenteret i pakkemanualen og med eksempler i daleifs bog. Hvis ikke man er tilfreds med amsthm kan man udskifte den med ntheorem.
mathtools
Giver flere fancy muligheder for matematik, fx flere snedigheder for matricer. Pakkens dokumentation giver gode eksempler og mange af daleifs eksempler benytter mathtools.
listings
Giver mulighed for pæn opsætning af kildekode i talløse sprog. Hvis man vil inkludere kodestumper i sit dokument er dette pakken man skal kende.
siunitx
En uundværlig pakke når det kommer til datatabeller og brug af fysiske enheder. Pakkens dokumentation viser rigtigt mange gode eksempler.
graphicx
Dette er pakken, der gør det muligt at indsætte billeder.
mhchem
Gør det meget nemmere at skrive reaktionsskemaer, hvad enten der er tale om kemiske eller nukleare reaktioner. Igen er pakkens dokumentation kilde til mange gode eksempler.

Skabelon til rapporter (især Fysik)

Denne skabelon er udarbejdet i forbindelse med 1. års kurserne i Fysik. Den indeholder de væsentligste pakker samt en guide til forventet indhold.

Skabelonen kan hentes her: [1] eller med eksempel billeder og readme pakket i en zip-fil her. Bemærk at denne skabelon forventer at du bruger pdflatex.


Installation af LaTeX

Når du har skrevet koden til dit dokument skal det laves til en PDF-fil. Til det skal man bruge en LaTeX-installation og her har man flere muligheder:

  • TeX Live er speciel fordi den kan installeres på alle platforme, dev. både Windows, Mac, Linux, BSD og andre endnu mere eksotiske systemer. Den er meget nem at installere og vedligeholde. En anden fordel er, at den kommer med sin egen editor. Texlive er den anbefalede version af Latex!
  • MiKTeX er specielt rettet mod Windowsbrugere er enkel at installere og holde opdateret. Den har dog den ulempe, at den kun er til Windows, og derfor sker det, at TeX-nørder siger pas, hvis du render i store problemer.
  • MacTeX er en version af TeX Live, der er specielt rettet til brugere af Mac OSX. Den er ufatteligt nem at installere og indeholder både editor og fremviser.

Hvis du er i tvivl om, hvad du skal vælge er TeX Live er godt sted at starte.

TeX Live 2009 på Ubuntu

I den nyeste version af Ubuntu kan man blot installere pakken texlive-full enten via af Ubuntu Software Center eller vha. denne kommando:

sudo apt-get install texlive-full

Det skulle give dig den nyeste version af TeXLive. Derudover skal du også bruge en Latex editor fx Texmaker. Se mere info i artiklen om Latex.

En enkelt ting: Man er med Ubuntus pakke texlive-full ikke garanteret de nyeste versioner af de enkelte LaTeX-pakker. For langt de fleste er dette ikke et problem, men hvis man er afhængig af have den nyeste version af fx memoir eller siunitx, skal du følge installationen længere nede.

Revtex4

Bliver man bedt om at bruge klassen revtex4 kan man risikere at Latex brokker sig over at "File revtex4.cls does not exist" eller lignende. Dette er fordi pakken nu om dage hedder revtex4-1. Hvis Latex stadig brokker sig prøv da at installere pakken texlive-publishers ie:

sudo apt-get install texlive-publishers

hvorefter det gerne skulle virke.


Denne meget korte guide er rettet mod TeX Live 2009 på Ubuntu og dens venner (Kubuntu, Xubuntu, Edubuntu). Den er testet og fungerer på

  • Karmic Koala (9.10)
  • Lucid Lynx (10.04)

Derudover er det ret sikkert, at den virker på

  • Linux Mint 8
  • Linux Mint 9

I denne guide vil vi ikke installere fra Ubuntus pakkesystem, idet versionen af TeX Live heri er fra 2007 (dog ikke i Lucid Lynx), og fordi det er kompliceret at skulle holde den opdateret. I stedet vil vi hente den officielle TeX Live-installation og derefter overbevise Ubuntu om, at LaTeX er installeret.

Skabelon:Ambox

  1. Hent installationsprogrammet til TeX Live 2009 her.
  2. Pak filen ud, fx på skrivebordet; den laver selv en mappe, der hedder install-tl-20100204 (datoen til sidst kan dog være en anden).
  3. Start en terminal og gå ind i install-tl-20100204-mappen, fx
    cd Desktop/install-tl-20100204
    Husk at mappen kan have en anden dato.
  4. Vi skal nu have fat i en enkelt pakke som installationsprogrammet skal bruge, så i terminalen skrives
    sudo apt-get install perl-tk
  5. Vi kan nu starte installationsprogrammet med
    sudo ./install-tl -gui
    (Paranoide) puritanere vil mene, at man skal holde sig fra at installere som root-brugeren grundet visse sikkerhedsproblemer. I laaaangt de fleste tilfælde (læs: 99.999%) kan man ignorere disse, og selv hvis det går galt har du vel backup, right :)
  6. Hvad installationsprogrammet har valgt for dig er faktisk ikke helt ringe, men vi skal dog lige have styr på et par ting:
    1. Under Standard collections skal alt undtagen Windows support programs være valgt.
    2. Under Language collections skal kun Danish, UK English, Other hyphenation files og English documentation være valgt.
    3. Create symlinks in system directories skal væres Yes; standardvalgene i dialogen er ok.
  7. Du kan nu klikke på Install TeX Live og installationen går i gang. Den tager lidt tid, men undervejs skriver den fx
    Installing [0012/1726, time/total: 00:22/34:06]: SIunits [284k]
    der betyder, at den har installeret 12 af 1726 pakker og at den har brugt 22 sekunder af 34:06 i alt. På de fleste computere tager installationen mellem en halv time og tre kvarter, men det kan variere ganske betragteligt.
  8. Tryk Finish for at afsluttet installationen.

Snyde Ubuntu til at tro, at TeXLive er installeret

Hvis man på noget tidspunkt vil installere pakker, der forventer at LaTeX er installeret, vil Ubuntu forsøge at installere TeXLive selv. Det vil med sikkerhed give problemer, så derfor skal man have overbevist Ubuntu om, at TeXLive virkeligt er installeret. Metoden her er faktisk den samme som i daleifs artikel men en stor del af arbejdet er gjort for dig allerede.

  1. Hent filen texlive-local_2009-1_all.deb her fra wikien. Det er en pakke, der ikke installerer nogen filer, men overbeviser Ubuntu om, at TeXLive er installeret.
  2. Installerer den hentede pakke med kommandoen:
    sudo dpkg -i Texlive-local_2009-1_all.deb

Det skulle derefter være muligt at installere pakker, der forventer en LaTeX-installation, fx AUCTeX.

Editorer

For at kunne skrive LaTeX skal man bruge en editor. Det er dybest set ikke andre krav, end at den kan gemme i et rent tekstformat, så principielt kunne man bruge Notesblok. Det ville man dog hurtigt blive træt af, specielt når der findes rigtigt mange gode LaTeX-orienterede editorer.

Lidt at vælge mellem

Dette er ikke ment som en udtømmende liste, men som inspiration. Det er nemlig ganske forskelligt fra person til person hvad man foretrækker. Rådet er derfor: Prøv dig frem og brug den du finder mest anvendelig.

  • TeXworks er den editor, der følger med TeX Live. Denne indeholder en integreret PDF-fremviser og generelt ganske god.
  • TeXnicCenter er bedre til håndtering af projekter, der er delt i flere filer. Er installeret på computerne ved IFA.
  • Emacs kan være rigtigt god, hvis man kan finde ud af den. Det er dog ikke tilrådeligt at lære LaTeX og Emacs på én gang. Man bør desuden benytte AUCTeX og RefTeX sammen med Emacs.
  • Vim er på mange måder som Emacs, dog er det lidt mindre tungt at køre. Der findes en rigtig god udvidelse, Latex-Suite, som gør det meget bekvemt at arbejde med LaTeX dokumenter.
  • LaTeX Editor eller LEd i daglig tale.
  • TeXmaker kan bruges på alle systemer.
  • TeXShop er en editor kun til Mac.

Bibtex

Bibtex er en måde at lave referencer til dine kilder på en systematisk måde. Det fungerer ved at man laver en såkaldt bibtexfil, enten ved at skrive den selv eller bruge et program, fx Referencer. Denne Bibtex fil refererer man fra sit tex-dokument.

Man kan få en underlig fejlmeddelelse vis man prøver at køre sit latex dokument med bibtex hvis man endnu ikke har citeret nogen kilder. Man skal derfor blot citere en kilde så virker dokumentet igen.

Lyx (LaTeX light)

Lyx er speciel editor, der er en mellemting mellem LaTeX og et 'almindeligt' tekstbehandlingsprogram. Det vil sikkert være nemmere at gå til for nybegyndere end mange andre editorer, men har sine svagheder når det kommer til større projekter, fx et bachelorprojekt.

Lyx bruger samme princip som LaTeX med at man skal fortælle programmet hvad der er sektioner og hvad der er standard tekst og på samme måde som LaTeX laver den efterfølgende al typografien for dig. Fordelen er at man ikke behøver at huske kommandoer og rette fejl i sin kode, da Lyx tager sig af alt det tekniske. Derudover viser Lyx dig undervejs hvordan dit dokument nogenlunde vil komme til at se ud og ved at trykke CTRL+D vil et hurtigt preview vise det endelige resultat.

Lyx findes både til Linux (fx Ubuntu) og Windows. Dokumentationen til Lyx er rigtig god. Det kan betale sig at bruge en halv til en hel time på at kigge det igennem før du går i gang med at bruge Lyx, da det sparer meget tid senere hen.

LaTeX-foredrag

MFSR afholdte i 2. kvarter af 2009/10 et introduktionsforedrag om LaTeX og de anvendte slides kan findes på http://mfsr.au.dk. Dette introduktionsforedrag efterfølges i 3. kvarter af et foredrag om LaTeX i større projekter, fx bachelor-projekter, specialer eller ph. d.-afhandlinger. Se mere på MFSRs hjemmeside.

Hjælp til LaTeX

daleifs bog

daleifs (Lars Madsen) fra IMF har skrevet en dansksproget bog om LaTeX. Den er god som både introduktion, som opslagsværk og som introduktion til mere avancerede emner. Bogen er for nuværende på vej mod 3. udgave og en tidlig udgave kan hentes gratis fra Matematisk Instituts hjemmeside om LaTeX.

DeTeXify

Hvis du står og skal bruge kommandoen til at lave et bestemt tegn kan det ofte betale sig at prøve detexify før man begynder at slå op i diverse tabeller over tegn. Siden lader dig tegne tegnet du tænker på og søger derefter i en database over tegn.


DK-TUGs mailingliste

DK-TUG, der foreningen af danske (La)TeX-brugere har en mailingliste, hvor man frit kan stille spørgsmål -- også uden at være medlem af foreningen.

LaTeX fora

På nettet kan man finde forskellige fora, der beskæftiger sig med LaTeX. En af de bedre findes ved LaTeX Community hvor man selvfølge kan få hjælp til LaTeX men også til mange af de forskellige editorer, der findes.

Gode links

En samling af basale råd ved brug af Latex En smart lille applet til at finde tegn vha. af håndskriftsgenkendelse