OPLITEAL FOSSA AND LEG Popliteal Abscess and Tumor Because the deep popliteal ascia is strong and lim- its expansion, pain rom an abscess or tumor in the popliteal ossa is usually severe. Popliteal abscesses tend to spread superiorly and ineriorly because o the tough- ness o the popliteal ascia. Popliteal Pulse Because the popliteal artery is deep, it may be di- cult to eel the popliteal pulse. Palpation o this pulse is commonly perormed with the person in Popliteal Fossa and Leg 763 to the our lateral digits. The tendon o the FT may be pal- pable lateral to the tendons o the EDL, especially when the oot is dorsifexed and everted. The shat o the bula is subcutaneous only in its distal part, proximal to the lateral malleolus; this is the common site o ractures. The medial and lateral malleoli are subcu- taneous and prominent. Palpate them, noting that the tip o the lateral malleolus extends arther distally and posteriorly than the medial malleolus. The bularis longus (FL) is subcutaneous throughout its course (Fig. 7.67C). The tendons o this muscle and the bularis brevis (FB) are palpable when the oot is everted as they pass around the posterior aspect o the lateral malleolus. These tendons may be ollowed anteriorly along the lateral side o the oot. The tendon o the FL runs as ar anteriorly as the cuboid and then disappears by turning into the sole o the oot. The tendon o the FB may be traced to its attachment to the base o the 5th metatarsal. The calcaneal tendon can be easily ollowed to its attach- ment to the calcaneal tuberosity, the posterior part o the calcaneus. The ankle joint is airly supercial in the depres- sion on each side o the calcaneal tendon. The heads o the gastrocnemius are easily recognizable in the superior part o the cal o the leg (Fig. 7.67B, C). The soleus can be palpated deep to and at the sides o the superior part o the calcaneal tendon. The triceps surae (soleus and gastrocnemius) is easy to palpate when the individual is standing on the toes. The soleus can be distinguished rom the gastrocnemius during squatting (fexing the knees while standing on toes) because fexion o the knee to approximately 90° makes the gastrocne- mius faccid; plantarfexion in this position is maintained by the soleus. The deep muscles o the posterior compartment are not easily palpated, but their tendons can be observed just posterior to the medial malleolus, especially when the oot is inverted and the toes are fexed. the prone position with the knee fexed to relax the popliteal ascia and hamstrings. The pulsations are best elt in the ine- rior part o the ossa where the popliteal artery is related to the tibia. Weakening or loss o the popliteal pulse is a sign o a emoral artery obstruction. Popliteal Aneurysm and Hemorrhage A popliteal aneurysm (abnormal dilation o all or part o the popliteal artery) usually causes edema and pain in the popliteal ossa. A popli- teal aneurysm may be distinguished rom other masses by palpable pulsations (thrills) and abnormal arterial sounds (bruits) detectable with a stethoscope. Because the artery 7 764 764 Chapter 7 Lower Limb Chapter 7 Lower Limb lies deep to the tibial nerve, an aneurysm may stretch the nerve or compress its blood supply (vasa vasorum). Pain rom such nerve compression is usually reerred, in this case to the skin overlying the medial aspect o the cal, ankle, or oot. Because the popliteal artery is closely applied to the popliteal surace o the emur and the joint capsule (see Fig. 7.60), ractures o the distal emur or dislocations o the knee may rupture the artery, resulting in hemorrhage. Furthermore, because o their proximity and connement within the popliteal ossa, an injury o the artery and vein may result in an arteriovenous stula (communication between an artery and a vein). Failure to recognize these occurrences and to act promptly may result in the loss o the leg and oot. I the emoral artery must be ligated, blood can bypass the occlusion through the genicular anastomosis and reach the popliteal artery distal to the ligation (see Fig. 7.53). Injury to Tibial Nerve Injury to the tibial nerve is uncommon because o its deep and protected position in the popliteal ossa; however, the nerve may be injured by deep lacerations in the ossa. Posterior dislocation o the knee joint may also damage the tibial nerve. Severance o the tibial nerve produces paralysis o the fexor muscles in the leg and the intrinsic muscles in the sole o the oot. People with a tibial nerve injury are unable to plantarfex their ankle or fex their toes. Loss o sensation also occurs on the sole o the oot. Containment and Spread o Compartmental Inections in Leg The ascial compartments o the lower limbs are generally closed spaces, ending proximally and dis- tally at the joints. Because the septa and deep ascia o the leg orming the boundaries o the leg compartments are strong, the increased volume consequent to inection with suppuration (ormation o pus) increases intracom- partmental pressure. Infammations within the anterior and posterior compartments o the leg spread chiefy in a dis- tal direction; however, a purulent (pus-orming) inection in the lateral compartment o the leg can ascend proximally into the popliteal ossa, presumably along the course o the bular nerve. Fasciotomy (incision o ascia) may be neces- sary to relieve pressure and debride (scrape away) pockets o inection. Tibialis Anterior Strain (Shin Splints) Shin splints—edema and pain in the area o the distal two thirds o the tibia—result rom repeti- tive microtrauma o the tibialis anterior (TA; Fig. 7.57A), which causes small tears in the periosteum cov- ering the shat o the tibia and/or o feshy attachments to the overlying deep ascia o the leg. Shin splints are a mild orm o the anterior compartment syndrome. Shin splints com- monly occur during traumatic injury or athletic overexertion o muscles in the anterior compartment, especially TA, by untrained persons. Oten, persons who lead sedentary lives develop shin splints when they participate in long-distance walks. Shin splints also occur in trained runners who do not warm up and cool down suciently. Muscles in the anterior compartment swell rom sudden overuse, and the edema and muscle–tendon infammation reduce the blood fow to the muscles. The swollen muscles are painul and tender to pressure. Fibularis Muscles and Evolution o Human Foot Whereas the eet o anthropoids (higher pri- mates) are inverted so that they walk on the outer border o the oot, the eet o humans are rela- tively everted (pronated) so that the soles lie more ully on the ground. This pronation is the result, at least in part, o the medial migration o the distal attachment o the bu- laris longus across the sole o the oot (Fig. 7.62K) and the development o a bularis tertius that is attached to the base o the 5th metatarsal. These eatures are unique to the human oot. Injury to Common Fibular Nerve and Footdrop Because o its supercial position, the common bular nerve is the nerve most oten injured in the lower limb, mainly because it winds subcu- taneously around the bular neck, leaving it vulnerable to direct trauma (see Fig. 7.58A). This nerve may also be severed during racture o the bular neck or severely stretched when the knee joint is injured or dislocated. Severance o the common bular nerve results in faccid paralysis o all muscles in the anterior and lateral compart- ments o the leg (dorsifexors o ankle and evertors o oot). The loss o dorsifexion o the ankle causes ootdrop, which is urther exacerbated by unopposed inversion o the oot. This has the eect o making the limb “too long”: the toes do not clear the ground during the swing phase o walking (Fig. B7.21A, E). There are several other conditions that may result in a lower limb that is “too long” unctionally, or example, pelvic tilt (see Fig. B7.19C) and spastic paralysis or contraction o the soleus. There are at least three means o compensating or this problem: 1. A waddling gait, in which the individual leans to the side opposite the long limb, “hiking” the hip (Fig. B7.21B). 2. A swing-out gait, in which the long limb is swung out laterally (abducted) to allow the toes to clear the ground (Fig. B7.21C). Popliteal Fossa and Leg 765 Popliteal Fossa and Leg 765 (A) (B) (C) (D) (E) FIGURE B7.21. 3. A high-stepping steppage gait, in which extra fexion is employed at the hip and knee to raise the oot as high as necessary to keep the toes rom hitting the ground (Fig. B7.21D, E). Because the dropped oot makes it dicult to make the heel strike the ground rst as in a normal gait, a steppage gait is commonly employed in the case o faccid paralysis. Sometimes, an extra “kick” is added as the ree limb swings orward in an attempt to fip the oreoot upward just beore setting the oot down. The braking action normally produced by eccentric con- traction o the dorsifexors is also lost in faccid paralysis oot- drop. Thereore, the oot is not lowered to the ground in a controlled manner ater heel strike; instead, the oot slaps the ground suddenly, producing a distinctive “clop” and greatly increasing the shock both received by the oreoot and transmitted up the tibia to the knee. Individuals with a common bular nerve injury may also experience a variable loss o sensation on the anterolateral aspect o the leg and the dorsum o the oot. Deep Fibular Nerve Entrapment Excessive use o muscles supplied by the deep bu- lar nerve (e.g., during skiing, running, and danc- ing) may result in muscle injury and edema in the anterior compartment. This entrapment may cause com- pression o the deep bular nerve and pain in the anterior compartment. Compression o the deep bular nerve by tight-tting ski boots, or example, may occur where the nerve passes deep to the inerior extensor retinaculum and the extensor hallucis brevis (see Fig. 7.55A). Pain occurs in the dorsum o the oot and usually radiates to the web space between the 1st and 2nd toes. Because ski boots are a common cause o this type o nerve entrapment, this condition has been called the “ski boot syndrome”; however, the syndrome also occurs in soc- cer players and runners and can also result rom tight shoes. Superfcial Fibular Nerve Entrapment Chronic ankle sprains may produce recurrent stretching o the supercial bular nerve, which may cause pain along the lateral side o the leg and the dorsum o the ankle and oot. Numbness and paresthesia (tickling or tingling) may be present and increase with activity. Fabella in Gastrocnemius Close to its proximal attachment, the lateral head o the gastrocnemius may contain a sesamoid bone, the abella (L., bean), which articulates with the lateral emoral condyle. The abella is visible in lateral radio- graphs o the knee in 3–5% o people (Fig. B7.22). Calcaneal Tendinitis Infammation o the calcaneal tendon constitutes 9–18% o running injuries. Microscopic tears o col- lagen bers in the tendon, particularly just superior 7 7 Femur Patella Fabella Fibula Tibia Lateral view FIGURE B7.22. 766 766 Chapter 7 Lower Limb Chapter 7 Lower Limb to its attachment to the calcaneus, result in tendinitis, which causes pain during walking, especially when wearing rigid- soled shoes. Calcaneal tendinitis oten occurs during repeti- tive activities, especially in individuals who take up running ater prolonged inactivity, or suddenly increase the intensity o their training, but it may also result rom poor ootwear or training suraces. Ruptured Calcaneal Tendon Rupture o the calcaneal tendon is oten sustained by poorly conditioned people with a history o cal- caneal tendinitis. The injury is typically experienced as an audible snap during a orceul push o (plantarfexion with the knee extended) ollowed immediately by sudden cal pain and sudden dorsifexion o the plantarfexed

