forked from HEL/circuiteria
added doc cross-reference links
This commit is contained in:
parent
c01e33cab4
commit
a9014e03e9
BIN
manual.pdf
BIN
manual.pdf
Binary file not shown.
24
manual.typ
24
manual.typ
@ -44,6 +44,20 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#let doc-ref(target, full: false, var: false) = {
|
||||||
|
let (module, func) = target.split(".")
|
||||||
|
let label-name = module + func
|
||||||
|
let display-name = func
|
||||||
|
if full {
|
||||||
|
display-name = target
|
||||||
|
}
|
||||||
|
if not var {
|
||||||
|
label-name += "()"
|
||||||
|
display-name += "()"
|
||||||
|
}
|
||||||
|
link(label(label-name))[#display-name]
|
||||||
|
}
|
||||||
|
|
||||||
= Introduction
|
= Introduction
|
||||||
|
|
||||||
This package provides a way to make beautiful block circuit diagrams using the CeTZ package.
|
This package provides a way to make beautiful block circuit diagrams using the CeTZ package.
|
||||||
@ -92,7 +106,8 @@ Simply import #link("src/lib.typ") and call the `circuit` function:
|
|||||||
wire: wire,
|
wire: wire,
|
||||||
circuit: circuit,
|
circuit: circuit,
|
||||||
draw: draw,
|
draw: draw,
|
||||||
examples: examples
|
examples: examples,
|
||||||
|
doc-ref: doc-ref
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
#tidy.show-module(wire-docs)
|
#tidy.show-module(wire-docs)
|
||||||
@ -113,8 +128,11 @@ Simply import #link("src/lib.typ") and call the `circuit` function:
|
|||||||
draw: draw,
|
draw: draw,
|
||||||
wire: wire,
|
wire: wire,
|
||||||
tidy: tidy,
|
tidy: tidy,
|
||||||
examples: examples
|
examples: examples,
|
||||||
|
doc-ref: doc-ref
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
#tidy.show-module(element-docs, sort-functions: false)
|
#tidy.show-module(element-docs, sort-functions: false)
|
||||||
|
|
||||||
|
#(tidy.utilities.get-style-functions(tidy.styles.default).show-reference)(label("wirewire()"), "test")
|
@ -40,16 +40,16 @@
|
|||||||
/// Draws an ALU with two inputs
|
/// Draws an ALU with two inputs
|
||||||
///
|
///
|
||||||
/// #examples.alu
|
/// #examples.alu
|
||||||
/// - x (number, dictionary): see `elmt()`
|
/// - x (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - y (number, dictionary): see `elmt()`
|
/// - y (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - w (number): see `elmt()`
|
/// - w (number): see #doc-ref("element.elmt")
|
||||||
/// - h (number): see `elmt()`
|
/// - h (number): see #doc-ref("element.elmt")
|
||||||
/// - name (none, str): see `elmt()`
|
/// - name (none, str): see #doc-ref("element.elmt")
|
||||||
/// - name-anchor (str): see `elmt()`
|
/// - name-anchor (str): see #doc-ref("element.elmt")
|
||||||
/// - fill (none, color): see `elmt()`
|
/// - fill (none, color): see #doc-ref("element.elmt")
|
||||||
/// - stroke (stroke): see `elmt()`
|
/// - stroke (stroke): see #doc-ref("element.elmt")
|
||||||
/// - id (str): see `elmt()`
|
/// - id (str): see #doc-ref("element.elmt")
|
||||||
/// - debug (dictionary): see `elmt()`
|
/// - debug (dictionary): see #doc-ref("element.elmt")
|
||||||
#let alu(
|
#let alu(
|
||||||
x: none,
|
x: none,
|
||||||
y: none,
|
y: none,
|
||||||
|
@ -16,18 +16,18 @@
|
|||||||
/// Draws a block element
|
/// Draws a block element
|
||||||
///
|
///
|
||||||
/// #examples.block
|
/// #examples.block
|
||||||
/// - x (number, dictionary): see `elmt()`
|
/// - x (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - y (number, dictionary): see `elmt()`
|
/// - y (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - w (number): see `elmt()`
|
/// - w (number): see #doc-ref("element.elmt")
|
||||||
/// - h (number): see `elmt()`
|
/// - h (number): see #doc-ref("element.elmt")
|
||||||
/// - name (none, str): see `elmt()`
|
/// - name (none, str): see #doc-ref("element.elmt")
|
||||||
/// - name-anchor (str): see `elmt()`
|
/// - name-anchor (str): see #doc-ref("element.elmt")
|
||||||
/// - ports (dictionary): see `elmt()`
|
/// - ports (dictionary): see #doc-ref("element.elmt")
|
||||||
/// - ports-margins (dictionary): see `elmt()`
|
/// - ports-margins (dictionary): see #doc-ref("element.elmt")
|
||||||
/// - fill (none, color): see `elmt()`
|
/// - fill (none, color): see #doc-ref("element.elmt")
|
||||||
/// - stroke (stroke): see `elmt()`
|
/// - stroke (stroke): see #doc-ref("element.elmt")
|
||||||
/// - id (str): see `elmt()`
|
/// - id (str): see #doc-ref("element.elmt")
|
||||||
/// - debug (dictionary): see `elmt()`
|
/// - debug (dictionary): see #doc-ref("element.elmt")
|
||||||
#let block(
|
#let block(
|
||||||
x: none,
|
x: none,
|
||||||
y: none,
|
y: none,
|
||||||
|
@ -28,16 +28,16 @@
|
|||||||
/// Draws a bit extender
|
/// Draws a bit extender
|
||||||
///
|
///
|
||||||
/// #examples.extender
|
/// #examples.extender
|
||||||
/// - x (number, dictionary): see `elmt()`
|
/// - x (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - y (number, dictionary): see `elmt()`
|
/// - y (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - w (number): see `elmt()`
|
/// - w (number): see #doc-ref("element.elmt")
|
||||||
/// - h (number): see `elmt()`
|
/// - h (number): see #doc-ref("element.elmt")
|
||||||
/// - name (none, str): see `elmt()`
|
/// - name (none, str): see #doc-ref("element.elmt")
|
||||||
/// - name-anchor (str): see `elmt()`
|
/// - name-anchor (str): see #doc-ref("element.elmt")
|
||||||
/// - fill (none, color): see `elmt()`
|
/// - fill (none, color): see #doc-ref("element.elmt")
|
||||||
/// - stroke (stroke): see `elmt()`
|
/// - stroke (stroke): see #doc-ref("element.elmt")
|
||||||
/// - id (str): see `elmt()`
|
/// - id (str): see #doc-ref("element.elmt")
|
||||||
/// - debug (dictionary): see `elmt()`
|
/// - debug (dictionary): see #doc-ref("element.elmt")
|
||||||
#let extender(
|
#let extender(
|
||||||
x: none,
|
x: none,
|
||||||
y: none,
|
y: none,
|
||||||
|
@ -24,17 +24,17 @@
|
|||||||
/// Draws a multiplexer
|
/// Draws a multiplexer
|
||||||
///
|
///
|
||||||
/// #examples.multiplexer
|
/// #examples.multiplexer
|
||||||
/// - x (number, dictionary): see `elmt()`
|
/// - x (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - y (number, dictionary): see `elmt()`
|
/// - y (number, dictionary): see #doc-ref("element.elmt")
|
||||||
/// - w (number): see `elmt()`
|
/// - w (number): see #doc-ref("element.elmt")
|
||||||
/// - h (number): see `elmt()`
|
/// - h (number): see #doc-ref("element.elmt")
|
||||||
/// - name (none, str): see `elmt()`
|
/// - name (none, str): see #doc-ref("element.elmt")
|
||||||
/// - name-anchor (str): see `elmt()`
|
/// - name-anchor (str): see #doc-ref("element.elmt")
|
||||||
/// - entries (int, array): If it is an integer, it defines the number of input ports (automatically named with their binary index). If it is an array of string, it defines the name of each input.
|
/// - entries (int, array): If it is an integer, it defines the number of input ports (automatically named with their binary index). If it is an array of strings, it defines the name of each input.
|
||||||
/// - fill (none, color): see `elmt()`
|
/// - fill (none, color): see #doc-ref("element.elmt")
|
||||||
/// - stroke (stroke): see `elmt()`
|
/// - stroke (stroke): see #doc-ref("element.elmt")
|
||||||
/// - id (str): see `elmt()`
|
/// - id (str): see #doc-ref("element.elmt")
|
||||||
/// - debug (dictionary): see `elmt()`
|
/// - debug (dictionary): see #doc-ref("element.elmt")
|
||||||
#let multiplexer(
|
#let multiplexer(
|
||||||
x: none,
|
x: none,
|
||||||
y: none,
|
y: none,
|
||||||
|
@ -100,7 +100,7 @@
|
|||||||
/// - slice (none, array): Optional bits slice (start and end bit indices). If set, it will be displayed at the start of the wire
|
/// - slice (none, array): Optional bits slice (start and end bit indices). If set, it will be displayed at the start of the wire
|
||||||
/// - color (color): The stroke color
|
/// - color (color): The stroke color
|
||||||
/// - dashed (bool): Whether the stroke is dashed or not
|
/// - dashed (bool): Whether the stroke is dashed or not
|
||||||
/// - style (str): The wire's style (see `wire-styles` for possible values)
|
/// - style (str): The wire's style (see #doc-ref("wire.wire-styles", var: true) for possible values)
|
||||||
/// - reverse (bool): If true, the start and end points will be swapped (useful in cases where the start point depends on the end point, for example with perpendiculars)
|
/// - reverse (bool): If true, the start and end points will be swapped (useful in cases where the start point depends on the end point, for example with perpendiculars)
|
||||||
/// - zigzag-ratio (ratio): Position of the zigzag vertical relative to the horizontal span (only with style "zigzag")
|
/// - zigzag-ratio (ratio): Position of the zigzag vertical relative to the horizontal span (only with style "zigzag")
|
||||||
/// - dodge-y (number): Y position to dodge the wire to (only with style "dodge")
|
/// - dodge-y (number): Y position to dodge the wire to (only with style "dodge")
|
||||||
|
Loading…
Reference in New Issue
Block a user