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 ...
По умолчанию заголовки иерархично нумеруются. После заголовка любого уровня может быть текст (с красной строки).
Жирный текст
Курсивный текст
Жирный курсивный текст
Верхние и нижние индексы: H2O is a liquid. 2^10^ is 1024.
Заголовки до третьего уровня включительно попадают в оглавление.
Заголовок шестого уровня, настолько длинный, что не помещается в\ одну строку {#sec:my-favorite-section}
На этот раздел потом будет ссылка.
На эту главу тоже будет ссылка.
Оставим тему заголовков, перейдём к спискам.
Списки бывают нумерованные и маркированные. Простые перечисления (маркированные)
отделяются запятой, сложные (нумерованные) — точкой с запятой.
Пункты нумерованных списков начитаются с «1.
» или любого числа с последующей точкой.
Пункты ненумерованных списков начинаются с «*
», «-
» или
«+
», никакой разницы нет.
- Нумерованный;
- Список.
Обычный текст между списками.
- Ещё один;
- Нумерованный;
- Список.
- Второй нумерованный,
- список,
- подряд.
Ещё абзац обычного текста между списками. Он специально сделан достаточно длинным, чтобы не помещаться в\ одну строку.
- Маркированный,
- список,
- из трёх пунктов.
Списки бывают компактными и разреженными. Они имеют разные стили в Ворде. Разреженные списки пишутся в Markdown с пропусками строки между пунктами.
-
Разреженный,
-
маркированный список,
-
из трёх пунктов.
Перейдём к более сложным примерам.
-
Пункт нумерованного списка, не помещающийся в\ одну строку. Во все времена люди думают, но боятся спросить вслух: а как вообще поступать с форматированием многострочных пунктов списка, после которых идёт ещё вложенный подсписок? И никто не может найти хорошего ответа.
-
Вот тот самый вложенный пункт нумерованного списка. В Markdown он отбит четырьмя пробелами от начала строки (4 пробела соответствуют 1 уровню вложенности). А ещё этот пункт состоит из двух абзацев.
Вот обещанный второй абзац. В Markdown он отбит восемью пробелами (два раза по 4). У\ него нет красной строки (как и вообще у абзацев в списках), зато он отделен вертикальными промежутками.
-
Ещё один вложенный пункт. Обратите внимание, что нумерация пунктов второго уровня включает номера предыдущего уровня. Это правило рекурсивно, но его применения можно избежать (см. ниже).
-
-
Второй пункт нумерованного списка
Он начинается с обычного абзаца текста. Ничто не предвещает беды. Но вдруг...
-
Почему бы после абзаца не начать вложенный нумерованный список? Это вполне жизненная ситуация. Это нормально — ставить вложенные нумерованные списки вперемежку с обычными абзацами.
-
Второй пункт нумерованного вложенного списка.
-
А теперь мы просто утонем...
-
...в степенях вложенности
- списков
- различного вида
Абзац текста, идущий после списка 4-го уровня вложенности, но сам не являющийся пунктом списка.
i. Нумерованный список... i. ...внутри маркированного ... i. ...который, в свою очередь, находится внутри двух нумерованных i. Нумерация этого списка не включает вышестоящие номера. Это достигнуто посредством использования «
i.
» вместо «1.
» и последующей обработкой в Powershell. -
продолжим...
-
-
...и постепенно всплывём на поверхность.
- А затем вновь опустимся
- В нумерованный список
- И в ещё один
- Хватит. Надо отметить, что Powershell-скрипт рассчитан на списки не более чем 4-го уровня вложенности; но при желании нетрудно его расширить и на более глубокие списки.
-
Всплываем (сразу на два уровня вверх)
-
-
Третий и последний пункт нумерованного списка
Закончили со списками, переходим к формулам.
Ненумерованные выключные формулы делаются так же, как в Латехе. Следующая формула разграничена с текстом пустыми строками сверху и снизу. Так требуется по ГОСТу. Дальнейшие формулы в документе сделаны без соблюдения этого требования.
\
$$\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}
Внутритекстовые формулы также делаются аналогично латеховским. Пример:
В формулах используется вордовский шрифт Cambria Math, другой использовать невозможно. Из-за разницы в масштабе со шрифтом PT Serif, используемым в тексте, и запретом на дробные кегли (кроме половинных), символы в формулах немного меньше символов в тексте.
Фрагмент кода:
(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 --- для фотографий.
Абзац обычного текста после подписи к изображению. Он сделан длинным, чтобы не помещаться в одну строку.
Ниже идёт график в формате EMF. Без явно заданных размеров изображения в\ этом формате могут самопроизвольно масштабироваться неизвестным науке способом. При задании только одного размера из двух пропорции могут нарушаться. Так что для EMF рекомендуется задавать оба размера в Markdown.
{#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. Список. |
| | | - Пункт списка с формулой внутри: НУМЕРОВАННЫЙ
|
| | | 2.
Вот две таблицы без подписей и без номеров. На них невозможно сослаться в тексте.
В счётчике таблиц (%NTABLES%
) эти таблицы также не учтены.
Планета
Юпитер
\
TDB |
Барицентрическое динамическое время (Barycentric Dynamical Time) |
TT |
Земное время (Terrestrial Time) |
TAI |
Международное атомное время (International Atomic Time) |
UTC |
Всемирное координированное время (Universal Coordinated Time) |
UT1 |
Всемирное время (Universal Time) |
Использование Pandoc налагает некоторые ограничения в создании таблиц. Это связано не с Markdown как таковым, а с внутренней моделью представления таблиц в Pandoc.
-
Невозможно сделать разное выравнивание у заголовка колонки и строк, находящихся под ним.
-
Невозможно создать таблицу с объединёнными ячейками (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-файла.
Все ссылки кликабельны, включая вышеупомянутые ссылки на литературу. Цвет ссылки тёмно-синий. При желании можно изменить цвет, добавить подчёркивание и т.д. Это настраивается в стиле «Гиперссылка» вордовского шаблона.