Explain each and everything about Spinal Cord and Ascending, Descending, and lntersegmental Tracts. I want even the minor details. Also explain all the clinicals along the content.

Clinical Pearl - Lumbar Puncture: Because the cord ends at L1-L2, lumbar puncture is safely performed at the L3/L4 or L4/L5 interspace in adults. The needle enters the subarachnoid space (which extends to S2), bathed only by the cauda equina nerve roots, which float aside rather than being skewered.
| Feature | Location | Significance |
|---|---|---|
| Anterior median fissure | Deep midline anteriorly | The anterior spinal artery runs in it |
| Posterior median sulcus | Shallow midline posteriorly | Marks the midline |
| Posterolateral sulcus (bilateral) | Posterior surface, lateral | Site of dorsal rootlet entry |
| Anterolateral sulcus (bilateral) | Anterior surface, lateral | Site of ventral rootlet exit |
| Posterior intermediate sulcus (C-T only) | Between posterior median and posterolateral | Separates fasciculus gracilis from cuneatus |

| Lamina | Location | Function/Neurons |
|---|---|---|
| I | Dorsal horn tip (marginal zone) | Pain/temperature first-order synapse; origin of spinothalamic |
| II | Substantia gelatinosa | Pain modulation; interneurons; receives C and Aδ fibers |
| III-IV | Nucleus proprius | Touch, pressure; second-order neurons for posterior pathway |
| V | Neck of dorsal horn | Convergence of nociceptive and non-nociceptive input; wide dynamic range neurons |
| VI | Base of dorsal horn (limb enlargements only) | Proprioceptive input from muscle spindles |
| VII | Intermediate zone; includes Clarke's column (T1-L2) | Origin of dorsal spinocerebellar tract; autonomic preganglionic neurons |
| VIII | Medial ventral horn | Interneurons; commissural neurons |
| IX | Lateral ventral horn | Alpha and gamma motor neurons (lower motor neurons) |
| X | Around central canal | Commissural neurons; visceral input |

Clinical Correlation - Subacute Combined Degeneration (Vitamin B12 Deficiency): Vitamin B12 deficiency demyelinates the dorsal columns (and lateral corticospinal tracts). Clinically: loss of vibration sense and proprioception, positive Romberg's sign, broad-based gait, and sensory ataxia. The dorsal column involvement is at the spinal cord level (before decussation), so findings are IPSILATERAL. Combined with corticospinal tract involvement = "combined" degeneration.
Clinical Correlation - Tabes Dorsalis (Neurosyphilis): Treponema pallidum destroys dorsal root ganglia and posterior columns. Presents with: lightning pains, loss of proprioception (positive Romberg), wide-based stamping gait ("stomping" gait because patients can't feel their feet), Argyll-Robertson pupils, and loss of deep tendon reflexes.
Clinical Correlation - Friedreich's Ataxia: Autosomal recessive spinocerebellar ataxia with degeneration of dorsal columns, spinocerebellar tracts, and corticospinal tracts. Presents in adolescence with progressive ataxia, dysarthria, loss of proprioception, and cardiomyopathy.
Clinical Correlation - Cordotomy: Anterolateral cordotomy (surgical or percutaneous) cuts the lateral spinothalamic tract to relieve intractable cancer pain. Pain and temperature loss are contralateral and begin 2-3 segments below the cordotomy level. Because it only cuts the crossed fibers, pain on the OPPOSITE side is ablated. It does NOT affect touch or proprioception.
Clinical Correlation - Syringomyelia (see also below): A central cord cavity (syrinx) expands and destroys the anterior white commissure first - interrupting the decussating spinothalamic fibers. This produces a "cape-like" or "vest-like" bilateral loss of pain and temperature at the involved segments (classically neck, shoulders, arms), with preservation of touch, vibration, and proprioception (dorsal columns uninvolved at first). This dissociated sensory loss is pathognomonic for syringomyelia.
Clinical Correlation - Herpes Zoster (Shingles): Varicella-zoster virus reactivates in the DRG (first-order neuron cell bodies). Pain and vesicular rash follow a dermatomal distribution. Because the DRG is purely sensory, motor function is typically preserved - though herpes zoster can rarely cause segmental motor weakness (zoster motor neuropathy).
Because the DSCT only receives input from T1-L2 via Clarke's nucleus, sacral and lower lumbar proprioception (from below Clarke's column) must first ascend in the posterior columns to reach Clarke's nucleus at L2, then join the DSCT.
Clinical Correlation - Spinocerebellar Ataxias (SCAs): Hereditary spinocerebellar ataxias (e.g., SCA1, SCA2, SCA3/Machado-Joseph) degenerate the spinocerebellar tracts and cerebellar cortex. Clinically: gait ataxia, limb ataxia (dysmetria, dysdiadochokinesia), intention tremor, nystagmus. DSCT lesions cause ipsilateral ataxia; VSCT lesions are less localizable because of the double-crossing.



Clinical Correlation - Upper Motor Neuron (UMN) Syndrome: LCST lesion at any level produces UMN signs: spastic paralysis (increased tone, hyper-reflexia, clonus), positive Babinski sign, loss of superficial abdominal reflexes, and eventual muscle wasting (from disuse). The positive Babinski (extensor plantar response) is the single most important UMN sign - stimulate the lateral sole of the foot and great toe dorsiflexes (extension), with fanning of the other toes. This is the normal response in infants before the LCST myelinates.
Clinical Correlation - Internal Capsule Stroke: Lateral striate artery occlusion (branch of middle cerebral artery) causes a pure motor stroke via LCST infarction in the posterior limb. Produces contralateral hemiplegia (face, arm, leg) without cortical signs (no aphasia, no cortical sensory loss). The somatotopic arrangement means large capsular lesions affect face, arm, and leg equally ("pure motor hemiplegia").
Clinical Correlation - Amyotrophic Lateral Sclerosis (ALS): ALS destroys BOTH upper motor neurons (corticospinal) and lower motor neurons (anterior horn cells). This produces a combination of UMN signs (spasticity, hyperreflexia) AND LMN signs (fasciculations, muscle atrophy, hyporeflexia) at the same time - the co-occurrence is clinically diagnostic of ALS.
Clinical Correlation - Spinal Cord Injury with Spinal Shock: Immediately after acute cord transaction, there is spinal shock - a period of flaccid paralysis WITH absent reflexes (areflexia) below the lesion. This is paradoxical because we expect UMN signs. Spinal shock results from sudden loss of facilitatory input from the brain. After weeks to months, the UMN pattern emerges: spasticity, hyperreflexia, Babinski's sign.
Clinical Note: In humans, the rubrospinal tract is much less prominent than in animals. However, after LCST damage, the rubrospinal tract may hypertrophy and partially compensate - this is part of the basis for motor recovery after stroke.
Clinical Correlation - Decerebrate Posturing: Lesions between the red nucleus and vestibular nuclei (midbrain/pons) leave vestibulospinal tracts intact but eliminate inhibitory input. This produces decerebrate rigidity (extension of all four limbs, clenching of teeth, arching of back). The vestibulospinal tract unopposedly drives extensor facilitation.
Clinical Correlation - Decorticate Posturing: Lesions above the red nucleus (corticospinal and rubrospinal both absent) leave rubrospinal inhibition gone. Result: decorticate posturing - flexion of arms, extension of legs. Less severe than decerebrate.
Clinical Correlation - Central Pain Modulation: The medullary reticulospinal system is part of the descending pain inhibitory pathway. Opioids act at the PAG → nucleus raphe magnus → dorsal horn (laminae I, II, V) to suppress pain. SSRI and SNRIs also activate this system. Disruption of this pathway (e.g., in fibromyalgia, chronic pain states) leads to central sensitization.

