Информационные технологии

3. Таблицы, код и формулы в markdown

Краткие теоретические сведения

Лекция

Таблицы

Рассмотрим пример таблицы markdown. Исходный код:

Номер | Название | Цена
------|:--------:|------:
1     | шило     | 10
2     | мыло     | 20
3     | веревка  | 40

Результат сборки:

Номер Название Цена
1 шило 10
2 мыло 20
3 веревка 40

В первой строке таблицы записывается шапка, колонки таблицы разделяются символом вертикальной линии.

Во второй строке идет описание колонок. Для каждой колонки необходимо набрать как минимум три дефиса. Для выравнивания колонки по центру с двух сторон от дефисов нужно добавить двоеточия, для выравнивания по правому краю двоеточие нужно добавить только после дефисов.

Вертикальные линии, разделяющие колонки, необязательно располагать друг под другом, это делается только для удобства чтения исходного кода. Количество дефисов во второй строке и количество пробелов в остальных строках значения не имеют.

Код

Для того чтобы сформировать выделенный текст, в markdown достаточно его набрать с отступом от начала строки на одну позицию табуляции (обычно 4 пробела). Этот текст будет моноширинным шрифтом и помещен в рамку, например (сравните ширину букв w и i обычного текста и в примере):

while()
if()

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

В случае если код начинается с символа, воспринимаемого в markdown как элемент списка, или если код располагается внутри списка или код располагается внутри строки, для выделения кода нужно использовать парный тег «```» (набирается клавишей, обычно расположенной на клавиатуре под клавишей «ESC»). Например: printf("Hello");.

Формулы

В markdown набрать математические формулы можно только с использованием дополнительных библиотек. Наиболее универсальный способ — использование библиотеки «MathJax». Она поддерживает различные языки разметки для набора математических формул, и, прежде всего, «Latex» и «MathML». Альтернативная библиотека Katex работает только с форматом «Latex», зато проще и быстрее.

В «Katex» по-умолчанию используются парные теги \\(...\))) для набора формулы непосредственно в тексте и $$...$$ для набора формулы в отдельной строке.

Например, формула $$ a=b+c, $$ где \( a=0 \).

может быть набрана следующим образом:

Например, формула $$ a=b+c, $$ где \\( a=0 \\).

В расширении «Markdown All in One» отображение математических формул настроено по другому. Предыдущий пример следует набирать так:

Например, формула 
$$a=b+c,$$ 
где $a=0$

Выключенную формулу нужно набирать отдельной строкой, а также следует избегать лишних пробелов.

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

Переменные могут быть набраны латинскими или греческими буквами. Латинские буквы набираются непосредственно, а для греческих есть специальные команды, например: \alpha – \(\alpha\)

Операции также могут быть набраны или непосредственно (например, +, –), или с помощью команд, например: \div — \(\div\).

Функции набираются с помощью специальных команд, например: \sin() — \(\sin()\).

Степени и индексы набираются с помощью значков «^» и «_» соответственно, например: w^{ij}_n — \(w^{ij}_n\).

Дробь можно набирать с помощью обычной косой черты (если формула в одну строчку), однако дробь имеет другой вид, если использовать команду \frac с двумя параметрами (числитель и знаменатель), например: \frac{1+x}{n}$ — \( \frac{1+x}n\).

Подробнее о наборе математических формул можно посмотреть на этой странице.

Задание к работе

Описанные ниже задания следует выполнять в одном markdown файле, для защиты лабораторной работы следует предоставить исходный код и сборку этого файла.

  1. Таблицы.
    1. Наберите в markdown такую таблицу:
      X Y X and Y
      0 0 0
      0 1 0
      1 0 0
      1 1 1
    2. Наберите в markdown такую таблицу (подсказка: для перехода на следующую строку внутри таблицы используйте HTML тег〈br〉):
      День Время работы
      Понедельник
      Вторник
      Среда
      Четверг
      Пятница
      8:00–17:00
      Суббота
      Воскресенье
      Выходной
  2. Листинги
    1. Наберите в markdown следующий код (примечание: внешний вид кода может заметно отличаться от того, что приведено в тексте, поскольку используются различные способы сборки markdown):
      printf("Hello world!");
      
    2. Наберите в markdown следующий код (подсказка: для задания отступа можно использовать символ Non-breaking space: « »):
      if (x>y)
           return x;
      
  3. Формулы
    1. Наберите формулу:

      $$a^2+b^2 = c^2$$

    2. Наберите текст с описанием метода решения квадратного уравнения.