8  Создание статей

Здесь мы рассмотрим некоторые общие вопросы, которые помогут на основе метаданных создавать цитируемые статьи, отчеты или аналогичные типы документов, которые можно будет публиковать в различных форматах.

Структура публикации

Форматы публикации

Напомним, что локализовать названия терминов (автор, дата и т. д.) в Quarto можно, включив в YAML-часть строку:

lang: ru

8.1 Титульные данные

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

8.1.1 Автор и аффилиация

Если автор один, то его можно указать довольно просто:

author: А.А. Автор

либо с указанием имени и фамилии:

  author:
  - name:
      given: Анатолий
      family: Иванов
      literal: А.А. Иванов

В том случае, если необходимо указать место работы или учебы, это может быть сделано с помощью поля affiliation. Здесь необходимо помнить, что по умолчанию будет назначен перевод для affiliation как принадлежность, для изменения перевода можно изменить на требуемое поле title-block-affiliation-single в параметре language как в примере ниже:

lang: ru
language:
  title-block-affiliation-single: "Университет"
author:
  name: А.А. Автор
  affiliation: Московский университет имени И.И. Иванова
Рисунок 8.1: Пример указания автора и организации на веб-странице

В более сложном случае можно указать несколько организаций:

lang: ru
language:
  title-block-affiliation-plural: "Организация"
author:
  name: А.А. Автор
  affiliation: 
    - Московский университет имени И.И. Иванова
    - Институт имени П.П. Петрова
Рисунок 8.2: Пример указания автора и нескольких организаций на веб-странице

Можно отобразить больше полей как в примере ниже, например, постоянный цифровой идентификатор ORCID:

format: html
lang: ru
language:
  title-block-affiliation-single: "Университет"
author:
  name: А.А. Автор
  orcid: 0000-0000-0000-0001
  url: https://www.rscf.ru/
  email: investigator@rscf.ru
  corresponding: true
  affiliation: 
    - name: Московский университет имени И.И. Иванова
      url: www.msu.ru
  degrees: д-р физ.-мат. наук
keywords: 
  - transformers
  - few-shot learning
  - prompt engineering
  - semantic parsing

8.1.2 Несколько авторов

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

lang: ru
language:
  title-block-affiliation-plural: "Университет"
author:
  - name: "А.А. Автор"
    affiliation:
      - id: msu
        name: Московский университет имени И.И. Иванова
      - id: petrov
        name: Институт имени П.П. Петрова
Рисунок 8.4: Пример отображения нескольких организаций

Теперь при добавлении авторов можно ссылаться на указанные ранее организации с помощью ref: как в примере ниже.

lang: ru
language:
  title-block-affiliation-plural: "Университет"
author:
  - name: "А.А. Автор"
    affiliation:
      - id: msu
        name: Московский университет имени И.И. Иванова
      - id: petrov
        name: Институт имени П.П. Петрова
  - name: "Б.Б. Творец"
    affiliation:
      - ref: msu
Рисунок 8.5: Пример отображения нескольких авторов и организаций

Отметим, что ссылки, которые создаются с помощью id, можно использовать и в других полях параметра author с помощью ref:.

8.1.3 Дата публикации

Для отображения даты используется поле date. Например, достаточно указать дату в соответствующем формате:

date: 03/07/2025
Рисунок 8.6: Пример отображения даты документа

Параметр date позволяет указывать динамические даты через специальные значения, например:

date: last-modified
Таблица 8.1: Специальные значения параметра date для указания динамических дат
Ключ Динамическая дата
today Текущая дата в локальном часовом поясе, где время установлено на 00:00:00
now Текущая дата в локальном часовом поясе
last-modified Дата и время последнего изменения файла.
УведомлениеЗамечание

Не рекомендуется устанавливать динамическую дату, если это пост блога.

Также можно указать краткий стиль даты, например:

date: today
date-format: iso
Таблица 8.2: Специальные значения параметра date-format для указания формата дат
Ключ Пример отображения даты
full пятница, 7 марта 2025 г.
long 7 марта 2025 г.
medium 7 мар. 2025 г.
short 07.03.2025
iso 2025-03-07

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

date: 03/07/2025
date-format: "D MMMM dd, YYYY"

Полный список возможных форматов можно найти на странице документации.

8.1.4 Аннотация

