Ubuntu Sverige

Program/LaTex

Ubuntu Sverige

Hoppa till: navigering, sök

[redigera] Latex

Innehåll

Den här texten är tänkt som en liten hjälp att komma igång med att skapa dokument i LaTeX. Om man bara har använt sig av ordbehandlingsprogram tidigare, så är det här en annorlunda upplevelse. Medan du skriver din text kommer du inte direkt att kunna påverka hur texten kommer att se ut. Du kan inte ändra utseendet på rubriker hela tiden. Istället kommer du att få fokusera på strukturen i texten och dess innehåll.

LaTeX är i grunden ett typsättningssystem. Det skapades redan 1985 av Leslie Lamport. Lite kan man dra en jämförelse med HTML. Det du göra är att du markerar upp din text för tala om för LaTeX vad det är för ett slags innehåll det har att göra med. Sedan sköter programmet typsättningen åt dig. Det man får är en klassisk, professionell och snygg design direkt ur förpackningen.

Jämförelsen med HTML gäller också de verktyg man kan ha som grund när man skapar sitt dokument. Det räcker nämligen med en enkel textredigerare. Du kan alltså använda din egen favorit och t o m skriva i VIM i ett terminalfönster. Men du bör helst inte använda något ordbehandlingsprogram och spara i t ex OpenDocument-format, för dokumentet måste sparas som ren text, precis som HTML-dokument.


[redigera] Installera

I Synaptic hittar man allt som rör LaTeX i den avdelning som heter TeX Authoring. Man kan notera att det finns två versioner av LaTeX. Den ena är TeTeX, som är den äldre varianten. Den utvecklas inte längre. Den andra versionen är TeXLive, som i grunden är samma sak som TeTeX men där man bl a kan hitta olika uppdaterade tillägg. I det här exemplet kommer vi att installera TeTeX.

Det är tre paket man måste ladda ner och installera, antingen via Synaptic eller med apt-get i ett terminalfönster.

  • tetex-base
  • tetex-bin
  • tetex-extra
sudo apt-get install tetex-base tetex-bin tetex-extra 

I förråden Universe och Multiverse hittar man ytterligare paket som kan lägga till funktioner. Det finns bland annat en möjlighet att installera latex-ucs för att få stöd för teckenkodningen utf-8 i LaTeX-dokument. Men om man flyttar dokument mellan Linux och Windows så är det nog inte att rekommendera, utan man bör då hålla sig till iso-8859-1, det som brukar kallas Latin1.

Medan man ändå har Synaptic uppe kan man passa på att ladda ner något program som är anpassat för att skriva text i LaTeX. (Se nedan) I Universe hittar du Kile och Texmaker. Men du behöver egentligen inte något speciellt program, utan du kan använda din favorit bland textredigeringsprogrammen, t ex Gedit, VIM, Mouspad, Emacs. Du kan t o m skriva LaTeX på ett system utan någon grafik alls genom att öppna VI eller Emacs.


[redigera] Arbetsgången

Har ska jag visa på de olika stegen från textdokument till slutmålet, som brukar vara en PDF-fil. Det finns också program för att omvandla till webbsida.

  1. Först skapar man en textfil i sitt redigeringsprogram. Man döper filen och ger den ändelsen .tex, t ex minlatex.tex. För att komma igång kan du använda det exempel på en artikel som du hittar längre ned på sidan.
  2. När man är klar eller bara vill testa hur det ser ut, är det dags att köra filen genom programmet latex. Man öppnar då ett terminalfönster, navigerar till den mapp där man sparat sin fil och skriver följande. Ändelsen ska vara .tex.
latex minlatex.tex 

Har du gjort något fel i uppmärkningen av texten eller du inte har tänkt på att du använder bokstäverna å, ä och ö, kommer du att få upp ett felmeddelande. Notera det för det brukar ge en ledtråd till hur man löser problemet. Har man ett specialanpassat redigeringsprogram för LaTeX, brukar man hitta en ikon att klicka på.

  1. Om allt gått bra ska du nu ha ett antal nya filer. Bl a ska det finnas en DVI-fil. Den kan man nu öppna för att granska resultatet. Eftersom man ändå sitter med terminalen öppen skriver man så här.
xdvi minlatex 
  1. Men en DVI-fil kan man inte skriva ut. Därför ska man sedan omvandla den filen till en PDF-fil. Man skriver då i sin terminal.
dvipdf minlatex.dvi 
  1. Nu ska du ha ett dokumentet färdigt för utskrift eller att dela med dig av på internet.

Använder du en specialanpassad redigerare kommer du att hitta ikoner för att köra programmen latex och dvipdf.


[redigera] Märka upp sin text

För att förstå hur man märker upp en text, så behöver man veta att det finns två olika sätt att göra det på. De har lite olika funktion och är alltså inte utbytbara.
Det ena sättet är ett kommando (macro). Det kan ta någon form av argument. I exemplet nedan hittar man t.ex. följande.

