> 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/texlive/texlive-sv/paketrelaterat/minted.md).

# {Minted}

Den här artikeln visar hur man använder [`minted` paketet](https://ctan.org/pkg/minted?lang=en) för att formatera och markera källkod i ett programmeringsspråk i ett LaTeX-dokument, med ett exempel:

```latex
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
import numpy as np
    
def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #ska bli incidensmatrisen
    VT = np.zeros((n*m,1), int)  #hjälpvariabel
    
    #beräkna bitvis xor-matrisen
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1) 

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;
                
                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)
                
                VT = np.zeros((n*m,1), int)
    
    return M
\end{minted}
\end{document}
```

Detta exempel ger följande utdata:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/f0/OLV2minted.png" alt="Example displaying the output of the minted package"></p>

Det finns två viktiga kommandon här. I förordet importeras paketet genom att skriva

```latex
\usepackage{minted}
```

sedan `\begin{minted}{python}` och `\end{minted}` avgränsar en miljö som skriver ut texten ordagrant i monospace-typsnitt och även färgar kommentarer, nyckelord och funktioner. Parametern `python` är programmeringsspråket som källkoden är skriven i. `minted` stöder över 150 programmerings- och markeringsspråk samt konfigurationsfiler, se [referensguiden](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted#Reference_guide) för en lista över språk som stöds.

**Observera**: För `minted` att fungera med din *lokala* LaTeX-distribution krävs ett extra program som heter [Pygments](https://pygments.org/) måste vara installerat. [Overleaf](https://www.overleaf.com/) kan bespara dig besväret med att installera det och behöva köra särskilda kommandon för att kompilera ditt dokument — på Overleaf kommer dokument som använder `minted` att fungera "direkt ur lådan".

### Grundläggande användning

Som visas i följande exempel kan `minted` miljön konfigureras för att ändra den visuella presentationen av den typograferade koden. Här använder `minted` miljön flera kommaseparerade parametrar av formen `key=value`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % för att komma åt den namngivna färgen LightGray
\definecolor{LightGray}{gray}{0.9}
\begin{document}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
linenos
]
{python}
import numpy as np
    
def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #ska bli incidensmatrisen
    VT = np.zeros((n*m,1), int)  #hjälpvariabel
    
    #beräkna bitvis xor-matrisen
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1) 

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;
                
                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)
                
                VT = np.zeros((n*m,1), int)
    
    return M
\end{minted}
\end{document}
```

Detta exempel ger följande utdata:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/ff/OLV2minted2.png" alt="Example applying formatting to typeset code produced by the minted package"></p>

Parametrarna som används i detta exempel är:

* `frame=lines`: ritar två linjer, en ovanför och en under koden för att rama in den. Andra möjliga värden är `leftline`, `topline`, `bottomline` och `single`.
* `framesep=2mm`: avståndet till ramen är satt till 2 mm. Andra [längdenheter](https://www.overleaf.com/learn/latex/Lengths_in_LaTeX) kan användas.
* `baselinestretch=1.2`: radavståndet i koden är satt till 1,2.
* `bgcolor=LightGray`: bakgrundsfärgen satt till `LightGray`. Du behöver importera `xcolor` paketet för att detta ska fungera. Se [Att använda färger i LaTeX](https://www.overleaf.com/learn/latex/Using_colours_in_LaTeX) för att lära dig mer om färghantering.
* `fontsize=\footnotesize`: teckenstorleken satt till `footnotesize`. Vilken annan [teckenstorlek](https://www.overleaf.com/learn/latex/Font_sizes_and_kinds%23Reference_guide) kan ställas in.
* `linenos`: aktiverar radnummer.

Andra alternativ som kan vara användbara är:

* `mathescape`: aktiverar matematikläge i kodkommentarer.
* `rulecolor`: ändrar ramens färg.
* `showspaces`: aktiverar ett specialtecken som gör mellanslag synliga.

### Inkludera kod från en fil

Kod lagras vanligtvis i en källfil, därför är ett kommando som automatiskt importerar kod från en fil mycket praktiskt, som visas i följande exempel:

```latex
\documentclass{article}
\usepackage{minted}
\title{Importera filer med minted}
\begin{document}
Nästa kod importeras direkt från en fil:

\inputminted{octave}{BitXorMatrix.m}
\end{document}
```

Detta exempel ger följande utdata:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/c/c8/OLV2mintedinput.png" alt="Använda minted för att importera en kodfil" height="392" width="600">

Kommandot `\inputminted{octave}{BitXorMatrix.m}` importerar koden från filen `BitXorMatrix.m`, parametern `octave` anger för LaTeX vilket programmeringsspråk koden är skriven i. Detta kommando kan ta två extra parametrar för att importera endast en del av filen; till exempel, för att importera kod från rad 2 till rad 12 blir kommandot:

```latex
\inputminted[firstline=2, lastline=12]{octave}{BitXorMatrix.m}
```

### Kod på en rad

Om du bara behöver mata in en rad kod, så kommer kommandot `\mint`, vars syntax visas i nästa exempel, att göra susen.

{% code overflow="wrap" %}

```latex
Formatering av kod på en rad fungerar också med \texttt{minted}. Till exempel kan ett litet fragment av HTML som detta:
\mint{html}|<h2>Något <b>här</b></h2>|
kan formateras korrekt.
```

{% endcode %}

Detta exempel ger följande utdata:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/d/d9/OLV2mintedHTML.png" alt="Exempel på kod på en rad med minted" height="112" width="600">

Parametern mellan klammerparenteserna anger programmeringsspråket (`html` markeringsspråk i detta fall) och den faktiska texten som ska formateras avgränsas av tecknet '|'.

### Problem med egenhostad Overleaf

Om du använder sandboxkompilering och även en Overleaf-server för att driftsätta Overleaf, kanske minted inte fungerar bra. För detaljerad information kan du se: [issues/131](https://github.com/yu-i-i/overleaf-cep/issues/131). Du behöver aktivera ARM-instruktionsprofilen och vissa systemanrop för att minted ska fungera.


---

# 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/texlive/texlive-sv/paketrelaterat/minted.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.
