> 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/clanky-do-hloubky/30-how-to-write-in-markdown-on-overleaf.md).

# Jak psát v Markdownu na Overleafu

**Aktualizace po publikaci** (přidáno 13. května 2017): Jsme vděční Vítu Novotnému, autorovi/udržovateli `markdown` balíčku, za to, že nám napsal s několika užitečnými připomínkami k původnímu článku. S potěšením zveřejňujeme tuto aktualizovanou verzi, která jeho rady a návrhy bere v úvahu a zahrnuje je.

### Cože?

[Markdown](https://kirkstrobeck.github.io/whatismarkdown.com/) je odlehčený značkovací jazyk (chápete? 😉), který vám umožňuje napsat něco v prostém textu s několika *velmi* jednoduchými pravidly a poté to převést do formátovaných výstupů, např. HTML. Je velmi oblíbený mezi vývojáři softwaru a programátory, právě kvůli své jednoduchosti (a dovolím si dodat, že je také skvělý pro pořizování poznámek!).

Například, chcete-li napsat rychlý nákupní seznam:

```
# Nákupní seznam
*Nezapomeňte* nakoupit co nejvíce během nadcházejících [výprodejů](http://acme-marg.com)!
## Potraviny
- pečené fazole
- špagety
## Papírnictví
- psací blok
- tužky
```

A jako výstup dostanete HTML, když použijete nástroj jako [pandoc](http://pandoc.org/):

```html
<h1 id="grocerylist">Nákupní seznam</h1>
<p><em>Nezapomeňte</em> nakoupit co nejvíce během nadcházejících <a href="http://acme-marg.com">výprodejů</a>!</p>
<h2 id="food">Potraviny</h2>
<ul>
<li>pečené fazole</li>
<li>špagety</li>
</ul>
<h2 id="stationery">Papírnictví</h2>
<ul>
<li>psací blok</li>
<li>tužky</li>
</ul>
```

Pěkné a jednoduché! Další syntaxi pro Markdown najdete [zde](https://daringfireball.net/projects/markdown/syntax).

### Co to tedy pro mě znamená?

Mnoho uživatelů LaTeXu je spokojeno se svými krásně vysázenými dokumenty v LaTeXu, ale nedokážou se ubránit náznaku závisti vůči uživatelům Markdownu — protože, no, značkování LaTeXu *lze* dokáže být někdy dost upovídané. Ano, seznamy, díváme se na *vás*...

Dobrá zpráva je, že ten skvělý nový [`markdown` balíček LaTeX](https://ctan.org/pkg/markdown) vám umožňuje psát markdownovou syntaxi ve vašich dokumentech LaTeX (tj. jednodušší vstupy) a přesto získat krásně vysázené PDF! Stačí jen načíst `markdown` balíček ve svém dokumentu a uzavřít svůj Markdownový obsah do `markdown` prostředí:

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
\begin{markdown}
# Nákupní seznam

*Nezapomeňte* nakoupit co nejvíce během nadcházejících [výprodejů](http://acme-marg.com)!

## Potraviny

- pečené fazole
- špagety

## Papírnictví

- psací blok
- tužky
\end{markdown}
\end{document}
```

Nebo pokud raději umístíte svůj Markdownový obsah do `*.md` souboru následující řádek:

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
\markdownInput{example.md}
\end{document}
```

Skvělé! To pravděpodobně velmi potěší typy vývojářů, protože teď mohou jednoduše zkopírovat svou `.md` dokumentaci!

### Mohu stále používat příkazy LaTeXu, když píšu Markdown?

Ano, v Markdownovém obsahu můžete stále používat příkazy LaTeXu! Stačí předat `hybridní` možnost na `markdown`:

```latex
\usepackage[hybrid]{markdown}
...
- psací blok (ten s velkým $E=mc^2$ na obalu)
```

### Jak mohu používat doslovné znaky jako '#' a '\_' (podtržítka)?

#### Zadávání znaku '#'

Znak '#' nelze napsat *uvnitř `markdown` prostředí*. Ani `\#` nebude fungovat. Musíte definovat příkaz jako `\newcommand{\texthash}{\#}`, a pak použít `\texthash` do vašich `markdown` prostředí. Podobně pro podtržítka, zejména když jsou na stejném řádku více než jedno, např. `$y = m_1 + n_2$`. Někdy může být jednodušší ukončit aktuální `markdown` prostředí a problematické řádky napsat v běžném režimu LaTeXu a pak spustit další `markdown` prostředí.

#### Zadávání '\_' (podtržítko) a '\`' (zpětný apostrof)

**Aktualizace** (přidáno 13. května 2017): Od `markdown` verze 2.5 můžete nastavit `underscores = false` a `codeSpans = false` k vypnutí podtržítek a zpětných apostrofů. To umožňuje psát matematické dolní indexy a uvozovky v hybridním režimu bez escapování. Pro zdůraznění máme hvězdičky, takže jediná věc, o kterou skutečně přicházíme, jsou ukázky inline kódu. Díky, Víte, za tip!

#### Prostředí, kterým je lepší se vyhnout...

A i když můžete použít zpětné apostrofy pro zápis inline doslovného textu, nebo odsadit řádek čtyřmi mezerami pro doslovný blok, nepoužívejte `lstlisting` ani `minted` prostředí LaTeXu uvnitř `markdown` prostředí. Prostě ne.

#### Použití HTML v prostředí markdownu

A ne, HTML nemůžete používat uvnitř prostředí LaTeXu `markdown` (i když je to v běžném Markdownu běžná věc). Omlouváme se.

**Aktualizace** (přidáno 13. května 2017): Od `markdown` verze v2.3 existuje `html` volba, která nebude zobrazovat HTML tagy doslova, pokud jsou přítomny ve vašem markdownovém obsahu, i když také nebude skutečně formátovat obsah tagu — tj. `<strong>Ahoj!</strong>` se zobrazí jen jako Ahoj! v normálním řezu. Ale HTML entity jako `&copy;` se vykreslí jako ©. Díky Vítovi, že na to upozornil.

### Doporučené volby balíčku markdown

Jedna sada `markdown` voleb balíčku, které se vám mohou hodit, je:

```latex
\usepackage[footnotes,definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown}
```

Tyto volby umožňují používat

* markdownovou syntaxi poznámek pod čarou (například `[^1]`);
* definiční seznamy a `#` pro číslované seznamy;
* „správné“ výpustky (…).

Zde je [kompletní příklad](https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm) v galerii Overleafu, a zde je [další](https://www.overleaf.com/articles/how-to-write-using-rich-text-format-and-markdown-in-latex-and-overleaf/dbqrxvftzskw).

### Hyperlinky a poznámky pod čarou: jak na to?

V příkladu v Overleafu je hypertextový odkaz poznámkou pod čarou. Jak z něj udělám hypertextový odkaz pomocí hyperrefu?

`markdown` je přizpůsobitelný, takže si můžete určit, jak se mají různé prvky vykreslovat. Přidání těchto řádků do preambule udělá přesně tohle:

```latex
\markdownSetup{renderers={
  link = {\href{#2}{#1}}
}}
```

**Aktualizace** (přidáno 13. května 2017): `rendererPrototypes` bylo použito v původní verzi. Běžným uživatelům se doporučuje používat `renderers` pro vlastní definice, protože `rendererPrototypes` je určeno tvůrcům balíčků, aby poskytovali výchozí hodnoty. Pokud upravíte `rendererPrototypes`, riskujete, že jiný balíček může vaše nastavení přepsat. Díky Vítovi, že na to upozornil!

### Vkládání obrázků (aktualizováno 8. listopadu 2022)

* **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.

#### Změna identifikátorů umístění plovoucích objektů (pokročilejší)

Markdownová syntaxe pro vkládání obrázků vám neumožňuje přímo určit identifikátory umístění plovoucích objektů, ale můžete je upravit předefinováním způsobu vykreslení obrázku:

```latex
\markdownSetup{renderers={
  image = {\begin{figure}[hbt!]
    \centering
    \includegraphics{#3}%
    \ifx\empty#4\empty\else
    \caption{#4}%
    \fi
    \end{figure}}
}}
```

Další informace najdete v [dokumentaci k markdownu](https://mirror.apps.cam.ac.uk/pub/tex-archive/macros/generic/markdown/markdown.html).

### Lze v LaTeXu vytvářet tabulky pomocí markdownu? 😀

Bohužel ne. Tabulky jsou podporovány pouze v [MultiMarkdown](http://fletcherpenney.net/multimarkdown/) a balíček LaTeX `markdown` to v současnosti nepodporuje.

**Aktualizace** (přidáno 13. května 2017): Na základě tipu od Víta je možné použít `contentBlocks` rozšíření syntaxe od verze 2.4, nebo upravit `inputFencedCode` renderer, abyste rychle převedli text ve stylu CSV na tabulku.

### Další vychytávky balíčku markdown...?

Jak už bylo zmíněno, je to skvělý způsob pro pořizování poznámek, a když se zkombinuje s některými pěknými třídami dokumentů LaTeXu nebo nastaveními balíčků, umožní vám mít krásný sešit přímo na konci přednášky. Například ho můžete použít s [třídami Tufte](https://www.overleaf.com/gallery/tagged/tufte):

```latex
\documentclass{tufte-handout}
\usepackage[footnotes,definitionLists,hashEnumerators,smartEllipses, hybrid]{markdown}
\begin{document}
\markdownInput{PHY303-lecture-12Nov2016.md}
\end{document}
```

A krátká a jednoduchá syntaxe, díky níž je psaní seznamů mnohem pohodlnější, znamená, že nyní máme *opravdu rychlý* způsob psaní [prezentací Beamer](https://www.overleaf.com/latex/examples/writing-beamer-slides-with-markdown/dnrwnjrpjjhw) a [plakátů](https://www.overleaf.com/latex/examples/writing-beamer-slides-with-markdown/dnrwnjrpjjhw)!

Bavte se!


---

# 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/clanky-do-hloubky/30-how-to-write-in-markdown-on-overleaf.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.
