forked from HEL/circuiteria
improved doc + moved examples to separate file
This commit is contained in:
70
manual.typ
70
manual.typ
@ -1,16 +1,72 @@
|
||||
#import "@preview/tidy:0.3.0"
|
||||
#import "@preview/cetz:0.2.2": draw, canvas
|
||||
#import "src/lib.typ"
|
||||
#import "doc/examples.typ"
|
||||
#import "src/circuit.typ": circuit
|
||||
#import "src/element.typ"
|
||||
#import "src/util.typ"
|
||||
#import "src/wire.typ"
|
||||
|
||||
#set heading(numbering: (..num) => if num.pos().len() < 4 {
|
||||
numbering("1.1", ..num)
|
||||
})
|
||||
#{
|
||||
outline(indent: true, depth: 3)
|
||||
}
|
||||
#set page(numbering: "1/1", header: align(right)[circuiteria #sym.dash.em v#lib.version])
|
||||
#show link: set text(blue)
|
||||
#show heading.where(level: 3): it => context {
|
||||
let cnt = counter(heading)
|
||||
let i = cnt.get().at(it.depth) - 1
|
||||
let color = util.colors.values().at(i)
|
||||
block(width: 100%)[
|
||||
#grid(
|
||||
columns: (auto, 1fr),
|
||||
column-gutter: 1em,
|
||||
align: horizon,
|
||||
it,
|
||||
{
|
||||
place(horizon)[
|
||||
#line(
|
||||
start: (0%, 0%),
|
||||
end: (100%, 0%),
|
||||
stroke: color + 1pt
|
||||
)
|
||||
]
|
||||
place(horizon)[
|
||||
#circle(radius: 3pt, stroke: none, fill: color)
|
||||
]
|
||||
place(horizon+right)[
|
||||
#circle(radius: 3pt, stroke: none, fill: color)
|
||||
]
|
||||
}
|
||||
)
|
||||
]
|
||||
}
|
||||
|
||||
= Introduction
|
||||
|
||||
This package provides a way to make beautiful block circuit diagrams using the CeTZ package.
|
||||
|
||||
= Usage
|
||||
|
||||
Simply import #link("src/lib.typ") and call the `circuit` function:
|
||||
#pad(left: 1em)[```typ
|
||||
#import "src/lib.typ"
|
||||
#lib.circuit({
|
||||
import lib: *
|
||||
...
|
||||
})
|
||||
```]
|
||||
|
||||
= Reference
|
||||
|
||||
#let circuit-docs = tidy.parse-module(
|
||||
read("src/circuit.typ"),
|
||||
name: "circuit",
|
||||
require-all-parameters: true
|
||||
)
|
||||
#tidy.show-module(circuit-docs, style: tidy.styles.minimal)
|
||||
#tidy.show-module(circuit-docs)
|
||||
|
||||
#pagebreak()
|
||||
|
||||
@ -32,7 +88,12 @@
|
||||
read("src/wire.typ"),
|
||||
name: "wire",
|
||||
require-all-parameters: true,
|
||||
scope: (wire: wire, circuit: circuit, draw: draw)
|
||||
scope: (
|
||||
wire: wire,
|
||||
circuit: circuit,
|
||||
draw: draw,
|
||||
examples: examples
|
||||
)
|
||||
)
|
||||
#tidy.show-module(wire-docs)
|
||||
|
||||
@ -45,13 +106,14 @@
|
||||
read("src/elements/extender.typ") + "\n" +
|
||||
read("src/elements/multiplexer.typ"),
|
||||
name: "element",
|
||||
require-all-parameters: false,
|
||||
require-all-parameters: true,
|
||||
scope: (
|
||||
element: element,
|
||||
circuit: circuit,
|
||||
draw: draw,
|
||||
wire: wire,
|
||||
tidy: tidy
|
||||
tidy: tidy,
|
||||
examples: examples
|
||||
)
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user