> 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/sv/kommandon/01-commands.md).

# Kommandon

## Introduktion

Denna artikel ger en första introduktion till *kommandon*, som är en viktig del av LaTeX:s sättningsmöjligheter. De flesta LaTeX-kommandon är enkla ord som föregås av ett specialtecken, vanligtvis `\`, bakstreckstecknet. Låt oss titta på några exempel:

```latex
\documentclass{article}
\begin{document}
I ett dokument finns det olika typer av \textbf{kommandon}
som definierar hur elementen visas. Dessa
kommandon kan infoga särskilda element: $\alpha \beta \Gamma$
\end{document}
```

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![Grundläggande textformatering med LaTeX](/files/5b2489977450211c337300ba53d107b4553c856b)

I det föregående exemplet finns det olika typer av kommandon; till exempel, `\textbf` gör texten som skickas som parameter till kommandot fet. I matematikläge finns det särskilda kommandon, såsom `\alpha`, `\beta` och `\Gamma` för att visa grekiska tecken.

## Kommandon

Här är ett exempel på LaTeX-kod med kommandon för att skapa en punktlista:

```latex
\documentclass{article}
\begin{document}
Ett list-exempel:
\begin{itemize}
  \item[\S] Första posten
  \item Andra punkten
\end{itemize}
\end{document}
```

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![En enkel lista satt i LaTeX](/files/a9c079a4d4fef68749de9900e6b6be7604fe424d)

Kommandot `\begin{itemize}` startar en `itemize` *miljön*—se [artikeln om miljöer](/latex/sv/kommandon/02-environments.md) för mer information. Under miljödeklarationen finns kommandot `\item` som säger åt LaTeX att starta en ny listpost: för att formatera den läggs ett särskilt märke till (en liten svart punkt kallad bullet) och posten indenteras.

Vissa kommandon kräver en eller flera *parametrar*; till exempel `\textbf` kommandot (använt ovan) som tar en enda parameter—texten som ska visas i fet stil, vilken skrivs inom klammerparenteser så här: `\textbf{gör detta fetstilat}`.

Det finns också *valfri* parametrar som kan skickas till ett kommando för att ändra dess beteende; dessa valfria parametrar måste placeras inom hakparenteser: `[...]`. I exemplet ovan gör kommandot `\item[\S]` samma som `\item`, förutom att inom hakparenteserna finns `\S`, som ersätter den svarta punkten före postens text med ett annat tecken.

## Definiera ett nytt kommando

Även om LaTeX levereras med ett enormt antal kommandon blir det ofta nödvändigt att definiera dina egna specialkommandon för att förenkla arbetet, minska repetitiva uppgifter eller utföra en del komplex formatering.

### Enkla kommandon

Nya kommandon definieras med `\\newcommand`; så låt oss se ett enkelt exempel:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\R}{\mathbb{R}}
Mängden reella tal representeras vanligtvis
med ett skrivtavlefett versalt R: \( \R \).
\end{document}
```

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![Utdata från ett nytt kommando](/files/126a12dfb2d2fd9b4e624ff72a7296a5cd6ca6ac)

Utsagan `\newcommand{\R}{\mathbb{R}}` har två parametrar som definierar ett nytt kommando, där:

* `\R`: är namnet på det nya kommandot.
* `\mathbb{R}`: är vad det nya kommandot gör. I detta fall kommer bokstaven R att skrivas med skrivtavlefet stil. Användningen av `\mathbb` kommandot kräver `amssymb` paketet, som lades till i exemplet ovan (i preamblen).

