Создание и оформление сложных таблиц в Markdown: синтаксис и онлайн-редактор

Как сделать таблицу в Markdown: стандартный синтаксис GFM

В спецификации GitHub Flavored Markdown (GFM) таблицы строятся с помощью вертикальных черт | для разделения колонок и дефисов - для отделения строки заголовка от тела таблицы. Если вы ищете способ, как сделать таблицу в markdown, достаточно освоить базовую конструкцию:

Markdown Таблица
| Параметр | Значение | Единица измерения |
| --- | --- | --- |
| Напряжение | 220 | В |
| Сила тока | 4,5 | А |
| Сопротивление | 48,9 | Ом |

Совет: крайние вертикальные черты ставить не обязательно, но их наличие делает исходный код заметно аккуратнее и облегчает чтение в текстовом редакторе. Если ячейки содержат степени или химические формулы, применяйте надстрочные и подстрочные индексы.

Выравнивание текста в колонках (влево, по центру, вправо)

По умолчанию текст в ячейках выравнивается по левому краю. Чтобы изменить выравнивание, используйте двоеточия : во второй строке-разделителе:

Синтаксис выравнивания
| По левому краю | По центру | По правому краю (числа) |
| :--- | :---: | ---: |
| Процессор Intel Core i7 | 8 ядер | 34 500 руб. |
| Оперативная память DDR5 | 32 ГБ | 12 800 руб. |
| Накопитель NVMe SSD | 1 ТБ | 8 200 руб. |

Числовые колонки с ценами, массами и датами по академическим стандартам всегда принято выравнивать по правому краю, чтобы разряды единиц и десятков находились друг под другом.

Многострочный текст, списки и формулы внутри ячеек

Классический Markdown воспринимает перевод строки как завершение строки таблицы. Чтобы разместить несколько строк текста внутри одной ячейки, используйте HTML-тег принудительного переноса <br>:

Переносы строк и формулы
| Модуль | Описание функционала | Формула расчета |
| :--- | :--- | :---: |
| Сервис авторизации | 1. Проверка JWT токена<br>2. Валидация прав доступа<br>3. Сессионный кэш в Redis | $T_{auth} < 15\text{ мс}$ |
| Расчет тарифа | Базовая ставка с учетом<br>коэффициента загрузки | $Cost = B \times (1 + k)$ |

В превью Markdown-проекта Labkeeper тег <br> работает. В LaTeX-проекте HTML-теги из Markdown-сегментов выбрасываются, и строки ячейки сольются в одну; для PDF с многострочными ячейками используйте таблицу в LaTeX-сегменте.

Объединение ячеек (colspan / rowspan) через теги HTML

Если таблица содержит составную шапку или объединенные ячейки по горизонтали и вертикали, стандартный синтаксис бессилен. В этом случае Markdown позволяет вставить чистые теги <table> с атрибутами colspan и rowspan:

HTML-таблица в Markdown
<table>
  <tr>
    <th rowspan="2">Студент</th>
    <th colspan="2">Результаты тестирования</th>
  </tr>
  <tr>
    <th>Теория</th>
    <th>Практика</th>
  </tr>
  <tr>
    <td>Алексей Смирнов</td>
    <td>95</td>
    <td>88</td>
  </tr>
</table>

Такой подход избавляет от типичных проблем со съезжающей сеткой при переходе с Word на легковесную разметку в дипломных проектах. Учтите, что HTML-таблица видна только в превью Markdown-проекта: в LaTeX-проекте она выбрасывается целиком, и объединенные ячейки там делают командами \multicolumn и \multirow.

Генератор таблиц Markdown онлайн: автоматизация рутины

Набивать таблицу из 10 столбцов и 30 строк вручную расстановкой палочек крайне утомительно. Для этого есть внешние сервисы — генератор таблиц markdown онлайн (например, Tables Generator): вставляете ячейки из Excel или Google Таблиц и копируете готовый синтаксис Markdown в документ. Визуального редактора таблиц в Labkeeper нет — таблица остается текстом сегмента.

Для таблиц измерений в Labkeeper есть путь удобнее: сохраните данные из Excel в CSV, загрузите файл в файлы проекта (загрузка доступна после входа) и выведите его вычислительным сегментом. Функция load_csv создает массивы с именами колонок файла, а table рисует из них таблицу:

Вычислительный сегмент
// В файле data.csv первая строка: U,I
load_csv("data.csv")
table(U, I, name_1="U, В", name_2="I, мА")

Таблица пересчитывается при каждом нажатии «Выполнить», поэтому после замены CSV ее не нужно переписывать.

Практические советы

1

Экранирование вертикальной черты

Если внутри текста ячейки требуется написать сам символ вертикальной черты (например, логическое ИЛИ || или модуль числа), экранируйте его обратным слэшем: \|.

2

Таблицы в LaTeX-проекте

В LaTeX-проекте Markdown-таблица из сегмента превращается в таблицу longtable и переносится на следующую страницу. HTML-таблицы и теги <br> при этом выбрасываются, поэтому сложные таблицы для PDF набирайте в LaTeX-сегменте.

Попробуйте прямо сейчас

Верстайте аккуратные таблицы в Labkeeper

Онлайн-редактор Markdown: HTML-таблицы с colspan/rowspan, формулы в ячейках и таблицы из CSV через вычислительный сегмент.

Другие статьи