Sammletråd: Smarte tips og triks i latex

Det er god trening å prate matematikk. Her er det fritt fram for alle. Obs: Ikke spør om hjelp til oppgaver i dette underforumet.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Svar
Nebuchadnezzar
Fibonacci
Fibonacci
Innlegg: 5648
Registrert: 24/05-2009 14:16
Sted: NTNU

Her er et par smarte tips og triks som jeg har funnet ut i latex. Legg gjerne ved dine egne =) Ei lite liste med nyttige ting å vite hadde vært kult å ha. Føler jeg har et par på lager, men er sikkert mange som kan mye mer.

Finne symbolder

http://detexify.kirelabs.org/classify.html

Genial side for å finne symboler. Finner de fleste


Matematikk over hverandre

matematiske uttrykk kan plasseseres over hverandre, ved hjelp av
kommandoen

Kode: Velg alt

\stackrel{a}{b}

Eksempel

\vec{\nabla} \qquad \bar{\nabla} \qquad \stackrel{\to}{\nabla}
[tex]\vec{\nabla} \qquad \bar{\nabla} \qquad \stackrel{\to}{\nabla}[/tex]

Ofte er det ikke alltid vektorer ser så pent ut, eller passer. Og da kan denne være veldig fin. Ser større forskjell i latex enn på forumet.

Liten nots. Er raskere å skrive \to enn \leftarrow

Ensidige parenteser

Ofte kan vi ønske store parenteser eller uttrykk da kan dettevære greit å huske på

Kode: Velg alt


\left.   \right)

Eksempel

\left. \frac{a+\frac{\pi}{2}}{b-\frac{\pi}{2}} \right|_{0}^{a}

[tex]\left. \frac{a+\frac{\pi}{2}}{b-\frac{\pi}{2}} \right|_{0}^{a}[/tex]

Matriser: justere kolonner og rader

Under er eksempel på hvordan en kan justere matriser, slik de ser litt penere ut.

Kode: Velg alt


\left[ \begin{matrix*} 1 & -2 \\ -4 & 1 \end{matrix*} \right] 

\begin{bmatrix} 1 & -2 \\ -4 & 1 \end{bmatrix}

\begin{bmatrix*} 1 & -2 \\ -4 & 1 \end{bmatrix*}

\begin{bmatrix*} 1 & \llap{-1} 2 \\ \llap{-} 4 & 1 \end{bmatrix*}

[tex]\left[ \begin{matrix*} 1 & -2 \\ -4 & 1 \end{matrix*} \right] [/tex]

[tex]\begin{bmatrix} 1 & -2 \\ -4 & 1 \end{bmatrix}[/tex]

[tex]\begin{bmatrix*} 1 & -2 \\ -4 & 1 \end{bmatrix*}[/tex]

[tex]\begin{bmatrix*} 1 & \llap{-1} 2 \\ \llap{-} 4 & 1 \end{bmatrix*}[/tex]

De ser litt annerledes ut i latex. Spesielt den siste. Kommandoen \llap, gjør at ting bare ser bedre ut. Men fungerer ikke her på forumet som vi ser.

Matriser: Radoperasjoner

En kan bruke den avanserte pakken \gauss for å få bedre kontroll over matrisene sine. Da kan en for eksempel skrive

Kode: Velg alt

\begin{gmatrix}[b]
        1 & \llap{-} 2 \\ 
\llap{-} 4 &             1 
\rowops
  \add[1]{0}{1}
  \swap{0}{1}
  \mult{1}{\cdot -\frac{1}{4}}
\end{bmatrix}
\rowops Sier at nå skal vi sette inn radoperasjoner
\add ganger en med en verdi og legger den til en annen rad
\swap Bytter om to rader
\mult ganger en rad med en verdi

Vertikale linjer

En kan bruke kommandoen under for å lage vertikale streker som dekker linjebredden.

Kode: Velg alt

\rule{\linewidth}{tykkelse}
[tex]\rule{\linewidth}[/tex]

Som vi ser heller ikke funker på forumet. Men den funker i latex.

Sentrere tekst horisontalt og vertikalt

Tekst i latex kan enkelt sentreres vertikalt ved å bruke

Kode: Velg alt

\begin{center}
\int_{0}^{2\pi} \ln \left( a^2 \cos^2x + b^2 \sin^2x \right) = \frac{\pi}{a+b} 
\end{center}
Horisontalt kan en for eksempel bruke

Kode: Velg alt

\vspace{\fill}
%
\int_{0}^{2\pi} \ln \left( a^2 \cos^2x + b^2 \sin^2x \right) = \frac{\pi}{a+b} 
%
\vspace*{\fill}
% tegn brukes for å skape luft i dokumentet, eller krysse ut linjer som ikke skal kompileres. Selv bruker jeg % foran linjer med figurer da disse tar lang tid å laste. Når jeg er ferdig å skrive fjerner jeg bare disse.

Kryssrefferering og merking av likninger

En kan bruke kommandoene under for å inkludere en tag (merke) til likninger og formler.

Kode: Velg alt

\begin{align*}
2x + 3 \tag{a} \\ 
3y - 5 
\end{align*}

\begin{align}
2x + 3 \notag \\ 
3y - 5 
\end{align}
Det første miljøet er ikke nummerert. Men vi sier at vi vil nummere den første likningen. Motsatt i andre, vi velger å ikke nummerere den første likningen.

Refferering

vi kan også refferere til likninger og overskrifter. Ved å legge inn \label{navn} også bruke \ref{navn} i teksten.
En kan også reffere til egne tagger. Eksempelvis

