> 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/da/vidensbase/166-writing-markdown-in-latex-documents.md).

# Skrivning af Markdown i LaTeX-dokumenter

## Introduktion

For at bruge markdown i et LaTeX-dokument skal du indlæse [`markdown` pakken](https://www.ctan.org/pkg/markdown) i dokumentets præambel:

```latex
\usepackage[settings]{markdown}
```

hvor `[settings]` er en *valgfri* sæt parametre, der bruges til at konfigurere eller aktivere specifikke pakke-funktioner. Se `markdown` pakken [dokumentationen](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) for en [beskrivelse af pakkeparametrene (indstillingerne)](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html#options).

Denne artikel vil kort gennemgå både *linje* markdown—skrevet i dit dokument—og import af *external* markdown indeholdt i en tekstfil.

* **Vejledende note**: Generelt bør brugen af markdown i et LaTeX-dokument betragtes som en komplementær og praktisk mulighed til at skrive nogle elementer af dit dokuments indhold, ikke som en alternativ syntaks, der fuldstændigt erstatter LaTeX selv.

## Brug af eksterne markdown-filer

Brug kommandoen

```latex
\markdownInput{filename}
```

for at inkludere markdown-filen `filnavn`.

Følgende eksempel indsætter en fil kaldet `example.md`. Brug linket under kodeudsnittene for at åbne dem som et Overleaf-projekt:

**`main.tex`**

```latex
\documentclass{article}
\title{Brug af markdown-pakken}
\usepackage[smartEllipses]{markdown}
\begin{document}

\markdownInput{example.md}

\end{document}
```

**`example.md`**

```latex
%% example.md

# Jeg er en markdown-fil.

Og jeg kan lave *fremhævning*.
## Med underoverskrifter

> Blokcitater er
> skrevet sådan.
>
> De kan strække sig over flere afsnit,
> hvis du vil.

Brug 3 tankestreger til en tankestreg. Brug 2 tankestreger til
intervaller (f.eks. "det hele er i kapitlerne 12--14").
Tre prikker ... vil blive omdannet til en ellipse
(forudsat at du inkluderer indstillingen smartEllipses
i din præambel). Unicode understøttes.
```

[Åbn disse filer som et Overleaf-projekt.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BUsing+the+markdown+package%7D%0A%5Cusepackage%5BsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5CmarkdownInput%7Bexample.md%7D%0A%0A%5Cend%7Bdocument%7D\&snip_name\[]=example.md\&snip\[]=%25%25+example.md%0A%0A%23+I%27m+a+markdown+file.%0A%0AAnd+I+can+do+%2Aemphasis%2A.%0A%23%23+With+sub-headers%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AUse+3+dashes+for+an+em-dash.+Use+2+dashes+for+%0Aranges+%28ex.%2C+%22it%27s+all+in+chapters+12--14%22%29.+%0AThree+dots+...+will+be+converted+to+an+ellipsis+%0A%28provided+you+include+the+smartEllipses+option+%0Ain+your+preamble%29.+Unicode+is+supported.\&main_document=main.tex)

Dette eksempel giver følgende output:

![Grafik, der viser output fra markdown-pakken](/files/bca01b64a2e59ca7e703f644e31c8776ffa0a538)

## Brug af inline-markdown

Brug `markdown` miljø:

```latex
\begin{markdown}
...din markdown
placeres her...
\end{markdown}
```

for at skrive inline-markdown, som det næste eksempel demonstrerer:

```latex
\documentclass{article}
\usepackage[hashEnumerators,smartEllipses]{markdown}
\begin{document}

Brug af inline-markdown:

\begin{markdown}
En h1-overskrift
============

Afsnit adskilles af en blank linje.

2. afsnit. *Kursiv*, **fed** og `fast bredde`. Punktopstillinger
ser sådan ud:

* denne
* den der
* den anden

> Blokcitater er
> skrevet sådan.
>
> De kan strække sig over flere afsnit,
> hvis du vil.

En h2-overskrift
------------

Her er en nummereret liste (brug `hashEnumerators`-indstillingen, hvis du vil bruge hash-tegn):

#. første punkt
#. andet punkt
#. tredje punkt

\end{markdown}
\end{document}
```

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%2CsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0AUsing+inline+markdown%3A%0A%0A%5Cbegin%7Bmarkdown%7D%0AAn+h1+header%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AParagraphs+are+separated+by+a+blank+line.+%0A%0A2nd+paragraph.+%2AItalic%2A%2C+%2A%2Abold%2A%2A%2C+and+%60monospace%60.+Itemized+lists%0Alook+like%3A%0A%0A%2A+this+one%0A%2A+that+one%0A%2A+the+other+one%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AAn+h2+header%0A------------%0A%0AHere%27s+a+numbered+list+%28use+%60hashEnumerators%60+option+if+you+want+to+use+hashes%29%3A%0A%0A%23.+first+item%0A%23.+second+item%0A%23.+third+item%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Eksempel på inline-markdown sat op i Overleaf](/files/95d56465ac67f357a5c67229cc12c09bbb90cf5f)

## Markdown-pakkens funktioner og indstillinger

Her vil vi udforske nogle få af de [funktioner og indstillinger](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) som tilbydes af `markdown` pakken.

### Inkludering af kode i markdown

Der er to måder at vise kodeudsnit (kodeblokke) i markdown:

* ved at indrykke hver linje i blokken med mindst fire mellemrum eller en tabulator, eller
* ved hjælp af såkaldte [afgrænsede kodeblokke](#using-fenced-code-blocks)

#### Brug af indrykning til at vise kodeblokke

Det følgende eksempel bruger 4 eller flere mellemrumstegn i starten af hver kodelinje—nogle linjer bruger 6, 8 eller 10 mellemrumstegn afhængigt af den påkrævede indrykningsstørrelse:

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
Her er nogle kodefragmenter indrykket med mindst 4 mellemrumstegn.
\vspace{6mm}

\begin{markdown}

Her er et fragment af C:

    /* Lad mig iterere ... */

    int i;
    for(i=0; i<10; i++)
    {
      do-something(i)
    }

Her er noget HTML:

    <html>
      <head>
        <title>Sidetitel</title>
      </head>
      <body>
        <h1>Dette er en overskrift</h1>
          <p>Dette er et afsnit.</p>
      </body>
    </html>

\end{markdown}
\end{document}
```

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+code+snippets\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0AHere+are+some+code+fragments+indented+by+at+least+4+space+characters.%0A%5Cvspace%7B6mm%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0A%0AHere+is+a+fragment+of+C%3A%0A%0A++++%2F%2A+Let+me+iterate+...+%2A%2F%0A%0A++++int+i%3B%0A++++for%28i%3D0%3B+i%3C10%3B+i%2B%2B%29%0A++++%7B%0A++++++do-something%28i%29%0A++++%7D%0A%0AHere+is+some+HTML%3A%0A%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Eksempel på typesætning af kode via markdown](/files/31b60d795f5a00d2207ab903e3688f41ab73a6a9)

#### Brug af afgrænsede kodeblokke

En afgrænset kodeblok oprettes ved at skrive enten

* tre backticks (` ``` `), eller
* tre tilder (`~~~`)

på linjerne før og efter kodeblokken. Ved at bruge denne metode behøver du ikke indrykke nogen linjer, men du skal bruge `fencedCode` indstillingen i din præambel:

```latex
\usepackage[fencedCode]{markdown}
```

Her er et eksempel, der opretter afgrænsede kodeblokke ved hjælp af 3 backticks (` ``` `):

````latex
\documentclass{article}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

```
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

```
    <html>
      <head>
        <title>Sidetitel</title>
      </head>
      <body>
        <h1>Dette er en overskrift</h1>
          <p>Dette er et afsnit.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Brug af afgrænsede kodeblokke med markdown LaTeX-pakken](/files/1097855e72215a65e40a430baaad8ca0a542c748)

#### Syntaksfremhævning

Afgrænsede kodeblokke understøtter syntaksfremhævning ved at have navnet på sproget skrevet efter det første sæt backticks (`` ` ``). Som et eksempel identificeres den følgende blok som Javascript ved at skrive det første sæt backticks som ` ``` js `:

````latex
``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```
````

Til LaTeX kan `minted` pakken bruges til syntaksfremhævning, som vist i det næste eksempel, der indeholder noget Javascript (` ``` js `) og HTML (` ``` html `):

````latex
\documentclass{article}
\usepackage{minted}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

``` html
    <html>
      <head>
        <title>Sidetitel</title>
      </head>
      <body>
        <h1>Dette er en overskrift</h1>
          <p>Dette er et afsnit.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60+js%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60+html%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Syntaksfremhævning med minted og markdown](/files/93019b4d312894f08abf59c897f233f9df89fbff)

### Lister

Tidligere eksempler [viser, hvordan man opretter uordnede lister](#using-inline-markdown) i markdown ved hjælp af `*` tegnet. Ordnede lister kan oprettes ved hjælp af `#` tegnet, hvis `hashEnumerators` indstillingen er angivet:

```latex
\usepackage[hashEnumerators]{markdown}
```

Det er også muligt at oprette indlejrede lister, som demonstreret i det næste eksempel:

```latex
\documentclass{article}
\usepackage[hashEnumerators]{markdown}
\begin{document}
\begin{markdown}
Her er en nummereret liste, der indeholder en indlejret liste:

#. Først skal du skaffe disse ingredienser:

      * gulerødder
      * selleri
      * linser

#. Kog noget vand.

#. Hæld det hele i gryden, og følg denne algoritme:

        find træske
        fjern låget fra gryden
        rør
        læg låg på gryden
        balancér træske usikkert på grydens håndtag
        vent 10 minutter
        gå til første trin (eller sluk for kogepladen, når du er færdig)

    Stød ikke til træskeen, ellers falder den.
\end{markdown}
\end{document}
```

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+nested+list+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AHere+is+a+numbered+list+that+contains+a+nested+list%3A%0A%0A%23.+First%2C+get+these+ingredients%3A%0A%0A++++++%2A+carrots%0A++++++%2A+celery%0A++++++%2A+lentils%0A%0A%23.+Boil+some+water.%0A%0A%23.+Dump+everything+in+the+pot+and+follow+this+algorithm%3A%0A%0A++++++++find+wooden+spoon%0A++++++++uncover+pot%0A++++++++stir%0A++++++++cover+pot%0A++++++++balance+wooden+spoon+precariously+on+pot+handle%0A++++++++wait+10+minutes%0A++++++++goto+first+step+%28or+shut+off+burner+when+done%29%0A%0A++++Do+not+bump+wooden+spoon+or+it+will+fall.%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Oprettelse af nummererede lister ved hjælp af LaTeX markdown-pakken](/files/385a642035c51b0aa9dfc973e936e5a4aee9c8ce)

