> 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/cs/znalostni-baze/166-writing-markdown-in-latex-documents.md).

# Psaní Markdownu v dokumentech LaTeXu

## Úvod

Chcete-li používat markdown v dokumentu LaTeX, musíte načíst [`markdown` accents](https://www.ctan.org/pkg/markdown) ve své preambuli dokumentu:

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

kde `[nastavení]` je *volitelná* sada parametrů používaná ke konfiguraci nebo aktivaci konkrétních funkcí balíčku. Viz `markdown` accents [dokumentace](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) pro [popis parametrů balíčku (voleb)](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html#options).

Tento článek stručně projde obě *v řádku* markdown — psaný přímo ve vašem dokumentu — a importování *external* markdown obsaženého v textovém souboru.

* **Upozornění**: Obecně by se používání markdownu v dokumentu LaTeX mělo chápat jako doplňková a pohodlná možnost pro psaní některých prvků obsahu dokumentu, nikoli jako alternativní syntaxe, která by LaTeX zcela nahradila.

## Použití externích souborů markdown

Použijte příkaz

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

pro vložení souboru markdown `název souboru`.

Následující příklad vloží soubor s názvem `example.md`. Pomocí odkazu pod ukázkami kódu je otevřete jako projekt Overleaf:

**`main.tex`**

```latex
\documentclass{article}
\title{Použití balíčku markdown}
\usepackage[smartEllipses]{markdown}
\begin{document}

\markdownInput{example.md}

\end{document}
```

**`example.md`**

```latex
%% example.md

# Jsem soubor markdown.

A umím i *zvýraznění*.
## Se dílčími nadpisy

> Blokové citace jsou
> psány takto.
>
> Mohou zahrnovat více odstavců,
> pokud chcete.

Pro dlouhou pomlčku použijte 3 pomlčky. Pro 2 pomlčky použijte
rozsahy (např. „je to celé v kapitolách 12--14“).
Tři tečky ... budou převedeny na výpustku
(za předpokladu, že zahrnete volbu smartEllipses
do své preambule). Unicode je podporováno.
```

[Otevřete tyto soubory jako projekt Overleaf.](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)

Tento příklad vytvoří následující výstup:

![Obrázek ukazující výstup z balíčku markdown](/files/75c57d91958eabb3ae5ed1c4ba704380a7923d6e)

## Použití vloženého markdownu

Použijte `markdown` prostředí:

```latex
\begin{markdown}
...váš markdown
patří sem...
\end{markdown}
```

pro psaní vloženého markdownu, jak ukazuje následující příklad:

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

Použití vloženého markdownu:

\begin{markdown}
Nadpis úrovně h1
============

Odstavce jsou odděleny prázdným řádkem.

2. odstavec. *Kurzíva*, **tučné** a `monospace`. Odrážkové seznamy
vypadají takto:

* tento
* tamten
* ten druhý

> Blokové citace jsou
> psány takto.
>
> Mohou zahrnovat více odstavců,
> pokud chcete.

Nadpis úrovně h2
------------

Zde je číslovaný seznam (pokud chcete používat znaky #, použijte volbu `hashEnumerators`):

#. první položka
#. druhá položka
#. třetí položka

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

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Příklad sazby vloženého markdownu v Overleafu](/files/b30a8b820a4b988335eabab2d76e05a3501b1a7f)

## Funkce a volby balíčku Markdown

Zde prozkoumáme několik [funkcí a voleb](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) poskytovaných `markdown` balíček.

### Vkládání kódu do markdownu

Pro zobrazení úryvků kódu (bloků kódu) v markdownu existují dva způsoby:

* odsazením každého řádku bloku alespoň čtyřmi mezerami nebo jedním tabulátorem, nebo
* použitím takzvaných [ohraničených bloků kódu](#using-fenced-code-blocks)

#### Použití odsazení k zobrazení bloků kódu

Následující příklad používá na začátku každého řádku kódu 4 nebo více mezer — některé řádky používají 6, 8 nebo 10 mezer podle požadované velikosti odsazení:

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
Zde jsou některé úryvky kódu odsazené alespoň 4 mezerami.
\vspace{6mm}

\begin{markdown}

Zde je úryvek v jazyce C:

    /* Nech mě iterovat ... */

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

Zde je trochu HTML:

    <html>
      <head>
        <title>Název stránky</title>
      </head>
      <body>
        <h1>Toto je nadpis</h1>
          <p>Toto je odstavec.</p>
      </body>
    </html>

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

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Příklad sazby kódu pomocí markdownu](/files/fecc26436ddeeb80fee296b4ea49b26b1a3e9d45)

#### Použití ohraničených bloků kódu

Ohraničený blok kódu se vytvoří zápisem buď

* tří zpětných apostrofů (` ``` `), nebo
* tří vlnovek (`~~~`)

na řádky před a za blokem kódu. Při této metodě nemusíte odsazovat žádné řádky, ale musíte použít volbu `fencedCode` ve své preambuli:

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

Zde je příklad vytváření ohraničených bloků kódu pomocí 3 zpětných apostrofů (` ``` `):

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

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

```
    <html>
      <head>
        <title>Název stránky</title>
      </head>
      <body>
        <h1>Toto je nadpis</h1>
          <p>Toto je odstavec.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Použití ohraničených bloků kódu s balíčkem markdown pro LaTeX](/files/506d3815a983c992c4a1c32eec5e777661f4fbaa)

#### Zvýrazňování syntaxe

Ohraničené bloky kódu podporují zvýrazňování syntaxe tím, že se za první sadu zpětných apostrofů (`` ` ``). Jako příklad je následující blok rozpoznán jako JavaScript, když se první sada zpětných apostrofů zapíše jako ` ``` js `:

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

Pro LaTeX lze `minted` balíček použít ke zvýrazňování syntaxe, jak ukazuje následující příklad, který obsahuje trochu JavaScriptu (` ``` js `) a 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>Název stránky</title>
      </head>
      <body>
        <h1>Toto je nadpis</h1>
          <p>Toto je odstavec.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Zvýrazňování syntaxe s balíčky minted a markdown](/files/c43776fe90fb42b95febe5ae1cad0e25ff9cb750)