Kode: Velg alt

\begin{align*}
2x + 3 \tag{a} \\ 
3y - 5 
\end{align*}

Og i likning \ref{a} over kan vi se at universet er en potet. 
En genial pakke er den som heter. hyperref. Gjerne bruk det under når du legger til pakken

Kode: Velg alt

\usepackage[hidelinks]{hyperref}
Da vil ikke hyperlinkene stikke så mye ut. Nå vil også alle linkene i innholdsfortegnelsen være hyperlinket. Og når du kryssreffererer ting i teksten vil det kunne lages lenker.

Legge til egendefinert tekst i TOC (innholdsfortegnelsen)

Veldig enkelt, bare bruk

Kode: Velg alt

\addcontentsline{toc}{section}{navn}
Seksjon kan byttes ut med hva enn måtte ønske. For eksempel subsection, subsubsection, paragraph etc.

Tekst mellom likninger uten å bryte align

Ofte kan det væreønskelig å ha tekst som ikke bryter med for eksempel horisontal alignment (aner ikke hva dette er på norsk). Da kan vi bruke
\intertext{sett inn tekst her} Eksempelvis

Kode: Velg alt

\begin{align*}
x^2 - 3x - 4 & = 0
%
\intertext{Vi legger til 4 til begge sier}
%
x^2 - 3x & = 4
%
\intertext{Vi fullfører kvadratet på høyre side}
%
\left( x - \frac{3}{2} \right)^2 & = 4 + \frac{9}{4}
%
\intertext{Vi trekker sammen og sammler leddene på venstre side}
%
\left( x - \frac{3}{2} \right)^2 - \left( \frac{5}{2} \right)   & =  0 
%
\intertext{Vi bruker konjugatsetningen, også kjent som tredje 
kvadratsetning}
%
\left( x - \frac{3}{2} + \frac{5}{2}\right) \left( x - \frac{3}{2} - \frac{5}{2}\right) & = 0 \\
%
\left( x - 1 \right) \left( x - 4\right) & = 0 
\end{align*}
Her bruker vi & for å bestemme hvor vi skal sentrere teksten. Vi trenger ikke \\ mellom linjene og % er bare der for at det blir lettere å lese her på forumet.

Nyttige pakker

Her er en del pakker som jeg syntes er nyttige. Kommer selvfølgelig ann på hva du skal gjøre, men jeg får ofte bruk for disse.

Kode: Velg alt


Fikser litt på formatering og linjebryting

\usepackage{microtype}

Standardpakker, som fikser på matematikken

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}

Nevnt før, gir mulighet for tekst og matte over hverandre

\usepackage{stackrel}

Mener denne gjør at en kan få mer tilpassede fotnstørrelser

\usepackage{relsize}

\fontsize{60}{70}\selectfont{I}

For å inkludere figere så er denne pakken smart å ha

\usepackage{graphicx}

Pakken under inkluderer litt mer og matte, og noen småfikser til amsmath

\usepackage{mathtools}

Pakken under fikser noen småting til laTeX2e (kompilering)

\usepackage{fixlt2e}

For å skrive enheter, en genial pakke

\usepackage{Siunitx}

For å inkludere bedre farger, kan en av de to under brukes. Den siste er litt mer avansert.

\usepackage{color}
\usepackage{xcolor}

For bedre tabeller kan en bruke

\usepackage{booktabs}

For bedre kryssreferanser kan en bruke

\usepackage{cleveref}

Språkpakke under. Gir Æ Å Ø. En av de to under fungerer alltid

\usepackage{utf8}{inputenc}
\usepackage{latin1}{inputenc}

Hvilket språk en bruker. Gir for eksempel innholdsfortegnelse på norsk

\usepackage[norsk]{babel}

Gir muligheter for å velge fonter, og en del flere fonter. 

\usepackage{T1}{fontenc}

En småpakke for automagisk polynomdivisjon, og automatisk faktorisering av polynom.

\usepackage{polynom}
En liten ekstrating. Selv liker jeg å legge med pakken

\usepackage{cancel}

Også legge ved koden

\usepackage{thicklines}{cancel}
\renewcomman{\CancelColor}{\color{red}}

Ser litt snasent ut. Jeg legger alle pakkene mine i egne pakker. Så jeg inkluderer som oftest bare 4 pakker i dokumentet mitt.

\usepackage{Standard}
\usepackage{Matte}
\usepackage{Bok}
\usepackage{Forkortelser}

Standard er alle småfiksene
Matten er alle mattegreiene
bok, er alle kryssrefferansene og tabellene
forkortelser er alle egendefinerte kommandoer.

\newcommand{\n}{$\mathbf{N}$}

For eksempel osv.

Closing notes. Prøv å bruk de innebygdge funksjonene i latex, videre prøv å unngå og ha mellomromm i koden din, og bruk heller % om du trenger plass. % kan også brukes for å ekskludere figurer midlertidig. Slik at kompileringen går raskere.

Skriver vi lengre ting kan gjerne et masterdokument være lurt

Da bare bruker vi \include{fil} , som er litt bedre enn input{fil}.

Før dokumentet begynner i preamblen. Kan du også inkludere

\includeonly{fil}

For å bare laste denne fila, det gjør ting lettere og mer oversiktlig.
"Å vite hva man ikke vet er og en slags allvitenhet" - Piet Hein
https://s.ntnu.no/Integralkokeboken
Lektor - Matematikk, Fysikk og Informatikk
Svar