Ruptured Calcaneal Tendon Rupture o the calcaneal tendon is oten sustained by poorly conditioned people with a history o cal- caneal tendinitis. The injury is typically experienced as an audible snap during a orceul push o (plantarfexion with the knee extended) ollowed immediately by sudden cal pain and sudden dorsifexion o the plantarfexed oot. In a completely ruptured tendon, a gap is palpable, usually 1–5 cm proximal to the calcaneal attachment. The muscles aected are the gastrocnemius, soleus, and plantaris. Calcaneal tendon rupture is probably the most severe acute muscular problem o the leg. Individuals with this injury cannot plantarfex against resistance (cannot raise the heel rom the ground or balance on the aected side), and passive dorsifexion (usually limited to 20° rom neutral) is excessive. Ambulation (walking) is possible only when the limb is laterally (externally) rotated, rolling over the transversely placed oot during the stance phase without push o. Bruising appears in the malleolar region, and a lump usu- ally appears in the cal owing to shortening o the triceps surae. In older or nonathletic people, nonsurgical repairs are oten adequate, but surgical intervention is usually advised or those with active liestyles, such as tennis players. Calcaneal Tendon Reex The ankle jerk refex, or triceps surae refex, is acalca- neal tendon refex. It is a myotatic refex elicited while the person’s legs are dangling over the side o the examining table. The calcaneal tendon is struck briskly with a refex hammer just proximal to the calcaneus (Fig. B7.23). The normal result is plantarfexion o the ankle joint. The calcaneal tendon refex tests the S1 and S2 nerve roots. I the S1 nerve root is injured or compressed, the ankle refex is virtually absent. Calcaneal tendon FIGURE B7.23. Absence o Plantarexion I the muscles o the cal are paralyzed, the cal- caneal tendon is ruptured, or normal push o is painul, a much less eective and ecient push o (rom the midoot) can still be accomplished by the actions o the gluteus maximus and hamstrings in extending the thigh at the hip joint and the quadriceps in extending the knee. Because push o rom the oreoot is not possible (in act, the ankle will be passively dorsifexed as the body’s weight moves anterior to the oot), those attempting to walk in the absence o plantarfexion oten rotate the oot as ar later- ally (externally) as possible during the stance phase to dis- able passive dorsifexion and allow a more eective push o through hip and knee extension exerted at the midoot. Gastrocnemius Strain Gastrocnemius strain (tennis leg) is a painul acute injury resulting rom partial tearing o the medial belly o the gastrocnemius at or near its musculo- tendinous junction, oten seen in individuals older than 40 years o age. It is caused by overstretching the muscle by concomitant ull extension o the knee and dorsifexion o the ankle joint. Usually, an abrupt onset o stabbing pain is ollowed by edema and spasm o the gastrocnemius. Calcaneal Bursitis Calcaneal bursitis (retro-Achilles bursitis) results rom infammation o the deep bursa o the calca- neal tendon, located between the calcaneal tendon and the superior part o the posterior surace o the calcaneus (Fig. B7.24). Calcaneal bursitis causes pain posterior to the heel and occurs commonly during long-distance running, basketball, and tennis. It is caused by excessive riction on the bursa as the tendon continuously slides over it. Venous Return From Leg A venous plexus deep to the triceps surae is involved in the return o blood rom the leg. When a person is standing, the venous return rom the leg depends largely on the muscular activity o the triceps surae Calcaneal tendon Deep calcaneal bursa FIGURE B7.24. (see “Venous Drainage o Lower Limb” in this chapter). Contraction o the cal muscles pumps blood superiorly in the deep veins. The musculovenous pump is improved by the deep ascia that invests the muscles like an elastic stocking. Accessory Soleus An accessory soleus is present in approximately 3% o people (Fig. B7.25). The accessory muscle usu- ally appears as a distal belly medial to the calcaneal tendon. Clinically, an accessory soleus may be associated with pain and edema (swelling) during prolonged exercise. Gastrocnemius Soleus Accessory soleus Posterior view FIGURE B7.25. The Bottom Line POPLITEAL FOSSA AND LEG Popliteal ossa: The popliteal ossa is a at-flled and relatively confned compartment posterior to the knee that is traversed by all neurovascular structures passing between the thigh and the leg. ● The sciatic nerve biurcates at the apex o the ossa, with the common fbular nerve passing laterally along the biceps tendon. ● The tibial nerve, popliteal vein, and popliteal artery bisect the ossa—in that order, rom superfcial (posterior) to deep (anterior). ● Genicular branches o the popliteal artery orm a peri-articular genicular anastomosis around the knee, providing collateral circulation to maintain blood ow in all positions o the knee. Popliteal Fossa and Leg 767 Popliteal Fossa and Leg 767 Posterior Tibial Pulse The posterior tibial pulse can usually be palpated between the posterior surace o the medial malleo- lus and the medial border o the calcaneal tendon (Fig. B7.26). Because the posterior tibial artery passes deep to the fexor retinaculum, it is important when palpating this pulse to have the person invert the oot to relax the retinacu- lum. Failure to do so may lead to the erroneous conclusion that a pulse is absent. Both arteries are examined simultaneously or equal- ity o orce. Palpation o the posterior tibial pulses is essential or examining patients with occlusive periph- eral arterial disease. Although posterior tibial pulses are absent in approximately 15% o normal young people, absence o posterior tibial pulses is a sign o occlusive peripheral arterial disease in people older than 60 years. For example, intermittent claudication, characterized by leg pain and cramps, develops during walking and disap- pears ater rest. These conditions result rom ischemia o the leg muscles caused by narrowing or occlusion o the leg arteries.

Can you give me a summary of these clinicals and important points only for exam purpose

Popliteal Fossa & Leg - Clinical Summary (Exam Focus)


1. Popliteal Abscess / Tumor

  • Deep popliteal fascia is strong → pain is severe (limits expansion)
  • Abscesses spread superiorly and inferiorly (not laterally - fascia is too tough)

2. Popliteal Pulse

  • Artery is deep → difficult to palpate
  • Best felt with patient prone, knee flexed (relaxes fascia + hamstrings)
  • Palpate at inferior fossa where artery contacts tibia
  • Weak/absent popliteal pulse = femoral artery obstruction

3. Popliteal Aneurysm

  • Causes edema + pain in popliteal fossa
  • Diagnosed by palpable thrills + bruits on auscultation
  • Artery lies deep to tibial nerve → aneurysm can compress nerve → pain referred to medial calf, ankle, or foot
  • Popliteal artery closely applied to femur + joint capsule → distal femur fracture or knee dislocation can rupture it
  • Injury to both artery + vein → arteriovenous fistula
  • If femoral artery ligated → collateral via genicular anastomosis

4. Tibial Nerve Injury

  • Protected position → uncommon injury
  • Caused by: deep lacerations, posterior knee dislocation
  • Results in:
    • Paralysis of flexor muscles of leg + intrinsic muscles of sole
    • Cannot plantarflex ankle or flex toes
    • Loss of sensation on sole of foot

5. Compartmental Infections - Spread Pattern

CompartmentDirection of Spread
AnteriorDistally
PosteriorDistally
LateralProximally into popliteal fossa (along fibular nerve)
  • Treatment: Fasciotomy to relieve pressure

6. Shin Splints (Tibialis Anterior Strain)

  • Edema + pain over distal 2/3 of tibia
  • Caused by: repetitive microtrauma → small tears in periosteum + fascia attachments
  • Mild form of anterior compartment syndrome
  • Common in: sedentary people doing long walks, runners without warm-up
  • Mechanism: muscle swells → edema → reduced blood flow

7. Common Fibular (Peroneal) Nerve Injury - Footdrop ⭐

  • Most commonly injured nerve in lower limb
  • Vulnerable at: fibular neck (winds subcutaneously)
  • Causes: direct trauma, fibular neck fracture, knee dislocation
  • Results in:
    • Paralysis of anterior + lateral compartments (dorsiflexors + evertors)
    • Footdrop + unopposed inversion
    • Loss of sensation on anterolateral leg + dorsum of foot
  • Three gaits to compensate:
    1. Waddling gait - leans to opposite side
    2. Swing-out (circumduction) gait - limb abducted laterally
    3. High-stepping (steppage) gait - extra hip + knee flexion ✓ (most common in flaccid paralysis)
  • "Foot slap" = braking action of dorsiflexors is lost → foot slaps ground after heel strike

8. Deep Fibular Nerve Entrapment ("Ski Boot Syndrome")

  • Caused by: tight ski boots, overuse (skiing, running, dancing)
  • Compressed under inferior extensor retinaculum + extensor hallucis brevis
  • Pain on dorsum of foot + 1st-2nd toe web space

9. Superficial Fibular Nerve Entrapment

  • Caused by: chronic ankle sprains
  • Pain along lateral leg + dorsum of ankle/foot
  • Numbness + paresthesia (worsens with activity)

10. Fabella

  • Sesamoid bone in lateral head of gastrocnemius
  • Seen on lateral radiograph in only 3-5% of people

11. Calcaneal Tendinitis

  • Constitutes 9-18% of running injuries
  • Microscopic collagen tears just superior to calcaneal attachment
  • Pain during walking, especially with rigid-soled shoes

12. Ruptured Calcaneal Tendon ⭐

  • Poorly conditioned people + history of calcaneal tendinitis
  • Mechanism: forceful plantarflexion with knee extended
  • Signs:
    • Audible snap
    • Palpable gap 1-5 cm proximal to calcaneal attachment
    • Cannot plantarflex against resistance
    • Excessive passive dorsiflexion (normally limited to 20°)
    • Bruising in malleolar region + lump in calf (triceps surae shortening)
  • Management: nonsurgical for older/inactive; surgical for active individuals

13. Calcaneal Tendon Reflex (Ankle Jerk)

  • Tests S1 and S2 nerve roots
  • Elicited: strike tendon proximal to calcaneus → plantarflexion
  • Absent reflex = S1 nerve root injury/compression

14. Gastrocnemius Strain ("Tennis Leg")

  • Partial tear of medial belly at musculotendinous junction
  • Common in >40 years of age
  • Mechanism: simultaneous full knee extension + ankle dorsiflexion
  • Sudden stabbing pain + edema + spasm

15. Calcaneal Bursitis (Retro-Achilles Bursitis)

  • Inflammation of deep bursa between calcaneal tendon and posterior calcaneus
  • Pain posterior to heel
  • Common in: long-distance running, basketball, tennis
  • Caused by excessive friction of tendon sliding over bursa