### Seznamy

Předchozí příklady [ukazují vytváření nečíslovaných seznamů](#using-inline-markdown) v markdownu pomocí znaku `*` Znakem. Číslované seznamy lze vytvářet pomocí znaku `#` znaku, pokud je `hashEnumerators` volba zadána:

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

Je také možné vytvářet vnořené seznamy, jak ukazuje následující příklad:

```latex
\documentclass{article}
\usepackage[hashEnumerators]{markdown}
\begin{document}
\begin{markdown}
Zde je číslovaný seznam, který obsahuje vnořený seznam:

#. Nejprve si připravte tyto ingredience:

      * mrkev
      * celer
      * čočka

#. Uvařte trochu vody.

#. Vhoďte všechno do hrnce a postupujte podle tohoto algoritmu:

        najděte dřevěnou vařečku
        odkryjte hrnec
        míchejte
        přikryjte hrnec
        vyvažte dřevěnou vařečku nejistě na rukojeti hrnce
        počkejte 10 minut
        goto první krok (nebo po dokončení vypněte plotýnku)

    Nestrkejte do dřevěné vařečky, jinak spadne.
\end{markdown}
\end{document}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Vytváření číslovaných seznamů pomocí balíčku markdown pro LaTeX](/files/7f45cadd37626550ef7f5f17cd51cf90b837e157)

### Vkládání LaTeXu do markdownu

Pokud povolíte `hybridní` volbu, můžete v Markdownu kombinovat kód LaTeXu!

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

\begin{markdown}
Vložené matematické výrazy lze vytvářet takto: $\omega = d\phi / dt$.
Zobrazované matematické výrazy lze zapsat jako:

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

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

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Použití kódu LaTeXu v markdownu](/files/d3408872a2152ece5007d7f7be84c5968a208440)

### Vkládání obrázků

* **Poznámka**: Následující příklad používá grafický soubor (`example-image.pdf`) poskytovaný balíčkem `mwe` Tyto grafické soubory jsou distribuovány prostřednictvím TeX Live, a jsou tedy uloženy na serverech Overleafu, takže jsou k dispozici jako zástupné obrázky, například v ukázce níže.

Obrázky lze do markdownu vložit zápisem značek v následujícím formátu:

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

Snad názvy parametrů `alternativní text`, `název souboru` a `"popisek obrázku"` popisují, co dělají. Zde je příklad, který je ukazuje:

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
% Balíček mwe poskytuje ukázkové obrázky. Jeho načtení je
% není nezbytné, protože tyto obrázky jsou v prohledávací cestě LaTeXu.
% Zde jej načítáme pro názornost v tomto příkladu.
\usepackage{mwe}
\begin{document}
\begin{markdown}
Tento příklad ukazuje, jak importovat grafický soubor. Zde používáme
ukázkový obrázek poskytovaný balíčkem `mwe`.

% Použijte \setkeys{Gin}, pokud potřebujete změnit zobrazovanou velikost obrázku

\setkeys{Gin}{width=.5\linewidth}
![Toto je alternativní text popisující můj obrázek.](example-image.jpg "Ukázkový obrázek poskytovaný balíčkem \texttt{mwe}.")
\end{markdown}
\end{document}
```

[Otevřete tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Ukázka, jak importovat obrázky v markdownu](/files/17969a1c132fbb11fe55742a415dceb2a644943d)

#### Poznámka k šířce obrázku

Stejně jako většina balíčků, `markdown` načítá jiné balíčky, včetně [`keyval`](https://ctan.org/pkg/keyval?lang=en) a [`graphicx`](https://ctan.org/pkg/graphicx?lang=en), aby bylo možné využít příkazy a funkce, které poskytují. Zde je šířka obrázku nastavena pomocí příkazu `\setkeys` , který poskytuje `keyvals`. `Gin` je „rodina“ klíčů definovaná `graphicx` balíček.

* **Poznámka**: Protože se jedná o příkaz LaTeXu, zde `\setkeys`, se používá *uvnitř* webových stránkách `markdown` prostředí, je `hybridní` vyžadována volba balíčku markdown.

## Další čtení

Overleaf publikoval i další články o používání markdownu:

* [Jak psát v Markdownu na Overleafu](/latex/cs/clanky-do-hloubky/30-how-to-write-in-markdown-on-overleaf.md)
* [Markdown do LaTeXu stylově](/latex/cs/clanky-do-hloubky/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/cs/znalostni-baze/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.
