typst/schule/mathe/tests/pinnit.typ

88 lines
1.6 KiB
Typst
Raw Normal View History

// Example adapted from: @Matt https://discord.com/channels/1054443721975922748/1088371919725793360/1166508915572351067
#import "@preview/pinit:0.2.2": *
#set page(width: 700pt, height: auto, margin: 30pt)
#set text(size: 20pt)
#set math.equation(numbering: "(1)")
#let pinit-highlight-equation-from(
height: 2em,
pos: bottom,
fill: rgb(0, 180, 255),
highlight-pins,
point-pin,
body,
) = {
pinit-highlight(
..highlight-pins,
dy: -0.9em,
fill: rgb(..fill.components().slice(0, -1), 40),
)
pinit-point-from(
fill: fill,
pin-dx: 0em,
pin-dy: if pos == bottom {
0.5em
} else {
-0.9em
},
body-dx: 0pt,
body-dy: if pos == bottom {
-1.7em
} else {
-1.6em
},
offset-dx: 0em,
offset-dy: if pos == bottom {
0.8em + height
} else {
-0.6em - height
},
point-pin,
rect(
inset: 0.5em,
stroke: (bottom: 0.12em + fill),
{
set text(fill: fill)
body
},
),
)
}
Equation written out directly (for comparison):
$ (q_T^* p_T) / p_E p_E^* >= (c + q_T^* p_T^*)(1+r^*)^(2N) $
Laid out with pinit:
#v(3.5em)
$
(#pin(1)q_T^* p_T#pin(2))/(#pin(3)p_E#pin(4))#pin(5)p_E^*#pin(6) >= (c + q_T^* p_T^*)(1+r^*)^(2N)
$
#v(5em)
#pinit-highlight-equation-from(
(1, 2, 3, 4),
(3, 4),
height: 3.5em,
pos: bottom,
fill: rgb(0, 180, 255),
)[
quantity of Terran goods
]
#pinit-highlight-equation-from(
(5, 6),
(5, 6),
height: 2.5em,
pos: top,
fill: rgb(150, 90, 170),
)[
price of Terran goods, on Trantor
]
Paragraph after the equation.