SectionLabel

File: components/layout/SectionLabel.tsx

Use this to create narrative section labels (without manual numbering).

<SectionLabel>Core Idea</SectionLabel>
Callout

File: components/mdx/Callout.tsx

Types: intuition | definition | theorem | example | warning | nicetoknow

<Callout type="definition" title="Convexity">
  A function is convex if...
</Callout>
Eq (Inline) + EquationBlock (Display)

Files:

  • components/mdx/EquationInline.tsx (exposed in MDX as <Eq />)
  • components/mdx/EquationBlock.tsx
Inline: <Eq content="\\nabla f(x) = 0" />
<EquationBlock number="1.1" content="f(x)=\\int_a^b g(x)\\,dx" />
ProofBlock + ProofStep

File: components/mdx/ProofBlock.tsx

<ProofBlock title="Proof sketch">
  <ProofStep number={1}>Assume the contrary.</ProofStep>
  <ProofStep number={2}>Derive a contradiction.</ProofStep>
</ProofBlock>
MathTable

File: components/mdx/MathTable.tsx

<MathTable
  headers={["Method", "Convex?", "Stochastic?"]}
  rows={[
    ["GD", true, false],
    ["SGD", false, true],
  ]}
/>
TableOfContents

File: components/mdx/TableOfContents.tsx

This is an explicit, author-provided ToC block (not the right-side page ToC used in courses).

<TableOfContents
  items={[
    { id: "intro", title: "Introduction", number: "1" },
    { id: "proof", title: "Proof", number: "2" },
  ]}
/>