3 text
.preamble(r
"\parindent0pt")
6 t
= c
.text(0, 0, r
"spam \& eggs", [trafo
.scale(6), text
.parbox(1.2, baseline
=text
.parbox
.top
)])
7 t2
= text
.text(0, 0, "eggs", [trafo
.scale(6)])
8 b
, b2
= t
.bbox(), t2
.bbox()
9 c
.stroke(t
.path(), [style
.linewidth
.THin
])
10 c
.stroke(path
.line(-0.3, b
.top(), -0.1, b
.top()), [deco
.earrow
.Small
])
11 c
.text(-0.5, b
.top(), "valign.top", [text
.vshift
.mathaxis
, text
.halign
.right
])
12 c
.stroke(path
.line(-0.3, 0.5*(b
.top()+b
.bottom()), -0.1, 0.5*(b
.top()+b
.bottom())), [deco
.earrow
.Small
])
13 c
.text(-0.5, 0.5*(b
.top()+b
.bottom()), "valign.middle", [text
.vshift
.mathaxis
, text
.halign
.right
])
14 c
.stroke(path
.line(-0.3, b
.bottom(), -0.1, b
.bottom()), [deco
.earrow
.Small
])
15 c
.text(-0.5, b
.bottom(), "valign.bottom", [text
.vshift
.mathaxis
, text
.halign
.right
])
16 c
.stroke(path
.line(0, 0, 7.2, 0))
17 c
.stroke(path
.line(7.3, 0, 7.5, 0), [deco
.barrow
.Small
])
18 c
.text(7.7, 0, "parbox.top", [text
.vshift
.mathaxis
])
19 c
.stroke(path
.line(7.3, 0.5*(b
.bottom()-b2
.bottom()), 7.5, 0.5*(b
.bottom()-b2
.bottom())), [deco
.barrow
.Small
])
20 c
.text(7.7, 0.5*(b
.bottom()-b2
.bottom()), "parbox.middle", [text
.vshift
.mathaxis
])
21 c
.stroke(path
.line(0, b
.bottom()-b2
.bottom(), 7.2, b
.bottom()-b2
.bottom()))
22 c
.stroke(path
.line(7.3, b
.bottom()-b2
.bottom(), 7.5, b
.bottom()-b2
.bottom()), [deco
.barrow
.Small
])
23 c
.text(7.7, b
.bottom()-b2
.bottom(), "parbox.bottom", [text
.vshift
.mathaxis
])