8 Создание статей
В этом разделе вы узнаете, как с помощью метаданных структурировать и создавать академические документы (статьи, отчеты, препринты или аналогичные типы документов), готовые к экспорту в различные форматы.
Напомним, что при подготовке научной публикации к печати или выпуске цифрового препринта существуют рекомендуемые требования к структуре оформления, форматам и стилям публикации.
Один из самых популярных и востребованных стандартов оформления научной статьи — это IMRAD, аббревиатуру которого можно расшифровать как: Introduction (Введение), Materials and Methods (Материалы и методы), Results (Результаты) и Discussion (Обсуждение). Обзор этой структуры представлен в статье Research Paper IMRAD Structure: Features and Recommendations или Подробный разбор структуры научной статьи IMRAD с рекомендациями.
Quarto может использоваться как единая структура научного проекта: благодаря переносимости, для набора исходных файлов можно создать текст научной статьи и использовать в дальнейшем для составления отчета, веб-страницы, презентации или книги, делая результаты воспроизводимыми. Выходными форматами могут являться: *.html, *.pdf, *.docx и т.д., оформлять документы с помощью шаблонов, использовать перекрестные ссылки и автоматическое оформление библиографии.
8.2 Оформление библиографии
Quarto позволяет оформлять списки библиографии используя большое количество различных форматов на основе метаданных на основе интеграции с другими программными инструментами. Мы рассмотрим, как автоматически создавать библиографию в документе с помощью BibTeX — системы управления ссылками документов LaTeX, а также как задать собственную таблицу стилей для цитирования с помощью стандарта CSL (Citation Style Language).
В Quarto можно использовать интеграцию с различными научными инструментами, такими как Google Scholar, Zotero, Mendeley, Crossref, DataCite, PubMed, CiteDrive, arXiv. Существует возможность цитирования с помощью DOI.
Добавить библиографию в документ довольно просто — достаточно в поле метаданных YAML указать:
# в файле *.bib хранятся все ссылки
bibliography: references.bib
# при необходимости можно указать стиль цитирования
csl: nature.cslБиблиография формируется автоматически и будет помещена в блок, содержащий класс Div #refs, указанный ниже, либо в конец документа, если такой блок не указан. Как правило, для этого создается в корневом каталоге проекта отдельный файл следующего содержания.
references.qmd
### Список литературы {.unnumbered}
::: {#refs}
:::Отметим, что, указав suppress-bibliography: true, можно запретить создание библиографии.
8.2.1 Файл *.bib
Здесь мы рассмотрим, как можно упростить процесс цитирования источников и создания библиографии в документе с помощью BibTeX — системы управления ссылками для документов \(\LaTeX\). Для управления источниками библиографии, необходимо создать файл с расширением *.bib, скажем, references.bib, и поместить его в корневую папку проекта. Данный файл будет содержать множество записей как в следующем примере.
references.bib
@book{knuth_art_1997,
author = {Knuth, Donald E.},
title = {The Art of Computer Programming},
publisher = {Addison-Wesley},
year = {1997},
volume = {1},
edition = {3rd},
address = {Reading, Massachusetts},
isbn = {978-0-201-89683-1},
note = {Fundamental Algorithms}
}
@article{diffie1976new,
author = {Diffie, Whitfield and Hellman, Martin},
title = {New Directions in Cryptography},
journal = {IEEE Transactions on Information Theory},
year = {1976},
volume = {22},
number = {6},
pages = {644--654},
doi = {10.1109/TIT.1976.1055638}
}
@inproceedings{attention2017,
author = {Vaswani, Ashish and Shazeer, Noam},
booktitle = {Advances in neural information processing systems},
pages = {5998--6008},
title = {Attention is all you need},
url = {http://arxiv.org/abs/1706.03762},
year = 2017
}Кратко объясним структуру такого файла:
- Тип записи: в нашем случае это
@book,@article,@inproceedings, описывается тип публикации. - Ключ цитирования: в примере это
knuth_art_1997,diffie1976new, иattention2017он используется для указания цитаты в тексте, иными словами, для ссылки на источник. Для непосредственного цитирования в тексте Quarto-документа указывают[@knuth_art_1997]. - Поля записей:
author,pages,yearи т. д. указывают на автора, страницы, год издания и т. д.
Полный список возможных типов записей или полей записей можно посмотреть, например, на этой странице, посвященной BibTeX.
Отметим некоторые особенности для статей:
- названия журналов пишутся полностью (
Nature, а неNat.); - при указании диапазона страниц используйте двойное тире
--, а не дефис; - между именами авторов ставится
and, а не запятая; - по возможности всегда указывайте DOI (Digital Object Identifier — уникальный постоянный цифровой идентификатор для научных, профессиональных и творческих работ) если есть, а не URL, например,
https://doi.org/10.1038/nature12345в*.bib-файле указывается какdoi = {10.1038/nature12345}.
Преимущества подхода, использующего *.bib-файл очевидны, такого рода подход уже стал стандартом для академических и технических текстов:
- Файл
*.bibхранит исключительно метаданные. В документе и библиографии появятся исключительно те ссылки, которые упоминаются в тексте документа (при необходимости можно добавить и дополнительные источники). Таким образом, уместно иметь*.bibс большим списком библиографии для создания нескольких публикаций. - Все ссылки автоматически оформляются согласно единообразному стилю, автоматически сортируются и нумеруются.
8.2.2 Файл *.csl
Файл с расширением *.csl в корневом каталоге позволяет определить стиль отображения библиографии. Quarto по умолчанию использует Pandoc для форматирования ссылок и библиографий, основной формат стилизации которого — «Автор/Дата», но можно задать собственное форматирование для библиографии с помощью таблицы стилей для цитирования CSL (Citation Style Language).
Существует множество различных шаблонов CSL, например, в репозитории проекта CSL. Покажем несколько примеров для различных CSL-шаблонов.
Пусть необходимо создать библиографию для научного журнала Nature, в этом случае необходимо добавить соответствующий стилевой файл:
bibliography: references.bib
csl: nature.csl
Для библиографии на русском языке подходит файл gost-r-7-0-5-2008-numeric-alphabetical.csl, который отвечает ГОСТ Р 7.0.5-2008.
bibliography: references.bib
csl: gost-r-7-0-5-2008-numeric-alphabetical.csl
8.2.3 Синтаксис цитирования
После того, как был создан список цитируемых работ в *.bib-файле, необходимо указать ссылки на эти работы в тексте. Quarto использует синтаксис Pandoc для цитирования. Если необходимо сослаться на библиографический элемент с идентификатором foo, следует использовать синтаксис @foo или [@foo]. Ссылки следует заключать в квадратные скобки, разделяя отдельные элементы точкой с запятой:
Текст [@doe; @smith2000; @smith2004].Приведем простой пример цитирования и далее сделаем некоторые пояснения.
file.qmd
Физика плазмы изучается в работе [@kapitsa1979].
Можно цитировать так: @kapitsa1979.
Только год издания: [-@kapitsa1979].
Основы были заложены в работах Колмогорова [см. @kolmogorov1936, Глава 1; также см. @kolmogorov1941, стр. 3-8].
Элементы цитирования могут при необходимости включать префикс, локатор и суффикс. Например, в сложных случаях можно принудительно обрабатывать что-либо как локатор, заключив его в фигурные скобки, или запретить обработку суффикса как локатора, добавив фигурные скобки:
file.qmd
[@kapitsa1979plasma{ii, A, D-Z} используется суффикс]
[@kapitsa1979plasma, {pp. iv, vi-xi, (xv)-(xvii)} еще один суффикс]
[@kapitsa1979plasma{}, суффикс подавляется]
Отметим, что если вы находитесь, скажем, в визуальном режиме набора Quarto документов в RStudio, то перейдя в верхней части меню Insert : Citation, можно перейти в панель вставки библиографии, в которой можно указать множество источников: DOI, Crossref, DataCite, PubMed, цитирование на библиотеку R как R Package или Zotero, если этот сервис установлен.
Помимо прочего, Quarto интегрируется с сервисом CiteDrive, который может организовать библиографию, обеспечивает удобную совместную работу и гарантирует точность цитирований.
8.3 Журнальные статьи
Для Quarto существует множество различных готовых шаблонов для научных публикаций (в основном на английском языке). Например, основной репозиторий Quarto Journal Templates содержит отобранный набор шаблонов журналов для платформы Quarto. Также существует множество других шаблонов, как персональных (например, Springer Nature Quarto Format), так и собранных в коллекции Quarto extensions по тегу Quarto Journals. Как правило необходимо установить шаблон журнала с помощью команды
Terminal
quarto use template quarto-journals/<template-name>и затем использовать соответствующую YAML-преамбулу. Например, для написания статьи в Biophysical Journal (BJ) в директории проекта необходимо выполнить команду
Terminal
quarto use template quarto-journals/biophysical-journalи либо в рендере указать явно
Terminal
quarto render article.qmd --to bj-pdfлибо в YAML прописать
_quarto.yml
format:
pdf: default
bj-pdf:
keep-tex: true
Для создания собственных шаблонов журнальных статей на основе Quarto можно обратиться к статье Journal Formats и репозиторию Article Format Template (AFT). Также возможно создание статей с помощью Typst используя библиотеку Marginalia Typst.
Отметим, что в HTML-документе уравнения отображаются с помощью MathJax. По умолчанию MathJax не нумерует уравнения. Чтобы пронумеровать уравнения, нам нужно изменить конфигурацию MathJax, например, как это сделано в репозитории с примером.
_quarto.yml
format:
html:
include-in-header:
# Преамбула HTML: настройка MathJax
# Этот фрагмент необходим для нумерации уравнений
- text: |
<script>
MathJax = {
tex: {
tags: 'ams' // опции: 'ams', 'none' или 'all'
}
};
</script>Еще одно замечание, которое можно почерпнуть из репозитория, касается макросов. Макросы необходимы при написании сложных математических формул — они упрощают исходный код и повышают скорость работы. Определить макросы в Quarto так непросто. Решение заключается в том, чтобы определить макросы в преамбуле YAML, жестко прописав их дважды в преамбуле: один раз для *.html- и другой — для *.tex-файлов. При таком подходе макросы становятся невидимыми для Quarto.
_quarto.yml
format:
pdf:
include-in-header:
# Преамбула в LaTeX:
# импорт пакетов, определение макросов и т. д.
- text: |
\def\sumi{{\frac{1}{n} \sum_{i=1}^n}}
html:
include-before-body:
# определите макросы MathJax
- text: |
$$
\def\sumi{{\frac{1}{n} \sum_{i=1}^n}}
$$Для перекрестных ссылок на рисунки и разделы следует использовать синтаксис Quarto. Тем не менее, для статьи в PDF при использовании перекрестных ссылок на уравнения необходимо использовать синтаксис \(\LaTeX\) \label{label} и \eqref{label} вместо синтаксиса Quarto @label.
\begin{equation}
1 + 1 = 2
\label{the_equation}
\end{equation}
Уравнение \eqref{the_equation} гораздо сложнее, чем кажется на первый взгляд.Также обратите внимание, что если вы не нумеруете все уравнения, то нужно дополнительно написать команду \tag \label{the_equation} вместо \label{the_equation}. В противном случае при выводе в формате HTML MathJax не будет помечать уравнение.
Здесь будет текст про создание статей.
https://sample-site-itmo.netlify.app/
Fonts LaTeX https://nmfs-opensci.github.io/quarto_titlepages/10-fonts.html
Typst articles https://quarto.org/docs/blog/posts/2026-03-31-typst-books-and-more/#article-layout-in-typst
8.4 Сноски
https://quarto.org/docs/authoring/markdown-basics.html#footnotes
https://alexespinosaco.github.io/aerovagante/2024-08-10_quarto-referencias-cruzadas/
8.5 Оформление библиографии
https://r4ds.hadley.nz/quarto#bibliographies-and-citations
Quarto Reference Manager: Simple citation management with CiteDrive for RStudio
8.6 Пользовательские шаблоны
8.7 Резюме в Quarto
https://alexespinosaco.github.io/aerovagante/2024-02-18-cv/
https://cameronpatrick.com/post/2023/07/quarto-thesis-formatting/
https://www.cesarsotovalero.net/blog/building-and-leveling-up-a-computer-scientist-resume.html
https://mitchelloharawild.com/blog/vitae/ https://pkg.mitchelloharawild.com/vitae/
Заключение
Можно посмотреть пример статьи в Quarto.

