moved table
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 23s

This commit is contained in:
alexander
2026-02-07 16:55:29 +01:00
parent 2b0579adb9
commit f4b3e9753f

View File

@@ -407,427 +407,6 @@
]
*/
// Bauelemente
#bgBlock(fill: colorEineTore)[
#subHeading(fill: colorEineTore)[Bauelemente]
#table(
columns: (1fr, 1fr, 1fr),
stroke: none,
align: center,
table.header([*Zeichen*], [*Gleichungen*], [*Abbildung*]),
// Nullator
[
Nullator
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
joham.nullator("nullator1",(0,0), (-1.75,0))
}))
],
[
$u = 0$
$i = 0$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((0,0), (0,0)),
mark-style: (stroke: red, fill: red), mark: "o", )
})
}))
],
// Norator
[
Norator
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
joham.norator("norator1",(0,0), (-1.75,0))
}))
],
[
u = beliebig
i = beliebig
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add-contour(x-domain: (-3, 3), y-domain: (-3, 3),
style: (fill: rgb("#f7000832"), stroke: none),
fill: true,
op: "<", // Find contours where data < z
z: (0,100000), // Z values to find contours for
(x, y) => calc.sqrt(x*x + y * y))
})
}))
],
table.hline(),
// Kurzschluss
[
Kurzschluss
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
node("n1", (0, 0))
node("n2", (1, 0))
wire((0,0), (1,0))
wire((-0.25,0), (0,0))
wire((1,0), (1.25,0))
}))
],
[
$u = 0$
i = beliebig
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((0, -1), (0, 1)), style: (stroke: red))
})
}))
],
// Leerlauf
[
Leerlauf
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
node("n1", (0, 0))
node("n2", (1, 0))
wire((-0.25,0), (0,0))
wire((1,0), (1.25,0))
}))
],
[
u = beliebig
$i = 0$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 0), (1, 0)), style: (stroke: red))
})
}))
],
table.hline(),
// Quellen: //
// Spannungs-quelle
[
Spannungs-quelle
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
vsource(
"b1",
(0, 0),
(1.75, 0),
)
}))
],
[
$u = U_0$
i = beliebig
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((1, -1), (1, 1)), style: (stroke: red))
plot.add-anchor("pt",(1,0))
})
content("plot.pt", [$U_0$], anchor: "north-west", padding: .1)
}))
],
// Strom-quelle
[
Strom-quelle
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
isource(
"b1",
(0, 0),
(1.75, 0),
)
}))
],
[
u = beliebig
$i = I_0$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 1), (1, 1)), style: (stroke: red))
plot.add-anchor("pt",(0,1))
})
content("plot.pt", [$I_0$], anchor: "south-east", padding: .1)
}))
],
table.hline(),
// Wiederstand
[
Wiederstand
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
resistor(
"b1",
(0, 0),
(2, 0),
)
}))
],
[
$u = r * i$
$i = u/r$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, -1), (1, 1)), style: (stroke: red))
})
}))
],
// Induktivität
[
Induktivität
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
inductor(
"b1",
(0, 0),
(2, 0),
variant: "ieee",
)
}))
],
[
],
[
],
// Kapazität
[
Kapazität
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
capacitor(
"b1",
(0, 0),
(2, 0),
)
}))
],
[
],
[
],
table.hline(),
// Dioden ://
//
// ideale Diode
[
ideale Diode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
diode("b1", (0, 0), (1., 0), stroke: black, fill: white)
}))
],
[
$u=0$ falls $i>0$
$i=0$ falls $u<0$
],
[
/*
#scale(x: 50%, y: 50%,
cetz.canvas({
import cetz.draw: *
line((-1.5, 0), (1.5, 0), mark: (end: "straight"))
line((0, -1.5), (0, 1.5), mark: (end: "straight"))
content( (1.55, 0), $u$, anchor: "west")
content( (0.15, 1.4), $i$, anchor: "west")
line((-1.5, 0), (0, 0), stroke: red) // u = 0
line((0, 0), (0, 1.35), stroke: red) // i = 0
}))
*/
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 0), (0, 0)), style: (stroke: red))
plot.add(((0, 0), (0, 1)), style: (stroke: red))
})
}))
],
//table.hline(start: 1, end: 2),
// reale/pn Diode
[
reale/pn Diode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
diode("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
$u_D = u_T*ln((i_D/I_S)+1)$
$i_D = I_S*(e^(u_D/U_T)-1)$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
let data = plot.add(x => calc.exp(x) - 1, domain: (-2, 2), style: (stroke: red))
plot.plot(axis-style: "school-book", ..opts, data, name: "plot")
}))
],
// Photodiode
[
Photodiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
photodiode("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
$i = I_S*(e^(u_D/U_T)-1)- i_L$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(x => calc.exp(x) - 1, domain: (-2, 2), style: (stroke: red))
plot.add(x => calc.exp(x) - 2, domain: (-2, 2), style: (stroke: red))
plot.add(x => calc.exp(x) - 3, domain: (-2, 2), style: (stroke: red))
})
}))
],
// Zenerdiode
[
Zenerdiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
zener("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
Durchbruch bei $u=U_Z$ :
$u<=U_Z$ stark leitend
],
[
],
// Tunneldiode
[
Tunneldiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
tunnel("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
],
[
],
);
]
// Graphen und Matrizen
#bgBlock(fill: colorAnalyseVerfahren)[
#subHeading(fill: colorAnalyseVerfahren)[Graphen und Matrizen]
@@ -1573,6 +1152,427 @@
)
]
#colbreak()
// Bauelemente
#bgBlock(fill: colorEineTore)[
#subHeading(fill: colorEineTore)[Bauelemente]
#table(
columns: (1fr, 1fr, 1fr),
stroke: none,
fill: (x, y) => if (calc.rem(y, 2) == 0) { tableFillLow } else { tableFillHigh },
align: center,
table.header([*Zeichen*], [*Gleichungen*], [*Abbildung*]),
table.hline(),
// Nullator
[
Nullator
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
joham.nullator("nullator1",(0,0), (-1.75,0))
}))
],
align(center+horizon,
$u = 0 \ i = 0$
),
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((0,0), (0,0)),
mark-style: (stroke: red, fill: red), mark: "o", )
})
}))
],
// Norator
[
Norator
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
joham.norator("norator1",(0,0), (-1.75,0))
}))
],
[
$u = "bel." \
i = "bel."$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add-contour(x-domain: (-3, 3), y-domain: (-3, 3),
style: (fill: rgb("#f7000832"), stroke: none),
fill: true,
op: "<", // Find contours where data < z
z: (0,100000), // Z values to find contours for
(x, y) => calc.sqrt(x*x + y * y))
})
}))
],
table.hline(),
// Kurzschluss
[
Kurzschluss
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
node("n1", (0, 0))
node("n2", (1, 0))
wire((0,0), (1,0))
wire((-0.25,0), (0,0))
wire((1,0), (1.25,0))
}))
],
[
$u = 0$
i = bel.
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((0, -1), (0, 1)), style: (stroke: red))
})
}))
],
// Leerlauf
[
Leerlauf
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
node("n1", (0, 0))
node("n2", (1, 0))
wire((-0.25,0), (0,0))
wire((1,0), (1.25,0))
}))
],
[
$u = "bel." \
i = 0$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 0), (1, 0)), style: (stroke: red))
})
}))
],
table.hline(),
// Quellen: //
// Spannungs-quelle
[
Spannungs-quelle
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
vsource(
"b1",
(0, 0),
(1.75, 0),
)
}))
],
[
$u = U_0$
i = bel.
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((1, -1), (1, 1)), style: (stroke: red))
plot.add-anchor("pt",(1,0))
})
content("plot.pt", [$U_0$], anchor: "north-west", padding: .1)
}))
],
// Strom-quelle
[
Strom-quelle
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
isource(
"b1",
(0, 0),
(1.75, 0),
)
}))
],
[
u = bel.
$i = I_0$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 1), (1, 1)), style: (stroke: red))
plot.add-anchor("pt",(0,1))
})
content("plot.pt", [$I_0$], anchor: "south-east", padding: .1)
}))
],
table.hline(),
// Wiederstand
[
Wiederstand
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
resistor(
"b1",
(0, 0),
(2, 0),
)
}))
],
align(center+horizon,
$u = r dot i \
i = u/r$
),
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, -1), (1, 1)), style: (stroke: red))
})
}))
],
// Induktivität
[
Induktivität
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
inductor(
"b1",
(0, 0),
(2, 0),
variant: "ieee",
)
}))
],
[
],
[
],
// Kapazität
[
Kapazität
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
capacitor(
"b1",
(0, 0),
(2, 0),
)
}))
],
[
],
[
],
table.hline(),
// Dioden ://
//
// ideale Diode
[
ideale Diode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
diode("b1", (0, 0), (1., 0), stroke: black, fill: white)
}))
],
[
$u=0$ falls $i>0$
$i=0$ falls $u<0$
],
[
/*
#scale(x: 50%, y: 50%,
cetz.canvas({
import cetz.draw: *
line((-1.5, 0), (1.5, 0), mark: (end: "straight"))
line((0, -1.5), (0, 1.5), mark: (end: "straight"))
content( (1.55, 0), $u$, anchor: "west")
content( (0.15, 1.4), $i$, anchor: "west")
line((-1.5, 0), (0, 0), stroke: red) // u = 0
line((0, 0), (0, 1.35), stroke: red) // i = 0
}))
*/
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(((-1, 0), (0, 0)), style: (stroke: red))
plot.add(((0, 0), (0, 1)), style: (stroke: red))
})
}))
],
//table.hline(start: 1, end: 2),
// reale/pn Diode
[
reale/pn Diode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
diode("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
$u_D = u_T dot ln((i_D/I_S)+1) \
i_D = I_S dot (e^(u_D/U_T)-1)$
],
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
let data = plot.add(x => calc.exp(x) - 1, domain: (-2, 2), style: (stroke: red))
plot.plot(axis-style: "school-book", ..opts, data, name: "plot")
}))
],
// Photodiode
[
Photodiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
photodiode("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
align(horizon+center,
$i = I_S*(e^(u_D/U_T)-1)- i_L$
),
[
#scale(x: 75%, y: 75%, cetz.canvas({
import cetz.draw: *
import cetz-plot: *
let opts = (x-tick-step: none, y-tick-step: none, size: (2, 1), x-label: [u], y-label: [i])
plot.plot(axis-style: "school-book", ..opts, name: "plot", {
plot.add(x => calc.exp(x) - 1, domain: (-2, 2), style: (stroke: red))
plot.add(x => calc.exp(x) - 2, domain: (-2, 2), style: (stroke: red))
plot.add(x => calc.exp(x) - 3, domain: (-2, 2), style: (stroke: red))
})
}))
],
// Zenerdiode
[
Zenerdiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
zener("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
Durchbruch bei $u=U_Z$ :
$u<=U_Z$ stark leitend
],
[
],
// Tunneldiode
[
Tunneldiode
#scale(x: 100%, y: 100%, zap.circuit({
import zap: *
import cetz.draw: content, line
tunnel("b1", (0, 0), (1., 0), stroke: black, fill: black)
}))
],
[
],
[
],
);
]
]
#bgBlock(fill: colorZweiTore, width: 100%)[