From 34351baa98ffbdaa85b77c444f740e0abad511ef Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Sat, 8 Aug 2026 15:07:16 +0200 Subject: Improve global project (typos, enforce 80 columns whenever possible, diagrams) and finish 3.1 --- preamble.typ | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 preamble.typ (limited to 'preamble.typ') diff --git a/preamble.typ b/preamble.typ new file mode 100644 index 0000000..2b89590 --- /dev/null +++ b/preamble.typ @@ -0,0 +1,111 @@ +#import "@preview/unify:0.8.1": add-unit + +// All units for the specification should be specified here +#add-unit("ppm", "ppm", "upright(\"ppm\")") +#add-unit("ppb", "ppb", "upright(\"ppb\")") +#add-unit("inch", "\"", "upright(\"\\\"\")", space: false) +#add-unit("micro inch", "u\"", "upright(mu \"\\\"\")", space: false) +#add-unit("digital voltage", "VD", "upright(\"VD\")") +#add-unit("volt peak-to-peak", "Vpp", "upright(V_\"pp\")") +#add-unit("milli volt peak-to-peak", "mVpp", "upright(\"mV\"_\"pp\")") +#add-unit("micro volt peak-to-peak", "uVpp", "upright(mu V_\"pp\")") +#add-unit("dBc", "dBc", "upright(\"dBc\")") // decibels relative to the carrier +#add-unit("rack unit", "U", "upright(U)", space: false) +#add-unit("ounce", "oz", "upright(\"oz\")") +#add-unit("american wire gauge", "AWG", "upright(\"AWG\")") + +#set document( + title: [SAME Analog Modular Ecosystem], + author: "Denis Chevalier", + description: [SAME Analog Modular Ecosystem Specification], + date: auto, +) + +#set page( + paper: "a4", + header: context { + if counter(page).get().first() > 1 { + grid( + columns: (1fr, 1fr), + align(left, text(8pt)[SAME Analog Modular Ecosystem]), align(right, text(8pt)[CC BY-SA 4.0 - CERN-OHL-S-2.0+]), + ) + } + }, + + footer: context { + let pg = counter(page).get().first() + if pg > 1 { + v(4pt) + grid( + columns: (1fr, 1fr, 1fr), + align(left, text(8pt)[© 2026 Denis Chevalier]), + align(center, text(8pt)[Page #pg]), + align(right, text(8pt)[Draft]), + ) + } + }, +) + +#set heading(numbering: "1.") +#show heading.where(depth: 1): body => { + pagebreak(weak: true) + body +} + +#set par( + justify: true, +) + +#show table.cell.where(y: 0): strong + +// Title page +#title() + +/ SPDX-FileCopyrightText: 2026 Denis Chevalier \ +/ SPDX-License-Identifier: CC-BY-SA-4.0 +/ SPDX-License-Identifier: CERN-OHL-S-2.0+ + +The text, figures, tables, and mathematical content of this specification are +licensed under CC BY-SA 4.0. If a later version of CC BY-SA is published, the +author grants permission to distribute this work under that later version as +well. + +Hardware designs contained herein (schematics, PCB layouts, mechanical +drawings) are licensed under CERN-OHL-S-2.0+. + +// Toc +#outline( + title: [Table of Contents], + indent: auto, +) + +#outline( + title: [List of Tables], + target: figure.where(kind: table), +) + +#outline( + title: [List of Figures], + target: figure.where(kind: image), +) + +#outline( + title: [List of Listings], + target: figure.where(kind: raw), +) + +#include "introduction.typ" + +#include "electrical-specifications.typ" + +#include "mechanical-specifications.typ" + += Module design + += Compliance verification + += Reference implementation + += Theory of operation + += Applications -- cgit