16. Posterior Tibial Pulse

  • Palpated between posterior medial malleolus + medial border of calcaneal tendon
  • Invert foot first to relax flexor retinaculum (otherwise may falsely miss pulse)
  • Absent in ~15% of normal young people (not pathological)
  • Absent in >60 years = sign of occlusive peripheral arterial disease
  • Intermittent claudication = leg pain/cramps during walking, relieved by rest → ischemia from arterial narrowing

Quick-Reference High-Yield Facts

FactAnswer
Most commonly injured nerve in lower limbCommon fibular nerve
Gait in flaccid footdropSteppage gait
Calcaneal tendon reflex testsS1, S2
Popliteal aneurysm distinguished byThrills + bruits
Lateral compartment infection spreadsProximally into popliteal fossa
Posterior tibial pulse - invert foot becauseRelaxes flexor retinaculum
Ski boot syndrome nerveDeep fibular nerve (1st-2nd toe web space)

Create a quick reference PDF cheat sheet of these clinical points

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"

Running Command

mkdir -p /tmp/workspace/popliteal-cheatsheet && cat > /tmp/workspace/popliteal-cheatsheet/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import mm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_LEFT, TA_CENTER from reportlab.platypus import PageBreak OUTPUT = "/tmp/workspace/popliteal-cheatsheet/Popliteal_Fossa_Leg_Cheatsheet.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=12*mm, rightMargin=12*mm, topMargin=14*mm, bottomMargin=12*mm, ) # ── Colours ────────────────────────────────────────────────────────────────── DARK_BLUE = colors.HexColor("#1a3a5c") MED_BLUE = colors.HexColor("#2563a8") LIGHT_BLUE = colors.HexColor("#dbeafe") ACCENT_RED = colors.HexColor("#c0392b") ACCENT_GOLD = colors.HexColor("#f0a500") LIGHT_GOLD = colors.HexColor("#fff8e1") LIGHT_RED = colors.HexColor("#fdecea") LIGHT_GREEN = colors.HexColor("#e8f5e9") MED_GREEN = colors.HexColor("#2e7d32") WHITE = colors.white DARK_GRAY = colors.HexColor("#2d2d2d") MID_GRAY = colors.HexColor("#555555") LIGHT_GRAY = colors.HexColor("#f4f4f4") BORDER_GRAY = colors.HexColor("#cccccc") # ── Styles ──────────────────────────────────────────────────────────────────── styles = getSampleStyleSheet() def S(name, **kw): return ParagraphStyle(name, **kw) title_style = S("Title", fontSize=18, leading=22, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=0) subtitle_style = S("Subtitle", fontSize=9, leading=12, textColor=colors.HexColor("#b0c8e8"), fontName="Helvetica", alignment=TA_CENTER) section_style = S("Section", fontSize=9.5, leading=13, textColor=WHITE, fontName="Helvetica-Bold", spaceBefore=0, spaceAfter=0) bullet_style = S("Bullet", fontSize=8, leading=11.5, textColor=DARK_GRAY, fontName="Helvetica", leftIndent=10, spaceBefore=1) bullet_bold = S("BulletBold", fontSize=8, leading=11.5, textColor=DARK_GRAY, fontName="Helvetica-Bold", leftIndent=10, spaceBefore=1) warn_style = S("Warn", fontSize=8, leading=11, textColor=ACCENT_RED, fontName="Helvetica-Bold", leftIndent=10) key_style = S("Key", fontSize=7.5, leading=10.5, textColor=DARK_GRAY, fontName="Helvetica", leftIndent=4) table_hdr = S("TableHdr", fontSize=8, leading=10, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) table_cell = S("TableCell", fontSize=7.5, leading=10, textColor=DARK_GRAY, fontName="Helvetica", alignment=TA_LEFT) story = [] # ══════════════════════════════════════════════════════════════════════════════ # HEADER BANNER # ══════════════════════════════════════════════════════════════════════════════ header_data = [[ Paragraph("POPLITEAL FOSSA &amp; LEG", title_style), Paragraph("Clinical Quick-Reference Cheat Sheet | Exam Edition", subtitle_style) ]] header_tbl = Table(header_data, colWidths=[186*mm]) header_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE), ("BOTTOMPADDING", (0,0), (-1,-1), 8), ("TOPPADDING", (0,0), (-1,-1), 10), ("LEFTPADDING", (0,0), (-1,-1), 8), ("RIGHTPADDING", (0,0), (-1,-1), 8), ("ROWBACKGROUNDS", (0,0), (-1,-1), [DARK_BLUE]), ("SPAN", (0,0), (-1,-1)), ])) story.append(header_tbl) story.append(Spacer(1, 4*mm)) # ── helper: section header ──────────────────────────────────────────────────── def sec_header(text, color=MED_BLUE): t = Table([[Paragraph(text, section_style)]], colWidths=[186*mm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), color), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 8), ("ROUNDEDCORNERS", [3, 3, 3, 3]), ])) return t def b(text): return Paragraph(f"• {text}", bullet_style) def bb(text): return Paragraph(f"• {text}", bullet_bold) def warn(text): return Paragraph(f"⚠ {text}", warn_style) def sp(h=2): return Spacer(1, h*mm) # ══════════════════════════════════════════════════════════════════════════════ # ROW 1: TWO COLUMNS (Popliteal Artery topics | Nerve Injuries) # ══════════════════════════════════════════════════════════════════════════════ col_w = [91*mm, 91*mm] # ── Left: Popliteal Pulse / Aneurysm / Tibial Nerve ────────────────────────── left_items = [ sec_header("1. POPLITEAL PULSE"), b("Artery is deep → difficult to feel"), b("Patient: <b>prone, knee flexed</b> (relaxes fascia + hamstrings)"), b("Best palpated at inferior fossa (artery contacts tibia)"), warn("Weak/absent = femoral artery obstruction"), sp(2), sec_header("2. POPLITEAL ANEURYSM"), b("Causes <b>edema + pain</b> in popliteal fossa"), b("Distinguished by <b>palpable thrills + bruits</b> on auscultation"), b("Artery lies <b>deep to tibial nerve</b> → nerve compression → pain referred to <b>medial calf / ankle / foot</b>"), b("Distal femur fracture or knee dislocation → can <b>rupture</b> popliteal artery"), b("Artery + vein injury → <b>arteriovenous fistula</b>"), b("Femoral ligation bypassed via <b>genicular anastomosis</b>"), sp(2), sec_header("3. POPLITEAL ABSCESS / TUMOR"), b("Strong deep fascia limits expansion → <b>severe pain</b>"), b("Abscess spreads <b>superiorly & inferiorly</b> (fascia too tough laterally)"), ] # ── Right: Nerve Injuries ───────────────────────────────────────────────────── right_items = [ sec_header("4. TIBIAL NERVE INJURY"), b("Protected position → <b>uncommon</b>"), b("Caused by: deep lacerations, <b>posterior knee dislocation</b>"), b("Paralysis: flexor muscles of leg + intrinsic muscles of <b>sole</b>"), b("Cannot <b>plantarflex</b> ankle or <b>flex toes</b>"), warn("Loss of sensation on SOLE of foot"), sp(2), sec_header("5. COMMON FIBULAR NERVE INJURY ★", color=ACCENT_RED), bb("MOST COMMONLY injured nerve in lower limb"), b("Vulnerable at <b>fibular neck</b> (winds subcutaneously)"), b("Causes: direct trauma, fibular neck fracture, knee dislocation"), b("Results in: paralysis of <b>anterior + lateral compartments</b>"), b("→ Footdrop + unopposed inversion"), warn("Sensation lost: anterolateral leg + dorsum of foot"), b("<b>3 Compensatory Gaits:</b>"), b(" 1. Waddling gait – leans to opposite side"), b(" 2. Swing-out (circumduction) – limb abducted"), bb(" 3. Steppage gait – extra hip + knee flexion (most common)"), b("'Foot slap' = braking action of dorsiflexors lost"), ] # equal row count while len(left_items) < len(right_items): left_items.append(sp(2)) while len(right_items) < len(left_items): right_items.append(sp(2)) two_col = Table([[left_items, right_items]], colWidths=col_w) two_col.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 3), ("RIGHTPADDING", (0,0), (-1,-1), 3), ("TOPPADDING", (0,0), (-1,-1), 0), ("BOTTOMPADDING", (0,0), (-1,-1), 0), ])) story.append(two_col) story.append(sp(3)) # ══════════════════════════════════════════════════════════════════════════════ # ROW 2: Entrapment syndromes + Compartment infections + Shin Splints # ══════════════════════════════════════════════════════════════════════════════ left2 = [ sec_header("6. DEEP FIBULAR NERVE ENTRAPMENT\n(Ski Boot Syndrome)", color=MED_GREEN), b("Tight ski boots / overuse (skiing, running, dancing)"), b("Compressed under <b>inferior extensor retinaculum + EHB</b>"), warn("Pain: dorsum of foot + 1st–2nd toe WEB SPACE"), sp(2), sec_header("7. SUPERFICIAL FIBULAR NERVE ENTRAPMENT", color=MED_GREEN), b("Caused by: <b>chronic ankle sprains</b>"), b("Pain: lateral leg + dorsum of ankle/foot"), b("Numbness + paresthesia (worsens with activity)"), ] right2 = [ sec_header("8. COMPARTMENTAL INFECTION SPREAD"), b("<b>Anterior compartment</b> → spreads <b>distally</b>"), b("<b>Posterior compartment</b> → spreads <b>distally</b>"), warn("Lateral compartment → spreads PROXIMALLY into popliteal fossa (along fibular nerve)"), b("Treatment: <b>Fasciotomy</b> to relieve pressure"), sp(2), sec_header("9. SHIN SPLINTS (Tibialis Anterior Strain)"), b("Pain over <b>distal 2/3 of tibia</b>"), b("Mild form of <b>anterior compartment syndrome</b>"), b("Cause: repetitive microtrauma → periosteal tears"), b("Common in sedentary people, runners without warm-up"), ] while len(left2) < len(right2): left2.append(sp(1)) while len(right2) < len(left2): right2.append(sp(1)) row2 = Table([[left2, right2]], colWidths=col_w) row2.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 3), ("RIGHTPADDING", (0,0), (-1,-1), 3), ("TOPPADDING", (0,0), (-1,-1), 0), ("BOTTOMPADDING", (0,0), (-1,-1), 0), ])) story.append(row2) story.append(sp(3)) # ══════════════════════════════════════════════════════════════════════════════ # ROW 3: Calcaneal Tendon conditions (full width split 3 cols) # ══════════════════════════════════════════════════════════════════════════════ c3w = [62*mm, 62*mm, 62*mm] col_a = [ sec_header("10. CALCANEAL TENDINITIS"), b("9–18% of running injuries"), b("Collagen tears <b>just superior to</b> calcaneal attachment"), b("Pain during walking with <b>rigid-soled shoes</b>"), b("Risk: sudden increase in training, poor footwear"), sp(2), sec_header("11. CALCANEAL BURSITIS\n(Retro-Achilles Bursitis)"), b("Inflammation of <b>deep bursa</b> between calcaneal tendon & posterior calcaneus"), b("Pain <b>posterior to heel</b>"), b("Common: long-distance running, basketball, tennis"), b("Cause: excessive tendon friction over bursa"), ] col_b = [ sec_header("12. RUPTURED CALCANEAL TENDON ★", color=ACCENT_RED), b("Poorly conditioned people + history of tendinitis"), b("Mechanism: forceful <b>plantarflexion with knee extended</b>"), bb("Signs:"), b(" • Audible SNAP"), b(" • Palpable gap <b>1–5 cm proximal</b> to attachment"), b(" • Cannot plantarflex against resistance"), b(" • Excessive passive dorsiflexion (>20°)"), b(" • Bruising in malleolar region"), b(" • Calf lump (triceps surae shortening)"), warn("Management: nonsurgical (older/inactive); SURGICAL (active)"), ] col_c = [ sec_header("13. CALCANEAL TENDON REFLEX"), b("Tests <b>S1 and S2</b> nerve roots"), b("Strike tendon proximal to calcaneus → plantarflexion"), warn("Absent reflex = S1 nerve root injury"), sp(2), sec_header("14. GASTROCNEMIUS STRAIN\n(Tennis Leg)"), b("Partial tear of <b>medial belly</b> at musculotendinous junction"), b("Age: typically <b>&gt;40 years</b>"), b("Mechanism: simultaneous <b>full knee extension +\nankle dorsiflexion</b>"), b("Sudden stabbing pain + edema + spasm"), sp(2), sec_header("15. FABELLA"), b("Sesamoid in lateral head of gastrocnemius"), warn("Visible in only 3–5% of people on lateral X-ray"), ] while len(col_a) < len(col_b): col_a.append(sp(1)) while len(col_b) < len(col_a): col_b.append(sp(1)) while len(col_c) < len(col_a): col_c.append(sp(1)) while len(col_a) < len(col_c): col_a.append(sp(1)) while len(col_b) < len(col_c): col_b.append(sp(1)) row3 = Table([[col_a, col_b, col_c]], colWidths=c3w) row3.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 3), ("RIGHTPADDING", (0,0), (-1,-1), 3), ("TOPPADDING", (0,0), (-1,-1), 0), ("BOTTOMPADDING", (0,0), (-1,-1), 0), ])) story.append(row3) story.append(sp(3)) # ══════════════════════════════════════════════════════════════════════════════ # POSTERIOR TIBIAL PULSE (full width) # ══════════════════════════════════════════════════════════════════════════════ story.append(sec_header("16. POSTERIOR TIBIAL PULSE &amp; PERIPHERAL ARTERIAL DISEASE")) story.append(sp(1)) pt_items = [ [b("Palpated between <b>posterior medial malleolus + medial border of calcaneal tendon</b>"), b("<b>Invert foot</b> first to relax flexor retinaculum (prevents false-negative)"), b("Absent in ~15% of <b>normal young people</b> (not pathological)")], [warn("Absent in >60 yrs = OCCLUSIVE PERIPHERAL ARTERIAL DISEASE"), b("<b>Intermittent claudication</b> = leg pain during walking, relieved by rest"), b("Cause: ischemia from arterial narrowing/occlusion")], ] pt_tbl = Table(pt_items, colWidths=[62*mm, 62*mm, 62*mm]) pt_tbl.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 4), ("TOPPADDING", (0,0), (-1,-1), 2), ("BOTTOMPADDING", (0,0), (-1,-1), 2), ])) story.append(pt_tbl) story.append(sp(3)) # ══════════════════════════════════════════════════════════════════════════════ # QUICK-REFERENCE TABLE # ══════════════════════════════════════════════════════════════════════════════ story.append(HRFlowable(width="100%", thickness=1.5, color=DARK_BLUE, spaceAfter=4)) story.append(sec_header("★ HIGH-YIELD QUICK-REFERENCE TABLE", color=DARK_BLUE)) story.append(sp(1)) qr_data = [ [Paragraph("Fact / Question", table_hdr), Paragraph("Key Answer", table_hdr)], [Paragraph("Most commonly injured nerve in lower limb", key_style), Paragraph("<b>Common fibular nerve</b> (at fibular neck)", key_style)], [Paragraph("Gait in flaccid footdrop", key_style), Paragraph("<b>Steppage gait</b> (high-stepping)", key_style)], [Paragraph("Calcaneal tendon reflex tests nerve roots", key_style), Paragraph("<b>S1 and S2</b>", key_style)], [Paragraph("How to distinguish popliteal aneurysm", key_style), Paragraph("<b>Palpable thrills + bruits</b> on auscultation", key_style)], [Paragraph("Direction infection spreads from lateral leg compartment", key_style), Paragraph("<b>Proximally → into popliteal fossa</b> (along fibular nerve)", key_style)], [Paragraph("Why invert foot before palpating posterior tibial pulse", key_style), Paragraph("Relaxes <b>flexor retinaculum</b> (prevents false-negative)", key_style)], [Paragraph("Ski boot syndrome nerve + symptom location", key_style), Paragraph("<b>Deep fibular nerve;</b> pain radiates to <b>1st–2nd toe web space</b>", key_style)], [Paragraph("Tibial nerve injury → sensation lost where", key_style), Paragraph("<b>Sole of foot</b>", key_style)], [Paragraph("Ruptured calcaneal tendon: palpable gap location", key_style), Paragraph("<b>1–5 cm proximal</b> to calcaneal attachment", key_style)], [Paragraph("Absent ankle jerk reflex (>60 yrs) significance", key_style), Paragraph("<b>Occlusive peripheral arterial disease</b>", key_style)], [Paragraph("Tennis leg: which part of gastrocnemius tears", key_style), Paragraph("<b>Medial belly</b> at musculotendinous junction", key_style)], [Paragraph("Fabella visibility on X-ray", key_style), Paragraph("<b>3–5%</b> of people (lateral view)", key_style)], [Paragraph("Calcaneal tendinitis: % of running injuries", key_style), Paragraph("<b>9–18%</b>", key_style)], ] qr_table = Table(qr_data, colWidths=[95*mm, 91*mm]) qr_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), DARK_BLUE), ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_GRAY]), ("GRID", (0,0), (-1,-1), 0.4, BORDER_GRAY), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("RIGHTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(qr_table) story.append(sp(3)) # ══════════════════════════════════════════════════════════════════════════════ # FOOTER # ══════════════════════════════════════════════════════════════════════════════ footer_style = S("Footer", fontSize=7, leading=9, textColor=colors.HexColor("#888888"), fontName="Helvetica", alignment=TA_CENTER) story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER_GRAY)) story.append(sp(1)) story.append(Paragraph( "Popliteal Fossa &amp; Leg Clinical Cheatsheet | Based on Moore's Clinically Oriented Anatomy | For Exam Use Only", footer_style)) # ── Build ───────────────────────────────────────────────────────────────────── doc.build(story) print("PDF generated:", OUTPUT) PYEOF echo "Script written"

