> 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/ru/podrobnye-stati/32-markdown-into-latex-with-style.md).

# Markdown в LaTeX со стилем

**Обновление после публикации** (13 мая 2017): Мы благодарны Виту Новотному, автору/сопровождающему `markdown` пакета, за письмо нам с полезными замечаниями по поводу исходной статьи. Мы рады опубликовать эту обновлённую версию, в которой учтены и включены его советы и предложения.

### Введение

Некоторое время назад мы радовались выходу [`пакета markdown`](http://www.ctan.org/pkg/markdown) который позволил писать синтаксис markdown в документах LaTeX — и отметили это статьёй под названием [Как писать в Markdown в Overleaf](/latex/ru/podrobnye-stati/30-how-to-write-in-markdown-on-overleaf.md) целью которой было продемонстрировать часть поддерживаемого синтаксиса.

**Помните**: Вам нужно будет компилировать ваши `.tex` файлы с `--shell-escape` параметром, чтобы это работало в локальных установках LaTeX — Overleaf делает это за вас (автоматически). Имейте в виду, что большинство порталов для подачи в журналы не включают `--shell-escape`—если только вам не разрешено загружать лишь итоговый PDF вашей рукописи, ваши файлы LaTeX, содержащие markdown, могут не скомпилироваться успешно при обработке системой подачи издателя.

Одна из идей, на которую намекалось в [предыдущей статье](/latex/ru/podrobnye-stati/30-how-to-write-in-markdown-on-overleaf.md) в том, что сочетание markdown и LaTeX позволяет замечательно разделить содержание и оформление. Авторам (особенно тем, кто уже знаком с markdown) пришлось бы работать с гораздо более лаконичным синтаксисом (с некоторыми оговорками), при этом по-прежнему имея доступ ко всем достоинствам пакетов и шаблонов LaTeX, которые берут на себя стилизацию и форматирование. Эта [предыдущей статье](/latex/ru/podrobnye-stati/30-how-to-write-in-markdown-on-overleaf.md) приводила несколько примеров использования markdown в [презентациях Beamer](https://www.overleaf.com/read/dnrwnjrpjjhw) и [постерах](https://www.overleaf.com/read/jtbgmmgqrqmh): сегодня мы посмотрим на ещё более забавные и захватывающие возможности оформления!

### Использование markdown в оформленных шаблонах LaTeX

Помимо приведённых выше примеров, вы можете использовать markdown почти во всех шаблонах. Вот несколько быстрых примеров:

* Это [Оранжевая книга Лагранжа](https://www.overleaf.com/latex/templates/the-legrand-orange-book-template-english/jtctyfmnpppc) шаблон
* Это [Раздаточный материал в стиле Туфте](https://www.overleaf.com/latex/templates/handout-design-inspired-by-edward-tufte/dtsbhhkvghzz) шаблон
* Этот [очень хороший шаблон статьи](https://www.overleaf.com/read/xfsrpsmdtqvt) от Тьяго

Вы можете заметить, что два из них — шаблоны статей, а один — шаблон книги. Пакет [`пакета markdown`](http://www.ctan.org/pkg/markdown) определяет, доступна ли `\chapter` команда для использования в конкретном документе LaTeX и сделает заголовок первого уровня `markdown` отображаться как `\chapter` или `\section` соответствующим образом.

### Очень быстрые раздаточные материалы: markdown + pocketmod

С того момента, как я впервые узнал о markdown, он показался мне быстрым и удобным способом делать заметки: он отражает то, как я мог бы нацарапывать заметки на клочках бумаги или стикерах — особенно благодаря синтаксису маркированных и нумерованных списков. Когда я впервые создал [шаблон PocketMod](https://www.overleaf.com/read/nqbhpnrkskrx) в 2015 году, мне хотелось иметь способ писать markdown в LaTeX, чтобы я мог создавать PocketMod *с* markdown казался… уместным. Записывать заметки простым синтаксисом в маленьких сложенных брошюрках, но с красивой типографикой — некоторые называют PocketMod «зинами», потому что это маленькие 8-страничные брошюрки, которые можно сделать из одного листа бумаги формата A4.

И действительно, это оказалось возможно! Это довольно легко позволяет быстро создать [мини-брошюру еженедельного планировщика](https://www.overleaf.com/read/zfzcxygqwqsq) или маленькую [книжку с картинками и историей](https://www.overleaf.com/read/rppnsfgnrhsf). Да, моей дочери было забавно увидеть книжку-историю, сделанную из её собственных рисунков… ну, аж целых 10 минут!  [`пакета markdown`](http://www.ctan.org/pkg/markdown) позволяет вам настраивать, как каждый синтаксис markdown преобразуется в LaTeX, поэтому я переопределил стандартный `![](img_file "caption")` синтаксис так, чтобы подпись помещалась под файлом изображения (без какого-либо префикса «Figure» или нумерации), а затем вставил разрыв страницы. Это ещё больше упрощает создание книжки с картинками. Вот видео, показывающее, как сложить брошюру:

{% embed url="<https://www.youtube.com/embed/IAb31rIeGZo>" %}

### Простые брошюры с рецептами

Если задуматься, рецепт состоит из списков: списка ингредиентов, списка инструкций по подготовке или приготовлению и, возможно, списка примечаний (время приготовления, порции и т. д.). Поэтому вместо того, чтобы писать так:

```latex
\begin{enumerate}
\item Сначала сделайте это
\item Затем сделайте это
...
\end{enumerate}
```

Мне бы, конечно, хотелось иметь возможность писать так:

```
#. Сначала сделайте это
#. Затем сделайте это
```

И аналогично для ингредиентов:

```
- 2 яйца
- щепотка соли
```

Итак, чтобы легко создать быстрый рецепт, мы можем написать так:

```
# Яичница-болтунья

Время приготовления
: 5 минут

Порции
: 1

## Ингредиенты
- 4 яйца
- 1 ч. л. сливочного масла
- 1/4 стакана молока
- соль, перец (по вкусу)

## Инструкции

#. Взбейте яйца, молоко...
#. Растопите масло на сковороде...
#. ...
```

Хм, это выглядит многообещающе. Некоторые из нас в Overleaf (и наши семьи) внесли свои любимые быстрые рецепты (идеальные для начинающих кулинаров), и я на скорую руку смастерил (простите за каламбур)  [шаблон быстрого рецепта](https://www.overleaf.com/read/gscqdhnwzsfg) который можно написать с помощью markdown *и* и превратить в мини-брошюру.

[![A recipe booklet produced on Overleaf using markdown](/files/27b4345b0d4137cf774530432b6c97e251c6eb24)](https://www.overleaf.com/read/gscqdhnwzsfg)

Теперь начинается ещё немного веселья. Под капотом это по-прежнему LaTeX, так что мы можем продолжать оформлять различные элементы — заголовки разделов, маркированные списки, шрифты и так далее — с помощью обычного набора приёмов LaTeX. Именно тогда я, пожалуй, немного увлёкся и придумал *три* «темы» для `simple-recipe` класса!

### Бонус 1: Некоторые оговорки при использовании пакета markdown

* SyncTeX будет работать не совсем. В Overleaf это означает, что операции «позиция в предпросмотре» и «клик по предпросмотру для перехода к исходнику» не будут работать в `markdown` областях.
* `\\` теряет своё обычное значение: обычный приём «два пробела, за которыми следует новая строка» `markdown` приём здесь не работает, потому что завершающие пробелы будут удалены парсером Lua, как описано в [`markdown` документация пакета](http://texdoc.net/pkg/markdown). `\newline` однако будет работать.
* Будьте осторожны с несколькими символами подчёркивания в одной строке — это может быть проблемой, если:

  * вы работаете со множеством индексов в ваших уравнениях (совет: выйдите из `markdown` среды в таких случаях);
  * вы любите использовать подчёркивания в ваших ключах BibTeX.

  Вы можете установить `underscores=false` с последними `пакета markdown` файлами, чтобы подчёркивания для индексов работали, но это всё равно не будет работать с подчёркиваниями в ключах BibTeX.

  **Обновление** (13 мая 2017): Подчёркивания в ключах BibTeX будут работать с `markdown` версии v2.5.2 и новее — спасибо, Вит!
* У вас возникнут некоторые трудности с отображением буквального символа решётки, потому что даже `\#` не сработает! Обычно я определяю новую команду и использую её вместо этого.

### Бонус 2: Новые возможности в обновлённом пакете markdown

`markdown` v2.4 и более поздние версии добавили поддержку нескольких действительно приятных элементов синтаксиса:

* **Синтаксис встроенных сносок**: `...^[это сноска]` (требует `inlineFootnotes` параметра)
* **Цитирования:**`[@smith1990]` (требует `цитирования` параметра; также остерегайтесь подчёркиваний в ваших ключах BibTeX!)
* **Блоки кода с ограждением**: Вы можете использовать либо тильды `~` или обратные апострофы `` ` `` в качестве ограждения.

```
~~~~
int main() {
  cout << "Hello world!";
  return 0;
}

~~~~
```

Если вы хотите использовать эти новые возможности, обязательно загрузите обновлённые версии `markdown.lua`, `markdown.tex` и `markdown.sty` в свой проект — или вы можете просто создать новый проект из [этого шаблона](https://www.overleaf.com/read/whdrnpcpnwrm).


---

# 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/ru/podrobnye-stati/32-markdown-into-latex-with-style.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.
