mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-04-30 09:38:38 -05:00
- Move _quarto.yml to config/_quarto-html.yml - Move profile PDF config to config/_quarto-pdf.yml - Create symlink _quarto.yml -> config/_quarto-html.yml - Update Makefile to switch configs via symlink (matches book approach) - This fixes the per-file PDF rendering issue caused by profile merging
161 lines
5.1 KiB
YAML
161 lines
5.1 KiB
YAML
# =============================================================================
|
|
# HARDWARE KITS PDF CONFIGURATION
|
|
# =============================================================================
|
|
# Standalone PDF book configuration with custom cover page.
|
|
# Usage: ln -sf config/_quarto-pdf.yml _quarto.yml && quarto render --to titlepage-pdf
|
|
# Or: make pdf
|
|
# =============================================================================
|
|
|
|
project:
|
|
type: book
|
|
output-dir: _build/pdf
|
|
|
|
book:
|
|
title: "Hardware Kits"
|
|
subtitle: "Hands-On Embedded ML Labs"
|
|
author: "Marcelo Rovai with Prof. Vijay Janapa Reddi"
|
|
date: today
|
|
|
|
chapters:
|
|
# Frontmatter
|
|
- index.qmd
|
|
- contents/getting-started.qmd
|
|
- contents/platforms.qmd
|
|
- contents/ide-setup.qmd
|
|
|
|
# Arduino Labs
|
|
- part: "Arduino Nicla Vision"
|
|
chapters:
|
|
- contents/arduino/nicla_vision/nicla_vision.qmd
|
|
- contents/arduino/nicla_vision/setup/setup.qmd
|
|
- contents/arduino/nicla_vision/image_classification/image_classification.qmd
|
|
- contents/arduino/nicla_vision/object_detection/object_detection.qmd
|
|
- contents/arduino/nicla_vision/kws/kws.qmd
|
|
- contents/arduino/nicla_vision/motion_classification/motion_classification.qmd
|
|
|
|
# Seeed XIAO Labs
|
|
- part: "Seeed XIAO ESP32S3"
|
|
chapters:
|
|
- contents/seeed/xiao_esp32s3/xiao_esp32s3.qmd
|
|
- contents/seeed/xiao_esp32s3/setup/setup.qmd
|
|
- contents/seeed/xiao_esp32s3/image_classification/image_classification.qmd
|
|
- contents/seeed/xiao_esp32s3/object_detection/object_detection.qmd
|
|
- contents/seeed/xiao_esp32s3/kws/kws.qmd
|
|
- contents/seeed/xiao_esp32s3/motion_classification/motion_classification.qmd
|
|
|
|
# Grove Vision Labs
|
|
- part: "Grove Vision AI V2"
|
|
chapters:
|
|
- contents/seeed/grove_vision_ai_v2/grove_vision_ai_v2.qmd
|
|
- contents/seeed/grove_vision_ai_v2/setup_and_no_code_apps/setup_and_no_code_apps.qmd
|
|
- contents/seeed/grove_vision_ai_v2/image_classification/image_classification.qmd
|
|
- contents/seeed/grove_vision_ai_v2/object_detection/object_detection.qmd
|
|
|
|
# Raspberry Pi Labs
|
|
- part: "Raspberry Pi"
|
|
chapters:
|
|
- contents/raspi/raspi.qmd
|
|
- contents/raspi/setup/setup.qmd
|
|
- contents/raspi/image_classification/image_classification.qmd
|
|
- contents/raspi/object_detection/object_detection.qmd
|
|
- contents/raspi/llm/llm.qmd
|
|
- contents/raspi/vlm/vlm.qmd
|
|
|
|
# Shared Resources
|
|
- part: "Shared Resources"
|
|
chapters:
|
|
- contents/shared/shared.qmd
|
|
- contents/shared/kws_feature_eng/kws_feature_eng.qmd
|
|
- contents/shared/dsp_spectral_features_block/dsp_spectral_features_block.qmd
|
|
|
|
format:
|
|
titlepage-pdf:
|
|
pdf-engine: lualatex
|
|
use-rsvg-convert: true
|
|
documentclass: scrbook
|
|
classoption: [abstract, titlepage]
|
|
papersize: letter
|
|
fontsize: 10pt
|
|
header-includes: |
|
|
\usepackage{needspace}
|
|
\let\Needspace\needspace
|
|
|
|
# Cover page configuration
|
|
coverpage: true
|
|
coverpage-title: "Machine Learning Systems"
|
|
coverpage-footer: "Hands-On Labs for"
|
|
coverpage-theme:
|
|
page-text-align: "center"
|
|
|
|
author-style: "plain"
|
|
author-sep: "newline"
|
|
author-fontsize: 20
|
|
author-align: "right"
|
|
author-bottom: "0.132\\paperwidth"
|
|
author-left: 7in
|
|
author-width: 6in
|
|
|
|
header-style: "none"
|
|
date-style: "none"
|
|
|
|
title-fontsize: 50
|
|
title-left: "0.075\\paperwidth"
|
|
title-bottom: "0.31\\paperwidth"
|
|
title-width: "0.9\\paperwidth"
|
|
|
|
footer-fontsize: 22
|
|
footer-left: "0.075\\paperwidth"
|
|
footer-bottom: "0.38\\paperwidth"
|
|
footer-width: "0.9\\paperwidth"
|
|
footer-align: "left"
|
|
|
|
# Title page configuration
|
|
titlepage: true
|
|
titlepage-theme:
|
|
elements: ["\\titleblock",
|
|
"Marcelo Rovai with Prof. Vijay Janapa Reddi",
|
|
"\\vspace{80mm}",
|
|
"Hands-on embedded ML laboratories for the Machine Learning Systems textbook.",
|
|
"\\vfill",
|
|
"{{< meta date >}}",
|
|
"\\vfill"]
|
|
date: "today"
|
|
date-format: long
|
|
|
|
page-align: "left"
|
|
title-style: "plain"
|
|
title-fontstyle: ["huge", "bfseries"]
|
|
title-space-after: "4\\baselineskip"
|
|
title-subtitle-space-between: "0.05\\textheight"
|
|
subtitle-fontstyle: ["large", "textit"]
|
|
author-style: "plain"
|
|
author-fontstyle: "large"
|
|
affiliation-style: "none"
|
|
footer-style: "plain"
|
|
footer-fontstyle: "large"
|
|
logo-size: "0.15\\textheight"
|
|
logo-space-after: "1\\baselineskip"
|
|
|
|
# LaTeX includes
|
|
include-in-header: tex/header-includes.tex
|
|
include-before-body: tex/before-body-includes.tex
|
|
include-after-body: tex/after-body-includes.tex
|
|
|
|
# Output settings
|
|
keep-tex: false
|
|
toc: true
|
|
toc-depth: 2
|
|
number-sections: true
|
|
|
|
# Code formatting
|
|
code-copy: false
|
|
code-overflow: wrap
|
|
highlight-style: github
|
|
|
|
# Lua filters
|
|
filters:
|
|
- filters/inject_parts.lua
|
|
|
|
# Metadata for filters
|
|
part-summaries: contents/parts/summaries.yml
|