### Inkludering af LaTeX i markdown

Hvis du aktiverer `hybrid` indstillingen, kan du blande LaTeX-kode i Markdown!

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
\begin{document}

\begin{markdown}
Inline-matematiske ligninger kan oprettes sådan her: $\omega = d\phi / dt$.
Visningsligninger kan skrives som:

\begin{equation}
I = \int \rho R^{2} dV
\end{equation}

\end{markdown}
\end{document}
```

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+code+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0AInline+math+equations+can+be+created+like+this%3A+%24%5Comega+%3D+d%5Cphi+%2F+dt%24.+%0ADisplay+math+can+be+written+as%3A%0A%0A%5Cbegin%7Bequation%7D%0AI+%3D+%5Cint+%5Crho+R%5E%7B2%7D+dV%0A%5Cend%7Bequation%7D%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Brug af LaTeX-kode i markdown](/files/59ce082426df17a19a4f796413a5d850c5d168a1)

### Inkludering af billeder

* **Bemærk**: Det næste eksempel bruger en grafikfil (`example-image.pdf`) leveret af `mwe` pakken. Disse grafikfiler distribueres af TeX Live og er derfor gemt på Overleafs servere, hvilket gør dem tilgængelige som billedepladsholdere, såsom i eksemplet nedenfor.

Billeder kan inkluderes i markdown ved at skrive markup i følgende format:

```latex
![alt-text](file-name "image caption")
```

Forhåbentlig beskriver parameternavnene `alt-tekst`, `filnavn` og `"billedtekst"` hvad de gør. Her er et eksempel, der demonstrerer dem:

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
% mwe-pakken indeholder eksempelbilleder. Det er
% ikke nødvendigt, fordi disse billeder er i LaTeX's søgesti.
% Her indlæser vi den for tydelighedens skyld i dette eksempel.
\usepackage{mwe}
\begin{document}
\begin{markdown}
Dette eksempel viser, hvordan man importerer en grafikfil. Her bruger vi et
eksempelbillede leveret af pakken `mwe`.

% Brug \setkeys{Gin}, hvis du har brug for at ændre et billedes visningsstørrelse

\setkeys{Gin}{width=.5\linewidth}
![This is alt text to describe my image.](example-image.jpg "An example image provided by the \texttt{mwe} package.")
\end{markdown}
\end{document}
```

