Quarto. Структура для книги
Quarto. Структура для книги.
Содержание
1 Создание книги
1.1 Общая информация
- Quarto Books — это комбинации нескольких документов (глав) в одну рукопись.
- Книги могут быть созданы в различных форматах:
- HTML
- MS Word
- EPUB
- AsciiDoc
1.2 Создание структуры книги
- Чтобы создать новый проект книги из терминала, используйте команду
quarto create project:quarto create project book mybook - Это создаст основу для простой книги в каталоге
mybook. - Используйте
quarto previewкоманда для рендеринга и предварительного просмотра книги:quarto preview mybook - Предварительный просмотр книги откроется в веб-броузере.
1.3 Рабочий процесс
Выше мы продемонстрировали, как создать и отредактировать простую книгу с главами, содержащимися в файлах. index.qmd, intro.qmd, summary.qmd . Здесь мы более подробно рассмотрим дополнительные аспекты процесса работы с книгами.
1.4 Файл конфигурации
- Файл проекта Quarto (
_quarto.yml) содержится в каталоге проекта книги. - Этот файл содержит начальную конфигурацию книги:
project: type: book book: title: "mybook" author: "Jane Doe" date: "8/18/2021" chapters: - index.qmd - intro.qmd - summary.qmd - references.qmd bibliography: references.bib format: html: theme: cosmo pdf: documentclass: scrreprt epub: cover-image: cover.png
1.4.1 Компиляция
- Используйте команду
renderдля рендеринга всех форматов вывода:quarto render - Если не передавать аргументы
quarto render, будут созданы все форматы. - Можно отображать отдельные форматы через аргумент
--to:quarto render # render all formats quarto render --to pdf # render PDF format only - Результат компиляции книги будет записан в подкаталог
_book:mybook/ _book/ index.html # and other book files mybook.pdf mybook.epub
2 Структура книги
2.1 Общая информация
Главы и разделы книги Quarto автоматически нумеруются (для перекрестных ссылок).
Можно указать, что некоторые части книги должны оставаться ненумерованными.
Свойства книги, такие как название, автор и структура главы, перечислены под
book:book: title: "mybook" author: "Jane Doe" date: "5/9/2021" chapters: - index.qmd - intro.qmd - summary.qmd - references.qmdРаспечатка 1: _quarto.yml- Файл
index.qmdобязателен (потому что Quarto books также создают веб-сайт в формате HTML).- Эта страница должна включать предисловие, благодарности и т. д. HTML-версия книги будет использовать
index.qmdкак домашняя страница и, если предусмотрено, разместитcover-imageна этой странице.
- Эта страница должна включать предисловие, благодарности и т. д. HTML-версия книги будет использовать
- Остаток
chaptersвключает в себя одну или несколько глав книги. - Файл
references.qmdбудет включать сгенерированную библиографию.
- Файл
Параметры рендеринга, которые должны применяться ко всем главам и всем форматам, перечислены на верхнем уровне
_quarto.yml(т.е. не вложенном вbook):bibliography: references.bibРаспечатка 2: _quarto.ymlПараметры рендеринга, которые должны применяться ко всем главам для определённых форматов, перечислены в секции
format:format: html: theme: cosmo pdf: documentclass: scrreprtРаспечатка 3: _quarto.yml
2.2 Названия
- Название задаётся в
title:--- title: "Introduction" ---
2.3 Номера глав
- Все главы пронумерованы по умолчанию.
- Если вы хотите, чтобы глава была ненумерованной, просто добавьте класс
.unnumberedк его основному заголовку:# Preface {.unnumbered} - Можно смешивать пронумерованные и ненумерованные главы.
- Хотя вы можете ссылаться на ненумерованные главы, вы не можете ссылаться на рисунки, таблицы и т. д. внутри них.
2.4 Номера разделов
Вы можете задать глубину нумерации через
number-depth.Например, чтобы пронумеровать только разделы, расположенные непосредственно под уровнем главы:
number-depth: 1Распечатка 4: _quarto.ymlЕсли необходимо, чтобы
number-depthприменялась только к определённому формату, вложите его вformat:format: pdf: number-depth: 1Распечатка 5: _quarto.ymlОпция
toc-depthне зависит отnumber-depth.
2.5 Библиография
- Следует включить
divс идентификатором#refsв том месте книге, где должна быть создана библиография:# References {.unnumbered} ::: {#refs} :::Распечатка 6: _quarto.yml
2.6 Создание индекса
- Для вывода PDF вы можете создать индекс, используя пакет LaTeX
makeidxвместе с командой\index. - Команда
\indexдля выходных данных в формате, отличном от pdf, игнорируются. - Чтобы добавить индекс в PDF-файл книги, добавьте эти записи
include-in-headerиinclude-after-bodyв конфигурацию форматаpdfв_quarto.yml:format: html: theme: cosmo pdf: documentclass: scrreprt include-in-header: text: | \usepackage{makeidx} \makeindex include-after-body: text: | \printindexРаспечатка 7: _quarto.yml - Затем добавьте команды
\index{entry}везде, где вам нужна запись индекса:Markdown\index{Markdown} allows you to write using an easy-to-read, easy-to-write plain text format. - Также можете использовать пакет
imakeidx:format: html: theme: cosmo pdf: documentclass: scrreprt include-in-header: text: | \usepackage{imakeidx} \makeindex[intoc=true, columns=3, columnseprule=true, options=-s latex/indexstyles.ist] include-after-body: text: | \printindexРаспечатка 8: _quarto.yml - Этот пакет предлагает дополнительные возможности для форматирования индекса.
- В приведенном выше примере:
intoc=trueвключит запись для индекса в оглавление;columns=3отформатирует индекс в три столбца;columnseprule=trueотобразит линию между столбцами индекса;options=-s latex/indexstyles.istбудут использоваться дополнительные параметры форматирования из файла индексного стиля, расположенного по адресуlatex/indexstyles.ist.
2.7 Части
- Форматы EPUB и Word (Docx) в настоящее время не поддерживают организацию книг в части.
- При рендеринге книги с частями в эти форматы части будут проигнорированы.
- Вы можете разделить свою книгу на части, используя
partв иерархииchapters:book: chapters: - index.qmd - preface.qmd - part: dice.qmd chapters: - basics.qmd - packages.qmd - part: cards.qmd chapters: - objects.qmd - notation.qmd - modifying.qmd - environments.qmdРаспечатка 9: _quarto.yml - Тут файлы разметки
dice.qmdиcards.qmdсодержат заголовок части (как заголовок первого уровня), а также некоторое вводное содержание для части. - Если нужен только заголовок части, то вы можете использовать этот синтаксис:
book: chapters: - index.qmd - preface.qmd - part: "Dice" chapters: - basics.qmd - packages.qmdРаспечатка 10: _quarto.yml - В выводе LaTeX для частей используется команда
\part.
2.8 Приложения
- Можно включить приложения, добавив ключ
appendices:book: chapters: - index.qmd - intro.qmd - summary.qmd - references.qmd appendices: - tools.qmd - resources.qmdРаспечатка 11: _quarto.yml - Приложения нумеруются с использованием заглавных букв и имеют префикс, вставленный в их заголовок, чтобы указать, что они являются приложением (например, «Приложение A — Дополнительные ресурсы»).
- Можно настроить префикс и разделитель:
crossref: appendix-title: "App." appendix-delim: ":"Распечатка 12: _quarto.yml
2.9 Навигация по странице
- Если у вас есть книга с несколькими страницами в разделе или подразделе, часто бывает удобно предложить пользователю возможность перейти на следующую страницу (или предыдущую страницу) в нижней части страницы, которую он только что закончил читать.
- Это можно включить это с помощью:
book: page-navigation: trueРаспечатка 13: _quarto.yml - При включении навигация по страницам будет отображаться внизу страницы, когда есть следующая или предыдущая страница (включая следующий или предыдущий раздел).
- Эта опция включена по умолчанию для книг, но не для веб-сайтов.
2.10 Нижний колонтитул страницы
Используйте
page-footerчтобы предоставить общий нижний колонтитул для всех страниц книги.Самый простой нижний колонтитул просто предоставляет текст, который будет отцентрирован и отображен более светлым шрифтом:
book: page-footer: "Copyright 2021, Norah Jones"Распечатка 14: _quarto.ymlМожно выделить области нижнего колонтитула по отдельности (
left,right, иcenter):book: page-footer: left: "Copyright 2021, Norah Jones" right: - icon: github href: https://github.com/ - icon: twitter href: https://twitter.com/Распечатка 15: _quarto.ymlМожно использовать параметры
background,foreground,borderдля дальнейшего управления внешним видом нижнего колонтитула.По умолчанию нижний колонтитул не имеет фонового цвета и верхней границы.
Чтобы убрать границу, сделайте следующее:
book: page-footer: border: falseРаспечатка 16: _quarto.ymlИспользовать светлый фон (например, чтобы он соответствовал панели навигации):
book: page-footer: background: lightРаспечатка 17: _quarto.yml