Что такое Markdown и как им пользоваться
Markdown — язык текстовой разметки, созданный писателем и блогером Джоном Грубером. Он предназначен для создания красиво оформленных текстов в обычных файлах формата TXT. Вам не нужны громоздкие процессоры вроде Word или Pages, чтобы создавать документы с жирным или курсивным начертанием, цитатами, ссылками и даже таблицами. Достаточно запомнить простые правила Markdown, и можно писать хоть в «Блокноте». Хотя специализированные Markdown-редакторы, конечно, намного удобнее.
Этот язык разметки используется блогерами, писателями, редакторами и журналистами по всему миру. Всем, кто так или иначе связан с упомянутыми профессиями, будет полезно знать о нём.
Где можно использовать Markdown
Заметки
Редактор Markdown с файловой панелью (например, Atom или iA Writer) — это вполне достойная альтернатива Evernote и OneNote. Мы уже писали, почему Markdown хорош для организации вашей базы заметок.
Черновики для блога
Этот язык разметки совместим с кучей онлайн-редакторов и блог-платформ. Можно написать черновик для своего блога в Markdown, а потом опубликовать его за секунды — все ссылки, заголовки и форматирование будут выглядеть так, как вы и задумывали. Это вам не из Word копировать.
Markdown — Обзор языка разметки
Списки задач
В Markdown-редакторах очень просто создавать списки покупок, дел и рабочих заданий. Некоторые гики используют обычный текстовый файл todo.txt как альтернативу модным Wunderlist и Todoist. Как это сделать, можно узнать на сайте Todo.txt.
Мессенджеры
Даже некоторые мессенджеры поддерживают Markdown. Например, в Telegram вы с его помощью можете применить жирное или курсивное выделение.
Преимущества Markdown
Универсальность
Документы, написанные с использованием синтаксиса Markdown, представляют собой обычные текстовые файлы TXT. Их можно открыть на любой платформе и в любом редакторе. Этим они выгодно отличаются от файлов, созданных в текстовых процессорах. Пробовали открыть документ из Apple Pages в Word?
Простота
Markdown настолько прост, что его за 10 минут смогут освоить даже те, кто до этого не слышал про все эти ваши Latex и HTML. Решётки для подзаголовков, звёздочки для выделения, тире для списков. Проще быть не может.
Большой выбор инструментов
Редакторов для работы с документами Markdown очень, очень много. Есть и онлайновые, и мобильные, и настольные инструменты. Есть монструозный Atom, красивые и минималистичные ghostwriter и iA Writer, Vim для гиков и Ulysses для профессиональных писателей. Выбирай не хочу.
Конвертируемость
Документы Markdown легко экспортировать в любые форматы: PDF, DOC, ODT. При этом их форматирование остаётся неизменным.
Недостатки Markdown
Ограниченность форматирования
Так как документы Markdown представляют собой просто текстовые файлы, красивых шрифтов в них не применишь. Всё-таки это скорее инструмент для написания черновиков, чем для полноценной вёрстки.
Строгие правила
В Markdown текст оформляется посредством служебных символов. Один лишний знак * или #, и форматирование изменится. Так что при наборе текстов в Markdown придётся быть внимательным.
Базовый синтаксис
Тексты в Markdown оформляются посредством специальных символов, вставляемых перед или после слов и фраз. Вот самые простые правила, которые работают во всех редакторах.
Заголовки
Делать заголовки в Markdown чрезвычайно просто. Всё, что вам нужно запомнить, — символ #, он же решётка, он же хеш. Уровень заголовка определяется количеством решёток в нём, всего их может быть шесть. Выглядит это так:
Текст
Помимо заголовков, Markdown поддерживает и простое форматирование текста. Его можно сделать курсивным или жирным при помощи звёздочек и подчёркиваний:
*Курсив* и _Курсив_
**Жирный текст** и __Жирный текст__
***Жирный и курсивный текст***
Цитаты
Иногда какой-то абзац нужно выделить как цитату. В этом случае воспользуйтесь знаком >. Его необходимо проставлять перед каждой строчкой цитаты.
> Очень глубокомысленная цитата. Пожалуйста, прочтите её внимательно.
>
> Оскар Уайльд
Нумерованные и маркированные списки
Markdown позволяет создавать списки с любым уровнем вложенности. Маркированные списки делаются с помощью дефиса, проставляемого перед каждым пунктом:
— Первый пункт.
— Второй пункт.
— Третий пункт.
Нумерованные списки создаются точно так же, но с использованием цифр:
1. Первый пункт.
2. Второй пункт.
3. Третий пункт.
Можно составлять и смешанные списки с неограниченной вложенностью. Для этого нужно нажать Tab один раз или дважды на пробел.
1. Первый пункт.
— Первый подпункт.
— Второй подпункт.
— Третий подпункт.
2. Второй пункт.
— Первый подпункт.
— Второй подпункт.
— Третий подпункт.
Горизонтальные линии
Просто введите три раза (или больше) один из этих символов на клавиатуре: *, — или _, и в документ вставится горизонтальная линия. Если строкой выше над ней стоит ещё какой-то текст, он станет заголовком первого уровня. Линию можно использовать, чтобы разделять большие главы документа.
Ссылки и изображения
В ваши документы можно вставлять и ссылки на страницы в интернете. Делается это вот так: [заголовок_ссылки](сама_ссылка):
Аналогично в документ вставляются и изображения. Поставьте восклицательный знак, подпись к изображению в квадратных скобках и ссылку на него в круглых скобках. Можно указывать ссылки на картинки как из интернета, так и на хранящиеся на жёстком диске. Подпись указывать необязательно. Выглядит это следующим образом:
Эскапированные символы
Иногда вам нужно вставить в документ какой-нибудь символ, который относится к синтаксису Markdown. Вы печатаете его, и форматирование меняется, хоть вам это и не нужно. В таком случае перед техническими символами нужно ставить обратный слэш — .
Расширенный синтаксис
Чуть более сложные элементы оформления текстов, которые можно использовать в редакторах, поддерживающих GFM (GitHub Flavored Markdown). GFM — расширенная версия обычного Markdown. Тут есть таблицы, смайлы, зачёркнутый текст и прочие мелочи. GFM используется в большинстве редакторов.
Зачёркнутый текст
Расширенный синтаксис Markdown GFM позволяет зачёркивать текст, заключая его в двойные тильды ~~.
Таблицы
Если ваш редактор поддерживает GFM, то в нём можно создавать простенькие таблицы. Для таблиц используйте символы | и -. Примерно так:
Списки дел
В Markdown есть даже своеобразные списки задач — аналог чекбоксов в OneNote или Evernote. Вот как они выглядят:
— [ ] Невыполненная задача
— [ ] Невыполненная задача
— [X] Выполненная задача
Эмодзи
В GFM есть ещё несколько мелочей, которые могут пригодиться вам при форматировании текста. Например, эмодзи. Чтобы добавить смайл, нужно напечатать соответствующий код и заключить его в двоеточия:
Посмотреть коды эмодзи можно здесь.
Код
Поскольку GFM создавался для программистов, в нём есть специальное форматирование для кусков кода. Код выделяется символом `, то есть грависом. Окружив слово или фразу грависами, можно создавать строчки кода:
`Какой-то очень важный код.`
А три грависа позволяют отметить целый блок кода. Ещё это полезно, чтобы выделить целый абзац.
«`
Целый абзац очень важного кода.
И ещё строка.
И ещё.
«`
Приложения для Markdown
Вы легко сможете выбрать понравившийся текстовый редактор из нашей подборки. Одним из лучших для Markdown считается Atom — он хорош своей невероятной гибкостью и универсальностью. Работает в Windows, macOS и Linux и обладает огромным количеством тем и расширений. Из него очень просто собрать редактор мечты.
Пользователям macOS стоит обратить внимание на красивые и удобные редакторы iA Writer, Write и Byword.
Источник: lifehacker.ru
Введение в Markdown: главное, что вы хотели знать о разметке, но стеснялись спросить
- Markdown должен быть простым для чтения и письма, насколько только возможно.
- Приоритет — удобству чтения. Markdown-документ должен публиковаться как есть и напоминать обычный текст — без тегов или сложных элементов форматирования.
- Источник вдохновения для синтаксиса Markdown — обычное текстовое сообщение электронной почта из 2004. Точнее: знаки пунктуации, которые в нем помещаются.
Если суммировать, то практический смысл Markdown в простоте: чтобы каждому веб-автору было как можно проще готовить тексты для публикации в интернете. Например, вы пишете текст и добавляете к словам различные символы: решетки, звездочки, подчеркивания и прочие элементы. Разметка готова — текст по-прежнему удобно читать, а на сайте он будет выглядеть, как отформатированная HTML-страница.
Ниже видео рабочего процесса от разработчиков iA Writer — в левой части текст набранный в формате Markdown; в правой — отформатированный вариант (то, как текст выглядит в браузере):
Как запомнить нужные элементы разметки
Изучить Markdown несложно: достаточно посмотреть техническую документацию по синтаксису и потренироваться обрамлять текст в интерактивном тренажере. Нюанс в том, что после 2004 года Джон Грубер не обновлял разметку и не захотел развивать проект совместно с другими разработчиками. Поэтому сейчас у Markdown нет единого стандарта и каждая крупная площадка публикует свою инструкцию. Вот популярные для айтишников:
Базовый синтаксис во многих инструкциях совпадает, но специфические способы форматирования текста могут отличаться. Еще нюанс: правила одной площадки необязательно будут работать на другой. Чтобы было понятно — рассмотрим некоторые специфические функции разметки Markdown, которые есть на GitLab и Stack Overflow.
Диалект Markdown для GitLab:
Вы можете добавлять цвета в форматах: HEX, RGB, или HSL:
Можете описывать диаграммы и блок-схемы. Например, прописать схему «Русалочка»:
Визуальное отображение схемы «Русалочка»:
Можете добавить в текст эмодзи:
Вот еще несколько опций, которые доступны в Markdown-версии GitLab: вы можете автоматически добавлять метаданные к страницам, использовать встроенные теги, математические формулы и символы, списки задач, оглавления, ссылки и другое.
Чтобы реализовать описанный функционал, команда GitLab разработала собственную версию Markdown, которая называется GitLab Flavored Markdown. В техдокументации GitLab указано, где заканчивается стандартная часть и начинается специфический синтаксис Markdown. Другие площадки тоже обычно дают подобные пояснения.
Диалект Markdown для Stack Overflow:
На Stack Overflow расширения GitLab Flavored Markdown не работают — вы не можете добавлять цвета в разных форматах, использовать схему «Русалочка», эмодзи и прочую красоту. Дополнительные возможности Markdown ограничены тут лишь несколькими опциями форматирования текста. Например, можно настроить подсветку синтаксиса для кода, обрамить текст в спойлер, привязать страницу к тегам, настроить таблицы и добавить сокращенные ссылки в комментарии.
Stack Overflow никак не называют свою версию Markdown — для них это просто расширения стандартного синтаксиса. При этом, расширенная версия Stack Overflow не работает на GitLab. То есть с помощью разметки Markdown от Stack Overflow вы не сможете добавить сокращенные ссылки к комментариям на GitLab.
Чтобы не утонуть в многообразии инструкций — в первую очередь изучите справочник и интерактивный тренажер на сайте CommonMark. После — знакомьтесь с чем угодно.
CommonMark — это ответвление от классической версии Markdown Джона Грубера. Проект появился потому, что классическая версия оказалось сырой и не получала обновлений — неизвестно точно почему, но Джон Грубер не хотел второй версии.
Рассмотрим проблему на примере. Напишем в Markdown неупорядоченный список:
Теперь Markdown переводит нашу запись в HTML:
В теории, после такой процедуры мы должны получить список. Но проблема классической версии Markdown в том, что при переводе в HTML к абзацам автоматически добавляется тег
. Чтобы тег не добавлялся — между пунктами списка должна находиться пустая строка. Если ее нет — синтаксический анализатор может дать сбой и вместо списка отобразить каждый пункт списка в виде отдельного абзаца. Этот пример обсуждался на форуме и есть 15 вариантов отображения данного фрагмента.
Эта и множество подобных ошибок делали Markdown непредсказуемым инструментом: веб-авторы и программисты не могли заранее знать, как поведет себя разметка и каким будет текст после публикации в интернете. Плюс, это создавало неудобство на техническом уровне: если несколько пользователей писали Markdown-документы в разных редакторах, то при слиянии или обмене файлами не всегда соблюдался единый стиль оформления — слетали списки, ссылки, цитаты, изображения и прочие элементы.
CommonMark можно считать версией Markdown 2.0. Это форк , который развивается группой разработчиков и поддерживается всеми крупными площадками, начиная с GitHub. В нем нет ошибок вроде непредсказуемого отображения списков, а все новые проблемы постепенно дорабатываются. Можно сказать, что CommonMark стандартизирует базовый синтаксис, на который остальные площадки накладывают свои дополнения. Полистайте примеры выше с GitLab и Stack Overflow: все общее на этих площадках от CommonMark, а различия — личная инициатива.
Если выучите синтаксис CommonMark, считайте, вы знаете 80% современной разметки Markdown. Еще 20% — это специфический синтаксис тех площадок, на которых вам придется работать. Специфика нужна не всегда, а база обязательна.
Как выбрать первый текстовый редактор
Разметку Markdown можно использовать в любом редакторе кода. Например, в VS Code: достаточно открыть нужный файл и из доступных форматов выбрать Markdown. Это не сложно для опытных программистов, но может стать проблемой для новичков — дело в системе контроле версий Git, которая нужна для хранения файлов в облаке.
Если вы еще не успели изучить Git — это раздел для вас. Мы рассмотрим, как выбрать обычный текстовый редактор для работы с Markdown. Фишка обычных редакторов в том, что они автоматически сохраняют файлы на собственных облачных сервисах или позволяют подключать внешние хранилища. Например, Dropbox или Google Диск.
Дальше вы узнаете, какие редакторы бывают, стоит ли их покупать и с чего начать знакомство.
Есть три вида текстовых Markdown-редакторов: платные, условно платные и бесплатные. Платные — это программы, которые вы не можете использовать, пока не купите. Условно платные — это редакторы с ограниченными функциями. Например, вы можете сделать 50 бесплатных заметок, а если захотите больше — оформляйте подписку. В бесплатных редакторах за все функции и обновления платить не нужно.
У платных редакторов два преимущества: дизайн и фишки от разработчиков. За счет этого работа с текстом упрощается, но это все тот же Markdown. Дальше примеры.
IA Writer
Начнем с платного редактора iA Writer, который заточен на сфокусированную работу с текстом. Вы получаете пустую страницу и скрытые из вида настройки. Можно включить режим печатной машинки и Focus Mode, чтобы оттенить ненужные предложения или абзацы. Перед вами будет текущая строка — то, на чем важно сфокусироваться.
Во всех трех приложениях один и тот же Markdown, но отображается по-разному: в UPNote разметка замаскирована, в iA Writer нет, в Bear — частично: заголовки, ссылки и прочие элементы выделяются и занимают свободное пространство редактора.
Среди прочих функций UPNote можно выделить:
- Сохранение истории версий заметки с возможностью восстановления.
- Раскрашиваемые раскрывающиеся разделы.
- Двунаправленные ссылки для организации базы знаний.
- Много других удобных функций.
Киллер-фича UPNote — возможность отправить ссылку на заметку другим пользователям. Если вы перейдете по ссылке, то увидите весь черновик предыдущего раздела. К сожалению, его пока нельзя совместно редактировать, как это умеет Google Docs.
Мы не рекомендуем платные редакторы новичкам, поскольку большинство их возможностей доступны бесплатно. Например, в программах Obsidian или Zettlr.
Zettlr
В редакторе Zettlr меньше функций, но вот сравнение с некоторыми популярными приложениями:
Zettlr — программа, созданная для обработки больших объемов документации. Для этого в редактор встроен гибкий поиск, функция одновременной работы с несколькими текстами и система внутренних ссылок для организации файлов по методу Zettelkasten.
2. Обращайте внимание на формат хранения
Данные должны храниться в читаемом и надежном формате — это совет на тот случай, если захотите поэкспериментировать с редакторами без поддержки Markdown. Например, OneNote от Microsoft — бесплатное кроссплатформенное приложение с множеством функций, которые работают в браузере, смартфоне и десктопном формате.
Проблема: файлы OneNote сохраняются в «Формате записной книжки» разных годов выпуска приложения. Поэтому если вы поделитесь файлом, но у получателя не будет OneNote или он воспользуется несовместимой версией, то содержимое не удастся прочесть.
3. Всегда выбирайте кроссплатформенность
Отдавайте предпочтение приложениям, которые одинаково выглядят и работают в любой операционной системе. Это подстраховка на случай, если когда-то придется поработать за чужим компьютером. Здесь проигрывают приложения вроде Bear, где разработчики ограничиваются рамками одной экосистемы.
Что дальше
Когда выберете приложение — инвестируйте время в его изучение и не гонитесь за функциями. Новинки выходят постоянно и ошибка — пытаться найти идеальный вариант. Здесь работает один из Законов Мерфи: принцип, согласно которому соседняя очередь всегда движется быстрее.
Погоня за функциями скорее всего приведет в петлю прокрастинации — вместо реальной работы вы будете зациклены на инструменте. Помните, что мастерское владение инструментом нивелирует нехватку опций. Доказательство: история Эрика Рота, который написал весь сценарий к «Дюне» Вильнева в программе Movie Master 1981 года, способной держать в памяти не более 40 страниц.
«Главная ошибка собеса — подгонять ответы». Рекрутеры рассказали о найме в IT
Откуда берутся IT-рекрутеры, с какими трудностями они сталкиваются в попытках закрыть позиции и какие ошибки сами совершают на интервью — полезно знать перед тем, как искать работу.
Изображения: Aртем Марков
Нашли ошибку в тексте — выделите её и нажмите Ctrl+Enter. Нашли ошибку в тексте — выделите её и нажмите кнопку «Сообщить об ошибке».
Источник: bbbl.dev
Markdown: что это и кому нужно
В вебе есть стандартный язык разметки — HTML. Его понимают браузеры, но человеку читать чистый HTML-код тяжело — мешают теги и обилие служебной информации. Например, наша главная страница в HTML выглядит как-то так:
Чтобы понять, почему так, нужно вспомнить истоки HTML. Когда его только создавали, у него была задача описывать гипертекстовые документы: то есть документы, в которых будет текст и гиперссылки. При этом передаваться он должен был по очень медленным каналам. Первые HTML-страницы были минималистичными: только текст, заголовки, таблицы и редкие ссылки.
Постепенно веб развивался, сайты становились всё сложнее: появлялся дизайн, меню, навигация, картинки, табличная вёрстка. Но всё это по-прежнему выражалось языком простых текстовых документов. В него добавлялись новые теги, он усложнялся, и вот дорос до тех джунглей, в которых нам приходится работать сейчас.
Весь веб, который вы сейчас видите, сделан на «костылях» от простого языка для разметки текста.
Что такое Markdown
Markdown — это язык текстовой разметки документов. Его придумали в 2004 году блогер Джон Грубер и интернет-активист Аарон Шварц, чтобы быстро форматировать статьи. Требования к языку у них были такие:
- Чем проще — тем лучше.
- Документы с этой разметкой можно перевести в красиво отформатированный вид, как на веб-странице.
- Исходный текст материала должен оставаться читаемым даже без преобразования в веб-страницу.
В результате у них получился простой язык, который активно используется до сих пор.
Смысл маркдауна в том, что вы делаете разметку своего документа минимальными усилиями, а уже какой-то другой плагин или программа превращает вашу разметку в итоговый документ — например в HTML. Но можно и не в HTML, а в PDF или что-нибудь ещё. Маркдаун — это как бы язык для других программ, чтобы они формировали документы на основе вашего текста.
Единственное, что вам может понадобиться, — настроить в этом плагине шрифты, отступы и цвета, чтобы результат выглядел красиво. Один раз настраиваете, а потом быстро пишете много материалов, которые на выходе превратятся в готовые статьи с хорошей разметкой.
Синтаксис
Для оформления заголовков используют решётку. Одна решётка — заголовок первого уровня, две — заголовок второго уровня, и так до пятого. Посмотрите на скриншотах выше, как это работает.
## Это будет заголовком второго уровня (как Синтаксис в этом разделе)
Чтобы выделить слово или абзац, используют одну звёздочку в начале и в конце:
*вот так* → вот так
Если нужно выделить сильнее, берут две звёздочки:
**выделяем текст сильнее** → выделяем текст сильнее
Зачёркивают двумя тильдами:
~~зачеркнули и всё~~ → зачеркнули и всё
Для оформления кода используют обратный апостроф: `.
`Пример кода` → Пример кода
Если нужно оформить много строк кода, тогда перед каждой из них ставят 4 пробела или один таб. Ещё можно взять такой блок в три обратных апострофа подряд — в начале и конце кода:
Чтобы сделать ненумерованный список, каждый элемент начинают с символов * , — или + .
Нумерованные списки делаются из цифры с точкой, причём цифры могут быть любыми и идти не по порядку. Смотрите:
1. Один
3. Три
10. Десять
Ссылка состоит из текста ссылки и адреса. Текст пишется в квадратных скобках, а адрес — в круглых. То, что в кавычках, можно не писать и оставить в скобках только адрес:
[Текст ссылки](https://thecode.media/ «Необязательный заголовок ссылки»)
Картинки вставляются точно так же, только добавляется восклицательный знак в самом начале:

Как работает эта магия
Если мы просто напишем текст и разметим его с помощью Markdown, то он так и останется текстом с разными спецсимволами. Чтобы результат выглядел как на скриншоте выше, используют специальные редакторы, плагины или программы, которые поддерживают этот язык разметки.
Работает это так:
- Программа берёт текст и смотрит, есть ли в нём эта разметка.
- Если есть — применяет нужное правило оформления к нужному фрагменту текста и выводит его красиво. Если нужно — подставит картинку, сделает ссылку и сама оформит список.
- Если разметки нет — выводит содержимое просто как текст.
Такое работает не в каждом редакторе — если в Word выделить текст звёздочками, то это так и останется текстом со звёздочками, без курсива или жирного оформления. Но почти все редакторы понимают, когда в них вставляют текст, размеченный маркдауном. Они тогда сразу выделяют нужные фрагменты, делают заголовки и вставляют картинки.
Зачем использовать Markdown
- Если вам нужно простое оформление текста без изысков или вам нужно быстро подготовить материал к публикации без сложной вёрстки.
- Если вы делаете блог или другой статичный сайт, на котором хотите размещать свои тексты с лаконичным дизайном.
- Вы хотите писать красивые сообщения в WhatsApp или Telegram.
- Вы программист и пишете документацию к своему проекту на GitHub
Но во всех этих случаях вам нужно одно — сделать минимальную вёрстку текста так, чтобы он выглядел опрятно и чтобы его можно было прочитать и без специальных программ.
Что дальше
Скоро покажем, как запустить свой блог, используя Markdown и плагин для быстрого преобразования HTML-файлов. А там уже и до своего языка разметки недалеко.
Источник: thecode.media
Markdown в науке
С распространением персональных компьютеров научные статьи, а также книги, методические пособия и учебники, обрели новый носитель. Осталась в прошлом печатная машинка и текст с отступами, куда впоследствии аккуратно вставлялись формулы и рисунки от руки. Математические формулы с появлением TeX набирают обычным текстом. Сейчас TeX уже не просто программа верстки, а способ записи формул. Даже если Вам не довелось с ним работать, а подготовка документа ассоциируется с Word, удобным и быстрым способом ввода формулы в Word служат те самые команды из TeX.
Интернет и эпоха Web 2.0 существенно изменили метод подготовки научных публикаций. Сейчас мы читаем статьи с экранов компьютеров, смартфонов и электронных книг, а не только с бумаги. Крайне желательно, чтобы работа над текстом по превращению журнальной статьи в энциклопедическую вики-справку, в презентацию, или же в содержимое сайта, не требовала чрезмерных усилий. Далее мы рассмотрим решение означенной проблемы с помощью текстовой разметки Markdown и попробуем представить себе дальнейшее развитие технологий.
В чём особенность Markdown-разметки? Почему бы не использовать LaTeX?
Хорошо, но это же свойство есть и у файлов LaTeX? Да, но. Сравните:
begin title maketitle section Здесь мы рассмотрим несколько проблем. begin item Разметка предназначена для человека или машины? item Нужны ли emph инструменты и какие? end end
# Разметка Markdown ## Введение Здесь мы рассмотрим несколько проблем. * Разметка предназначена для человека или машины? * Нужны ли _особые_ инструменты и какие?
Кого не отпугнул LaTeX «программированием» и логической (а не визуальной) разметкой, тот всё еще потратит немало сил на борьбу с ним. Цикл «внес изменения — скомпилировал, прочёл — внёс изменения» не самый продуктивный способ работы с текстом. Да и не все способны к отрисовке формул TeX в голове!
Да простят мне эту инвективу поклонники LaTeX’а, хоть и задумано, что Вам не нужно думать об оформлении, только о содержании, остальное возьмет на себя LaTeX… но, будем честны, это не всегда так! Кто верстал диссертацию или автореферат под вкусы конкретного диссертационного совета, а вкусы у них бывают очень специфичны, тот поймет. Вот одна хорошая инструкция, как писать диплом в LaTeX — Как я написал диплом по химии с (Xe)LaTeX. Под катом мой опыт — посмотрите и оцените сложность задачи для себя.
Преамбула для удовлетворения вкусов какого-то диссовета
LaTeX великолепен в сложных задачах, требующих безупречной верстки. Пусть местами умозаключения еще сырые, но ничто не сравнится с тем чувством, когда идеальные колонки текста обтекают формулы, а таблицы и иллюстрации дышат гармонией. С первого взгляда становится ясно — серьезная статья. Выглядит умно и строго. Мотивирует.
Подружить TeX-разметку с вебом, сделать правку независимой от огромного набора пакетов и самой программы LaTeX, тем не менее, совсем непросто.
С помощью таких инструментов как LyX отчасти удаётся преодолеть порог вхождения. Как ни отрицай, но делать таблицы и сложные формулы проще WYSIWYG (визуально) и LyX тут очень хорошо помогает. Однако, LyX работает поверх LaTeX, тот поверх TeX и вся эта система подчас громоздка.
Желаемое
Хочется простой, всем и всеми читаемый текст, чтобы применяя к нему автоматизированные фильтры получать:
- пригодную к отправке в журнал статью (препринт),
- контент блога,
- слайды презентации,
- техническую документацию.
Препринт
Начнём с первого пункта. Есть множество редакторов Markdown удобных для коллективной и индивидуальной работы. У себя дома я предпочитаю Typora, а всем вместе можно воспользоваться StackEditPro. Выбор редакторов широк и здесь проблемы нет. Макет сделаем с использованием расширенного синтаксиса Markdown, который реализован в конвертере Pandoc.
Макет статьи с использованием расширений Pandoc: paper.md
Конвертируем в формат LaTeX:
pandoc —filter panflute —natbib —variable —biblio-style=./styles/american-chemical-society.csl —bibliography=paper.bib -s paper.md -t latex > paper.tex
Стили библиографических ссылок доступны в репозитории Zotero. Программа Panflute отвечает за обработку библиографии. Различные варианты тонкой доводки описаны в статье How to write academic papers in Markdown.
Я удовлетворился простой проверкой работы конвейера Markdown -> LaTeX -> PDF, и полагаю, что при желании вполне можно сделать свой аналог Authorea. Скажем, на фреймворке bangle.dev реализовать WYSIWYG онлайн-редактор Markdown со специфическим набором расширений, а экспорт препринтов доверить Pandoc и товарищам.
Взглянуть бы на современный отечественный журнал, что принимает статьи в Markdown, не придираясь с мелочной дотошностью: нам пожалуйста файлом MS WORD, Times New Roman 14 пунктов, ссылки оформить согласно ГОСТ. С удобным интерфейсом загрузки манускрипта, данных, иллюстраций. Мечты.
Контент блога
Разметка Markdown прекрасно подходит для статических генераторов сайтов. Вы переносите текст, иллюстрации и математику из статей в свой блог. Лучше один раз увидеть — вот образец того, что достижимо. Wowchemy — конструктор веб сайтов на фреймворке Hugo. Понравилось? Вы или ваша исследовательская группа решили завести такой сайт?
Расскажу вкратце о том, какие есть подводные камни.
- Нужен аккаунт на GitHub и некоторое понимание принципов работы с репозиториями кода.
- Помимо разметки Markdown, активно используется разметка YAML.
Это совсем не сложно. YAML-разметку я уже приводил в макете статьи с Pandoc. Вот так она выглядит:
— title: «Pizza — A Carbohydrate Based Substrate For Tomato Delivery» date: «Apr 2021» author: «Sergei Malykhin, Pizza Enthusiasts Institute» —
Считайте, что YAML — ближайший родственник Markdown. Еще одна читаемая разметка. По-моему, даже новичку в IT вполне по силам. Так выглядит описание страницы блога:
— title: Slides summary: An introduction to using Wowchemy’s Slides feature. authors: [] tags: [] categories: [] date: «2019-02-05T00:00:00Z» slides: # Choose a theme from https://github.com/hakimel/reveal.js#theming theme: black # Choose a code highlighting style (if highlighting enabled in `params.toml`) # Light style: github. Dark style: dracula (default). highlight_style: dracula — # Create slides in Markdown with Wowchemy [Wowchemy](https://wowchemy.com/) | [Documentation](https://owchemy.com/docs/managing-content/#create-slides) — ## Features — Efficiently write slides in Markdown — 3-in-1: Create, Present, and Publish your slides — Supports speaker notes — Mobile friendly slides
Презентации в Markdown
Последний пример показывает как делаются презентации с помощью Markdown. В нём мы разбиваем текст на слайды с помощью символов — . Pandoc позволяет конвертировать их в адаптированный под пакет beamer LaTeX. Далее тот компилируется в PDF файл презентации.
Pandoc в качестве разделителя слайдов использует строки # Название слайда :
— author: Sergei Malykhin title: Awesome Markdown Presentation! institute: Habr theme: Berlin — # Slide 1 This is my first slide # Slide 2 $a^2 + b^2 = c^2$
Другая возможность делать слайды — программа Marp. Она доступна как плагин к IDE Visual Studio Code. Очень хорошо подходит тем, кто делает презентацию используя фрагменты из кода и документации к своей программе.
Вы просто включаете в шапке Markdown текста строки
— marp: true —
И получаете окно с предварительным просмотром презентации.
Документация
Markdown словно создан для документирования программ, однако, жизнь усложняется тем, что единых стандартов нет. Например, я использую Documenter.jl для генерации документации к своему пакету на языке Julia. А в нем соглашение следующее:
Here’s some inline maths: «sqrt[n]«.
Вместо $sqrt[n]$ тут апострофы! Ничего не поделаешь, приходится писать свой фильтр из одного синтаксиса в другой.
Фильтр Markdown для Documenter.jl и обратно
Я не единственный, кто столкнулся с этой проблемой, универсального решения не нашёл. Больше на эту тему рассказано в посте Статьи — это тоже исходный код
Возможности, которых еще нет, но хотелось бы
Химикам приходится постоянно иметь дело со структурными формулами. Для них тоже есть подходящий для чтения и машинной обработки формат, но нет фильтра для преобразования его в изображения. Речь идёт о SMILES (Simplified Molecular Input Line Entry System — «система упрощённого представления молекул в строке ввода»). Например, афлавотоксин B1
Почему бы ему не быть отрисованым WYSIWYG редактором Markdown? Программа OpenBabel это умеет делать на лету. Кроме структур, полезно иметь возможность включать небольшие графики, 3D структуры молекул, как это делается встраиванием плагина JsMol.
Словом, еще есть куда развиваться. Имеется JavaScript библиотека ChemDoodle Web Components, её бы соединить с Typora — все химики будут ваши.
Идеи, заложенные в разметку Markdown, несмотря на кажущуюся простоту и очевидность, (давайте сделаем разметку удобной человеку) несут в себе большой потенциал. Вместо утомительной работы по перегонке информации из переписки в статьи, со статей в презентации, с них в книги и документацию к программам, мы получим много свободного времени для творческой работы. Уже сейчас совместная работа и подготовка слайдов достаточно удобны. В будущем, как мне хочется надеяться, оформление публикаций перестанет быть вавилонским столпотворением и вместо настройки пакетов LaTeX, составления библиографических стилей bibtex, оформления и компоновки таблиц и рисунков мы будем иметь задачу только ясно изложить свою мысль.
Наши серверы можно использовать для разработки и просчета научных экспериментов.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Источник: habr.com