> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/no/kommandoer/01-commands.md).

# Kommandoer

## Innledning

Denne artikkelen gir en første introduksjon til *kommandoer*, som er en viktig del av LaTeX' typografiske muligheter. De fleste LaTeX-kommandoer er enkle ord foran et spesialtegn, vanligvis `\`, backslash-tegnet. La oss se på noen eksempler:

```latex
\documentclass{article}
\begin{document}
I et dokument finnes det ulike typer \\textbf{kommandoer}
som definerer hvordan elementene vises. Denne
Disse kommandoene kan sette inn spesielle elementer: $\\alpha \\beta \\Gamma$
\end{document}
```

[Åpne dette eksemplet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+commands+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIn+a+document+there+are+different+types+of+%5Ctextbf%7Bcommands%7D+%0Athat+define+the+way+the+elements+are+displayed.+This+%0Acommands+may+insert+special+elements%3A+%24%5Calpha+%5Cbeta+%5CGamma%24%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![Grunnleggende tekstformatering med LaTeX](/files/b7658e094005f778d0bad4756de6edc864cb9bd3)

I det forrige eksempelet finnes det ulike typer kommandoer; for eksempel, `\\textbf` vil fetere teksten som sendes som parameter til kommandoen. I matematisk modus finnes det spesielle kommandoer, som `\alpha`, `\beta` og `\\Gamma` for å vise greske tegn.

## Kommandoer

Her er et eksempel på LaTeX-kode med kommandoer for å lage en punktliste:

```latex
\documentclass{article}
\begin{document}
Et listeeksempel:
\begin{itemize}
  \\item[\\S] Første punkt
  \item Andre punkt
\end{itemize}
\end{document}
```

[Åpne dette eksemplet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+itemized+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AA+list+example%3A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem%5B%5CS%5D+First+item%0A++%5Citem+Second+item%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![En grunnleggende liste satt med LaTeX](/files/59831cff29fe334d45fa91c4f3c2c4a5903575ec)

Kommandoen `\begin{itemize}` starter et `itemize` *miljøet*—se [artikkelen om miljøer](/latex/no/kommandoer/02-environments.md) for mer detalj. Under miljødeklarasjonen er kommandoen `\item` som forteller LaTeX å starte et nytt listeelement: for å formatere det, legg til et spesielt merke (en liten svart prikk kalt bullet) og rykk inn elementet.

Noen kommandoer krever én eller flere *parametere*; for eksempel viser `\\textbf` kommando (brukt ovenfor) som tar én parameter — teksten som skal vises i fet skrift, og som skrives innenfor klammeparenteser slik: `\\textbf{gjør denne fet}`.

Det finnes også *valgfritt* parametere som kan sendes til en kommando for å endre dens oppførsel; slike valgfrie parametere må settes innenfor hakeparenteser: `[...]`. I eksempelet ovenfor er kommandoen `\\item[\\S]` det samme som `\item`, bortsett fra at inne i hakeparentesene er det `\\S`, som erstatter et annet tegn i stedet for den svarte prikken før teksten i oppføringen.

## Definere en ny kommando

Selv om LaTeX leveres med et stort antall kommandoer, blir det ofte nødvendig å definere dine egne spesialkommandoer for å forenkle arbeidet ditt, redusere repetitive oppgaver eller utføre noe kompleks formatering.

### Enkle kommandoer

Nye kommandoer defineres med `\newcommand`; så la oss se et enkelt eksempel:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\\newcommand{\\R}{\\mathbb{R}}
Mengden av reelle tall fremstilles vanligvis
med en tavlefet stor R: \\( \\R \\).
\end{document}
```

[Åpne dette eksemplet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+simple+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5CR%7D%7B%5Cmathbb%7BR%7D%7D%0AThe+set+of+real+numbers+are+usually+represented+%0Aby+a+blackboard+bold+capital+R%3A+%5C%28+%5CR+%5C%29.%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![Utdata fra en ny kommando](/files/c99cc1548d87f838c0f9fda2214a238e75711452)

Utsagnet `\\newcommand{\\R}{\\mathbb{R}}` har to parametere som definerer en ny kommando, der:

* `\\R`: er navnet på den nye kommandoen.
* `\\mathbb{R}`: er det den nye kommandoen gjør. I dette tilfellet vil bokstaven R skrives i tavlefet stil. Bruk av `\\mathbb` kommandoen krever `amssymb` pakken, som ble lagt til i eksempelet ovenfor (i preambelen).

Når kommandoen er definert, kan vi bruke den i teksten, som vist ovenfor. I dette eksempelet er den nye kommandoen definert rett før avsnittet der den brukes; likevel regnes det ikke som god praksis å spre slike definisjoner utover dokumentet. Vanligvis samles definisjoner for nye kommandoer i dokumentets preambel, eller for større samlinger plasseres de i en separat fil som kan [importeres i hoveddokumentet](/latex/no/dokumentstruktur/07-management-in-a-large-project.md#inputting-and-including-files).

### Kommandoer med parametere

Det er også mulig å lage nye kommandoer som aksepterer noen parametere; for eksempel:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\\newcommand{\\bb}[1]{\\mathbb{#1}}
Andre tallsystemer har lignende notasjoner.
De komplekse tallene \\( \\bb{C} \\), de rasjonale
tallene \\( \\bb{Q} \\) og de hele tallene \\( \\bb{Z} \\).
\end{document}
```

[Åpne dette eksemplet i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+command+with+1+parameter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cbb%7D%5B1%5D%7B%5Cmathbb%7B%231%7D%7D%0AOther+numerical+systems+have+similar+notations.+%0AThe+complex+numbers+%5C%28+%5Cbb%7BC%7D+%5C%29%2C+the+rational+%0Anumbers+%5C%28+%5Cbb%7BQ%7D+%5C%29+and+the+integer+numbers+%5C%28+%5Cbb%7BZ%7D+%5C%29.%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![Utdata fra en LaTeX-kommando med en parameter](/files/a49ff9efff3158cae799f5759bf2b13a8c994bc1)

Linjen `\\newcommand{\\bb}[1]{\\mathbb{#1}}` definerer en ny kommando som tar én parameter, der:

* `\\bb` er navnet på den nye kommandoen.
* `[1]` er antallet parametere den nye kommandoen vil ta.
* `\\mathbb{#1}` er det kommandoen faktisk gjør — dens definisjon.

I dette tilfellet vil parameteren, referert til som `#1`, bli skrevet med tavlefete tegn. Hvis en kommando trenger mer enn én parameter, kan du referere til hver parameter ved hjelp av `#1`, `#2` og så videre. Opptil 9 parametere støttes.

### Kommandoer med valgfrie parametere

Brukerdefinerte kommandoer kan gjøres enda mer fleksible enn eksemplene så langt: du kan definere kommandoer som tar *valgfritt* parametere:

```latex
\documentclass{article}
\begin{document}

Når vi skriver mange uttrykk med eksponenter, kan vi forenkle oppgaven og spare tid ved å definere en passende kommando:

\\newcommand{\\plusbinomial}[3][2]{(#2 + #3)^#1}

Vi kan bruke den slik: \\[ \\plusbinomial{x}{y} \\]

Og til og med eksponenten kan endres:

\\[ \\plusbinomial[4]{a}{b} \\]
\end{document}
```

[Åpne dette eksemplet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+command+with+optional+parameters\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%0AWhen+writing+many+expressions+with+exponents+we+can+simplify+our+task%2C+and+save+time%2C+by+defining+a+suitable+command%3A%0A%0A%5Cnewcommand%7B%5Cplusbinomial%7D%5B3%5D%5B2%5D%7B%28%232+%2B+%233%29%5E%231%7D%0A%0AWe+can+use+it+like+this%3A+%5C%5B+%5Cplusbinomial%7Bx%7D%7By%7D+%5C%5D%0A%0AAnd+even+the+exponent+can+be+changed%3A%0A%0A%5C%5B+%5Cplusbinomial%5B4%5D%7Ba%7D%7Bb%7D+%5C%5D%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![Utdata fra en kommando med valgfrie parametere](/files/13cc60ff40da7938271ffc803f821fdf5939f0d3)

La oss analysere syntaksen til linjen `\\newcommand{\\plusbinomial}[3][2]{(#2 + #3)^#1}`:

* `\\plusbinomial` er navnet på den nye kommandoen.
* `[3]` er antallet parametere kommandoen vil ta, i dette tilfellet 3.
* `[2]` er standardverdien for den første parameteren. Det er dette som gjør den første parameteren valgfri; hvis den ikke sendes inn, brukes denne standardverdien.
* `(#2 + #3)^#1` er det kommandoen gjør. I dette tilfellet vil den sette den andre og tredje parameteren i et "binomialformat" opphøyd i eksponenten representert av den første parameteren.

## Overskriving av eksisterende kommandoer

Hvis du prøver å definere en ny kommando som har samme navn som en *allerede eksisterende* LaTeX-kommando, vil kompileringen mislykkes med en feilmelding. Dette vises i det følgende eksempelet, som prøver å definere den (eksisterende) `\\textbf` kommandoen:

```latex
\documentclass{article}
\\newcommand{\\textbf}[1]{#1}% Dette vil ikke fungere
\begin{document}

\\section{Dette vil mislykkes}
\end{document}
```

[Åpne dette (**feilgenererende**) eksempelet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Duplicate+command+name\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cnewcommand%7B%5Ctextbf%7D%5B1%5D%7B%231%7D%25+This+will+not+work%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BThis+will+fail%7D%0A%5Cend%7Bdocument%7D)

Når dette eksempelet kompileres, får man følgende utdata:

![Feil generert av duplisert LaTeX-kommando-definisjon](/files/deffc9b7cd5a412b5eff63e129309f66c3046c9f)

Som vist på skjermbildet har forsøket vårt på å definere `\\textbf` mislyktes: LaTeX genererte feilmeldingen **LaTeX-feil: Kommandoen \\\textbf er allerede definert**.

Hvis du virkelig vil overstyre en eksisterende kommando, kan dette gjøres ved å bruke `\renewcommand`, som bruker samme syntaks som `\newcommand`:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}

\\renewcommand{\\S}{\\mathbb{S}}

Riemanns sfære (de komplekse tallene pluss $\\infty$) er
noen ganger representert ved \\( \\S \\).
\end{document}
```

[Åpne dette eksemplet i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Redefine+existing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Crenewcommand%7B%5CS%7D%7B%5Cmathbb%7BS%7D%7D%0A%0AThe+Riemann+sphere+%28the+complex+numbers+plus+%24%5Cinfty%24%29+is+%0Asometimes+represented+by+%5C%28+%5CS+%5C%29.%0A%5Cend%7Bdocument%7D)

Dette eksemplet gir følgende resultat:

![Utdata fra en redefinert LaTeX-kommando](/files/2476b4307e6403a307a644bf4d5abc2ac966bde3)

I dette eksemplet er kommandoen `\\S` (se eksempelet i [kommandoer](#commands) seksjonen) overskrevet for å skrive ut en tavlefet S.

## Videre lesning

For mer informasjon, se:

* [Miljøer](/latex/no/kommandoer/02-environments.md)
* [Forstå pakker og klassefiler](/latex/no/klassefiler/01-understanding-packages-and-class-files.md)
* [Skrive din egen pakke](/latex/no/klassefiler/03-writing-your-own-package.md)
* [Å skrive din egen klasse](/latex/no/klassefiler/04-writing-your-own-class.md)
* [Lengder i LaTeX](/latex/no/formatering/01-lengths-in-latex.md)
* [Bruke farger i LaTeX](/latex/no/formatering/13-using-colors-in-latex.md)
* [Sidestørrelse og marger](/latex/no/formatering/07-page-size-and-margins.md)
* [Liste over pakker og klassefiler](/latex/no/klassefiler/02-overleaf-and-tex-live.md)
* [Den ikke helt korte introduksjonen til LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Creating\_Packages på WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Creating_Packages)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/no/kommandoer/01-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
