Title¶
Qualified name: algan.mobs.manim\_compat.Title
- class Title(*text_parts, include_underline=True, match_underline_width_to_text=False, underline_buff=0.25, **kwargs)¶
Bases:
ManimCompatMobAn underlined heading, wrapping Manim’s
Title.The text is typeset by LaTeX in text mode (so
Title("Chapter 1")reads as written, no maths escaping needed) with a horizontal rule beneath it, and the whole thing is moved to the top of the frame.The frame it moves to the top of is Manim’s, not Algan’s, and it lands flush against the edge. Manim’s frame is 8 world units tall and its
to_edgeleaves a 0.5 gap, so the title’s top comes to rest aty = 3.5– which is exactly where Algan’s default camera puts its top border. Nothing is cut off, but the text touches the frame edge with no margin at all. Callmove_to_screen_edge()to inset it by the usual buffer, or.move(DOWN * 1)to place it by hand.The default rule is sized from Manim’s frame too, at
frame_width - 2, which comes out just narrower than Algan’s visible width. Passmatch_underline_width_to_text=Truefor a rule the width of the words.Animation
Constructing one records nothing: LaTeX runs immediately and the Mob joins the active Scene unspawned. Call
spawn()to make it appear; later changes are recorded on the timeline like any other Mob’s.- Parameters:
*text_parts (str) – One or more strings, joined and typeset as a single line of text.
include_underline (bool) – Whether to draw the rule beneath the text. Defaults to
True.match_underline_width_to_text (bool) – Whether the rule spans only the width of the text. Defaults to
False, which spans Manim’s frame width less 2 world units instead.underline_buff (float) – Gap between the text and the rule, in world units. Defaults to
0.25(Manim’sMED_SMALL_BUFF).**kwargs (Any) – Manim’s remaining
Texarguments – notablyfont_size(defaults to48),colorandtex_template– plus the Algan-onlyscene,add_to_scene,glowandglow_radius.
- underline¶
The rule Mob, present only when
include_underlineis true. Animate it like any other Mob.
Examples
A title placed where Algan’s camera can see all of it, over a shape:
Example: Example1Title ¶
from algan import * Title("A Title", match_underline_width_to_text=True).move(DOWN * 1).spawn() Circle(radius=0.8, color=BLUE).spawn() Scene.save_video()
Methods
Attributes
animation_managerThis mob's scene-owned animation manager.
basisThe Mob's orientation and scale, as a flattened 3x3 matrix of shape
(*, 9).casts_shadowsWhether this Mob's geometry blocks light on its way from a light source to another surface -- whether it casts a shadow.
childrenThe Mobs attached below this one, in attachment order.
closed_shellWhether this Mob's triangles form a CLOSED shell -- every camera ray that enters the geometry crosses a second time on its way out.
draws_descendantsWhether
get_render_primitivesreturns geometry belonging to this Mob's DESCENDANTS as well as its own.forwardGet the direction the Mob is facing.
lifespanThis mob's [spawn, despawn) interval on its Scene timeline (a
Lifespan).locationThe Mob's position in world space, shape
(*, 3).normalized_basisThe Mob's orientation with scale divided out, shape
(*, 9).parentsThe Mobs this one is attached to, in attachment order.
receives_shadowsWhether this Mob's surfaces are darkened by shadows cast onto them.
rightGet the Mob's own rightward direction.
scale_coefficientThe Mob's scale along its own right, up and forward axes, shape
(*, 3).stroke_colorThe color of the circuit's border stroke.
two_sidedWhether this Mob's geometry should be lit from whichever side the ray arrives on.
upGet the Mob's own upward direction.
xThe Mob's x coordinate in world units, shape
(*, 1).xyThe Mob's x and y coordinates in world units, shape
(*, 2).yThe Mob's y coordinate in world units, shape
(*, 1).zThe Mob's z coordinate in world units, shape
(*, 1).z_indexWhich of two exactly coplanar circuits draws in front (higher wins).