Running Command

cd /tmp/workspace/popliteal-cheatsheet && python generate_pdf.py

Running Command

ls -lh /tmp/workspace/popliteal-cheatsheet/

Your cheat sheet PDF is ready! Here's what's included:

Popliteal Fossa Leg Cheatsheet

PDF Document · PDF


What's in the PDF:
  • Color-coded sections - Blue headers for standard topics, red for high-yield starred topics (Common Fibular Nerve, Ruptured Calcaneal Tendon), green for entrapment syndromes
  • 16 clinical topics organized in a compact multi-column layout covering all the conditions from the text
  • Warning callouts (⚠) for the most exam-critical facts (absent pulses, sensation loss, management rules)
  • High-yield Quick Reference Table at the bottom - 14 Q&A pairs covering the most commonly tested facts (nerve roots, gait types, % statistics, anatomical landmarks)
  • Fits on a single A4 page for easy printing
attachment
attachment
attachment
attachment
attachment
attachment

do the same with these what you did with the text above

Let me read all three images simultaneously to extract the full content.
analyse_media
analyse_media
analyse_media
I have all the content extracted. Now generating the PDF cheat sheet.
Running Command

mkdir -p /tmp/workspace/bones-cheatsheet && cat > /tmp/workspace/bones-cheatsheet/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import mm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_LEFT, TA_CENTER OUTPUT = "/tmp/workspace/bones-cheatsheet/Bones_Lower_Limb_Cheatsheet.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=11*mm, rightMargin=11*mm, topMargin=13*mm, bottomMargin=11*mm, ) # ── Colours ──────────────────────────────────────────────────────────────── DARK_BLUE = colors.HexColor("#1a3a5c") MED_BLUE = colors.HexColor("#1e5fa8") LIGHT_BLUE = colors.HexColor("#dbeafe") ACCENT_RED = colors.HexColor("#b71c1c") MED_RED = colors.HexColor("#c0392b") MED_GREEN = colors.HexColor("#2e7d32") DARK_PURP = colors.HexColor("#4a148c") MED_PURP = colors.HexColor("#6a1b9a") ORANGE = colors.HexColor("#e65100") TEAL = colors.HexColor("#00695c") WHITE = colors.white DARK_GRAY = colors.HexColor("#2d2d2d") LIGHT_GRAY = colors.HexColor("#f4f4f4") BORDER_GRAY = colors.HexColor("#cccccc") # ── Styles ───────────────────────────────────────────────────────────────── def S(name, **kw): return ParagraphStyle(name, **kw) title_s = S("T", fontSize=17, leading=21, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) sub_s = S("Su", fontSize=8.5, leading=11, textColor=colors.HexColor("#b0c8e8"), fontName="Helvetica", alignment=TA_CENTER) sec_s = S("Se", fontSize=9, leading=12, textColor=WHITE, fontName="Helvetica-Bold") bul_s = S("B", fontSize=7.8, leading=11, textColor=DARK_GRAY, fontName="Helvetica", leftIndent=9, spaceBefore=1) bolb_s = S("BB", fontSize=7.8, leading=11, textColor=DARK_GRAY, fontName="Helvetica-Bold", leftIndent=9, spaceBefore=1) warn_s = S("W", fontSize=7.8, leading=10.5, textColor=ACCENT_RED, fontName="Helvetica-Bold", leftIndent=9) key_s = S("K", fontSize=7.5, leading=10, textColor=DARK_GRAY, fontName="Helvetica") thdr_s = S("TH", fontSize=8, leading=10, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) foot_s = S("F", fontSize=6.8, leading=9, textColor=colors.HexColor("#888888"), fontName="Helvetica", alignment=TA_CENTER) story = [] # ── helpers ──────────────────────────────────────────────────────────────── def hdr(text, bg=MED_BLUE): t = Table([[Paragraph(text, sec_s)]], colWidths=[188*mm]) t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),bg), ("TOPPADDING",(0,0),(-1,-1),4),("BOTTOMPADDING",(0,0),(-1,-1),4), ("LEFTPADDING",(0,0),(-1,-1),7), ])) return t def b(txt): return Paragraph(f"• {txt}", bul_s) def bb(txt): return Paragraph(f"• {txt}", bolb_s) def w(txt): return Paragraph(f"⚠ {txt}", warn_s) def sp(h=2): return Spacer(1, h*mm) def two_col(left, right, lw=93*mm, rw=93*mm): while len(left)<len(right): left.append(sp(1)) while len(right)<len(left): right.append(sp(1)) t = Table([[left, right]], colWidths=[lw, rw]) t.setStyle(TableStyle([ ("VALIGN",(0,0),(-1,-1),"TOP"), ("LEFTPADDING",(0,0),(-1,-1),3), ("RIGHTPADDING",(0,0),(-1,-1),3), ("TOPPADDING",(0,0),(-1,-1),0), ("BOTTOMPADDING",(0,0),(-1,-1),0), ])) return t def three_col(a,b_,c, cw=62*mm): mx = max(len(a),len(b_),len(c)) while len(a)<mx: a.append(sp(1)) while len(b_)<mx: b_.append(sp(1)) while len(c)<mx: c.append(sp(1)) t = Table([[a,b_,c]], colWidths=[cw,cw,cw]) t.setStyle(TableStyle([ ("VALIGN",(0,0),(-1,-1),"TOP"), ("LEFTPADDING",(0,0),(-1,-1),3), ("RIGHTPADDING",(0,0),(-1,-1),3), ("TOPPADDING",(0,0),(-1,-1),0), ("BOTTOMPADDING",(0,0),(-1,-1),0), ])) return t # ══ HEADER ════════════════════════════════════════════════════════════════════ hdr_tbl = Table([[ Paragraph("BONES OF LOWER LIMB", title_s), Paragraph("Clinical Quick-Reference Cheat Sheet | Exam Edition", sub_s) ]], colWidths=[188*mm]) hdr_tbl.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),DARK_BLUE), ("BOTTOMPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),10), ("LEFTPADDING",(0,0),(-1,-1),8),("RIGHTPADDING",(0,0),(-1,-1),8), ("SPAN",(0,0),(-1,-1)), ])) story.append(hdr_tbl) story.append(sp(3)) # ══ ROW 1: General + Hip Bone ═════════════════════════════════════════════════ left1 = [ hdr("1. LOWER LIMB INJURIES (GENERAL)"), b("Knee, leg & foot are <b>most common</b> lower limb injuries"), b("Hip injuries = <b>&lt;3%</b> of lower limb injuries"), b("Causes: acute trauma (contact sports), overuse (endurance sports)"), w("Adolescents most vulnerable — epiphysial plates still present"), b("<b>Epiphysial plates</b> = hyaline cartilage discs between metaphysis & epiphysis"), b("During growth spurts: bone grows faster than attached muscle → stress on plates"), w("Osteochondrosis = irritation/injury to epiphysial plates from rapid growth"), ] right1 = [ hdr("2. INJURIES OF HIP BONE", bg=MED_RED), bb("Hip fractures = pelvic fractures (correct terminology)"), b("Most fractures involve femoral head, neck or trochanters"), b("<b>Avulsion fractures of hip</b>: sudden accel/decel forces (sprinting, kicking, jumping)"), b("Small bone piece torn away at <b>apophyses</b> (bony projections without secondary ossification centers)"), b("Common avulsion sites:"), b(" • Anterior superior & inferior iliac spines"), b(" • Ischial tuberosities"), b(" • Ischiopubic rami"), ] story.append(two_col(left1, right1)) story.append(sp(3)) # ══ ROW 2: Coxa Vara/Valga + Dislocated Epiphysis ════════════════════════════ left2 = [ hdr("3. COXA VARA AND COXA VALGA"), b("Angle of inclination = angle between femoral neck & femoral shaft"), b("Varies with age, sex, and femoral ossification"), bb("Coxa vara = <b>DECREASED</b> angle of inclination"), b(" → mild shortening of lower limb + limits passive abduction"), bb("Coxa valga = <b>INCREASED</b> angle of inclination"), b("Causes: congenital, rickets, or pathological process weakening neck"), ] right2 = [ hdr("4. DISLOCATED EPIPHYSIS OF FEMORAL HEAD"), b("Age: <b>10–17 years</b> (older children/adolescents)"), b("Epiphysis slips away from femoral neck (weakened epiphysial plate)"), b("Causes: acute trauma OR repetitive microtrauma (shearing during abduction + lateral rotation)"), b("Epiphysis slowly dislocates → progressive <b>coxa vara</b>"), w("Initial symptom: hip pain that may be REFERRED to the knee"), b("Radiograph of proximal femur required to confirm diagnosis"), ] story.append(two_col(left2, right2)) story.append(sp(3)) # ══ ROW 3: Femoral Fractures (full width 3-col) ═══════════════════════════════ col_a = [ hdr("5. FEMORAL FRACTURES ★", bg=ACCENT_RED), b("Despite large size, femur is commonly fractured"), b("Fracture type is <b>age- and sex-related</b>"), bb("Femoral NECK: most frequently fractured"), b(" → Narrowest & weakest part"), b(" → Lies at marked angle to weight-bearing line"), b(" → Increasingly vulnerable with age, esp. females (osteoporosis)"), b("Proximal femur fractures occur at:"), b(" • <b>Transcervical</b> (middle of neck)"), b(" • <b>Intertrochanteric</b>"), w("Intracapsular fractures → risk of femoral head degeneration (vascular trauma)"), ] col_b = [ hdr("5b. FEMORAL FRACTURES (cont.)", bg=ACCENT_RED), b("Indirect trauma (stumbling, stepping off curb) → proximal fractures"), b("Angle of inclination → fragments inherently unstable + <b>impaction</b>"), b("Muscle spasm contributes to limb shortening"), b("<b>Greater trochanter + shaft fractures</b>: direct trauma (falls, being hit)"), b(" → Common in younger active years, MVC, skiing, climbing"), b(" → Spiral fracture = fragments override → foreshortening"), b(" → Comminuted = fragments displaced in multiple directions"), w("Distal femur fracture → may compromise popliteal artery (always check)"), b("Union of comminuted femoral shaft fracture: <b>up to 1 year</b>"), ] col_c = [ hdr("6. TIBIAL FRACTURES"), b("Tibial shaft narrowest at junction of <b>middle & inferior thirds</b>"), b(" → Most frequent fracture site"), w("Poorest blood supply → most common site for compound fracture"), b("Anterior surface subcutaneous → common site for compound fractures"), b("'Bumper fracture': car bumper strikes leg → tibia fracture"), b("Fracture of tibia through nutrient canal → risk of <b>nonunion</b>"), b("<b>Transverse march (stress) fractures</b>: inferior third, long hikers"), b("<b>Boot-top fracture</b>: torsion during skiing → diagonal fracture at middle-inferior junction"), b("Indirect violence (foot fixed + bone turns) → transverse fractures"), ] story.append(three_col(col_a, col_b, col_c)) story.append(sp(3)) # ══ ROW 4: Epiphysial + Fibular + Bone Grafts ═══════════════════════════════ left4 = [ hdr("7. FRACTURES INVOLVING EPIPHYSIAL PLATES"), b("Tibial fractures in children more serious if epiphysial plates involved"), b(" → Normal bone growth may be jeopardized"), b("Tibial tuberosity forms by inferior bone growth from superior epiphysial center at ~<b>10 yrs</b>"), b("Separate center for tibial tuberosity at ~<b>12 yrs</b>"), w("Osgood-Schlatter Disease: disruption of epiphysial plate at tibial tuberosity → chronic pain during adolescence (especially young athletes)"), b("Seen on X-ray: prominence + fragmentation of tibial tuberosity"), ] right4 = [ hdr("8. FIBULAR FRACTURES"), b("Fibular fractures: commonly <b>2–6 cm proximal</b> to lateral malleolus"), b("Often associated with <b>fracture-dislocations of ankle joint</b>"), b("Combined with tibial fractures (Fig B7.6B)"), b("Excessive inversion: ankle ligaments tear → talus forced against lateral malleolus → <b>shears it off</b>"), b("<b>Lateral + medial malleoli fractures</b>: common in soccer & basketball"), w("Walking compromised: fibula's role in ankle stability"), b("<b>Boot-top fracture</b>: high-speed forward fall + rigid ski boot → leg angled → diagonal fibula fracture"), ] story.append(two_col(left4, right4)) story.append(sp(3)) # ══ ROW 5: Bone Grafts + IO infusion + Calcaneal + Talar ═════════════════════ col_5a = [ hdr("9. BONE GRAFTS", bg=TEAL), b("If major bone destroyed → limb becomes useless"), b("Bone transplant → may avoid amputation"), b("<b>Fibula</b>: common source for bone grafting"), b("Even after shaft segment removed → walking, running, jumping can be normal"), b("Free vascularized fibulas: restore skeletal integrity in congenital defects + post-tumor excision"), w("Nutrient foramen in MIDDLE THIRD of fibula — graft must include blood supply to medullary cavity"), b("Anterior tibia: subcutaneous → accessible for obtaining grafts in children"), ] col_5b = [ hdr("10. INTRAOSSEOUS (IO) INFUSION", bg=TEAL), b("Delivers hydration, blood, medications into <b>medullary cavity</b>"), b("Used when peripheral venous access is difficult"), b("Used in: traumatic shock, circulatory collapse"), bb("Most common site: <b>proximal tibia</b>"), b(" → Thin skin + prominent landmarks aid insertion"), b(" → Insert <b>2 cm distal + slightly medial</b> from tibial tuberosity"), b("Other sites: distal femur, tibia, fibula, proximal humerus, manubrium"), w("Must replace IO with peripheral/central line within 24 hrs (osteomyelitis risk)"), ] col_5c = [ hdr("11. CALCANEAL FRACTURES"), b("Hard fall onto heel (e.g., from ladder) → calcaneus fractures into several pieces"), b("Produces <b>comminuted fracture</b>"), w("Disrupts subtalar (talocalcaneal) joint where talus articulates → usually DISABLING"), sp(2), hdr("12. FRACTURES OF TALAR NECK"), b("Mechanism: <b>severe dorsiflexion</b> (pressing hard on brake pedal in head-on collision)"), w("Body of talus may dislocate POSTERIORLY"), ] story.append(three_col(col_5a, col_5b, col_5c)) story.append(sp(3)) # ══ ROW 6: Metatarsal + Os Trigonum + Sesamoids ══════════════════════════════ left6 = [ hdr("13. FRACTURES OF METATARSALS", bg=MED_PURP), b("Causes: heavy object falls on foot, run over by heavy object"), b("Common in dancers (especially ballet — <b>demi-pointe technique</b>)"), b("<b>Dancer's fracture</b>: dancer loses balance, full weight on metatarsal"), b("<b>Fatigue fractures</b>: repeated stress during prolonged walking (transverse)"), b("Sudden violent inversion → tuberosity of 5th metatarsal avulsed by <b>fibularis brevis</b>"), bb("Avulsion fracture of 5th metatarsal tuberosity"), b(" → Pain + edema at base of 5th metatarsal"), w("Common in basketball & tennis; associated with severe ankle sprains"), ] right6 = [ hdr("14. OS TRIGONUM", bg=MED_PURP), b("Accessory ossicle — secondary ossification center of talus fails to unite"), b("Occurs in <b>14–25%</b> of adults, more commonly bilateral"), w("Increased prevalence in SOCCER PLAYERS and BALLET DANCERS"), b("May result from forceful plantarflexion in early teens"), b("Partly/fully ossified center may fracture → progress to nonunion → accessory ossicle (os trigonum)"), sp(2), hdr("15. FRACTURE OF SESAMOID BONES"), b("Sesamoids of great toe (in tendon of flexor hallucis longus)"), b("Bear weight during latter part of stance phase"), b("Sesamoids develop before birth; begin ossifying in late childhood"), w("Fracture may result from a CRUSHING injury"), ] story.append(two_col(left6, right6)) story.append(sp(3)) # ══ HIGH-YIELD TABLE ══════════════════════════════════════════════════════════ story.append(HRFlowable(width="100%", thickness=1.5, color=DARK_BLUE, spaceAfter=3)) story.append(hdr("★ HIGH-YIELD QUICK-REFERENCE TABLE", bg=DARK_BLUE)) story.append(sp(1)) rows = [ [Paragraph("Fact / Question", thdr_s), Paragraph("Key Answer", thdr_s)], [Paragraph("Hip injuries are what % of lower limb injuries?", key_s), Paragraph("<b>&lt;3%</b>", key_s)], [Paragraph("Most frequently fractured part of femur", key_s), Paragraph("<b>Femoral neck</b> (narrowest, weakest, angled to weight-bearing line)", key_s)], [Paragraph("Most vulnerable group for femoral neck fractures", key_s), Paragraph("<b>Elderly females</b> (osteoporosis)", key_s)], [Paragraph("Intracapsular femoral neck fractures risk", key_s), Paragraph("<b>Femoral head avascular necrosis</b> (vascular trauma)", key_s)], [Paragraph("Most common site of tibial shaft fracture", key_s), Paragraph("<b>Junction of middle & inferior thirds</b> (narrowest + poorest blood supply)", key_s)], [Paragraph("Bumper fracture mechanism", key_s), Paragraph("<b>Car bumper strikes leg</b> → compound tibial fracture", key_s)], [Paragraph("Boot-top fracture mechanism", key_s), Paragraph("<b>Torsion during skiing</b> → diagonal fracture at middle-inferior third of tibia/fibula", key_s)], [Paragraph("Osgood-Schlatter disease involves which structure?", key_s), Paragraph("<b>Epiphysial plate at tibial tuberosity</b> → chronic pain in adolescent athletes", key_s)], [Paragraph("Most common site for IO infusion", key_s), Paragraph("<b>Proximal tibia</b> (2 cm distal + slightly medial to tibial tuberosity)", key_s)], [Paragraph("IO infusion must be replaced within how long?", key_s), Paragraph("<b>24 hours</b> (osteomyelitis risk)", key_s)], [Paragraph("Calcaneal fracture disrupts which joint?", key_s), Paragraph("<b>Subtalar (talocalcaneal) joint</b>", key_s)], [Paragraph("Talar neck fracture mechanism", key_s), Paragraph("<b>Severe dorsiflexion</b> (brake pedal in head-on collision) → talus dislocates posteriorly", key_s)], [Paragraph("Avulsion fracture of 5th metatarsal tuberosity: which muscle?", key_s), Paragraph("<b>Fibularis (peroneus) brevis</b>", key_s)], [Paragraph("Os trigonum prevalence + high-risk groups", key_s), Paragraph("<b>14–25%</b> of adults; soccer players + ballet dancers", key_s)], [Paragraph("Avulsion fracture sites of hip bone", key_s), Paragraph("<b>ASIS, AIIS, ischial tuberosities, ischiopubic rami</b>", key_s)], [Paragraph("Age for dislocated epiphysis of femoral head", key_s), Paragraph("<b>10–17 years</b>; referred pain to knee", key_s)], [Paragraph("Coxa vara vs. coxa valga", key_s), Paragraph("<b>Vara = decreased angle</b> (bow-legged); <b>Valga = increased angle</b>", key_s)], [Paragraph("Fibular fracture common location", key_s), Paragraph("<b>2–6 cm proximal to lateral malleolus</b>; often with ankle fracture-dislocation", key_s)], [Paragraph("Nutrient foramen of fibula location (for grafts)", key_s), Paragraph("<b>Middle third</b> — graft must include medullary blood supply", key_s)], ] qr = Table(rows, colWidths=[96*mm, 90*mm]) qr.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),DARK_BLUE), ("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, LIGHT_GRAY]), ("GRID",(0,0),(-1,-1),0.4,BORDER_GRAY), ("TOPPADDING",(0,0),(-1,-1),3),("BOTTOMPADDING",(0,0),(-1,-1),3), ("LEFTPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),5), ("VALIGN",(0,0),(-1,-1),"MIDDLE"), ])) story.append(qr) story.append(sp(3)) # ══ FOOTER ════════════════════════════════════════════════════════════════════ story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER_GRAY)) story.append(sp(1)) story.append(Paragraph( "Bones of Lower Limb Clinical Cheatsheet | Based on Moore's Clinically Oriented Anatomy | For Exam Use Only", foot_s)) doc.build(story) print("PDF generated:", OUTPUT) PYEOF echo "Script written"

