NYC
skills/letta-ai/skills/overfull-hbox

overfull-hbox

SKILL.md

Overfull Hbox Fix with Constrained Synonyms

This skill provides guidance for fixing LaTeX overfull hbox warnings by replacing words with shorter synonyms, while strictly adhering to a predefined list of allowed replacements.

Problem Overview

Overfull hbox warnings occur when LaTeX cannot fit text within the specified line width. The solution involves replacing words with shorter synonyms, but with a critical constraint: only words explicitly listed in a synonyms file may be replaced, and they may only be replaced with synonyms from that same file.

Approach

Step 1: Parse and Understand the Constraints

Before making any changes:

  1. Read the entire synonyms file completely (not just a truncated view)
  2. Build a data structure mapping each word to its allowed replacements
  3. Note that replacements are typically bidirectional (if A→B is allowed, B→A is also allowed)
  4. Identify which words in the document are candidates for replacement

Step 2: Identify Problem Lines

Compile the LaTeX document and parse the log output to identify:

  1. Which lines have overfull hbox warnings
  2. The severity of each overflow (how many points over)
  3. The exact text content of each problematic line

Step 3: Plan Replacements Systematically

For each problematic line:

  1. Identify all words that appear in the synonyms file
  2. Calculate character savings for each possible replacement
  3. Prioritize replacements that provide the most character savings
  4. Consider cumulative effect of multiple small replacements

Step 4: Check for Grammatical Consequences

Critical: Before executing any replacement, verify it does not require grammatical changes:

  • Article changes: "a" ↔ "an" depend on the following word's initial sound
    • Replacing a word starting with a consonant sound with one starting with a vowel sound (or vice versa) would require changing the preceding article
    • Articles are typically NOT in the synonyms file, making this an illegal modification
  • Other grammatical dependencies: pluralization, verb agreement, etc.

Example of problematic replacement:

  • Original: "a hostile environment"
  • Proposed: "an adverse environment" (changing "hostile" → "adverse")
  • Problem: This also changes "a" → "an", which violates constraints if articles are not in the synonyms file

Step 5: Execute Atomic Edits with Verification

For each replacement:

  1. Make single-word replacements (not bulk edits)
  2. Immediately verify the edit only changed the intended word
  3. Compare original and modified text token-by-token
  4. Confirm no unintended grammatical adjustments were made

Step 6: Iterative Compilation and Validation

After each change:

  1. Recompile the document
  2. Check if the warning is resolved
  3. Verify no new warnings were introduced
  4. If issues remain, continue with additional replacements

Verification Strategies

Pre-Edit Verification

Before making any edit, verify:

  1. The word being replaced exists in the synonyms file
  2. The replacement word is in that word's synonym list
  3. No grammatical changes (articles, plurals) are required
  4. The replacement will actually reduce line width

Post-Edit Verification

After making each edit:

  1. Diff the original and modified text at the word/token level
  2. Confirm only the intended word changed
  3. Verify no articles or other words were modified
  4. Recompile to confirm the fix worked

Final Validation Checklist

Before submitting:

  1. All overfull hbox warnings are eliminated
  2. Every modified word is in the synonyms file
  3. Every replacement is an allowed synonym for the original word
  4. No words outside the synonyms file were changed (including articles)
  5. Document compiles without errors

Common Pitfalls

1. Article Changes (Most Critical)

Changing adjectives that start with consonant sounds to ones starting with vowel sounds (or vice versa) implicitly requires article changes:

  • "a unique" → "an unusual" (illegal if "a"/"an" not in synonyms)
  • "an evil" → "a wicked" (same issue)

Prevention: Before any replacement, check if the preceding word is an article and if the replacement changes the initial sound category.

2. Incomplete Synonyms File Reading

Reading only part of the synonyms file can lead to:

  • Missing valid replacement options
  • Not knowing all allowed words
  • Making replacements that seem valid but aren't

Prevention: Always read the complete synonyms file before starting.

3. Bulk Edits Without Tracking

Using multi-edit operations makes it difficult to:

  • Track exactly what changed
  • Verify each change individually
  • Catch unintended modifications

Prevention: Make atomic, single-word edits and verify each one.

4. Focusing Only on Compiler Output

Fixing overfull hbox warnings without verifying constraint compliance:

  • May "solve" the typographic problem
  • But violate the fundamental task requirements

Prevention: Always verify constraint compliance before considering a fix successful.

5. Grammatical Auto-Corrections

Unconsciously making grammatical adjustments:

  • Changing articles to match new words
  • Adjusting verb forms
  • Modifying punctuation

Prevention: Be explicitly aware that no changes should be made outside the synonyms file, even if grammatically necessary.

Workflow Summary

  1. Parse synonyms file into a lookup structure
  2. Compile document and identify problem lines
  3. For each problem line: a. Find candidate words from synonyms file b. Calculate potential character savings c. Check for grammatical dependencies (especially articles) d. Make atomic replacement if safe e. Verify only intended word changed f. Recompile and check results
  4. Final validation: all warnings gone AND all changes are allowed
Weekly Installs
18
Repository
letta-ai/skills
First Seen
Jan 24, 2026
Installed on
claude-code13
codex12
gemini-cli12
opencode12
antigravity11
cursor9