Skip to content

Latest commit

 

History

History
661 lines (512 loc) · 33 KB

demo-main.md

File metadata and controls

661 lines (512 loc) · 33 KB

csl: gost-r-7-0-5-2008-numeric-iaa.csl bibliography: demo.bib references:

  • id: fenner2012a title: One-click science marketing author:
    • family: Fenner given: Martin container-title: Nature Materials volume: 11 URL: 'http://dx.doi.org/10.1038/nmat3283' DOI: 10.1038/nmat3283 issue: 4 publisher: Nature Publishing Group page: 261-263 type: article-journal issued: year: 2012 month: 3 ...

Заголовок первого уровня (нумерованный, в отличие от предыдущего) {#sec:chapter1}

По умолчанию заголовки иерархично нумеруются. После заголовка любого уровня может быть текст (с красной строки).

Жирный текст

Курсивный текст

Жирный курсивный текст

Верхние и нижние индексы: H2O is a liquid. 2^10^ is 1024.

Заголовок второго уровня

Заголовок третьего уровня

Заголовки до третьего уровня включительно попадают в оглавление.

Заголовок четвёртого уровня

Заголовок четвёртого уровня, настолько длинный, что не помещается в\ одну строку

Заголовок пятого уровня, настолько длинный, что не помещается в\ одну строку
Заголовок шестого уровня, настолько длинный, что не помещается в\ одну строку {#sec:my-favorite-section}

На этот раздел потом будет ссылка.

Заголовок третьего уровня, настолько длинный, что не помещается в\ одну строку

Заголовок второго уровня, настолько длинный, что не помещается в\ одну строку

Заголовок первого уровня, настолько длинный, что не помещается в\ одну строку {#sec:my-chapter}

На эту главу тоже будет ссылка.

Оставим тему заголовков, перейдём к спискам.

Списки {#sec:chapter-lists}

Списки бывают нумерованные и маркированные. Простые перечисления (маркированные) отделяются запятой, сложные (нумерованные) — точкой с запятой. Пункты нумерованных списков начитаются с «1.» или любого числа с последующей точкой. Пункты ненумерованных списков начинаются с «* », «- » или «+ », никакой разницы нет.

  1. Нумерованный;
  2. Список.

Обычный текст между списками.

  1. Ещё один;
  2. Нумерованный;
  3. Список.
  1. Второй нумерованный,
  2. список,
  3. подряд.

Ещё абзац обычного текста между списками. Он специально сделан достаточно длинным, чтобы не помещаться в\ одну строку.

  • Маркированный,
  • список,
  • из трёх пунктов.

Списки бывают компактными и разреженными. Они имеют разные стили в Ворде. Разреженные списки пишутся в Markdown с пропусками строки между пунктами.

  • Разреженный,

  • маркированный список,

  • из трёх пунктов.

Перейдём к более сложным примерам.

  1. Пункт нумерованного списка, не помещающийся в\ одну строку. Во все времена люди думают, но боятся спросить вслух: а как вообще поступать с форматированием многострочных пунктов списка, после которых идёт ещё вложенный подсписок? И никто не может найти хорошего ответа.

    1. Вот тот самый вложенный пункт нумерованного списка. В Markdown он отбит четырьмя пробелами от начала строки (4 пробела соответствуют 1 уровню вложенности). А ещё этот пункт состоит из двух абзацев.

      Вот обещанный второй абзац. В Markdown он отбит восемью пробелами (два раза по 4). У\ него нет красной строки (как и вообще у абзацев в списках), зато он отделен вертикальными промежутками.

    2. Ещё один вложенный пункт. Обратите внимание, что нумерация пунктов второго уровня включает номера предыдущего уровня. Это правило рекурсивно, но его применения можно избежать (см. ниже).

  2. Второй пункт нумерованного списка

    Он начинается с обычного абзаца текста. Ничто не предвещает беды. Но вдруг...

    1. Почему бы после абзаца не начать вложенный нумерованный список? Это вполне жизненная ситуация. Это нормально — ставить вложенные нумерованные списки вперемежку с обычными абзацами.

    2. Второй пункт нумерованного вложенного списка.

      • А теперь мы просто утонем...

      • ...в степенях вложенности

        • списков
        • различного вида

        Абзац текста, идущий после списка 4-го уровня вложенности, но сам не являющийся пунктом списка.

        i. Нумерованный список... i. ...внутри маркированного ... i. ...который, в свою очередь, находится внутри двух нумерованных i. Нумерация этого списка не включает вышестоящие номера. Это достигнуто посредством использования «i.» вместо «1.» и последующей обработкой в Powershell.

      • продолжим...

    3. ...и постепенно всплывём на поверхность.

      1. А затем вновь опустимся
      2. В нумерованный список
        1. И в ещё один
        2. Хватит. Надо отметить, что Powershell-скрипт рассчитан на списки не более чем 4-го уровня вложенности; но при желании нетрудно его расширить и на более глубокие списки.
    4. Всплываем (сразу на два уровня вверх)

  3. Третий и последний пункт нумерованного списка

Закончили со списками, переходим к формулам.

Формулы {#sec:chapter-equations}

Ненумерованные выключные формулы делаются так же, как в Латехе. Следующая формула разграничена с текстом пустыми строками сверху и снизу. Так требуется по ГОСТу. Дальнейшие формулы в документе сделаны без соблюдения этого требования.

\

$$\frac{\partial{\tilde{V}}{n,0}}{\partial x} = \mathrm{\text{Re}}({\tilde{V}}{n + 1,1})\sqrt{\frac{2(2n + 1)(n + 1)(n + 2)}{2n + 3}}$$

\

Выключные формулы можно делать и нумерованными (и тогда на них можно сослаться в тексте).

$$\begin{eqnarray*} B & =& \sum_{j \neq i} \mu_j\frac{\mathbf{r}j-\mathbf{r}i}{r^3{ij}} \left {-\frac{2(\beta+\gamma)}{c^2}\sum{k \neq i}\frac{\mu_k}{r_{ik}} -\frac{2\beta-1}{c^2}\sum_{k \neq j}\frac{\mu_k}{r_{jk}}

  • \gamma\left(\frac{v_i}{c}\right)^2 + \right. \ & + & \left. (1+\gamma)\left(\frac{v_j}{c}\right)^2 - \frac{2(1+\gamma)}{c^2}{\mathbf{\dot r}}_i \cdot {\mathbf{\dot r}}_j -\frac{3}{2c^2} \left[(\mathbf{r}_i-\mathbf{r}_j)\cdot\frac{\mathbf{\dot r}j}{r{ij}}\right]^2 +\frac{1}{2c^2}({\mathbf{r}}_j-{\mathbf{r}}i) \cdot {\mathbf{\ddot r}}j \right } + \ & + & \frac{1}{c^2} \sum{j \neq i} \frac{\mu_j}{r^3{ij}} \left{ \left[{\mathbf{r}}_i-{\mathbf{r}}_j \right] \cdot \left[(2+2\gamma){\mathbf{\dot r}}_i -(1+2\gamma){\mathbf{\dot r}}_j \right] \right}(\mathbf{\dot r}_i-\mathbf{\dot r}_j)
  • \frac{3+4\gamma}{2c^2} \sum_{j \neq i} \mu_j \frac{\mathbf{\ddot r_j}}{r_{ij}} \ \end{eqnarray*} $$ {#eq:myeqn1}

$$\mathrm{\Delta} \tau_\mathrm{time} = -\frac{\tau}{c^2} \left({ 2 \left({ \left( \mathbf{\dot r}B^S\right)^2 - \frac{R{\mu} c^2}{\left| \mathbf{r}_B^S\right| }}\right) + \mathbf{\dot r}_E^C \cdot \mathbf{\dot r}_A^E }\right) $$ {#eq:myeqn2}

Внутритекстовые формулы также делаются аналогично латеховским. Пример: $\mathbf{p} = M_\mathrm{Sun} \mathbf{z}$ — единичный вектор, направленный на северный полюс Солнца.

В формулах используется вордовский шрифт Cambria Math, другой использовать невозможно. Из-за разницы в масштабе со шрифтом PT Serif, используемым в тексте, и запретом на дробные кегли (кроме половинных), символы в формулах немного меньше символов в тексте.

Код {#sec:chapter-source}

Фрагмент кода:

(define (check-if-partials-needed index-from n get-attribute)
  (for/and ((i (in-range n)))
    (and (equal? (get-attribute 'CX (+ index-from i)) 'unknown-value)
         (equal? (get-attribute 'CY (+ index-from i)) 'unknown-value))))

Ещё один, созданный другим способом в Markdown, с подсветкой синтаксиса:

double al = 1;

for (i = 0; i < ncovar; i++)
  self->x[i] = self->xp[i - ncovar + ndata];

cblas_dgemv(CblasRowMajor, CblasNoTrans, ncovar, ncovar, al, self->XX, ncovar,
            self->x, 1, 0, self->ty, 1);

for (i = 0; i < ncovar + npred; i++)
  for (j = 0; j < ncovar; j++)
    self->Qtl[i*ncovar + j] = self->cov[abs(i - j)] / self->cov[0];

cblas_dgemv(CblasRowMajor, CblasNoTrans, ncovar+npred, ncovar, al, self->Qtl,
            ncovar, self->ty, 1, 0, self->y, 1);

for (i = 0; i < ncovar + npred; i++)
  self->result[i] = self->y[i] + alpha + beta * (i - ncovar + ndata);

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

При цитировании кода в основном тексте его размер соответствует основному тексту. Пример: CblasRowMajor.

Полный список языков, для которых поддерживается подсветка синтаксиса: abc asn1 asp ats awk actionscript ada agda alertindent apache bash bibtex boo c cs cpp cmake css changelog clojure coffee coldfusion commonlisp curry d dtd diff djangotemplate dockerfile doxygen doxygenlua eiffel elixir email erlang fsharp fortran gcc glsl gnuassembler m4 go html hamlet haskell haxe ini isocpp idris fasm nasm json jsp java javascript javadoc julia kotlin llvm latex lex lilypond literatecurry literatehaskell lua mips makefile markdown mathematica matlab maxima mediawiki metafont modelines modula2 modula3 monobasic ocaml objectivec objectivecpp octave opencl php pascal perl pike postscript powershell prolog pure purebasic python r relaxng relaxngcompact roff ruby rhtml rust sgml sql sqlmysql sqlpostgresql scala scheme tcl tcsh texinfo mandoc vhdl verilog xml xul yaml yacc zsh dot noweb rest sci sed xorg xslt.

Изображения

Рекомендуется использовать три формата для изображений в документе:

  • EMF --- для векторных изображений (схемы, графики);
  • PNG --- для растровых изображений (скриншоты, а также схемы и графики с\ утраченным или несуществующим векторным исходником);
  • JPEG --- для фотографий.

Изображение в формате PNG. Его размер в исходном файле равен 726×587 пикселей, но средствами Markdown оно отмасштабировано до 415 пикселей по ширине, и, таким образом, занимает в ширину около 11 см из расчёта 1" = 96px. Можно задавать размер сразу в сантиметрах. Высота подгоняется автоматически под пропорции изначальной картинки, хотя можно при желании нарушать пропорции, задавая явно высоту{#fig:myfigure1 width=415px}

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

Фотография в формате JPEG. Для неё тоже не задано опций размера; изображения формата JPEG (и PNG) в таком случае растягиваются на всю ширину страницы{#fig:myfigure2}

Ниже идёт график в формате EMF. Без явно заданных размеров изображения в\ этом формате могут самопроизвольно масштабироваться неизвестным науке способом. При задании только одного размера из двух пропорции могут нарушаться. Так что для EMF рекомендуется задавать оба размера в Markdown.

Изображение в формате EMF размером 15 на 6 см{#fig:myfigure3 width=15cm height=6cm type="image/emf"}

Обратите внимание: текст на графике набран тем же шрифтом, что и текст в документе. График был создан в Gnuplot как PDF-файл и впоследствии преобразован в EMF. Следующие команды Gnuplot можно использовать для настройки формата и шрифтов:

set term pdf size 15cm, 6cm monochrome
set tics font "PT Serif, 18"
set xlabel font "PT Serif, 18"
set ylabel font "PT Serif, 18"
set title font "PT Serif, 18"
set key font "PT Serif, 18"

Внимательный читатель заметит, что в Gnuplot указан 18-й кегль шрифта PT Serif, тогда как в документе используется 12-й. Тем не менее, в действительности шрифт на графике имеет почти тот же размер, что и текст. Каким образом Gnuplot вычисляет истинный размер шрифта? На этот вопрос наука также пока не нашла ответа.

Преобразование в EMF можно осуществить, например, с помощью Inkscape следующим образом:

inkscape figure.pdf --export-emf=figure.emf --export-text-to-path

Из всех векторных форматов EMF наиболее прилично выглядит как на экране в\ Word, так и при печати или сохранении в PDF.

Можно вставлять изображения без номера и подписи. Это не по ГОСТу, на такие изображения невозможно сослаться в тексте и они не учитываются в счётчике изображений (%NFIGURES%), но тем не менее:

:::{custom-style="Figure"} {width=1.1in height=1in type="image/emf"} :::

(Как видите, векторные изображения тоже могут быть цветными.)

Таблицы

Таблицы без шапки


1 TEMPERATURE Температура 12 PRESSURE Атмосферное давление 123 HUMIDITY Относительная влажность 999 WAVE_LENGTH Длина волны


Table: Таблица без шапки. Обратите внимание на разное выравнивание в трёх колонках: это не случайность, а демонстрация возможностей {#tbl:mytable1}

Тип диссертации Кандидатская
Фамилия, имя, отчество соискателя Носов Евгений Викторович
Название темы диссертации Цифровые преобразователи сигналов для радиоинтерферометров со сверхдлинными базами
Шифр научной специальности 01.03.02 --- Астрофизика и звездная астрономия
Отрасль науки Технические науки
Шифр диссертационного совета Д 002.067.01

Table: Ещё одна таблица такого же сорта, но сделанная иным способом в\ Markdown. Выравнивание также присутствует {#tbl:mytable2}

Таблицы с шапкой

Сутки Xp, мс дуги Yp, мс дуги UT1, мс Xc, мс дуги Yc, мс дуги


1               0.4           0.4     0.2       0.04      0.04
5               1.6           1.7     1.3       0.1       0.1
10              3.0           3.1     2.2       0.1       0.1
30              9.2           9.9     7.4       0.1       0.1

Table: Простая таблица с шапкой. Разные столбцы имеют разное выравнивание, задаваемое в заголовке таблицы {#tbl:mytable3}

Наименование характеристики Значение
Рабочие частоты, ГГц:
- канал А 20,70 ± 0,25
- канал Б 31,40 ± 0,25
Диапазон измерений ЯТ по каналам А и Б, К от 6 до 313
Пределы допускаемой абсолютной погрешности измерений ЯТ по каналам А и Б, К, не более ±2,5

Table: Таблица с шапкой, сделанная иным способом в Markdown {#tbl:mytable4}

Таблица с ячейками из многих строк


Номер Описание параметра


 188-190  Углы $\varepsilon_x$, $\varepsilon_y$ и $\varepsilon_z$ ориентации эфемерид в ICRS

 201-700  Гравитационные параметры ($Gm$) планет и астероидов

 701-706  Элементы орбиты Меркурия: $\ln(a)$,
          $\sin i\cdot\cos(\Omega)$, $\sin i\cdot\sin(\Omega)$,
          $e\cdot\cos(\varpi)$, $e\cdot\sin(\varpi)$, $l$,
          где $a$ — большая полуось, $i$ — наклон орбиты,
          $\Omega$ — долгота восходящего узла, $e$ — эксцентриситет,
          $\varpi$ — долгота перицентра, $l$ — средняя долгота
          
     707  $\dot{a}/a$ Меркурия

Table: Таблица с многострочными (но одноабзацевыми) ячейками {#tbl:mytable-multiline}

Таблица с ячейками из многих абзацев

: Таблица с многоабзацевыми ячейками {#tbl:mytablegrid}

+-------------------+---------------+---------------------+ | Колонка 1 (R) | Колонка 2 (C) | Колонка 3 (L) | +==================:+:=============:+:====================+ | Просто абзац | Просто текст | - Маркированный | | текста на | | - список с длинным текстом, не помещающимся на одну строку | | несколько строк. | | i. Вложенный, | | | | i. Нумерованный,| | И за ним ещё один.| | i. Список. | | | | - Пункт списка с формулой внутри: $\int_{a}^{b} x^2 dx$. | +-------------------+---------------+---------------------+ | Отдельная формула:| | 1. НУМЕРОВАННЫЙ | | | | 2. $s+\pi+sok$ | |$e^{\pi i} + 1 = 0$| | | | | | :::{custom-style="Normal"} | 1. Разреженный, | | Новый абзац текста после нумерованного списка. | | | Ему принудительно выставлен стиль «Normal» (Обычный); из-за внутренних особенностей Pandoc | | 2. Нумерованный, | | всем абзацам ячейки таблицы, где есть компактные списки, присваивается по умолчанию стиль «Compact». | | | | Различие в данном случае только в ненулевом промежутке между этим абзацем и предыдущим списком. | | 3. Список. | | ::: | +-------------------+---------------+---------------------+

Таблицы без номера

Вот две таблицы без подписей и без номеров. На них невозможно сослаться в тексте. В счётчике таблиц (%NTABLES%) эти таблицы также не учтены.

Планета $B_k$ $\sigma B_k$


Юпитер $0''!!.835$ $0''!!.036$ Сатурн $0''!!.356$ $0''!!.084$ Уран $-0''!!.056$ $0''!!.080$ Нептун $-0''!!.201$ $0''!!.119$

\

TDB Барицентрическое динамическое время (Barycentric Dynamical Time)
TT Земное время (Terrestrial Time)
TAI Международное атомное время (International Atomic Time)
UTC Всемирное координированное время (Universal Coordinated Time)
UT1 Всемирное время (Universal Time)

Ограничения

Использование Pandoc налагает некоторые ограничения в создании таблиц. Это связано не с Markdown как таковым, а с внутренней моделью представления таблиц в Pandoc.

  1. Невозможно сделать разное выравнивание у заголовка колонки и строк, находящихся под ним.

  2. Невозможно создать таблицу с объединёнными ячейками (row spans, column spans).

Остаётся надеяться, что рано или поздно Pandoc этому научится.

Ссылки на литературу

Источники будут отсортированы в порядке упоминания в тексте.

Существует два ГОСТа: 7.1-2003 (Библиографическая запись. Библиографическое описание) и 7.0.5-2008 (Библиографическая ссылка). При создании списка литературы в программной и научно-технической документации формально требуется применять ГОСТ\ 7.1. Но реально его никто не применяет из-за нелепых требований:

  • вставлять пометку «[Текст]» в ссылки на любые тексты (т.е.\ практически во все ссылки);
  • повторять имя первого автора дважды (включая случай, если автор всего один);
  • писать полный список авторов авторов после названия (до трёх включительно), а если их четыре и более, то упоминать только первого «и др».

ГОСТ\ 7.0.5 обходится без этих требований, поэтому его более охотно используют вместо 7.1 --- ту его часть, которая называется «затекстовые ссылки», про которые, впрочем, сказано, что «Совокупность затекстовых библиографических ссылок не является библиографическим списком».

В пакете pandoc-citeproc, используемом в Pandoc, есть стилевой файл в формате CSL 1.0.1, основанный на ГОСТ\ 7.0.5 с отдельными элементами ГОСТ 7.1. Исходные библиографические данные могут храниться в файлах формата bibtex, YAML и других.

В целом, правила ГОСТов (как 7.1, так и 7.0.5) настолько сложны, что автоматизировать библиографию по всем правилам невозможно. Вышеупомянутый формат CSL 1.0.1, задуманный как универсальный окончательный формат для формирования всей библиографии на свете, разумеется, не подходит в полной мере для этих ГОСТов.

В частности, в ГОСТе есть разумное требование: английские ссылки должны быть были с английскими вспомогательными словами (Vol., No., pp., ed. и прочие), а русские --- с русскими. В CSL 1.0.1 такой опции не предусмотрено. Опция появилась в расширении CSL-M, которое не поддерживается в pandoc-citeproc. Эту проблему удалось частично преодолеть ценой установки вспомогательного поля note в русскоязычных статьях и дополнительных изменений в csl-файле.

Русскоязычная книга с одним автором: [@gubanov].

Англоязычная книга немецкого издательства с двумя авторами: [@iers2010].

Русскоязычная статья с четырьмя авторами: [@matveenko].

Ещё одна ссылка на статью, которая на вид ничем не отличается, но её исходные данные находятся не в bibtex-файле, как у остальных, а в заголовке markdown-файла в формате YAML: [@fenner2012a].

Англоязычная статья с тремя авторами: [@pavlov].

И снова первая книга: [@gubanov].

А теперь три цитирования подряд: [@gubanov;@iers2010;@matveenko].

Те же три, но в другом порядке: (они всё равно сортируются и объединяются в диапазон): [@gubanov;@matveenko;@iers2010].

Три ссылки подряд плюс ещё одна: [@gubanov;@iers2010;@matveenko;@pavlov].

Англоязычная статья с кучей авторов: [@akim].

Пара технических отчётов (англ.), из них второй с интернет-ссылкой: [@de430;@bizouard11]

Глава в книге на русском: [@layexpl7].

Глава в книге на английском: [@standish].

Труды конференции на английском, в сборнике с тремя редакторами: [@Chernov2015].

Труды конференции на русском, в сборнике с тремя редакторами: [@lopachev].

Веб-страница: [@iaaras].

Ссылка с номерами страниц: [@gubanov, с. 33-35].

Ссылка с главой: [@iers2010, глава 5].

ГОСТ: [@gost-radio]. Патент: [@sviridov].

Ссылки на разделы, рисунки, формулы, таблицы

Ссылка на главу [-@sec:my-chapter]. Ссылка на приложение [-@sec:app-a].

Ссылка на раздел [-@sec:my-favorite-section]

Проверяем ссылки на рисунки. Рисунок [-@fig:myfigure2] идёт после рисунка [-@fig:myfigure1].

Проверяем ссылки на формулы. Уравнение ([-@eq:myeqn2]) идёт после уравнения ([-@eq:myeqn1]). Формула ([-@eq:myeqn-a]) идёт после этого текста.

Проверяем ссылки на таблицы. Таблица [-@tbl:mytablegrid] идёт после таблицы [-@tbl:mytable2]. Таблица [-@tbl:mytable-a] идёт после этого текста.

Как вы уже заметили, ссылки включают номер главы (в случае приложения --- не номер, а произвольный идентификатор). ГОСТ рекомендует сквозную нумерацию, хотя поглавная тоже допустима. Если в вашем документе есть формулы, таблицы или рисунки во Введении или Заключении, то только сквозная нумерация вам и подойдёт. Для её включения удалите chapters: true из заголовка Markdown-файла.

Все ссылки кликабельны, включая вышеупомянутые ссылки на литературу. Цвет ссылки тёмно-синий. При желании можно изменить цвет, добавить подчёркивание и т.д. Это настраивается в стиле «Гиперссылка» вордовского шаблона.