Clinical Correlation - Pain Referral and Dermatome Overlap: Because fibers in Lissauer's tract spread over 2 segments before synapsing, pain is rarely confined to a single dermatome. Irritation of a single spinal nerve root typically produces pain overlapping adjacent dermatomes. This also means that a lesion affecting one DRG level may produce analgesia that extends 1-2 levels in each direction.
Clinical Correlation - MLF Syndrome (Internuclear Ophthalmoplegia): The MLF connects the CN VI nucleus (pontine) to the contralateral CN III nucleus (midbrain) for conjugate eye movements. Demyelination (as in MS) or ischemia of the MLF causes internuclear ophthalmoplegia (INO): failure of adduction of the ipsilateral eye on lateral gaze, with nystagmus of the abducting contralateral eye. Bilateral INO in a young person = MS until proven otherwise.
Clinical Correlation - Anterior Cord Syndrome: Occlusion of the ASA (e.g., during aortic surgery, atherosclerosis, dissection) produces:
Clinical Correlation - Posterior Cord Syndrome: Rare; posterior spinal artery occlusion. Isolated loss of vibration, proprioception, and fine touch. Motor function and pain/temperature preserved. Presents with sensory ataxia.
| Feature | Side | Level |
|---|---|---|
| Ipsilateral spastic paralysis (UMN) | SAME side as lesion | Below lesion |
| Ipsilateral loss of fine touch, vibration, proprioception (DCML) | SAME side as lesion | Below lesion |
| Contralateral loss of pain and temperature (spinothalamic) | OPPOSITE side | 2-3 segments below lesion |
| Ipsilateral LMN weakness at lesion level (anterior horn) | SAME side | At lesion level |
| Ipsilateral Horner's syndrome | SAME side | If C8-T2 lesion (ciliospinal center) |
Remember: "Motor same, pain opposite" - ipsilateral motor loss because LCST decussated at the medulla (above the lesion); contralateral pain loss because spinothalamic decussated within the cord 2-3 segments earlier.
Cauda Equina vs. Conus: Cauda equina = LMN only (flaccid), sacral reflexes absent; Conus = mixed UMN/LMN, saddle anesthesia with variable reflexes.
| Tract | Type | Location in Cord | Origin | Decussation | Termination | Function |
|---|---|---|---|---|---|---|
| Fasciculus gracilis | Ascending | Posterior funiculus (medial) | DRG T7-S5 | Medulla | VPL thalamus → cortex | Vibration, proprioception, fine touch (lower body) |
| Fasciculus cuneatus | Ascending | Posterior funiculus (lateral) | DRG C1-T6 | Medulla | VPL thalamus → cortex | Vibration, proprioception, fine touch (upper body) |
| Lateral spinothalamic | Ascending | Lateral funiculus | Laminae I, V | Anterior commissure (2-3 segments below entry) | VPL thalamus → cortex | Pain, temperature |
| Anterior spinothalamic | Ascending | Anterior funiculus | Laminae VI, VII | Anterior commissure | VPL thalamus | Crude touch |
| Spinoreticular | Ascending | Lateral funiculus | Laminae I, V | Bilateral | Reticular formation | Emotional pain, arousal |
| Spinomesencephalic | Ascending | Lateral funiculus | Dorsal horn | Bilateral | PAG, superior colliculus | Pain modulation, visual reflexes |
| Dorsal spinocerebellar | Ascending | Lateral funiculus (dorsal) | Clarke's nucleus (T1-L2) | None (ipsilateral) | Cerebellum (inf. peduncle) | Unconscious proprioception (lower) |
| Ventral spinocerebellar | Ascending | Lateral funiculus (ventral) | Laminae V-VII | Contralateral then re-crosses | Cerebellum (sup. peduncle) | Unconscious proprioception (lower) |
| Lateral corticospinal | Descending | Lateral funiculus | Motor cortex | Pyramidal decussation (medulla) | Laminae IV-VII, IX | Voluntary movement (contralateral) |
| Anterior corticospinal | Descending | Anterior funiculus | Motor cortex | Ventral commissure (segmental) | Laminae III (cervical) | Axial/proximal voluntary (bilateral) |
| Rubrospinal | Descending | Lateral funiculus | Red nucleus | Ventral tegmentum (midbrain) | Laminae V-VII | Distal limb movements (arm) |
| Lateral vestibulospinal | Descending | Anterior/ventrolateral funiculus | Lateral vestibular nucleus | None (ipsilateral) | All levels, laminae VII-IX | Extensor facilitation, balance |
| Medial vestibulospinal | Descending | Anterior funiculus (MLF) | Medial vestibular nucleus | Bilateral | Cervical cord only | Head/neck reflexes |
| Medullary reticulospinal | Descending | Lateral funiculus | Medullary reticular formation | Bilateral | All levels | Inhibits extensors, pain modulation |
| Pontine reticulospinal | Descending | Anterior funiculus | Pontine reticular formation | Ipsilateral | All levels | Facilitates extensors, axial tone |
| Tectospinal | Descending | Anterior funiculus | Superior colliculus | Dorsal tegmentum | Upper cervical only | Head orientation to stimuli |
| Fasciculus proprius | Intersegmental | All funiculi (adjacent to gray) | Laminae V-VIII | Both sides | Multiple cord levels | Inter-segmental coordination |
| Lissauer's tract | Intersegmental | Posterolateral funiculus | DRG (Aδ, C fibers) | None | 1-2 segments up/down | Pain signal dispersion |
Why aren't you generating the pdf
ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /home/daytona/workspace/spinal-cord && python3 -c "from reportlab.lib.p…
~/spinal-cord/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib.colors import HexColor, black, white
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.platypus import ListFlowable, ListItem
OUTPUT = "/home/daytona/workspace/spinal-cord/Spinal_Cord_Complete_Guide.pdf"
# ── Colour palette ────────────────────────────────────────────────────────────
C_DARK_BLUE = HexColor("#1a3a5c")
C_MID_BLUE = HexColor("#2d6fa5")
C_LIGHT_BLUE = HexColor("#d6e8f7")
C_ACCENT = HexColor("#e8401c")
C_GOLD = HexColor("#c98a1a")
C_LIGHT_GOLD = HexColor("#fdf4e3")
C_GREEN = HexColor("#1e7a44")
C_LIGHT_GREEN = HexColor("#e8f5ee")
C_GRAY = HexColor("#555555")
C_LIGHT_GRAY = HexColor("#f5f5f5")
C_TABLE_HEAD = HexColor("#1a3a5c")
C_TABLE_ALT = HexColor("#eaf2fb")
C_CLINICAL = HexColor("#fff3e0")
C_CLINICAL_BD = HexColor("#e65100")
styles = getSampleStyleSheet()
def style(name, **kw):
s = ParagraphStyle(name, **kw)
return s
# Define all styles
TITLE = style("MyTitle",
fontSize=26, leading=32, textColor=C_DARK_BLUE,
fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=6)
SUBTITLE = style("MySubtitle",
fontSize=12, leading=16, textColor=C_MID_BLUE,
fontName="Helvetica", alignment=TA_CENTER, spaceAfter=4)
SOURCES = style("MySources",
fontSize=8, leading=11, textColor=C_GRAY,
fontName="Helvetica-Oblique", alignment=TA_CENTER, spaceAfter=2)
H1 = style("MyH1",
fontSize=16, leading=20, textColor=white,
fontName="Helvetica-Bold", spaceBefore=14, spaceAfter=6,
leftIndent=0, backColor=C_DARK_BLUE,
borderPadding=(6, 8, 6, 8))
H2 = style("MyH2",
fontSize=13, leading=17, textColor=C_DARK_BLUE,
fontName="Helvetica-Bold", spaceBefore=12, spaceAfter=4,
borderPadding=(4, 0, 2, 6))
H3 = style("MyH3",
fontSize=11, leading=15, textColor=C_MID_BLUE,
fontName="Helvetica-Bold", spaceBefore=8, spaceAfter=3)
H4 = style("MyH4",
fontSize=10, leading=14, textColor=C_GREEN,
fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=2)
BODY = style("MyBody",
fontSize=9.5, leading=14, textColor=HexColor("#222222"),
fontName="Helvetica", spaceBefore=2, spaceAfter=4,
alignment=TA_JUSTIFY)
BULLET = style("MyBullet",
fontSize=9.5, leading=13, textColor=HexColor("#222222"),
fontName="Helvetica", spaceBefore=1, spaceAfter=1,
leftIndent=14, bulletIndent=4)
CLINICAL = style("MyClinical",
fontSize=9.5, leading=14, textColor=HexColor("#222222"),
fontName="Helvetica", spaceBefore=3, spaceAfter=3,
alignment=TA_JUSTIFY,
leftIndent=10, rightIndent=10,
backColor=C_CLINICAL,
borderPadding=(6, 8, 6, 8))
CLINICAL_TITLE = style("MyClinicalTitle",
fontSize=10, leading=13, textColor=C_CLINICAL_BD,
fontName="Helvetica-Bold", spaceBefore=0, spaceAfter=2,
leftIndent=10)
NOTE = style("MyNote",
fontSize=9, leading=13, textColor=HexColor("#333333"),
fontName="Helvetica-Oblique", spaceBefore=2, spaceAfter=3,
leftIndent=16, rightIndent=8,
backColor=C_LIGHT_GOLD,
borderPadding=(4, 6, 4, 6))
PAGE_NUM = style("MyPageNum",
fontSize=8, textColor=C_GRAY, fontName="Helvetica", alignment=TA_CENTER)
# ── Helper builders ───────────────────────────────────────────────────────────
def h1(text):
return Paragraph(f" {text}", H1)
def h2(text):
return [
HRFlowable(width="100%", thickness=2, color=C_DARK_BLUE, spaceAfter=2),
Paragraph(text, H2),
]
def h3(text):
return Paragraph(text, H3)
def h4(text):
return Paragraph(text, H4)
def p(text):
return Paragraph(text, BODY)
def sp(n=6):
return Spacer(1, n)
def clinical(title, text):
return KeepTogether([
Paragraph(f"■ CLINICAL: {title}", CLINICAL_TITLE),
Paragraph(text, CLINICAL),
sp(4),
])
def note(text):
return Paragraph(f"<i>Note: {text}</i>", NOTE)
def bullets(items):
out = []
for item in items:
out.append(Paragraph(f"• {item}", BULLET))
return out
def make_table(headers, rows, col_widths=None):
data = [[Paragraph(f"<b>{h}</b>", style("TH",
fontSize=8.5, leading=11, fontName="Helvetica-Bold",
textColor=white, alignment=TA_CENTER)) for h in headers]]
for i, row in enumerate(rows):
bg = C_TABLE_ALT if i % 2 == 0 else white
data.append([Paragraph(str(c), style(f"TD{i}",
fontSize=8, leading=11, fontName="Helvetica",
textColor=HexColor("#111111"))) for c in row])
page_w = A4[0] - 3*cm
if col_widths is None:
w = page_w / len(headers)
col_widths = [w] * len(headers)
t = Table(data, colWidths=col_widths, repeatRows=1)
ts = TableStyle([
("BACKGROUND", (0, 0), (-1, 0), C_TABLE_HEAD),
("ROWBACKGROUNDS", (0, 1), (-1, -1), [C_TABLE_ALT, white]),
("GRID", (0, 0), (-1, -1), 0.4, HexColor("#bbbbbb")),
("TOPPADDING", (0, 0), (-1, -1), 4),
("BOTTOMPADDING", (0, 0), (-1, -1), 4),
("LEFTPADDING", (0, 0), (-1, -1), 5),
("RIGHTPADDING", (0, 0), (-1, -1), 5),
("VALIGN", (0, 0), (-1, -1), "TOP"),
])
t.setStyle(ts)
return t
# ── Page template ─────────────────────────────────────────────────────────────
def on_first_page(canvas, doc):
canvas.saveState()
w, h = A4
# header bar
canvas.setFillColor(C_DARK_BLUE)
canvas.rect(0, h - 1.2*cm, w, 1.2*cm, fill=1, stroke=0)
canvas.setFillColor(white)
canvas.setFont("Helvetica-Bold", 9)
canvas.drawCentredString(w/2, h - 0.8*cm, "SPINAL CORD & TRACTS — COMPLETE MEDICAL REFERENCE")
# footer
canvas.setFillColor(C_DARK_BLUE)
canvas.rect(0, 0, w, 0.9*cm, fill=1, stroke=0)
canvas.setFillColor(white)
canvas.setFont("Helvetica", 8)
canvas.drawCentredString(w/2, 0.3*cm, "Sources: Gray's Anatomy | Localization in Clinical Neurology | Neuroanatomy through Clinical Cases | Guyton & Hall | Bradley & Daroff's Neurology")
canvas.restoreState()
def on_later_pages(canvas, doc):
canvas.saveState()
w, h = A4
canvas.setFillColor(C_DARK_BLUE)
canvas.rect(0, h - 1.0*cm, w, 1.0*cm, fill=1, stroke=0)
canvas.setFillColor(white)
canvas.setFont("Helvetica-Bold", 8)
canvas.drawCentredString(w/2, h - 0.65*cm, "SPINAL CORD & TRACTS — COMPLETE MEDICAL REFERENCE")
canvas.setFillColor(C_DARK_BLUE)
canvas.rect(0, 0, w, 0.8*cm, fill=1, stroke=0)
canvas.setFillColor(white)
canvas.setFont("Helvetica", 8)
canvas.drawString(1.5*cm, 0.28*cm, "Orris Medical Reference")
canvas.drawRightString(w - 1.5*cm, 0.28*cm, f"Page {doc.page}")
canvas.restoreState()
# ── Content ───────────────────────────────────────────────────────────────────
story = []
# ── COVER ─────────────────────────────────────────────────────────────────────
story += [
sp(60),
Paragraph("SPINAL CORD", TITLE),
Paragraph("Ascending, Descending & Intersegmental Tracts", SUBTITLE),
sp(8),
HRFlowable(width="60%", thickness=3, color=C_GOLD, hAlign="CENTER"),
sp(10),
Paragraph("Complete Medical Reference with Clinical Correlations", SOURCES),
sp(4),
Paragraph("Sources: Gray's Anatomy for Students • Localization in Clinical Neurology 8e • Neuroanatomy through Clinical Cases 3e<br/>"
"Neuroscience: Exploring the Brain 5e • Guyton & Hall Medical Physiology • Bradley & Daroff's Neurology in Clinical Practice<br/>"
"Adams & Victor's Principles of Neurology • Medical Physiology (Boron & Boulpaep)", SOURCES),
PageBreak(),
]
# ══════════════════════════════════════════════════════════════════════════════
# PART 1 — GROSS ANATOMY
# ══════════════════════════════════════════════════════════════════════════════
story.append(h1("PART 1: GROSS ANATOMY OF THE SPINAL CORD"))
story.append(sp(8))
story += h2("1.1 Extent and Termination")
story.append(p("The spinal cord extends from the <b>foramen magnum</b> (continuous with the medulla oblongata) inferiorly "
"to approximately the level of the <b>disc between L1 and L2</b> in adults — though it can end as high as T12 "
"or as low as the L2/L3 disc. In neonates it extends to ~L3 (sometimes L4). This discrepancy results from "
"differential post-natal growth: the vertebral column grows faster than the cord."))
story.append(p("The distal end tapers into the <b>conus medullaris</b> (cone-shaped). A fine thread of connective tissue, "
"the <b>pial filum terminale</b>, continues inferiorly. The dural sac ends at S2; beyond that, the "
"<b>dural (coccygeal) part of the filum terminale</b> attaches to the coccyx."))
story.append(clinical("Lumbar Puncture",
"The cord ends at L1–L2, so lumbar puncture is safely performed at L3/L4 or L4/L5 in adults. "
"The needle enters the subarachnoid space (which extends to S2), where cauda equina roots float "
"aside rather than being skewered. In neonates, the puncture should be at L4/L5 or L5/S1 because "
"the cord extends lower."))
story += h2("1.2 Enlargements")
story.append(p("Two fusiform swellings correspond to limb innervation:"))
story += bullets([
"<b>Cervical enlargement (C5–T1)</b> — contains alpha motor neurons for the upper limb; spinal nerves form the brachial plexus.",
"<b>Lumbosacral enlargement (L1–S3)</b> — contains motor neurons for the lower limb; spinal nerves form the lumbar and sacral plexuses.",
])
story += h2("1.3 External Surface Landmarks")
story.append(make_table(
["Feature", "Location", "Significance"],
[
["Anterior median fissure", "Deep midline anteriorly", "Anterior spinal artery runs within it"],
["Posterior median sulcus", "Shallow midline posteriorly", "Marks the dorsal midline"],
["Posterolateral sulcus (×2)", "Posterior surface, lateral", "Dorsal rootlet entry zone"],
["Anterolateral sulcus (×2)", "Anterior surface, lateral", "Ventral rootlet exit zone"],
["Posterior intermediate sulcus", "C–T levels only", "Separates fasciculus gracilis from cuneatus"],
],
col_widths=[5.5*cm, 5.5*cm, 7.5*cm]
))
story.append(sp(6))
story += h2("1.4 Internal Architecture")
story.append(h3("Gray Matter (H-shaped)"))
story += bullets([
"<b>Dorsal (posterior) horn</b> — sensory processing",
"<b>Ventral (anterior) horn</b> — alpha and gamma motor neuron cell bodies (lower motor neurons)",
"<b>Lateral horn</b> — present only at T1–L2 (sympathetic preganglionic) and S2–S4 (parasympathetic preganglionic)",
"<b>Central canal</b> — ependyma-lined remnant of neural tube lumen",
])
story.append(h3("Rexed's Laminae (I – X)"))
story.append(make_table(
["Lamina", "Location", "Key Function / Neurons"],
[
["I", "Dorsal horn tip (marginal zone)", "Pain/temperature 1st-order synapse; origin of spinothalamic tract"],
["II", "Substantia gelatinosa", "Pain modulation interneurons; receives C and Aδ fibers"],
["III–IV", "Nucleus proprius", "Touch, pressure; 2nd-order neurons for posterior pathway"],
["V", "Neck of dorsal horn", "Convergence of nociceptive + non-nociceptive; wide-dynamic-range neurons"],
["VI", "Base of dorsal horn (limb levels)", "Proprioceptive input from muscle spindles"],
["VII", "Intermediate zone; Clarke's col. (T1–L2)", "Origin of dorsal spinocerebellar; autonomic preganglionic neurons"],
["VIII", "Medial ventral horn", "Interneurons; commissural neurons"],
["IX", "Lateral ventral horn", "Alpha and gamma motor neurons (LMNs)"],
["X", "Around central canal", "Commissural neurons; visceral input"],
],
col_widths=[1.6*cm, 5.5*cm, 11.4*cm]
))
story.append(sp(4))
story.append(h3("White Matter Funiculi"))
story += bullets([
"<b>Posterior (dorsal) funiculus</b> — between dorsal median sulcus and dorsal horn",
"<b>Lateral funiculus</b> — between dorsal and ventral horns",
"<b>Anterior (ventral) funiculus</b> — between ventral horn and anterior median fissure",
"<b>Anterior white commissure</b> — connects both halves; crossing zone for spinothalamic fibers",
])
# ══════════════════════════════════════════════════════════════════════════════
# PART 2 — ASCENDING TRACTS
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 2: ASCENDING TRACTS"))
story.append(sp(8))
# 2A DCML
story += h2("2A. Posterior Column – Medial Lemniscal Pathway (DCML)")
story.append(p("<b>Modalities carried:</b> Fine/discriminative touch, vibration sense, conscious proprioception (position sense, "
"kinesthesia), two-point discrimination, stereognosis, weight perception, pressure touch."))
story.append(h3("First-Order Neuron"))
story += bullets([
"Cell body: dorsal root ganglion (DRG) — pseudounipolar",
"Peripheral receptors: Meissner's corpuscles, Pacinian corpuscles, muscle spindles, Golgi tendon organs",
"Central process enters cord via <i>medial bundle</i> of dorsal root",
"Ascends <b>ipsilaterally</b> in dorsal funiculus without synapsing in cord",
"Collaterals enter laminae III–IV for local reflexes",
])
story.append(h3("Somatotopic Organization Within the Dorsal Funiculus"))
story += bullets([
"<b>Fasciculus gracilis (Goll's column)</b> — medial; fibers from sacral, lumbar, lower 6 thoracic levels (T7–S5; lower limb + lower trunk)",
"<b>Fasciculus cuneatus (Burdach's column)</b> — lateral; fibers from upper 6 thoracic and all cervical levels (C1–T6; upper limb, neck)",
"New fibers added laterally at each level, pushing older fibers medially",
"<b>Memory aid:</b> Legs are medial (gracilis), Arms are lateral (cuneatus)",
])
story.append(h3("Second-Order Neuron"))
story += bullets([
"Cell body: nucleus gracilis (lower medulla) or nucleus cuneatus (upper medulla) — together = dorsal column nuclei",
"Axons sweep anteriorly as <b>internal arcuate fibers</b> and <b>decussate</b> in the lower medulla (sensory decussation)",
"Form the <b>medial lemniscus</b> contralaterally",
"Ascend to <b>ventral posterior lateral (VPL) nucleus</b> of thalamus",
])
story.append(h3("Third-Order Neuron"))
story += bullets([
"VPL thalamus → posterior limb of internal capsule (thalamic somatosensory radiations)",
"Terminate in <b>primary somatosensory cortex</b> (postcentral gyrus, Brodmann areas 3, 1, and 2)",
])
story.append(clinical("Subacute Combined Degeneration (Vitamin B12 Deficiency)",
"Demyelinates dorsal columns AND lateral corticospinal tracts (bilateral). Clinical features: loss of vibration "
"and proprioception, positive Romberg's sign, broad-based sensory ataxia, spasticity. Dorsal column involvement "
"is ipsilateral (before decussation). Peripheral neuropathy may co-exist (reducing reflexes and masking hyperreflexia)."))
story.append(clinical("Tabes Dorsalis (Neurosyphilis)",
"Treponema pallidum destroys DRGs and posterior columns. Presents with: lightning pains, loss of proprioception "
"(Romberg +ve), wide-based stamping gait ('stomping' — patients can't feel their feet), Argyll-Robertson pupils "
"(accommodate but do not react to light), loss of deep tendon reflexes."))
story.append(clinical("Friedreich's Ataxia",
"Autosomal recessive. Degeneration of dorsal columns, spinocerebellar tracts, and corticospinal tracts. "
"Presents in adolescence with progressive limb and gait ataxia, dysarthria, loss of proprioception, "
"areflexia, and hypertrophic cardiomyopathy (major cause of death)."))
# 2B Spinothalamic
story += h2("2B. Anterolateral (Spinothalamic) System")
story.append(p("Comprises three tracts: (i) Lateral spinothalamic, (ii) Spinoreticular, (iii) Spinomesencephalic."))
story.append(h3("i. Lateral Spinothalamic Tract (Neospinothalamic)"))
story.append(p("<b>Modalities:</b> Pain (sharp, well-localized), temperature (hot and cold)."))
story.append(h4("First-Order Neuron"))
story += bullets([
"Cell body: DRG; peripheral receptors: free nerve endings (C-fibers for slow burning pain; Aδ for sharp fast pain)",
"Enter cord via <i>lateral bundle</i> of dorsal root",
"Enter <b>Lissauer's tract (dorsolateral tract)</b> — bifurcate, ascending/descending 1–2 spinal segments before entering gray matter",
"Synapse on 2nd-order neurons in <b>lamina I</b> (marginal zone) and <b>lamina V</b> (also lamina II for C-fiber slow pain)",
])
story.append(h4("Second-Order Neuron"))
story += bullets([
"Cell body: laminae I and V of ipsilateral dorsal horn",
"Axons cross in the <b>anterior white commissure</b> over <b>2–3 spinal cord segments</b>",
"<b>Clinical consequence:</b> pain/temperature loss is 2–3 dermatomes <i>below</i> the actual lesion",
"Ascend in <b>anterolateral quadrant</b> (lateral funiculus) as the lateral spinothalamic tract",
"Somatotopy: sacral fibers most lateral, cervical fibers most medial (S→L→T→C from outside in)",
"Temperature fibers lie <b>dorsolaterally</b> to pain fibers within the tract",
"Terminate in <b>VPL nucleus</b> of thalamus (also intralaminar and mediodorsal nuclei)",
])
story.append(h4("Third-Order Neuron"))
story += bullets([
"VPL thalamus → posterior limb of internal capsule → primary somatosensory cortex (areas 3, 1, 2)",
])
story.append(h3("ii. Spinoreticular Tract (Paleospinothalamic)"))
story += bullets([
"Origin: laminae I, V (similar to spinothalamic)",
"Ascends <b>bilaterally</b> (does not cross completely)",
"Terminates in <b>medullary and pontine reticular formation</b>, then relays to <b>intralaminar thalamic nuclei</b> (centromedian nucleus)",
"Function: <b>emotional and arousal aspects of pain</b> — the 'suffering' pathway. Active in chronic pain states.",
])
story.append(h3("iii. Spinomesencephalic Tract"))
story += bullets([
"Origin: dorsal horn",
"Terminates in <b>periaqueductal gray (PAG)</b> and <b>superior colliculi</b>",
"Function: <b>central modulation of pain</b>. The PAG is rich in opioid receptors; its stimulation produces profound analgesia.",
"This is the primary site of action of morphine and endogenous opioids (enkephalins, endorphins).",
])
story.append(clinical("Anterolateral Cordotomy",
"Surgical or percutaneous section of the lateral spinothalamic tract to relieve intractable cancer pain. "
"Produces contralateral pain and temperature loss beginning 2–3 segments below the cordotomy level. "
"Does NOT affect touch, vibration, or proprioception (dorsal columns intact)."))
story.append(clinical("Syringomyelia — Early Presentation",
"A central cord cavity (syrinx) first destroys the anterior white commissure, interrupting decussating spinothalamic fibers. "
"Produces bilateral, 'cape-like' or 'vest-like' loss of pain and temperature at involved segments (neck, shoulders, arms) "
"with PRESERVED touch, vibration, and proprioception (dorsal columns uninvolved) — called dissociated sensory loss. "
"Painless burns on hands are a classic early clue."))
story.append(clinical("Herpes Zoster (Shingles)",
"Varicella-zoster virus reactivates in the DRG (first-order neuron cell bodies). Pain and vesicular rash follow a dermatomal "
"distribution. Motor function is typically preserved because the DRG is purely sensory. Zoster motor neuropathy is rare. "
"Post-herpetic neuralgia (persistent burning pain) results from central sensitization."))
# 2C Spinocerebellar
story += h2("2C. Spinocerebellar Tracts (Unconscious Proprioception)")
story.append(p("These tracts convey unconscious proprioceptive information from muscles and joints to the cerebellum for coordination."))
story.append(h3("Dorsal (Posterior) Spinocerebellar Tract (DSCT)"))
story += bullets([
"<b>Origin:</b> Clarke's nucleus (nucleus thoracicus, lamina VII) at T1–L2/L3",
"<b>Input:</b> Ia afferents (muscle spindles) and Ib afferents (Golgi tendon organs) via 1st-order DRG neurons",
"<b>Course:</b> Ascends <b>ipsilaterally</b> in dorsal part of lateral funiculus (peripheral portion)",
"<b>Entry to cerebellum:</b> Inferior cerebellar peduncle (restiform body)",
"<b>Termination:</b> Ipsilateral cerebellar cortex (vermis, anterior lobe)",
"Carries information from lower half of body and trunk",
"No relay — Clarke's nucleus neurons project directly (very fast conduction)",
"Sacral/lower lumbar proprioception first ascends in posterior columns to reach Clarke's nucleus at L2",
])
story.append(h3("Ventral (Anterior) Spinocerebellar Tract (VSCT)"))
story += bullets([
"<b>Origin:</b> Laminae V–VII (border cells) of lumbosacral enlargement",
"<b>Course:</b> Crosses to <b>contralateral</b> lateral funiculus (anterior part), ascends through entire cord and brainstem",
"<b>Entry to cerebellum:</b> Superior cerebellar peduncle; then <b>re-crosses</b> within cerebellum",
"Net result: information reaches <b>ipsilateral</b> cerebellar hemisphere (double crossing)",
"Carries info about state of the spinal interneuronal circuitry — important for locomotion",
])
story.append(h3("Cuneocerebellar Tract"))
story += bullets([
"<b>Origin:</b> Accessory (external) cuneate nucleus, medulla (receives fibers from C1–T6)",
"Functional equivalent of DSCT for upper limb and neck",
"<b>Entry:</b> Inferior cerebellar peduncle",
])
story.append(h3("Rostral Spinocerebellar Tract"))
story += bullets([
"Equivalent of VSCT for upper limb",
"Ascends mostly ipsilaterally",
"Enters via inferior or superior cerebellar peduncle",
])
story.append(clinical("Spinocerebellar Ataxias (SCAs)",
"Hereditary SCAs (e.g., SCA1, SCA2, SCA3/Machado-Joseph disease) degenerate spinocerebellar tracts and cerebellar cortex. "
"Clinical features: gait ataxia, limb ataxia (dysmetria, dysdiadochokinesia), intention tremor, nystagmus, dysarthria. "
"DSCT lesions cause ipsilateral ataxia. Friedreich's ataxia additionally involves dorsal columns and corticospinal tracts."))
# 2D Minor tracts
story += h2("2D. Other Ascending Tracts")
story.append(make_table(
["Tract", "Origin", "Termination", "Function"],
[
["Spinotectal", "Dorsal horn", "Superior colliculus (tectum)", "Spinovisual reflexes — turning head/eyes to noxious stimuli"],
["Spino-olivary", "Dorsal and ventral horn", "Inferior olivary nucleus → cerebellum", "Cutaneous + proprioceptive info for cerebellar modulation"],
["Spinovestibular", "Cervical cord", "Vestibular nuclei", "Neck proprioception integrated with vestibular information"],
["Spinohypothalamic", "Dorsal horn", "Hypothalamus", "Autonomic (CV, endocrine) responses to pain"],
],
col_widths=[4.5*cm, 4.0*cm, 5.5*cm, 4.5*cm]
))
story.append(sp(4))
# ══════════════════════════════════════════════════════════════════════════════
# PART 3 — DESCENDING TRACTS
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 3: DESCENDING TRACTS"))
story.append(sp(8))
story.append(p("Descending tracts are divided into <b>lateral pathways</b> (voluntary fine motor control — corticospinal, rubrospinal) "
"and <b>ventromedial pathways</b> (postural control and locomotion — reticulospinal, vestibulospinal, tectospinal). "
"The lateral pathways are under direct cortical control; the ventromedial pathways are under brainstem control."))
# 3A Corticospinal
story += h2("3A. Corticospinal Tract (Pyramidal Tract)")
story.append(p("The most important and longest descending tract in the CNS. Contains ~<b>1 million axons</b> per side."))
story.append(h3("Origin (Cortical Areas)"))
story += bullets([
"<b>60–70%</b> from Brodmann areas <b>4</b> (primary motor cortex, precentral gyrus) and <b>6</b> (premotor and supplementary motor cortex)",
"<b>30–40%</b> from parietal lobe: areas 3, 1, 2 (somatosensory cortex), area 5 (superior parietal lobule), cingulate gyrus",
"Giant <b>Betz cells</b> of area 4 produce the largest-diameter, fastest-conducting axons",
])
story.append(h3("Course"))
story += bullets([
"<b>Corona radiata</b> — convergence in cerebral white matter",
"<b>Posterior limb of internal capsule</b> — arm fibers anterolateral, leg fibers posteromedial",
"<b>Crus cerebri (cerebral peduncle)</b> — middle 3/5ths of midbrain",
"<b>Anterior pons</b> — scattered as small bundles (disrupted by transverse pontocerebellar fibers)",
"<b>Medullary pyramid</b> — re-grouped as bilateral ventral swellings on medullary surface",
"<b>Pyramidal decussation</b> (caudal medulla): ~90% cross → <b>lateral corticospinal tract (LCST)</b> in lateral funiculus",
"Remaining ~10% do NOT cross → <b>anterior (ventral) corticospinal tract (ACST)</b> in anterior funiculus; cross later via ventral commissure at each cervical/upper thoracic level",
])
story.append(h3("Somatotopy of LCST in the Cord"))
story += bullets([
"Cervical fibers most dorsomedial; sacral fibers most ventrolateral",
"New fibers added ventrally as the tract descends; old fibers pushed dorsally",
"Clinically: <b>extrinsic cord compression</b> (peripheral) first affects leg fibers (lateral); <b>intramedullary</b> lesions first affect arm fibers (central)",
])
story.append(h3("Termination"))
story += bullets([
"LCST: laminae IV–VII (via interneurons) and directly on lamina IX (alpha motor neurons) — monosynaptic for fine hand movements",
"ACST: lamina III of cervical and upper thoracic cord — mainly axial/proximal muscles",
"Medial motor column (axial muscles): mainly receives ventromedial pathway input",
"Lateral motor column (distal limb muscles): heavy direct corticospinal input → voluntary fine finger movements",
])
story.append(clinical("Upper Motor Neuron (UMN) Syndrome",
"LCST lesion at any level: spastic paralysis (increased tone, hyper-reflexia, clonus), positive Babinski sign "
"(extensor plantar response — great toe dorsiflexes, other toes fan out), loss of superficial abdominal reflexes. "
"Babinski is the single most important UMN sign; it is the normal response in infants before LCST myelinates."))
story.append(clinical("Internal Capsule Stroke",
"Lateral striate artery occlusion → infarction in the posterior limb of internal capsule. Produces contralateral hemiplegia "
"(face, arm, leg equally) WITHOUT cortical signs (no aphasia, no cortical sensory loss) — 'pure motor hemiplegia.' "
"The LCST is the tightest choke-point in the motor system."))
story.append(clinical("Amyotrophic Lateral Sclerosis (ALS)",
"Destroys BOTH UMNs (corticospinal) and LMNs (anterior horn cells). Combined UMN signs (spasticity, hyperreflexia) "
"AND LMN signs (fasciculations, atrophy, hyporeflexia) at the same time. Co-occurrence is clinically diagnostic of ALS."))
story.append(clinical("Spinal Shock",
"Immediately after acute cord transection: flaccid paralysis WITH absent reflexes (areflexia) below the lesion — paradoxically "
"resembles LMN syndrome despite upper cord lesion. Caused by sudden loss of facilitatory brain input. After weeks to months, "
"UMN pattern emerges: spasticity, hyperreflexia, Babinski sign."))
# 3B Rubrospinal
story += h2("3B. Rubrospinal Tract")
story += bullets([
"<b>Origin:</b> Red nucleus (magnocellular part, midbrain tegmentum) — receives input from cortex and dentate nucleus",
"Immediately decussates in <b>ventral tegmentum</b> (ventral tegmental decussation)",
"Descends in <b>lateral funiculus</b>, just anterior to LCST",
"Terminates mainly in <b>cervical cord</b> levels (laminae V–VII)",
"Function: voluntary control of distal limb movements, especially arm; supplements and partially compensates for LCST damage",
"In humans, this tract is relatively small (may be partially vestigial compared to animals)",
])
# 3C Vestibulospinal
story += h2("3C. Vestibulospinal Tracts")
story.append(h3("Lateral Vestibulospinal Tract (LVST)"))
story += bullets([
"<b>Origin:</b> Lateral (Deiters') vestibular nucleus",
"Descends <b>ipsilaterally</b> in anterior/ventrolateral funiculus; extends to all cord levels",
"Function: <b>strongly FACILITATES extensor</b> motor neurons and inhibits flexors → facilitates antigravity posture",
])
story.append(h3("Medial Vestibulospinal Tract (MVST)"))
story += bullets([
"<b>Origin:</b> Medial vestibular nucleus (bilateral contributions)",
"Descends within the <b>medial longitudinal fasciculus (MLF)</b> — reaches cervical cord only",
"Function: coordinates head and neck with vestibular signals; reflexive head-righting responses",
])
story.append(clinical("Decerebrate vs. Decorticate Posturing",
"Decerebrate (lesion between red nucleus and vestibular nuclei, midbrain/pons): vestibulospinal "
"tract intact but rubrospinal/corticospinal inhibition gone → extension of all four limbs, arching of back. "
"Decorticate (lesion above red nucleus): rubrospinal inhibition also removed → arm flexion, leg extension. "
"Decerebrate indicates deeper, more severe brainstem damage."))
# 3D Reticulospinal
story += h2("3D. Reticulospinal Tracts")
story.append(h3("Pontine (Medial) Reticulospinal Tract"))
story += bullets([
"<b>Origin:</b> Pontine reticular formation (nucleus reticularis pontis oralis et caudalis)",
"Descends <b>ipsilaterally</b> in anterior funiculus",
"Function: <b>FACILITATES</b> axial and proximal extensor motor neurons; supports antigravity posture; modulates muscle tone",
])
story.append(h3("Medullary (Lateral) Reticulospinal Tract"))
story += bullets([
"<b>Origin:</b> Medullary reticular formation (nucleus gigantocellularis); receives cortical input",
"Descends <b>bilaterally</b> in lateral funiculus",
"Function: <b>INHIBITS</b> extensor motor neurons; facilitates flexors. Cortical lesions disinhibit extensor posture.",
"Also mediates <b>descending inhibitory control of pain</b> via serotonin and noradrenaline pathways",
])
story.append(clinical("Central Pain Modulation (Descending Inhibition)",
"The medullary reticulospinal system is part of the descending pain inhibitory pathway. "
"Activation: cortex → PAG → nucleus raphe magnus → dorsal horn (laminae I, II, V). "
"Opioids act primarily at the PAG. SNRIs (duloxetine, venlafaxine) and TCAs enhance noradrenergic inhibition. "
"Disruption of this system is implicated in fibromyalgia, chronic widespread pain, and central sensitization syndromes."))
# 3E Tectospinal
story += h2("3E. Tectospinal Tract")
story += bullets([
"<b>Origin:</b> Superior colliculus (tectum of midbrain)",
"Immediately crosses in <b>dorsal tegmentum</b> (dorsal tegmental decussation)",
"Descends in anterior funiculus, medial to ACST; extends only to <b>upper cervical cord (C4)</b>",
"Function: reflexive turning of head and neck in response to sudden visual or auditory stimuli; coordinates head orientation with gaze",
])
# ══════════════════════════════════════════════════════════════════════════════
# PART 4 — INTERSEGMENTAL TRACTS
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 4: INTERSEGMENTAL (PROPRIOSPINAL) TRACTS"))
story.append(sp(8))
story.append(p("Intersegmental (propriospinal) tracts are intrinsic to the spinal cord and connect different segmental levels. "
"They are also called the <b>fasciculus proprius</b> and form a collar of short ascending and descending fibers "
"immediately adjacent to the gray matter in all three funiculi."))
story += h2("4.1 Fasciculus Proprius")
story += bullets([
"Lies immediately adjacent to the gray matter in <i>all</i> three funiculi (posterior, lateral, anterior)",
"Neurons originate from laminae V, VI, VII, and VIII",
"Spans multiple cord segments — some fibers travel only 1–2 segments, others may span the entire cord length",
"Function: coordinate motor activity across multiple cord levels (inter-limb coordination during locomotion, sequential muscle group activation)",
])
story += h2("4.2 Lissauer's Tract (Posterolateral Tract / Dorsolateral Fasciculus)")
story += bullets([
"Located in the <b>posterolateral funiculus</b>, just lateral to the dorsal horn tip",
"Contains finely myelinated (Aδ) and unmyelinated (C) fibers from dorsal roots",
"Fibers bifurcate on entering and ascend/descend <b>1–2 spinal segments</b> before synapsing in dorsal horn laminae I and II",
"Contains both primary afferent collaterals AND short propriospinal fibers",
"Function: allows pain signals to spread over several segments before entering the spinothalamic relay; contributes to dermatomal overlap of pain",
])
story.append(clinical("Pain Referral and Dermatome Overlap",
"Because Lissauer's tract fibers spread over 2 segments before synapsing, pain from a single spinal nerve root "
"routinely overlaps adjacent dermatomes. A single DRG lesion typically produces analgesia extending 1–2 levels in each direction. "
"This is why single-root compressive radiculopathy produces pain across a wide dermatomal band, not a sharp single-segment line."))
story += h2("4.3 Interfascicular Fasciculus (Comma Tract of Schultze)")
story += bullets([
"Located within the <b>fasciculus cuneatus</b> (dorsal funiculus) at cervical/upper thoracic levels",
"Contains descending fibers from rostral cord levels (axon collaterals from dorsal column fibers)",
"Relays proprioceptive information back down to lower cord segments",
])
story += h2("4.4 Septomarginal Fasciculus (Oval Bundle of Flechsig)")
story += bullets([
"Located within the <b>fasciculus gracilis</b> (medial dorsal funiculus) at lower thoracic/sacral regions",
"Contains both ascending and descending short-range propriospinal fibers",
])
story += h2("4.5 Medial Longitudinal Fasciculus (MLF)")
story += bullets([
"Runs from the midbrain through the brainstem to <b>upper cervical cord</b>",
"In the cord, located in the <b>anterior funiculus medially</b> (sulcomarginal fasciculus)",
"Contains the medial vestibulospinal tract and tectospinal fibers",
"Critical for coordinating head, neck, and eye movements",
])
story.append(clinical("Internuclear Ophthalmoplegia (INO) — MLF Syndrome",
"In the brainstem, the MLF connects the CN VI nucleus (pons) to the contralateral CN III nucleus (midbrain) for conjugate lateral gaze. "
"Demyelination (MS) or ischemia of the MLF causes INO: failure of adduction of the ipsilateral eye on lateral gaze, "
"with nystagmus of the abducting contralateral eye. Bilateral INO in a young person = MS until proven otherwise."))
# ══════════════════════════════════════════════════════════════════════════════
# PART 5 — VASCULATURE
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 5: VASCULATURE AND CLINICAL IMPLICATIONS"))
story.append(sp(8))
story += h2("5.1 Anterior Spinal Artery (ASA)")
story += bullets([
"Single vessel running in the anterior median fissure",
"Formed by contributions from both vertebral arteries at the cervicomedullary junction",
"Reinforced by <b>8–10 anterior medullary (radicular) arteries</b> along its course",
"<b>Artery of Adamkiewicz (arteria radicularis magna)</b> — the most important reinforcing vessel; arises from T9–T12 (left side in ~75%)",
"Supplies the <b>anterior 2/3 of the cord</b>: anterior horn cells, anterior and lateral funiculi (spinothalamic tract AND corticospinal tract)",
])
story.append(clinical("Anterior Cord Syndrome (ASA Occlusion)",
"Occurs in aortic surgery (cross-clamping), atherosclerosis, dissection, or severe flexion injury. "
"Features: bilateral paralysis below lesion (corticospinal + anterior horn), bilateral loss of pain and temperature "
"(spinothalamic), but PRESERVED vibration, proprioception, and fine touch (posterior columns intact — supplied by PSA). "
"Worst prognosis of all incomplete cord syndromes."))
story += h2("5.2 Posterior Spinal Arteries (PSA)")
story += bullets([
"Two paired vessels running along the posterolateral surface",
"Reinforced by posterior medullary arteries",
"Supply the <b>posterior 1/3 of the cord</b>: posterior horn, dorsal columns, posterior funiculi",
])
story.append(clinical("Posterior Cord Syndrome (PSA Occlusion)",
"Rare. Isolated loss of vibration, proprioception, and fine touch (dorsal column modalities). "
"Motor function and pain/temperature completely preserved. Clinically: sensory ataxia, positive Romberg."))
# ══════════════════════════════════════════════════════════════════════════════
# PART 6 — CLINICAL SYNDROMES
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 6: CLINICAL SPINAL CORD SYNDROMES"))
story.append(sp(8))
story += h2("6A. Complete Cord Transection")
story.append(p("All motor and sensory functions lost below the lesion (both sides). Initial <b>spinal shock</b> (flaccid paralysis, areflexia) → "
"weeks/months later: UMN syndrome (spasticity, hyperreflexia, Babinski). "
"Bladder/bowel: urinary retention initially → later reflex incontinence."))
story += h2("6B. Brown-Séquard Syndrome (Hemisection)")
story.append(p("Unilateral cord lesion: stab wound, herniated cervical disc, tumor, multiple sclerosis. Accounts for 1–4% of traumatic SCIs. "
"<b>Best prognosis</b> for functional recovery. Most subjects regain bowel and bladder continence."))
story.append(make_table(
["Feature", "Side", "Level"],
[
["Spastic paralysis (UMN — LCST)", "IPSILATERAL", "Below lesion"],
["Loss of fine touch, vibration, proprioception (DCML)", "IPSILATERAL", "Below lesion"],
["Loss of pain and temperature (spinothalamic)", "CONTRALATERAL", "2–3 segments below lesion"],
["LMN weakness + atrophy (anterior horn)", "IPSILATERAL", "AT lesion level"],
["Horner's syndrome (ciliospinal center)", "IPSILATERAL", "If C8–T2 lesion"],
],
col_widths=[8.0*cm, 4.5*cm, 6.0*cm]
))
story.append(sp(4))
story.append(note("Memory aid: 'Motor same, pain opposite' — ipsilateral motor loss (LCST decussated above at medulla); contralateral pain loss (spinothalamic crossed in cord)."))
story.append(sp(4))
story += h2("6C. Central Cord Syndrome")
story.append(p("Most common incomplete SCI (~50%). Mechanism: hyperextension in elderly with cervical spondylosis, syringomyelia, intramedullary tumor. "
"Because LCST leg fibers are lateral and cervical fibers are medial, central damage hits arm fibers first."))
story.append(p("<b>Mnemonic — 'MUD':</b>"))
story += bullets([
"<b>M</b>otor > sensory deficit",
"<b>U</b>pper > lower limb weakness (arms worse than legs)",
"<b>D</b>istal > proximal (hands affected most)",
])
story += bullets([
"Bladder dysfunction (usually urinary retention)",
"Burning dysesthetic pain in the arms",
"Variable sensory loss below lesion",
])
story += h2("6D. Anterior Cord Syndrome")
story += bullets([
"Cause: ASA occlusion (aortic surgery, severe flexion injury)",
"Bilateral loss of motor function (paraplegia/tetraplegia)",
"Bilateral loss of pain and temperature",
"PRESERVED dorsal column modalities (touch, vibration, proprioception)",
"<b>Worst prognosis</b> of the incomplete syndromes",
])
story += h2("6E. Posterior Cord Syndrome")
story += bullets([
"PSA occlusion (rare)",
"Bilateral loss of vibration, proprioception, fine touch",
"Motor function and pain/temperature preserved",
"Sensory ataxia, Romberg positive",
])
story += h2("6F. Conus Medullaris Syndrome")
story += bullets([
"Lesion at L1–L2 (conus) — mixed UMN and LMN signs",
"Saddle anesthesia (S3–S5: inner thighs, perineum, perianal area)",
"Areflexic/atonic bladder, bowel dysfunction, sexual dysfunction",
"Relatively preserved lower limb strength (lumbar anterior horn cells may be spared)",
])
story += h2("6G. Cauda Equina Syndrome")
story += bullets([
"NOT a cord syndrome — compression of L2–S5 nerve roots below L1/L2",
"Causes: central disc herniation, tumor, epidural hematoma/abscess",
"<b>Pure LMN signs</b>: flaccid weakness, areflexia, muscle atrophy",
"Saddle anesthesia, bladder/bowel dysfunction (urinary retention → overflow incontinence)",
"Asymmetric and patchy — individual roots affected selectively",
"<b>Surgical emergency</b> — decompression within 24–48 hours to preserve bladder/bowel function",
])
story.append(note("Cauda Equina vs. Conus: Cauda equina = pure LMN (flaccid), sacral reflexes absent; Conus = mixed UMN/LMN, saddle anesthesia with variable reflexes."))
story.append(sp(4))
story += h2("6H. Syringomyelia — Full Progression")
story += bullets([
"<b>Association:</b> Chiari malformation type I (most common), spinal cord trauma, intramedullary tumor, arachnoiditis",
"<b>Stage 1 (central):</b> Anterior white commissure destroyed → bilateral cape-like dissociated sensory loss (pain/temp lost, touch/vibration preserved)",
"<b>Stage 2 (ventral horn):</b> LMN weakness, atrophy, areflexia at lesion level (hands, arms)",
"<b>Stage 3 (lateral column):</b> LCST involvement → spastic paraparesis below syrinx",
"<b>Stage 4 (Horner's):</b> C8–T2 involvement → ipsilateral Horner's syndrome (miosis, ptosis, anhidrosis)",
"<b>Stage 5 (dorsal column):</b> Loss of proprioception and vibration",
"Painless burns on hands are a classic early presenting feature",
])
story += h2("6I. Subacute Combined Degeneration")
story += bullets([
"Vitamin B12 (or copper) deficiency; myelination failure",
"Dorsal columns + lateral corticospinal tracts (bilateral) — the 'combined' refers to both column types",
"Loss of vibration + proprioception (dorsal columns), spasticity + hyperreflexia (corticospinal)",
"Positive Romberg, broad-based gait; cognitive changes may co-exist",
"Peripheral neuropathy (reducing reflexes) can mask hyperreflexia",
"Treatment: intramuscular vitamin B12 (hydroxocobalamin); neurological recovery depends on duration",
])
story += h2("6J. Autonomic Dysreflexia")
story += bullets([
"Occurs in SCI above <b>T6</b> (above major splanchnic sympathetic outflow)",
"Trigger: noxious stimulus below lesion (full bladder, bowel impaction, pressure sore, tight clothing)",
"Pathophysiology: massive uncontrolled sympathetic discharge below lesion without supraspinal inhibition",
"<b>Life-threatening hypertension</b> (BP may reach 300 mmHg systolic), bradycardia (baroreceptor reflex), "
"sweating/flushing ABOVE lesion, pallor/piloerection BELOW lesion",
"Treatment: sit patient upright (orthostatic drop), identify and remove trigger, sublingual nifedipine or GTN",
])
# ══════════════════════════════════════════════════════════════════════════════
# PART 7 — MASTER SUMMARY TABLE
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART 7: MASTER SUMMARY TABLE OF ALL TRACTS"))
story.append(sp(8))
story.append(make_table(
["Tract", "Type", "Funiculus", "Origin", "Decussation", "Termination", "Function"],
[
["Fasciculus gracilis", "Asc.", "Post. (medial)", "DRG T7–S5", "Medulla", "VPL thalamus → cortex", "Vibration, proprioception, fine touch (lower body)"],
["Fasciculus cuneatus", "Asc.", "Post. (lateral)", "DRG C1–T6", "Medulla", "VPL thalamus → cortex", "Vibration, proprioception, fine touch (upper body)"],
["Lat. spinothalamic", "Asc.", "Lateral", "Laminae I, V", "Ant. commissure (2–3 seg. below)", "VPL thalamus → cortex", "Pain, temperature"],
["Ant. spinothalamic", "Asc.", "Anterior", "Laminae VI, VII", "Ant. commissure", "VPL thalamus", "Crude touch"],
["Spinoreticular", "Asc.", "Lateral", "Laminae I, V", "Bilateral", "Reticular formation", "Emotional pain, arousal"],
["Spinomesencephalic", "Asc.", "Lateral", "Dorsal horn", "Bilateral", "PAG, sup. colliculus", "Pain modulation, visual reflexes"],
["Dorsal spinocerebellar", "Asc.", "Lat. (dorsal)", "Clarke's nucleus T1–L2", "None (ipsilateral)", "Cerebellum (inf. ped.)", "Unconscious proprioception (lower body)"],
["Ventral spinocerebellar", "Asc.", "Lat. (ventral)", "Laminae V–VII", "Contralateral; re-crosses", "Cerebellum (sup. ped.)", "Unconscious proprioception (lower body)"],
["Spinotectal", "Asc.", "Lateral", "Dorsal horn", "Contralateral", "Superior colliculus", "Spinovisual reflexes"],
["Lat. corticospinal (LCST)", "Desc.", "Lateral", "Motor cortex (areas 4, 6)", "Pyramidal decussation (medulla)", "Laminae IV–VII, IX", "Voluntary movement (contralateral)"],
["Ant. corticospinal (ACST)", "Desc.", "Anterior", "Motor cortex", "Ventral commissure (segmental)", "Lamina III (cervical)", "Axial/proximal voluntary (bilateral)"],
["Rubrospinal", "Desc.", "Lateral", "Red nucleus", "Ventral tegmentum (midbrain)", "Laminae V–VII (cervical)", "Distal limb movements, arm control"],
["Lat. vestibulospinal", "Desc.", "Ant./ventrolateral", "Lateral vest. nucleus", "None (ipsilateral)", "All levels, laminae VII–IX", "Extensor facilitation, balance"],
["Med. vestibulospinal", "Desc.", "Anterior (MLF)", "Medial vest. nucleus", "Bilateral", "Cervical cord only", "Head and neck reflexes"],
["Med. reticulospinal", "Desc.", "Lateral", "Medullary reticular form.", "Bilateral", "All levels", "Inhibits extensors, pain modulation"],
["Pont. reticulospinal", "Desc.", "Anterior", "Pontine reticular form.", "Ipsilateral", "All levels", "Facilitates extensors, axial tone"],
["Tectospinal", "Desc.", "Anterior", "Superior colliculus", "Dorsal tegmentum", "Upper cervical only", "Head orientation to stimuli"],
["Fasciculus proprius", "Interseg.", "All funiculi", "Laminae V–VIII", "Both sides", "Multiple cord levels", "Inter-segmental coordination"],
["Lissauer's tract", "Interseg.", "Posterolateral", "DRG (Aδ, C fibers)", "None", "1–2 segments up/down", "Pain signal dispersion, dermatomal overlap"],
["MLF (in cord)", "Interseg.", "Anterior (medial)", "Vestibular nuclei / tectum", "Bilateral", "Cervical cord", "Head/neck/eye coordination"],
],
col_widths=[3.5*cm, 1.4*cm, 2.5*cm, 3.2*cm, 3.0*cm, 3.2*cm, 4.7*cm]
))
story.append(sp(10))
# end note
story.append(HRFlowable(width="100%", thickness=1, color=C_MID_BLUE))
story.append(sp(4))
story.append(Paragraph("Compiled by Orris Medical AI • Sources: Gray's Anatomy for Students | Localization in Clinical Neurology 8e | "
"Neuroanatomy through Clinical Cases 3e | Neuroscience: Exploring the Brain 5e | Guyton & Hall Medical Physiology | "
"Bradley & Daroff's Neurology in Clinical Practice | Adams & Victor's Principles of Neurology", SOURCES))
# ── Build ─────────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=1.6*cm, bottomMargin=1.5*cm,
title="Spinal Cord & Tracts — Complete Medical Reference",
author="Orris Medical AI",
subject="Neuroanatomy",
)
doc.build(story, onFirstPage=on_first_page, onLaterPages=on_later_pages)
print(f"PDF generated: {OUTPUT}")
cd /home/daytona/workspace/spinal-cord && python3 generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/spinal-cord/Spinal_Cord_Complete_Guide.pdf
Spinal Cord Complete Guide
PDF Document · PDF
This pdf doesn't contain the whole content. Create a new one with all the content described above and also the images
mkdir -p /home/daytona/workspace/spinal-cord/images && cd /home/daytona/workspac…
??
ls -lh /home/daytona/workspace/spinal-cord/images/ 2>/dev/null && echo "---" && …
??
??
ls -lh /home/daytona/workspace/spinal-cord/images/