Для добавления аннотации используется YAML-параметр abstract. Обычно аннотации многострочные, поэтому рекомендуется применять блочный стиль YAML: напомним, что для этого указывается символ | после abstract:, после чего текст аннотации идет с отступом в два пробела, как это показано ниже.

abstract: |
  Настоящее исследование анализирует инновационные подходы 
  к решению фундаментальных проблем.

8.1.5 Ключевые слова

Для добавления ключевых слов достаточно задать значения параметра keywords:

keywords: 
  - transformers
  - few-shot learning
  - prompt engineering
  - semantic parsing

8.1.7 Финансирование

В текст возможно включить поддержку грантов:

funding: "«Исследование выполнено за счет гранта Российского научного фонда (проект № XX-XX-XXXXX)»."

У параметра funding имеются поля source, recipient, investigator и statement, например:

funding: 
  statement: "«Исследование выполнено за счет гранта Российского научного фонда (проект № XX-XX-XXXXX)»."

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-файл очевидны, такого рода подход уже стал стандартом для академических и технических текстов:

  1. Файл *.bib хранит исключительно метаданные. В документе и библиографии появятся исключительно те ссылки, которые упоминаются в тексте документа (при необходимости можно добавить и дополнительные источники). Таким образом, уместно иметь *.bib с большим списком библиографии для создания нескольких публикаций.
  2. Все ссылки автоматически оформляются согласно единообразному стилю, автоматически сортируются и нумеруются.

8.2.2 Файл *.csl

Файл с расширением *.csl в корневом каталоге позволяет определить стиль отображения библиографии. Quarto по умолчанию использует Pandoc для форматирования ссылок и библиографий, основной формат стилизации которого — «Автор/Дата», но можно задать собственное форматирование для библиографии с помощью таблицы стилей для цитирования CSL (Citation Style Language).

Рисунок 8.7: Пример отображения библиографии по умолчанию

Существует множество различных шаблонов CSL, например, в репозитории проекта CSL. Покажем несколько примеров для различных CSL-шаблонов.

Пусть необходимо создать библиографию для научного журнала Nature, в этом случае необходимо добавить соответствующий стилевой файл:

bibliography: references.bib
csl: nature.csl
Рисунок 8.8: Пример отображения библиографии для научного журнала Nature

Для библиографии на русском языке подходит файл 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.9: Пример отображения библиографии согласно ГОСТ Р 7.0.5-2008

8.2.3 Синтаксис цитирования

После того, как был создан список цитируемых работ в *.bib-файле, необходимо указать ссылки на эти работы в тексте. Quarto использует синтаксис Pandoc для цитирования. Если необходимо сослаться на библиографический элемент с идентификатором foo, следует использовать синтаксис @foo или [@foo]. Ссылки следует заключать в квадратные скобки, разделяя отдельные элементы точкой с запятой:

Текст [@doe; @smith2000; @smith2004].

Приведем простой пример цитирования и далее сделаем некоторые пояснения.

file.qmd
Физика плазмы изучается в работе [@kapitsa1979].

Можно цитировать так: @kapitsa1979.

Только год издания: [-@kapitsa1979].

Основы были заложены в работах Колмогорова [см. @kolmogorov1936, Глава 1; также см. @kolmogorov1941, стр. 3-8].
Рисунок 8.10: Пример отображения нескольких библиографических ссылок в тексте HTML-документа

Элементы цитирования могут при необходимости включать префикс, локатор и суффикс. Например, в сложных случаях можно принудительно обрабатывать что-либо как локатор, заключив его в фигурные скобки, или запретить обработку суффикса как локатора, добавив фигурные скобки:

file.qmd
[@kapitsa1979plasma{ii, A, D-Z} используется суффикс]

[@kapitsa1979plasma, {pp. iv, vi-xi, (xv)-(xvii)} еще один суффикс]

[@kapitsa1979plasma{}, суффикс подавляется]
Рисунок 8.11: Пример отображения библиографических ссылок с суффиксом

8.3 Журнальные статьи


Здесь будет текст про создание статей.

https://sample-site-itmo.netlify.app/

Get an ORCID - an “Open Researcher and Contributor ID” which is a persistent digital identifier that you own and control, and that distinguishes you from every other researcher. Link your projects and output to your ORCID.

awesome-PhD

Fonts LaTeX https://nmfs-opensci.github.io/quarto_titlepages/10-fonts.html

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/

Заключение

https://www.youtube.com/watch?v=Hl9TvhlzfV4&ab_channel=PositPBC