Running Command

cd /tmp/workspace/bones-cheatsheet && python generate_pdf.py

Running Command

ls -lh /tmp/workspace/bones-cheatsheet/

Your cheat sheet PDF is ready!

Bones Lower Limb Cheatsheet

PDF Document · PDF


What's covered across 15 sections:
SectionTopic
1Lower Limb Injuries - General (epiphysial plates, osteochondrosis)
2Hip Bone Injuries (avulsion fractures + 4 common sites)
3Coxa Vara vs. Coxa Valga (angle of inclination)
4Dislocated Epiphysis of Femoral Head (10-17 yrs, knee referral)
5Femoral Fractures (neck, shaft, distal - age/sex related)
6Tibial Fractures (boot-top, bumper, march stress fractures)
7Epiphysial Plate Fractures + Osgood-Schlatter Disease
8Fibular Fractures (ankle dislocation, lateral malleolus shear)
9Bone Grafts (fibula as donor, nutrient foramen location)
10Intraosseous Infusion (proximal tibia, 24-hr replacement rule)
11Calcaneal Fractures (subtalar joint disruption)
12Talar Neck Fractures (brake pedal mechanism)
13Metatarsal Fractures (dancer's fracture, fibularis brevis avulsion)
14Os Trigonum (14-25%, soccer/ballet)
15Sesamoid Bone Fractures
Plus a 20-row High-Yield Q&A Table at the bottom covering all the most testable facts.

try again

Let me check what was wrong with the previous PDF first, then rebuild it properly.
Reading File
The user just says "try again" - they likely mean they want the same quality as the first PDF (the popliteal one) applied to the bones content. The bones PDF used a slightly different/simpler structure. Let me rebuild it matching the exact same high-quality style as the popliteal cheatsheet, with proper 2-page layout since the content is heavier.
Running Command

cat > /tmp/workspace/bones-cheatsheet/generate_v2.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import mm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether, PageBreak) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_LEFT, TA_CENTER OUTPUT = "/tmp/workspace/bones-cheatsheet/Bones_Lower_Limb_Cheatsheet_v2.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=12*mm, rightMargin=12*mm, topMargin=14*mm, bottomMargin=12*mm, ) # ─── Colours ────────────────────────────────────────────────────────────── DARK_BLUE = colors.HexColor("#1a3a5c") MED_BLUE = colors.HexColor("#2563a8") ACCENT_RED = colors.HexColor("#b71c1c") MED_RED = colors.HexColor("#c0392b") MED_GREEN = colors.HexColor("#2e7d32") DARK_GREEN = colors.HexColor("#1b5e20") TEAL = colors.HexColor("#00695c") ORANGE = colors.HexColor("#bf360c") MED_PURP = colors.HexColor("#6a1b9a") WHITE = colors.white DARK_GRAY = colors.HexColor("#1e1e1e") LIGHT_GRAY = colors.HexColor("#f5f5f5") ALT_GRAY = colors.HexColor("#e8e8e8") BORDER_GRAY = colors.HexColor("#c0c0c0") # ─── Styles ─────────────────────────────────────────────────────────────── def S(name, **kw): return ParagraphStyle(name, **kw) title_s = S("Ti", fontSize=19, leading=23, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) sub_s = S("Su", fontSize=8.5, leading=12, textColor=colors.HexColor("#aac4de"), fontName="Helvetica", alignment=TA_CENTER) sec_s = S("Se", fontSize=9.2, leading=13, textColor=WHITE, fontName="Helvetica-Bold") bul_s = S("Bu", fontSize=8, leading=11.5, textColor=DARK_GRAY, fontName="Helvetica", leftIndent=10, spaceBefore=1) bolb_s = S("Bb", fontSize=8, leading=11.5, textColor=DARK_GRAY, fontName="Helvetica-Bold", leftIndent=10, spaceBefore=1) warn_s = S("Wn", fontSize=8, leading=11, textColor=ACCENT_RED, fontName="Helvetica-Bold", leftIndent=10) key_s = S("Ke", fontSize=7.5, leading=10.5, textColor=DARK_GRAY, fontName="Helvetica", leftIndent=4) thdr_s = S("Th", fontSize=8.2, leading=11, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) foot_s = S("Fo", fontSize=7, leading=9, textColor=colors.HexColor("#888888"), fontName="Helvetica", alignment=TA_CENTER) pg2hdr_s = S("P2", fontSize=11, leading=14, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER) story = [] W = 186*mm # usable width # ─── helpers ────────────────────────────────────────────────────────────── def banner(text, bg=MED_BLUE): t = Table([[Paragraph(text, sec_s)]], colWidths=[W]) t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),bg), ("TOPPADDING",(0,0),(-1,-1),4), ("BOTTOMPADDING",(0,0),(-1,-1),4), ("LEFTPADDING",(0,0),(-1,-1),8), ])) return t def b(txt): return Paragraph(f"• {txt}", bul_s) def bb(txt): return Paragraph(f"• {txt}", bolb_s) def w(txt): return Paragraph(f"⚠ {txt}", warn_s) def sp(h=2): return Spacer(1, h*mm) def col2(L, R, lw=91*mm, rw=91*mm): m = max(len(L), len(R)) while len(L)<m: L.append(sp(1)) while len(R)<m: R.append(sp(1)) t = Table([[L, R]], colWidths=[lw, rw]) t.setStyle(TableStyle([ ("VALIGN",(0,0),(-1,-1),"TOP"), ("LEFTPADDING",(0,0),(-1,-1),3), ("RIGHTPADDING",(0,0),(-1,-1),3), ("TOPPADDING",(0,0),(-1,-1),0), ("BOTTOMPADDING",(0,0),(-1,-1),0), ])) return t def col3(A, B, C, cw=62*mm): m = max(len(A),len(B),len(C)) while len(A)<m: A.append(sp(1)) while len(B)<m: B.append(sp(1)) while len(C)<m: C.append(sp(1)) t = Table([[A, B, C]], colWidths=[cw, cw, cw]) t.setStyle(TableStyle([ ("VALIGN",(0,0),(-1,-1),"TOP"), ("LEFTPADDING",(0,0),(-1,-1),3), ("RIGHTPADDING",(0,0),(-1,-1),3), ("TOPPADDING",(0,0),(-1,-1),0), ("BOTTOMPADDING",(0,0),(-1,-1),0), ])) return t # ═══════════════════════════════════════════════════════════════════════════ # PAGE 1 # ═══════════════════════════════════════════════════════════════════════════ # ── Header banner ────────────────────────────────────────────────────────── hdr = Table([[ Paragraph("BONES OF THE LOWER LIMB", title_s), Paragraph("Clinical Quick-Reference Cheat Sheet · Exam Edition", sub_s), ]], colWidths=[W]) hdr.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),DARK_BLUE), ("TOPPADDING",(0,0),(-1,-1),10), ("BOTTOMPADDING",(0,0),(-1,-1),9), ("LEFTPADDING",(0,0),(-1,-1),8), ("SPAN",(0,0),(-1,-1)), ])) story.append(hdr) story.append(sp(4)) # ── Block 1: General Injuries + Hip Bone ────────────────────────────────── L1 = [ banner("1. LOWER LIMB INJURIES — GENERAL"), b("Knee, leg &amp; foot = <b>most common</b> lower limb injuries"), b("Hip injuries = <b>&lt;3%</b> of lower limb injuries"), b("Mechanisms: acute trauma (contact sports) OR overuse (endurance)"), w("Adolescents most vulnerable — epiphysial plates still open"), b("<b>Epiphysial plates</b> = hyaline cartilage discs at metaphysis–epiphysis junction; allow bone lengthening"), b("Growth spurts: bone grows faster than muscle → stress on plates"), w("Osteochondrosis = irritation/injury of epiphysial plates due to physical activity + rapid growth"), ] R1 = [ banner("2. INJURIES OF THE HIP BONE", bg=MED_RED), bb("Hip fractures are correctly termed <b>pelvic fractures</b>"), b("'Hip fracture' commonly applied to femoral head, neck or trochanters"), b("<b>Avulsion fractures of the hip</b>: sudden acceleration or deceleration"), b("Mechanism: sprinting, kicking (football/soccer), hurdle jumping, basketball, martial arts"), b("A piece of bone torn at <b>apophyses</b> (bony projections lacking secondary ossification centers)"), bb("Common avulsion sites:"), b(" • Anterior superior iliac spine (ASIS)"), b(" • Anterior inferior iliac spine (AIIS)"), b(" • Ischial tuberosities"), b(" • Ischiopubic rami"), ] story.append(col2(L1, R1)) story.append(sp(3)) # ── Block 2: Coxa Vara/Valga + Dislocated Epiphysis ─────────────────────── L2 = [ banner("3. COXA VARA AND COXA VALGA"), b("Angle of inclination = angle between <b>femoral neck</b> and <b>femoral shaft</b>"), b("Varies with age, sex, and ossification of femoral neck"), bb("Coxa vara = <b>DECREASED</b> inclination angle"), b(" → mild lower limb shortening + limits passive hip abduction"), bb("Coxa valga = <b>INCREASED</b> inclination angle"), b("Causes of coxa vara: congenital defect in ossification, rickets, pathological process weakening femoral neck"), w("The term 'vara/valgus' = deformity where DISTAL element deviates TOWARD (vara) or AWAY FROM (valga) midline"), ] R2 = [ banner("4. DISLOCATED EPIPHYSIS OF FEMORAL HEAD"), b("Age: <b>10–17 years</b> (older children / adolescents)"), b("Weakened epiphysial plate → femoral head epiphysis slips from neck"), b("Caused by: acute trauma OR repetitive microtrauma with shearing stress"), b("Shearing stress occurs during <b>abduction + lateral rotation</b> of thigh"), b("Epiphysis often dislocates slowly → progressive <b>coxa vara</b>"), w("Initial symptom: hip pain REFERRED to the KNEE"), w("Radiograph of proximal femur required to confirm diagnosis"), ] story.append(col2(L2, R2)) story.append(sp(3)) # ── Block 3: Femoral Fractures (3-col) ──────────────────────────────────── cA = [ banner("5a. FEMORAL FRACTURES ★", bg=ACCENT_RED), bb("Despite size &amp; strength, femur commonly fractured"), b("Fracture type is <b>age- and sex-related</b>"), b("Femoral <b>NECK</b>: most frequently fractured part"), b(" → Narrowest &amp; weakest part of femur"), b(" → Lies at marked angle to weight-bearing line"), b(" → Increasingly vulnerable with age; especially <b>females with osteoporosis</b>"), b("Proximal femur fracture locations:"), b(" • <b>Transcervical</b> (middle of neck)"), b(" • <b>Intertrochanteric</b>"), w("Intracapsular fractures → femoral head avascular necrosis (vascular trauma)"), ] cB = [ banner("5b. FEMORAL FRACTURES (cont.)", bg=ACCENT_RED), b("Proximal fractures: indirect trauma (stumbling, stepping off curb)"), b("Angle of inclination → fragments inherently <b>unstable</b>"), b("Impaction = overriding of fragments → limb foreshortening"), b("Muscle spasm contributes to further limb shortening"), b("<b>Greater trochanter + shaft fractures</b>:"), b(" → Direct trauma (falls, being hit during active years)"), b(" → Motor vehicle accidents, skiing, climbing"), b(" → Spiral fracture: fragments override → foreshortening"), b(" → Comminuted: multiple fragments, variable displacement"), w("Distal femur fracture: may lacerate popliteal artery — ALWAYS check vascular status"), b("Union of comminuted femoral shaft fracture: may take <b>up to 1 year</b>"), ] cC = [ banner("6. TIBIAL FRACTURES"), b("Narrowest at junction of <b>middle &amp; inferior thirds</b> = most frequent fracture site"), w("Poorest blood supply → common site for compound &amp; non-union fractures"), b("Anterior surface is subcutaneous → <b>compound fracture</b> risk"), b("'<b>Bumper fracture</b>': car bumper strikes leg → tibial fracture"), b("Fracture through nutrient canal → risk of <b>nonunion</b> (damage to nutrient artery)"), b("<b>Transverse march/stress fracture</b>: inferior third, unfit long-distance hikers"), b("Indirect violence (foot fixed, body turns) → transverse fracture"), b("<b>Boot-top fracture</b>: torsion during skiing → diagonal fracture at middle-inferior third junction"), b("Diagonal fractures: limb shortening from fragment overriding"), ] story.append(col3(cA, cB, cC)) story.append(sp(3)) # ── Block 4: Epiphysial Plates + Fibular Fractures ──────────────────────── L4 = [ banner("7. FRACTURES — EPIPHYSIAL PLATES", bg=TEAL), b("Tibial fractures in children more serious if epiphysial plates involved"), b(" → Continued normal bone growth may be jeopardized"), b("Tibial tuberosity forms from superior epiphysial center at ~<b>10 years</b>"), b("Separate ossification center for tibial tuberosity at ~<b>12 years</b>"), w("OSGOOD-SCHLATTER DISEASE: disruption of epiphysial plate at tibial tuberosity"), b(" → Chronic, recurring pain during adolescence"), b(" → Especially in young athletes"), b(" → X-ray: elongated &amp; fragmented tibial tuberosity with soft tissue swelling"), ] R4 = [ banner("8. FIBULAR FRACTURES", bg=TEAL), b("Commonly <b>2–6 cm proximal to lateral malleolus</b>"), b("Often associated with <b>fracture-dislocations of the ankle joint</b>"), b("Frequently combined with tibial fractures"), b("Excessive inversion: ankle ligaments tear → talus forced against lateral malleolus → <b>shears off</b>"), b("<b>Lateral + medial malleolar fractures</b>: common in soccer &amp; basketball"), w("Walking compromised — fibula critical for ankle stability"), b("<b>Boot-top fracture</b>: rigid ski boot + high-speed forward fall → leg angled → diagonal fibula fracture"), b("Diagonal fibular fractures: associated with limb shortening"), ] story.append(col4 := col2(L4, R4)) story.append(sp(3)) # ── Quick-ref footer line ────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER_GRAY)) story.append(sp(1)) story.append(Paragraph("Page 1 of 2 · Bones of Lower Limb Clinical Cheatsheet · Moore's Clinically Oriented Anatomy", foot_s)) # ═══════════════════════════════════════════════════════════════════════════ # PAGE 2 # ═══════════════════════════════════════════════════════════════════════════ story.append(PageBreak()) # Page 2 mini-header pg2hdr_tbl = Table([[Paragraph("BONES OF LOWER LIMB — Page 2", pg2hdr_s)]], colWidths=[W]) pg2hdr_tbl.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),DARK_BLUE), ("TOPPADDING",(0,0),(-1,-1),6), ("BOTTOMPADDING",(0,0),(-1,-1),6), ("LEFTPADDING",(0,0),(-1,-1),8), ])) story.append(pg2hdr_tbl) story.append(sp(4)) # ── Block 5: Bone Grafts + IO Infusion + Calcaneal ──────────────────────── e1 = [ banner("9. BONE GRAFTS", bg=MED_GREEN), b("Major bone destruction → limb useless; bone transplant → avoids amputation"), b("<b>Fibula</b>: most common source for bone grafting"), b("After fibular shaft removal → walking, running, jumping remains normal"), b("Free vascularized fibulas: restore integrity in congenital bone defects &amp; post-tumor excision"), w("Nutrient foramen of fibula: MIDDLE THIRD — graft must include medullary blood supply"), b("Anterior tibia: subcutaneous → accessible for graft harvest in children"), b("Also used as site for <b>intraosseous infusion</b>"), ] e2 = [ banner("10. INTRAOSSEOUS (IO) INFUSION", bg=MED_GREEN), b("Delivers fluids, blood, medications into <b>medullary cavity</b>"), b("Used when peripheral venous access is difficult or impossible"), b("Indications: traumatic shock, circulatory collapse"), bb("Most common site: <b>proximal tibia</b>"), b(" → Thin skin + landmarks aid insertion"), b(" → Insert <b>2 cm distal &amp; slightly medial</b> from tibial tuberosity"), b("Avoid growth plate during insertion"), b("Other sites: distal femur, fibula, proximal humerus, manubrium"), w("Replace IO with peripheral/central line within <b>24 hours</b> (osteomyelitis risk)"), b("Battery-powered &amp; impact-driven devices available for insertion"), ] e3 = [ banner("11. CALCANEAL FRACTURES"), b("Cause: hard fall onto heel (e.g., from ladder)"), b("Calcaneus shatters → <b>comminuted fracture</b>"), w("Disrupts subtalar (talocalcaneal) joint — USUALLY DISABLING"), sp(2), banner("12. FRACTURES OF TALAR NECK"), b("Severe <b>dorsiflexion</b> mechanism"), b("Classic: pressing hard on <b>brake pedal</b> during head-on collision"), w("Body of talus may dislocate POSTERIORLY"), sp(2), banner("13. FRACTURE OF SESAMOID BONES"), b("Sesamoids of great toe: in tendon of <b>flexor hallucis longus</b>"), b("Bear body weight during latter stance phase"), b("Develop before birth; ossify in late childhood"), w("Fracture: <b>crushing injury</b> mechanism"), ] story.append(col3(e1, e2, e3)) story.append(sp(3)) # ── Block 6: Metatarsals + Os Trigonum ──────────────────────────────────── L6 = [ banner("14. FRACTURES OF METATARSALS", bg=MED_PURP), b("Causes: heavy object onto foot, run over by heavy object (e.g., metal wheel)"), b("Also common in dancers — especially <b>female ballet dancers (demi-pointe)</b>"), b("<b>Dancer's fracture</b>: loses balance → full body weight on metatarsal"), b("<b>Fatigue fractures</b>: repeated walking stress → transverse fractures of metatarsal shafts"), b("Sudden violent inversion: <b>fibularis (peroneus) brevis</b> avulses tuberosity of <b>5th metatarsal</b>"), bb("Avulsion fracture of 5th metatarsal tuberosity:"), b(" → Pain &amp; edema at base of 5th metatarsal"), w("Common in basketball &amp; tennis; often associated with severe ankle sprain"), ] R6 = [ banner("15. OS TRIGONUM", bg=MED_PURP), b("Secondary ossification center of talus (lateral tubercle) fails to unite"), b("Becomes accessory ossicle — <b>os trigonum</b>"), b("Occurs in <b>14–25%</b> of adults, more commonly bilateral"), b("Partly/fully ossified center may fracture → progress to nonunion"), b("May be caused by applied stress (forceful plantarflexion) in early teens"), w("Increased prevalence in SOCCER PLAYERS and BALLET DANCERS"), b("Either event may result in an <b>os trigonum</b> (accessory ossicle)"), b("Clinically: posterior ankle pain; impingement during plantarflexion"), ] story.append(col2(L6, R6)) story.append(sp(4)) # ── HIGH-YIELD QUICK-REFERENCE TABLE ───────────────────────────────────── story.append(HRFlowable(width="100%", thickness=1.5, color=DARK_BLUE, spaceAfter=4)) story.append(banner("★ HIGH-YIELD QUICK-REFERENCE TABLE", bg=DARK_BLUE)) story.append(sp(2)) rows = [ [Paragraph("Fact / Question", thdr_s), Paragraph("Key Answer", thdr_s)], [Paragraph("Hip injuries = what % of lower limb injuries?", key_s), Paragraph("<b>&lt;3%</b>", key_s)], [Paragraph("Most frequently fractured part of femur", key_s), Paragraph("<b>Femoral neck</b> — narrowest, weakest, angled to weight-bearing line", key_s)], [Paragraph("Most vulnerable group for femoral neck fractures", key_s), Paragraph("<b>Elderly females</b> (osteoporosis)", key_s)], [Paragraph("Intracapsular femoral neck fracture — key complication", key_s), Paragraph("<b>Avascular necrosis of femoral head</b> (vascular trauma)", key_s)], [Paragraph("Most frequent tibial fracture site", key_s), Paragraph("Junction of <b>middle &amp; inferior thirds</b> — narrowest + poorest blood supply", key_s)], [Paragraph("Bumper fracture mechanism", key_s), Paragraph("<b>Car bumper strikes leg</b> → compound tibial fracture", key_s)], [Paragraph("Boot-top fracture mechanism", key_s), Paragraph("<b>Torsion during skiing</b> → diagonal fracture at tibia/fibula middle–inferior junction", key_s)], [Paragraph("Osgood-Schlatter Disease", key_s), Paragraph("Disruption of <b>epiphysial plate at tibial tuberosity</b>; chronic pain in adolescent athletes", key_s)], [Paragraph("Most common IO infusion site", key_s), Paragraph("<b>Proximal tibia</b> — 2 cm distal + slightly medial to tibial tuberosity", key_s)], [Paragraph("IO infusion: replace within how long?", key_s), Paragraph("<b>24 hours</b> (risk of osteomyelitis)", key_s)], [Paragraph("Calcaneal fracture: which joint disrupted?", key_s), Paragraph("<b>Subtalar (talocalcaneal) joint</b> — usually disabling", key_s)], [Paragraph("Talar neck fracture: mechanism", key_s), Paragraph("<b>Severe dorsiflexion</b> (brake pedal in head-on collision) → talus dislocates posteriorly", key_s)], [Paragraph("5th metatarsal avulsion: which muscle?", key_s), Paragraph("<b>Fibularis (peroneus) brevis</b> — mechanism: sudden violent inversion", key_s)], [Paragraph("Os trigonum: prevalence + who is at risk?", key_s), Paragraph("<b>14–25%</b> of adults; soccer players + ballet dancers", key_s)], [Paragraph("Avulsion fracture sites of the hip bone (4 sites)", key_s), Paragraph("<b>ASIS, AIIS, ischial tuberosities, ischiopubic rami</b>", key_s)], [Paragraph("Dislocated epiphysis of femoral head: age + referred pain", key_s), Paragraph("<b>10–17 years</b>; pain referred to the <b>knee</b>", key_s)], [Paragraph("Coxa vara vs coxa valga", key_s), Paragraph("<b>Vara = decreased angle</b> (distal deviates toward midline); <b>Valga = increased angle</b>", key_s)], [Paragraph("Fibular fracture: typical location", key_s), Paragraph("<b>2–6 cm proximal to lateral malleolus</b>; often with ankle fracture-dislocation", key_s)], [Paragraph("Fibula for bone grafts: where is nutrient foramen?", key_s), Paragraph("<b>Middle third</b> — graft must include medullary blood supply", key_s)], [Paragraph("Sesamoid bone fracture mechanism", key_s), Paragraph("<b>Crushing injury</b>", key_s)], ] qrt = Table(rows, colWidths=[96*mm, 88*mm]) qrt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),DARK_BLUE), ("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, LIGHT_GRAY]), ("GRID",(0,0),(-1,-1),0.4,BORDER_GRAY), ("TOPPADDING",(0,0),(-1,-1),3.5), ("BOTTOMPADDING",(0,0),(-1,-1),3.5), ("LEFTPADDING",(0,0),(-1,-1),6), ("RIGHTPADDING",(0,0),(-1,-1),6), ("VALIGN",(0,0),(-1,-1),"MIDDLE"), ])) story.append(qrt) story.append(sp(3)) # ── Footer ───────────────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER_GRAY)) story.append(sp(1)) story.append(Paragraph( "Bones of Lower Limb Clinical Cheatsheet · Based on Moore's Clinically Oriented Anatomy · For Exam Use Only · Page 2 of 2", foot_s)) doc.build(story) print("PDF generated:", OUTPUT) PYEOF python /tmp/workspace/bones-cheatsheet/generate_v2.py

Running Command

ls -lh /tmp/workspace/bones-cheatsheet/

Here's the rebuilt version:

Bones Lower Limb Cheatsheet v2

PDF Document · PDF


What's improved in this version:
  • 2 pages instead of cramming everything onto one - content has room to breathe
  • Matching style to the Popliteal cheatsheet - same color scheme, banner headers, warning callouts (⚠), and bullet formatting
  • Page 1 covers: General Injuries, Hip Bone Avulsions, Coxa Vara/Valga, Dislocated Femoral Epiphysis, Femoral Fractures (2 panels), Tibial Fractures, Epiphysial Plate injuries, Fibular Fractures
  • Page 2 covers: Bone Grafts, IO Infusion, Calcaneal/Talar/Sesamoid Fractures, Metatarsal Fractures, Os Trigonum
  • 20-row High-Yield Q&A Table at the bottom of page 2 with all the most testable facts
  • Color-coded sections: red for starred fracture topics, green for procedural (grafts/IO), purple for foot injuries
attachment
attachment

do the same with this page

analyse_media
Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

how subscribe

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

how to buy a subscription

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
attachment
attachment

tell me important points to study from this page

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.