[Åbn dette eksempel i Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+images+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%25+The+mwe+package+provides+example+images.+Loading+it+is%0A%25+not+essential+because+those+images+are+in+LaTeX%27s+search+path.+%0A%25+Here%2C+we+load+it+for+clarity+in+this+example.%0A%5Cusepackage%7Bmwe%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AThis+example+shows+how+to+import+a+graphics+file.+Here+we+are+using+an%0Aexample+image+provided+by+the+%60mwe%60+package.%0A%0A%25+Use+%5Csetkeys%7BGin%7D+if+you+need+to+change+an+image%27s+display+size%0A%0A%5Csetkeys%7BGin%7D%7Bwidth%3D.5%5Clinewidth%7D%0A%21%5BThis+is+alt+text+to+describe+my+image.%5D%28example-image.jpg+%22An+example+image+provided+by+the+%5Ctexttt%7Bmwe%7D+package.%22%29%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Dette eksempel giver følgende output:

![Viser, hvordan man importerer billeder i markdown](/files/f8160a30e59889dbfeaeadfa5b9ed4b58c019017)

#### Bemærkning om billedbredden

Som de fleste pakker, `markdown` indlæser andre pakker, herunder [`keyval`](https://ctan.org/pkg/keyval?lang=en) og [`graphicx`](https://ctan.org/pkg/graphicx?lang=en), for at kunne bruge de kommandoer og funktioner, de tilbyder. Her angives billedbredden ved hjælp af `\setkeys` kommandoen, som leveres af `keyvals`. `Gin` er en "familie" af nøgler defineret af `graphicx` pakken.

* **Bemærk**: Fordi en LaTeX-kommando, her `\setkeys`, bruges *i* den `markdown` miljøet, er `hybrid` indstillingen i markdown-pakken påkrævet.

## Yderligere læsning

Overleaf har udgivet andre artikler om brugen af markdown:

* [Sådan skriver du i Markdown på Overleaf](/latex/da/dybtgaende-artikler/30-how-to-write-in-markdown-on-overleaf.md)
* [Markdown til LaTeX med stil](/latex/da/dybtgaende-artikler/32-markdown-into-latex-with-style.md)


---

# 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/da/vidensbase/166-writing-markdown-in-latex-documents.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.