\title{Min artikel} 

En variant av det här är, när du anger att dokumentet ska använda fontkodningen T1 (lämplig för västerländsk text och filer med teckenkodningen Latin1) och att du vill ha svensk avstavning samt den svenska översättningen av t.ex. Innehållsförteckning. Man anger då två värden i två olika typer av parenteser.

\usepackage[T1]{fontenc} 
\usepackage[swedish]{babel}  

Det andra sättet är s.k. miljöer (environment). Här omsluter man större mängder text av något slag. Det kan t ex handla om listor. Men hela den delen av dokumentet som ska synas vid utskrift är en miljö.

\begin{miljönamn}
\end{miljönamn}


[redigera] Exempel på en artikel

Här kommer ett enkelt exempel att komma igång med och som du själv kan jobba vidare på.

De finns två saker att tänka på. De första sex raderna är den s.k. prologen. Här anger man viktiga förutsättningar för dokumentet. Rad 2 och 3 har med det svenska språket att göra. Man anger också namnet på författaren, titeln för artikeln och datumet.

Själva innehållet kommer efter raden \begin{document}. Innehållet börjar med att man med \maketitle anger att man vill ha författaren, titeln och datumet utskrivet på förstasidan. Sedan talar vi om att LaTeX ska skapa en innehållsförteckning med kommandot \tableofcontents.

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[swedish]{babel} 
\author{Författarens namn}
\title{Titeln på artikeln}
\date{2007-10-11}
\begin{document}
\maketitle
\tableofcontents

\section{Rubrik}
Stycken i dokumentet gör man på samma sätt som i en gammal skrivmaskin, 
man gör helt enkelt en extra radbryting.

Man kan få \textbf{fet text} och \textit{kursiv text}. 

\begin{center}
Det här är nästa stycke. Texten är här centrerad.
\end{center}

\begin{verbatim}
Det finns också möjlighet att få det som i HTML skulle kallas för förformaterad text.
\end{verbatim}

\subsection{Underrubrik}
Här börjar ett nytt avsnitt på nivå 2.

\subsubsection{Underunderrubrik}
Det finns bara tre nivåer på rubriker, så tänk noga på hur du vill strukturera din text.

\end{document}


[redigera] Listor

Här är exempel på de två vanligaste listorna, punktlistan och den numrerade listan. I båda fallen lägger man till ytterligare en punkt genom att före \end lägga till en ny rad med \item.

\begin{itemize} 
\item punkt 
\item punkt 
\end{itemize}