Efter att kommandot har definierats kan vi använda det i texten, som visas ovan. I detta exempel definieras det nya kommandot direkt före stycket där det används; att sprida sådana definitioner genom hela dokumentet anses emellertid inte vara bästa praxis. I allmänhet samlas definitioner för nya kommandon i dokumentets preamble eller, för större samlingar, placeras i en separat fil som kan [importeras i ditt huvuddokument](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md#inputting-and-including-files).

### Kommandon med parametrar

Det går också att skapa nya kommandon som accepterar vissa parametrar; till exempel:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\bb}[1]{\mathbb{#1}}
Andra talsystem har liknande notationer.
De komplexa talen \( \bb{C} \), de rationella
talen \( \bb{Q} \) och heltalen \( \bb{Z} \).
\end{document}
```

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![Utdata från ett LaTeX-kommando med en parameter](/files/2068f426a56a0692ff02457507acbf0df97efc77)

Raden `\newcommand{\bb}[1]{\mathbb{#1}}` definierar ett nytt kommando som tar en parameter, där:

* `\bb` är namnet på det nya kommandot.
* `[1]` är antalet parametrar som det nya kommandot kommer att ta.
* `\mathbb{#1}` är vad kommandot faktiskt gör—dess definition.

I detta fall kommer parametern, som refereras som `#1`, att skrivas med skrivtavlefeta tecken. Om ett kommando behöver fler än en parameter kan du referera till varje parameter med `#1`, `#2` och så vidare. Upp till 9 parametrar stöds.

### Kommandon med valfria parametrar

Användardefinierade kommandon kan göras ännu mer flexibla än exemplen som visats hittills: du kan definiera kommandon som tar *valfri* parametrar:

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

När man skriver många uttryck med exponenter kan vi förenkla vår uppgift och spara tid genom att definiera ett lämpligt kommando:

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

Vi kan använda det så här: \[ \plusbinomial{x}{y} \]

Och till och med exponenten kan ändras:

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

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![Utdata från ett kommando med valfria parametrar](/files/0cd2d02de596bb51c06645de2c7c6b386cf5f4c4)

Låt oss analysera syntaxen i raden `\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}`:

* `\plusbinomial` är namnet på det nya kommandot.
* `[3]` är antalet parametrar som kommandot kommer att ta, i detta fall 3.
* `[2]` är standardvärdet för den första parametern. Det är detta som gör den första parametern valfri; om den inte skickas används detta standardvärde.
* `(#2 + #3)^#1` är vad kommandot gör. I detta fall kommer det att sätta den andra och tredje parametern i ett "binomialformat" upphöjt till den exponent som representeras av den första parametern.

## Skriva över befintliga kommandon

Om du försöker definiera ett nytt kommando som har samma namn som ett *redan befintligt* LaTeX-kommando kommer kompileringen att misslyckas med ett felmeddelande. Detta demonstreras i följande exempel som försöker definiera det (befintliga) `\textbf` kommandot:

```latex
\documentclass{article}
\newcommand{\textbf}[1]{#1}% Detta kommer inte att fungera
\begin{document}

\section{Detta kommer att misslyckas}
\end{document}
```

[Öppna detta (**felgenererande**) exempel 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)

Kompilering av detta exempel ger följande utdata:

![Fel som genererats av en duplicerad LaTeX-kommando-definition](/files/5578aefbd0ff9666c4b365fabec73632ad048278)

Som visas i skärmbilden misslyckades vårt försök att definiera `\textbf` har misslyckats: LaTeX genererade felmeddelandet **LaTeX Error: Command \textbf already defined**.

Om du verkligen vill åsidosätta ett befintligt kommando kan detta åstadkommas genom `\renewcommand`, som använder samma syntax som `\\newcommand`:

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

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

Riemanns sfär (de komplexa talen plus $\infty$) är
ibland representerad med \( \S \).
\end{document}
```

[Öppna detta exempel 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)

Det här exemplet ger följande utdata:

![Utdata från ett omdefinierat LaTeX-kommando](/files/dc98e4f7f6fa5cead3347f646112bac6934ceb3a)

I detta exempel är kommandot `\S` (se exemplet i [kommandon](#commands) avsnittet) överskrivet för att skriva ut ett skrivtavlefett S.

## Vidare läsning

För mer information, se:

* [Miljöer](/latex/sv/kommandon/02-environments.md)
* [Förstå paket och klassfiler](/latex/sv/klassfiler/01-understanding-packages-and-class-files.md)
* [Skriv ditt eget paket](/latex/sv/klassfiler/03-writing-your-own-package.md)
* [Att skriva din egen klass](/latex/sv/klassfiler/04-writing-your-own-class.md)
* [Längder i LaTeX](/latex/sv/formatering/01-lengths-in-latex.md)
* [Använda färger i LaTeX](/latex/sv/formatering/13-using-colors-in-latex.md)
* [Sidstorlek och marginaler](/latex/sv/formatering/07-page-size-and-margins.md)
* [Lista över paket och klassfiler](/latex/sv/klassfiler/02-overleaf-and-tex-live.md)
* [Den inte så korta introduktionen till 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/sv/kommandon/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.
