Files
cs249r_book/kits/config/_quarto-pdf.yml
Vijay Janapa Reddi f87c88f699 refactor: switch from profiles to symlink config approach for PDF builds
- 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
2025-12-28 11:17:30 -05:00

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