\begin{enumerate} 
\item nummer 1 
\item nummer 2 
\end{enumerate 


[redigera] Tabeller

Tabeller är alltid komplicerade saker. Här följer en centrerad tabell med centrerat innehåll. Själva innehållet i tabellen skriver man in där det står t ex Cell 1:1. Varje rad i tabellen avslutas med dubbla snedstreck: \\.

\begin{table} 
\centering 
\begin{tabular}{|c|c|c|} 
\hline Cell 1:1 & Cell 1:2 & Cell 1:3 \\  
\hline Cell 2:1 & Cell 2:2 & Cell 2:3 \\  
\hline Cell 3:1 & Cell 3:2 & Cell 3:3 \\  
\hline  
\end{tabular}  
\end{table}


[redigera] Att se upp med

Det finns också en del saker man måste se upp med, om man inte vill ha några felmeddelanden och sitta och slita sitt hår för att förstå vad som gått fel. Att det kommer att bli fel ibland är helt normalt, men det går att med hjälp av de felmeddelanden man får, att klura ut vad som gick snett. Här är två vanliga problem.

[redigera] Svenska tecken

Eftersom du sitter i Ubuntu och skriver kommer ditt dokument att sparas med teckenkodningen UTF-8. Det här ställer till det för oss svenskar när vi ska spara våra LaTeX-dokument. Vi får upp felmeddelanden. Lika så blir det problem om vi vill flytta dokumentet mellan Ubuntu och Windows, för Windows använder teckenkodningen ISO-8859-1, alltså Latin1. Botemedlet är att dels ange kodningen i inledningen till LaTeX-dokumentet, dels att ställa in sitt redigeringsprogram så att det sparar i Latin1.

För Textredigeraren i Ubuntu gör man så här.

  1. I rutan Spara som tittar man längst ner där det står Teckenkodning. Den aktuella är antagligen UTF-8. Klicka på den och välj Lägg till eller ta bort.
  2. I den vänstra listan väljer du Västerländsk ISO-8859-1 och klickar på Lägg till. Klicka på OK.
  3. Tillbaka i rutan Spara som väljer man nu teckenkodningen ISO-8859-1 och klickar på Spara.

Notera! Skriver du din LaTeX bara i Ubuntu och alltså bara använder UTF-8 så kan du på följande sätt tala om för LaTeX att filen använder denna teckenkodning:

 \usepackage[utf8]{inputenc}

[redigera] Speciella tecken

Det finns ett antal tecken som som en speciell betydelse i LaTeX och använder man någon av dem så blir det också fel. Dessa tecken är följande: #, $, %, &, _, ~, ^, \, { och }. Man måste alltså vara uppmärksam, när man använder dem.

För att få det att fungera och kunna använda de här tecken kan man i de flesta fall sätta ett omvänt snedstreck framför. Gör alltså så här: \#, \$, \%, \&, \_, \~, \^, \textbackslash, \{ och \}.


[redigera] Program att skriva med

Du behöver alltså inget extra program för att kunna skapa LaTeX. Med Ubuntu följer både Textredigeraren Gedit och VIM. Men det finns flera program som är mer eller mindra användbara och ger mer eller mindre stöd att markera upp din text.

Man kan indela de program som kan hantera LaTeX i tre kategorier. Först är det de där man märker upp texten själv, kanske med ett visst stöd av programmet. Sedan finns det program där man inte behöver bry sig om koden utan skriver som om man satt i ett ordbehandlingsprogram. Sist har vi just ordbehandlingsprogram som exporterar till LaTeX, men som, på det stora hela inte klarar jobbet så bra.

Vilket program man än använder sig av, blir arbetet betydligt enklare om man faktiskt förstår lite om hur man skapar LaTeX, eftersom det är lite speciellt.


[redigera] Texmacs

Det här är nog det närmaste man kommer ett ordbehandlingsprogram för LaTeX. Här kan man ändra även färgen på texten.
Programmet sparar inte direkt i LaTeX, utan man måste exportera till olika format. Sedan får man köra den filen genom latex. Men det går faktiskt att exportera direkt till PDF utan att passera latex först.

sudo apt-get install texmacs, texmacs-common och texmacs-extra-fonts 


[redigera] LyX

Man skulle kunna tro att det här är ett ordbehandlingsprogram, men det är det inte. Det är ett vad-du-ser-är-vad-du-får-program. Du jobbar alltså inte i själva koden, men kan inte som i ordbehandlingsprogram ändra på utseendet av texten.

Efter en omstart hittade jag det i Program - Kontor. Man sparar i lyx-format och exporterar till LaTeX eller direkt till PDF. Man börjar med att gå till Tools - Preferences. Under Language settings - Language sätter man Default language till Swedish.

sudo apt-get install lyx och lyx-common 


[redigera] Texmaker

Det är ett program där man jobbar direkt med koden men du hittar mycket stöd i menyerna.
Byt teckenkodning direkt, innan du öppnar något dokument: Options - Configure Texmaker. Klicka på Editor och ändra under Editor Font Encoding till ISO-8859-1. Ändra också på Aspell Encoding till samma som ovan.

sudo apt-get install texmaker 


[redigera] Kile

Det här är en redigerare framtagen för KDE och går därför bra ihop med Kubuntu, men det funkar även i Ubuntu. Här jobbar man direkt med koden men programmet har funktioner som underlättar uppmärkningen av texten.

Ändra till Latin1 genom att gå till Settings - Configure Kile. Fyll i Input encoding: latin1. Sedan måste du också, när du sparar, i den övre högra rutan ange 'iso 8859-1'. I den andra verktygsmenyn hittar man ikoner för att köra latex och pdflatex. Längre höger ut i den menyn hittar du också en del verktyg för att formatera och strukturera din text.

sudo apt-get install kile kile-i18n 


[redigera] GNU Emacs

Texteditorn Emacs har naturligtvis grundläggande stöd för t.ex. färgkodning av LaTeX-syntax, men om man arbetar mycket med LaTeX så rekommenderas paketen AUCTeX och preview-latex.

 sudo apt-get install emacs auctex preview-latex-style

[redigera] Vim

Här behöver man två paket, ett med själva LaTeX delen, ett med det grafiska gränssnittet för VIM. Anledningen till att man kör med gVim är att man med latex-suite får några extra menyer för just LaTeX. De ger en viss hjälp i skapandet.

sudo apt-get install vim-latexsuite vim-full

[redigera] OpenOffice

Man kan även använda sig av OpenOffice för att från OpenDocument exportera till TEX-format. Men det här känns inte meningsfullt, eftersom den utskrift man får i LaTeX egentligen ser ut som OpenOffice. Det här åstadkommes med en mängd olika formateringar som känns helt onödiga. Man kan exportera direkt i PDF istället för att gå över LaTeX.


[redigera] AbiWord

Även AbiWord, som är ett ordbehandlingsprogram, har en funktion för att spara som LaTeX. Man kan behöva mecka lite i själva koden för att få det att funka perfekt, men i stort sett verkar det gå bra. En nackdel är att man bara kan spara till LaTeX, inte öppna det. Om man öppnar dokumentet igen blir det koden man får upp.


[redigera] Länkar

Den här artikeln är hämtad från http://ubuntu-se.org/wiki/Program/LaTex
Personliga verktyg