latex-document-skill

by ndpvt-webVerified

Universal LaTeX document skill for Claude Code: 27 templates, 27 scripts, 26 reference guides. Made with Claude Code on ✦ HappyCapy AI ✦ platform

717
Stars
53
Forks
TeX
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/ndpvt-web/latex-document-skill

Getting Started

Guides for using skills like latex-document-skill.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

Professor Capybara — your LaTeX document expert

LaTeX Document Skill

10K+ Installs   Made by HappyCapy AI

The capybara sat down at the typewriter. When it stood up, there was a thesis.

Turn handwritten notes, scanned textbooks, and raw data into publication-ready LaTeX -- without knowing a single LaTeX command.

27 templates · 27 automation scripts · 26 reference guides · 4 OCR profiles · 217 tests · 0 LaTeX commands required


The 10-Second Pitch

You describe a document in plain English. This skill produces a compiled PDF.

  • An 80-page handwritten math PDF becomes color-coded lecture notes with proper equations and TikZ diagrams.
  • A 162-page textbook becomes a 2-page cheat sheet.
  • A CSV becomes nine chart types.
  • A one-line prompt becomes a thesis, a resume, a conference poster, or a 37-page book with drop caps.

No LaTeX knowledge required. The capybara handles the semicolons.


What Can It Actually Do?

(Spoiler: more than most humans with a PhD in LaTeX.)

You say...What happens under the hood
"Create my resume"Selects from 5 ATS-optimized templates, compiles with pdflatex, generates PDF + PNG preview
"Convert my 80-page handwritten math notes into beautiful LaTeX"pdf_to_images.sh renders at 200 DPI -> batch-7 parallel OCR agents -> math-notes.md profile generates colored tcolorbox theorems (blue), definitions (green), examples (orange) -> compile_latex.sh runs multi-pass pdflatex -> polished PDF with proper equations, proofs, and TikZ diagrams
"Turn this 162-page scan into a 2-page cheat sheet"pdf_to_images.sh splits PDF -> vision OCR per page -> extracts key content -> symbol substitution -> telegram-style compression -> fits into cheatsheet.tex with 3-column landscape 7pt layout
"Build a quarterly report with charts"generate_chart.py creates bar/line/pie charts from JSON/CSV -> csv_to_latex.py converts data into booktabs tables -> Mermaid/TikZ flowcharts compiled inline -> all embedded in report.tex with TOC
"Generate 9 charts from my sales CSV"generate_chart.py reads CSV -> outputs bar, line, scatter, pie, heatmap, box, histogram, area, radar charts -> multi-series, legends, colorblind-safe Tol palette
"Convert my old PDF to LaTeX"Pages split at 200 DPI -> parallel OCR agents -> clean .tex with profile-tuned formatting -> 0 errors per 7-page batch (validated on 115-page PDF)
"Send personalized letters to 500 candidates"mail_merge.py loads template + CSV -> Jinja2 rendering -> 4 parallel pdflatex workers -> qpdf --pages merge into single PDF
"What changed between v1 and v2 of my thesis?"latex_diff.sh runs latexdiff -> highlighted change-tracked PDF with additions in blue, deletions in red
"Make a NeurIPS poster"Interactive: asks orientation -> layout -> color scheme -> generates A0 tikzposter with correct dimensions and QR codes
"Create a calculus final exam with answer key"exam class with \printanswers toggle, grading table, 6 question types (MCQ, T/F, fill-blank, matching, short, essay)
"Fetch BibTeX for these DOIs"fetch_bibtex.sh hits doi.org with Accept: application/x-bibtex header -> appends to .bib -> cross-refs every \cite{} key
"Password-protect this report"pdf_encrypt.sh applies AES-256 with print/modify restrictions
"Fill this PDF form with my data"Detects fillable fields -> validates -> fills text, checkbox, radio, choice fields -> completed PDF
"Fill this non-fillable PDF application"Renders pages -> visual analysis to identify fields -> bounding box validation -> FreeText annotations at precise positions
"Check if my paper is ready to submit"Verifies packages -> cross-refs citations -> counts figures/tables/equations -> runs chktex for style issues

Wizard Capybara transforming handwritten notes into typeset documents

Handwritten chaos in, publication-ready PDF out. It's not magic. It's 27 shell scripts.


Template Gallery -- 27 Templates

Every template has been compiled, tested, and verified to produce zero errors. The capybara is a perfectionist.

Resumes -- 5 ATS-Optimized + 1 Legacy

All 5 modern templates designed to pass Applicant Tracking Systems (no columns, no tables for layout, no graphics in header, machine-readable text):

TemplateTarget RoleKey Design Choices
resume-classic-ats.texFinance, law, governmentSingle-column, minimal styling, maximum parsability
resume-modern-professional.texTech, corporateClean sections, subtle color accents
resume-executive.texVP / Director / C-suiteMulti-page, executive summary section
resume-technical.texSoftware, data, engineeringSkills matrix, project highlights
resume-entry-level.texNew graduatesEducation-first, coursework, activities
resume.tex (legacy)Regions requiring photosPhoto area -- not ATS-compatible
Classic ATSModern ProfessionalExecutive p1Executive p2
Classic ATSModern ProfessionalExecutive (p1)Executive (p2)
TechnicalEntry-Level
TechnicalEntry-Level

Academic Documents

Thesis / Dissertation -- Full book-class, 38+ pages

Palatino fonts, microtype, mathtools, cleveref. Front matter (title, declaration, abstract, acknowledgments, TOC), multiple chapters, appendices, bibliography with biblatex/biber. \geometry{bindingoffset=1.5cm} for professional printing.

p1p2p3p4
Title PageTable of ContentsLiterature ReviewTikZ Diagram
p5p6p7p8
ResultsChartsChapter ContentBibliography

Academic Paper -- 11 pages, arXiv-compatible

Times fonts, colorblind-safe Tol palette, multi-author affiliations via authblk, siunitx for consistent units, algorithm environments, theorem/proof. \pdfoutput=1 for arXiv submission.

p1p2p3p4
Title & AbstractTables + ChartsAblation StudyReferences

Lecture Notes (Beautiful Mode) -- Color-coded theorem environments

lecture-notes.tex: Palatino fonts, tcolorbox with semantic colors -- blue theorems, green definitions, orange examples, purple remarks. TikZ graph theory macros, custom math operators (\E, \Var, \Cov).

p1p2p3p4
p5p6p7p8

Academic CV -- Multi-page with publications, grants, teaching

Numbered publications ([J1], [C1], [W1]), grants with dollar amounts, student advising (current + graduated), professional service, invited talks. ORCID and Google Scholar links.

p1p2p3p4

Homework / Assignment -- Solution toggle

Custom problem/solution environments, code listings (Python, Java, C++, Matlab), honor code section. Toggle solutions globally with \showsolutionstrue/\showsolutionsfalse.

Lab Report -- STEM lab writeups

siunitx for uncertainties and SI units, pgfplots for data with error bars, structured sections: abstract -> theory -> procedure -> data -> analysis -> discussion -> conclusion.


Scientific Posters -- tikzposter class

Interactive workflow asks: conference -> orientation -> layout -> color scheme.

LayoutUsageDescription
Traditional Column~70% of posters2-column (portrait) or 3-column (landscape)
#BetterPoster~10% (growing)Central billboard with ONE key finding at 60-80pt
Visual-Heavy~15%Large central figure consuming 40-50% of space

Conference presets: NeurIPS, ICML, CVPR, ICLR (main + workshop sizes).

Portrait A0Landscape A0
PortraitLandscape

Book -- Full-Length Publishing Template

book class, 37+ pages. Palatino fonts, lettrine drop caps, imakeidx for indexing. Structure: half-title -> full title -> copyright page (ISBN slot) -> dedication -> preface -> acknowledgments -> TOC -> parts -> chapters with epigraphs -> appendices -> bibliography -> index -> colophon.

p1p2p3p4p5
Half TitleFull TitleCopyrightTOCPreface
p6p7p8p9p10
AcknowledgmentsPart ICh 1: Drop CapsDefinitions & TheoremsNotation & Summary

Exam / Quiz -- exam class

6 question types (multiple choice, true/false, fill-in-blank, matching, short answer, essay). Point values per question, \gradetable[h][questions] for grading grid. \printanswers / \noprintanswers toggles solution visibility.

p1p2p3p4p5p6

Cheat Sheets -- 3 Variants

TemplateColumnsFontOrientation
cheatsheet.tex37ptLandscape
cheatsheet-exam.tex26ptPortrait
cheatsheet-code.tex47ptLandscape

Example: Algebraic Geometry (162 pages -> 2 pages)

Cheatsheet p1Cheatsheet p2
Page 1 -- Affine/Projective Space, Varieties, MorphismsPage 2 -- Sheaves, Schemes, Cohomology, Key Examples

Interactive / Dynamic Templates

TemplateWhat It Does
fillable-form.texPDF form fields: text inputs, checkboxes, radio buttons, dropdowns, push buttons (via hyperref)
conditional-document.tex12 etoolbox toggles (showTOC, isDraft, isConfidential...), 3 visual profiles, CLI-overridable
mail-merge-letter.texTemplate for mail_merge.py -- {{name}} placeholders

Business Documents

LetterCover LetterInvoice
letter.tex -- Business lettercover-letter.tex -- Job applicationinvoice.tex -- Professional invoice

Presentation (presentation.tex) -- Beamer 16:9

Custom theme, widescreen aspect ratio, title/section/content/two-column/code/image/thank-you frame types.

p1p2p3p4p5
p6p7p8p9p10

Report (report.tex)

Executive summary, findings, recommendations with TOC, pgfplots bar charts, TikZ flowcharts, colored data tables.

p1p2p3p4

Killer Features

(The things that make this more than "just another template repo.")

1. Smart Compilation Engine (compile_latex.sh -- 525 lines)

Not a wrapper around pdflatex. It is an intelligent build system that reads your document and makes decisions. Think of it as a capybara that learned to read .tex files.

Auto-detection logic:

Document contains \usepackage{fontspec} or \usepackage{xeCJK}  ->  xelatex
Document contains \usepackage{luacode} or \directlua            ->  lualatex
Otherwise                                                        ->  pdflatex

Document contains \bibliography{}                                ->  bibtex
Document contains \addbibresource{}                              ->  biber

Document contains \makeindex                                     ->  runs makeindex
Document contains \makeglossaries                                ->  runs makeglossaries

Multi-pass compilation: Runs the engine up to 3 times, checking for "Rerun to get cross-references right" each pass. Bibtex/biber runs between passes 1 and 2.

Auto-fix mode (--auto-fix):

What it fixesHow
Naked \begin{figure} without placementInjects [htbp] -- the #1 LaTeX beginner complaint
Naked \begin{table} without placementSame [htbp] injection
Overfull hbox warningsAdds \usepackage{microtype} to preamble

Error translation -- parses .log and translates into actionable English:

Raw LaTeX ErrorWhat the script tells you
Missing $ inserted"Math symbol used outside $...$ -- wrap it in dollar signs"
Undefined control sequence \xyz"Unknown command \xyz -- check spelling or add the right \usepackage"
Too many }'s"Extra closing brace -- count your { and } pairs"
File 'foo.sty' not found"Missing package foo -- install with tlmgr install foo"

Preview generation: After compilation, runs pdftoppm -png -r 200 on the output PDF and resizes to <=2000px.

bash scripts/compile_latex.sh document.tex --preview --auto-fix

2. PDF-to-LaTeX Reconstruction (Vision OCR Pipeline)

Convert any PDF -- scanned textbook, handwritten notes, printed report -- into compilable LaTeX. The capybara reads your handwriting better than your professor does.

Pipeline:

  1. pdf_to_images.sh renders pages at 200 DPI using pdftoppm, zero-pads filenames, resizes to <=2000px for API limits
  2. Vision model reads each page image
  3. Generates .tex with profile-appropriate formatting

Scaling strategy (empirically validated on 115-page handwritten math notes):

PDF SizeStrategyExpected Errors
1-10 pagesSingle agent processes all pages0-2 minor errors
11-20 pagesSplit into 2 batches of ~10Near-zero per batch
21+ pagesBatch-7 pipeline with parallel agents0 errors per 7-page batch

4 conversion profiles (in references/profiles/):

ProfileTuned For
math-notes.mdEquations, theorems, proofs. "Beautiful mode" uses colored tcolorbox environments
business-document.mdReports, financials, tables, bullet lists
legal-document.mdNumbered paragraphs, statutory references, legal citation formatting
general-notes.mdHandwritten notes, mixed media, letters

3. PDF-to-Cheat Sheet Pipeline

Condense entire textbooks into 2-page reference cards. Because the night before the exam, you need density, not decoration.

TemplateLayoutFont SizeColumnsBest For
cheatsheet.texLandscape A47pt3Course reference, concept summaries
cheatsheet-exam.texPortrait A46pt2Exam formula sheets (B&W-safe)
cheatsheet-code.texLandscape A47pt4Programming references, CLI commands

Density techniques:

  • Symbol substitution (for all -> "for all", there exists -> "there exists")
  • Horizontal formula stacking with \quad separators
  • Telegram-style text (articles and filler words stripped)
  • Content prioritization: formulas 60-70% -> procedures 15-20% -> constants 10-15% -> definitions 5-10%
  • Compile-and-verify loop to fit exact page budget

4. Mail Merge (mail_merge.py -- 574 lines)

Generate N personalized documents from one template + one data source. HR departments have hired worse interns.

python3 scripts/mail_merge.py template.tex contacts.csv \
    --output-dir ./letters --workers 4 --merge --merge-name all_letters.pdf

Two templating modes:

ModeSyntaxFeatures
Simple (default){{first_name}}, {{company}}Auto-escapes &, %, $, #, _, {, }, ~, ^, \ for LaTeX safety
Jinja2 (--jinja2)<< first_name >>, <% if ... %>Conditionals, loops, filters. `

Technical details:

  • Data sources: CSV, JSON, JSONL
  • Uses concurrent.futures.ProcessPoolExecutor for parallel compilation
  • Each document compiled independently (crash isolation)
  • Final merge via qpdf --pages or pdfunite
  • Custom naming: --name-field last_name --prefix "offer_letter" -> offer_letter_Smith.pdf

5. Version Diffing (latex_diff.sh -- 409 lines)

A full-featured latexdiff wrapper with git integration. Track every comma your advisor changed at 2 AM.

# Compare two files directly
bash scripts/latex_diff.sh paper_v1.tex paper_v2.tex --compile --preview

# Compare against a git commit
bash scripts/latex_diff.sh paper.tex --git-rev HEAD~3 --compile

# Compare between two git tags
bash scripts/latex_diff.sh paper.tex --git-rev v1.0 --compile --type CULINECHBAR

# Multi-file document with \input/\include
bash scripts/latex_diff.sh old/main.tex new/main.tex --flatten --compile

8 markup types:

TypeVisual Effect
UNDERLINE (default)Additions underlined in blue, deletions struck through in red
CTRADITIONALAdditions in blue text, deletions in red with strikethrough
CFONTAdditions in sans-serif blue, deletions in tiny red
CHANGEBARChange bars in margin only, no inline markup
CCHANGEBARChange bars + color changes
CULINECHBARUnderline + change bars (most comprehensive)
FONTSTRIKEFont change + strikethrough
INVISIBLENo visible markup (for testing)

Git integration: Extracts old version via git show <rev>:<path>, diffs against current working copy. Supports HEAD~1, v1.0, branch names.

Custom colors: --color-add "green!70!black" --color-del "red!80!black" injects override commands.


6. BibTeX Auto-Fetch (fetch_bibtex.sh -- 251 lines)

Download BibTeX entries from DOIs or arXiv IDs with zero manual work. No more copy-pasting from Google Scholar like an animal.

# From DOI
bash scripts/fetch_bibtex.sh 10.1038/nature12373

# From arXiv
bash scripts/fetch_bibtex.sh 2301.07041

# Multiple at once, append to existing .bib
bash scripts/fetch_bibtex.sh 10.1145/3290605.3300608 1906.08237 \
    --append --output references.bib

Auto-detects identifier type: 10.xxxx/... -> DOI, YYMM.NNNNN -> arXiv. Strips arXiv: prefix if present.


Visual Elements

Charts & Graphs (generate_chart.py -- 459 lines)

9 chart types from JSON or CSV data, output as PNG or PDF:

python3 scripts/generate_chart.py bar \
    --data '{"x":["Q1","Q2","Q3","Q4"],"y":[120,150,180,210]}' \
    --output chart.png --title "Revenue" --style ggplot --figsize 10 6
Chart TypeMulti-SeriesNotes
barYes (grouped)Horizontal with --horizontal
lineYesMarkers, grid
scatterYes
pieNoAutopct, explode slices
heatmapNoAnnotated cells, custom colormap
boxYesStatistical distribution
histogramYesCustom bins
areaYesStacked with alpha
radarYesSpider/star chart

Inline charts can also be created directly in LaTeX using pgfplots.

Tables (csv_to_latex.py -- 364 lines)

python3 scripts/csv_to_latex.py data.csv --style booktabs --alternating-rows \
    --caption "Experimental Results" --label tab:results --max-rows 50
StyleLook
booktabsProfessional -- \toprule, \midrule, \bottomrule
gridFull borders on all cells
simpleHorizontal rules only
plainNo rules at all

Auto-detects column alignment (right-aligns numeric columns). Handles LaTeX special character escaping.

Diagrams -- 4 Rendering Pipelines

ToolScriptInputOutputBatch Mode
TikZ(compiled inline).texPDF--
Mermaidmermaid_to_image.sh.mmdPNG/PDFNo
Graphvizgraphviz_to_pdf.sh.dotPDF/PNGYes (whole directory)
PlantUMLplantuml_to_pdf.sh.pumlPDF/PNG/SVGYes (whole directory)

Graphviz supports 6 layout engines: dot (hierarchical), neato (spring model), circo (circular), fdp (force-directed), twopi (radial), sfdp (scalable force-directed).

Mermaid uses npx @mermaid-js/mermaid-cli with Puppeteer. Themes: default, dark, forest, neutral.

PlantUML auto-downloads plantuml.jar if not installed. Requires Java.


Format Conversion (convert_document.sh -- 316 lines)

Pandoc wrapper with auto-detection of input/output formats from file extensions:

Markdown <-> LaTeX <-> DOCX <-> HTML <-> PDF
# Markdown to LaTeX
bash scripts/convert_document.sh notes.md notes.tex --standalone --toc

# DOCX to LaTeX with bibliography
bash scripts/convert_document.sh manuscript.docx manuscript.tex --bibliography refs.bib --csl ieee.csl

# LaTeX to PDF (uses lualatex if available for Unicode)
bash scripts/convert_document.sh paper.tex paper.pdf

PDF Utilities

All 4 scripts use qpdf (auto-installed if missing):

ScriptWhat It DoesKey Flags
pdf_encrypt.shAES-256 password protection--restrict-print, --restrict-copy, --restrict-modify, --owner-password
pdf_merge.shCombine 2+ PDFs into one--output combined.pdf
pdf_optimize.shCompress + linearize for web--linearize, --compress-streams=y, --recompress-flate
pdf_extract_pages.shExtract page ranges--pages 1-10, --pages odd, --pages even, --pages last:3
# Encrypt with restrictions
bash scripts/pdf_encrypt.sh report.pdf --user-password secret --restrict-print --restrict-modify

# Merge chapters into book
bash scripts/pdf_merge.sh ch1.pdf ch2.pdf ch3.pdf --output book.pdf

# Compress for email (shows % reduction)
bash scripts/pdf_optimize.sh large.pdf --output small.pdf

# Extract appendix
bash scripts/pdf_extract_pages.sh thesis.pdf --pages last:3 --output appendix.pdf

LaTeX Quality & Analysis Tools

ScriptLinesWhat It Does
latex_lint.sh173Run chktex with colored output. --strict treats warnings as errors
latex_wordcount.sh149Word count via detex. --detailed adds figures/tables/equations count
latex_analyze.sh216Missing labels, unreferenced \label{}, TODO/FIXME detection, double spaces
latex_package_check.sh265Pre-flight \usepackage verification via kpsewhich. --install auto-installs
latex_citation_extract.sh342Citation analysis, cross-refs against .bib, --format json for programmatic use
fetch_bibtex.sh251DOI/arXiv -> BibTeX entries, --append mode
validate_latex.py4266-check syntax validator for batch files

Multi-Language Support

Language FamilyPackageAuto-Selected Engine
European (French, German, Spanish...)babelpdfLaTeX
CJK (Chinese, Japanese, Korean)xeCJKXeLaTeX
RTL (Arabic, Hebrew, Farsi)polyglossiaXeLaTeX
Cyrillic (Russian, Ukrainian)babel or polyglossiapdfLaTeX or XeLaTeX

Steampunk Printer Capybara operating a printing press

Behind every great PDF is a capybara who figured out the correct number of pdflatex passes.


Installation

# Install as a Claude Code skill
cp -r latex-document ~/.claude/skills/

# Or run full dependency setup
bash setup.sh            # Installs: TeX Live, Poppler, ImageMagick, Pandoc, Python deps
bash setup.sh --check    # Verify everything is installed

System dependencies (auto-installed by setup.sh on Debian/macOS/Fedora/Alpine/Arch):

  • TeX Live -- pdflatex, xelatex, lualatex, biber, makeindex, makeglossaries
  • Poppler -- pdftoppm for PNG previews, pdfinfo for page counts
  • ImageMagick -- mogrify for image resizing, identify for dimensions
  • Pandoc -- format conversion engine
  • Python 3 + matplotlib, numpy, pandas
  • qpdf -- PDF encryption, merging, optimization, page extraction

Optional:

  • Node.js 18+ -- for Mermaid diagram conversion
  • Java -- for PlantUML rendering
  • Graphviz -- for .dot diagram rendering
  • chktex -- for LaTeX linting
  • latexdiff -- for version diffing

Reference Documentation

25 reference guides in references/:

Full index (click to expand)
GuideCovers
resume-ats-guide.mdATS parsing rules, keyword optimization, formatting do's and don'ts
poster-design-guide.mdConference presets, #BetterPoster layout, typography at poster scale
bibliography-guide.mdBibTeX vs biblatex, \cite variants, CSL styles
advanced-features.mdWatermarks, landscape sections, multi-language, algorithms, siunitx
charts-and-graphs.mdpgfplots patterns (line, bar, scatter, pie, 3D)
python-charts.mdmatplotlib via generate_chart.py -- all 9 types, CSV input
mermaid-diagrams.mdFlowcharts, sequence, class, ER, Gantt, pie, mindmap
format-conversion.mdPandoc pipeline, custom templates, bibliography integration
pdf-conversion.mdFull PDF-to-LaTeX pipeline, batch processing, profiles
tables-and-images.mdColored rows, multi-row/column, booktabs, subfigures
interactive-features.mdForms, conditional content, mail merge, diffing
packages.mdCommon LaTeX package reference
visual-packages.md24 TikZ/visualization packages with examples
graphviz-plantuml.mdGraphviz & PlantUML workflows and examples
pdf-extraction-prompts.mdLLM prompts for PDF-to-cheatsheet conversion
cheatsheet-guide.mdDensity optimization, compression techniques
debugging-guide.md20 common errors explained, .log file reading
accessibility-guide.mdPDF/A, PDF/UA, tagged PDFs, WCAG compliance
beamer-guide.mdThemes, overlays, code slides, handout mode
font-guide.mdFont families, fontspec, fontawesome5 icons
collaboration-guide.mdGit workflows, GitHub Actions, Docker, CI/CD for LaTeX
long-form-best-practices.md9 anti-patterns for 5+ page documents, quality checklist
code-patterns.md16 ready-to-use LaTeX snippets
pdf-operations.mdAdvanced PDF ops: form filling, text extraction, OCR, watermark
script-tools.mdPDF utilities, quality tools, compilation helpers
profiles/4 OCR conversion profiles (math, business, legal, general)

Testing

217 tests covering all 27 scripts, 0 failures:

# Run all tests
bash tests/run_all_tests.sh

# Run individual suites
python -m pytest tests/test_python_scripts.py -v    # 83 tests
python -m pytest tests/test_pdf_forms.py -v          # 18 tests
bash tests/test_compile_latex.sh                     # 36 tests
bash tests/test_pdf_utils.sh                         # 33 tests
bash tests/test_analysis_tools.sh                    # 47 tests
bash tests/test_templates.sh                         # All 27 templates compiled

Tests found and fixed 2 real bugs in compile_latex.sh:

  1. Engine detection matched %\usepackage{fontspec} in comments -- now filters commented lines
  2. Float auto-fix regex failed when \begin{figure} was at end of line -- now uses two-pass approach

Project Structure

latex-document/
├── SKILL.md                              # Skill definition (329 lines)
├── README.md                             # You are here
├── setup.sh                              # One-click installer
├── requirements.txt                      # Python: matplotlib, numpy, pandas
│
├── assets/
│   ├── capy-professor.png                # The professor capybara (you saw him up top)
│   ├── capy-wizard.png                   # The wizard capybara (OCR sorcery)
│   ├── capy-printer.png                  # The printer capybara (steampunk vibes)
│   └── templates/                        # 27 production-tested .tex templates
│       ├── resume-*.tex (x6)
│       ├── thesis.tex, academic-paper.tex, academic-cv.tex
│       ├── lecture-notes.tex, homework.tex, lab-report.tex
│       ├── book.tex, poster.tex, poster-landscape.tex
│       ├── exam.tex, cheatsheet*.tex (x3)
│       ├── fillable-form.tex, conditional-document.tex, mail-merge-letter.tex
│       ├── letter.tex, cover-letter.tex, invoice.tex
│       ├── report.tex, presentation.tex
│       └── references.bib
│
├── scripts/                              # 27 automation scripts (8,700+ lines)
│   ├── compile_latex.sh          (525)   # .tex -> PDF + PNG
│   ├── mail_merge.py             (574)   # Template + data -> N PDFs
│   ├── generate_chart.py         (459)   # 9 chart types (matplotlib)
│   ├── validate_latex.py         (426)   # 6-check syntax validator
│   ├── latex_diff.sh             (409)   # latexdiff + git integration
│   ├── csv_to_latex.py           (364)   # CSV -> LaTeX tables
│   ├── plantuml_to_pdf.sh        (362)   # .puml -> PDF/PNG/SVG
│   ├── latex_citation_extract.sh (342)   # Citation analysis
│   ├── convert_document.sh       (316)   # Pandoc format conversion
│   ├── latex_package_check.sh    (265)   # Pre-flight package checker
│   ├── fetch_bibtex.sh           (251)   # DOI/arXiv -> BibTeX
│   ├── graphviz_to_pdf.sh        (250)   # .dot -> PDF/PNG
│   ├── pdf_extract_pages.sh      (247)   # Page extraction
│   ├── install_deps.sh           (237)   # Cross-platform deps
│   ├── pdf_validate_boxes.py     (235)   # Bounding box validation
│   ├── pdf_extract_fields.py     (228)   # Form field metadata
│   ├── pdf_fill_form.py          (223)   # Fill fillable forms
│   ├── latex_analyze.sh          (216)   # Document statistics
│   ├── pdf_encrypt.sh            (215)   # AES-256 encryption
│   ├── pdf_fill_annotations.py   (214)   # Fill non-fillable forms
│   ├── mermaid_to_image.sh       (178)   # .mmd -> PNG/PDF
│   ├── latex_lint.sh             (173)   # chktex wrapper
│   ├── pdf_optimize.sh           (157)   # Compress + linearize
│   ├── latex_wordcount.sh        (149)   # Word count
│   ├── pdf_to_images.sh          (144)   # PDF -> page images
│   ├── pdf_merge.sh              (136)   # Merge PDFs
│   └── pdf_check_form.py         (106)   # Detect form fields
│
├── references/                           # 26 deep-dive guides
│   ├── *.md (x26)
│   └── profiles/ (x4)                   # OCR profiles
│
├── tests/                                # 217 tests, 0 failures
│   ├── test_python_scripts.py   (1224)
│   ├── test_compile_latex.sh     (844)
│   ├── test_analysis_tools.sh   (1093)
│   ├── test_pdf_utils.sh         (834)
│   ├── test_pdf_forms.py         (300)
│   ├── test_templates.sh         (276)
│   ├── run_all_tests.sh          (191)
│   └── fixtures/
│
└── examples/                             # 78 PNG previews

Star History

Star History Chart


Sponsor

HappyCapy — The Agent-Native Computer

HappyCapy Interface — where this skill was born

This project is proudly sponsored by HappyCapy

HappyCapy provided free access to their platform, full Claude Code API credits, and Anthropic Claude Opus 4.6 -- the model that built every template, wrote every script, and generated every capybara image in this repository.

Without HappyCapy, this skill would still be a half-baked idea on a sticky note. Instead, it's 27 templates, 27 scripts, 217 passing tests, and three capybara mascots with better fashion sense than most academics.

What is HappyCapy? The agent-native computer for developers. No local setup, no security risks, no "works on my machine" excuses. Launch Claude Code in your browser and start building. It's the platform where capybaras and code live in harmony.

Try HappyCapy for free


License

MIT


Keywords

For the search engines, the LLMs, and the curious humans who find things by typing random words into the void

LaTeX template, LaTeX automation, AI document generation, Claude Code skill, PDF creation tool, LaTeX PDF generator, academic document template, professional document automation, resume LaTeX template ATS, thesis template LaTeX, invoice generator LaTeX, report generator LaTeX, OCR to LaTeX, handwritten notes to PDF, PDF to LaTeX converter, cheat sheet generator, mail merge LaTeX, BibTeX auto fetch, LaTeX diff tool, version control LaTeX, arXiv paper template, NeurIPS poster template, conference poster LaTeX, exam template LaTeX, lecture notes LaTeX, book template LaTeX, Beamer presentation template, LaTeX compilation script, LaTeX error fixer, smart LaTeX compiler, chart generator matplotlib, CSV to LaTeX table, Mermaid diagram LaTeX, Graphviz LaTeX, PlantUML LaTeX, PDF encryption tool, PDF merge tool, PDF compression, fillable PDF form, LaTeX linting, LaTeX word count, document format conversion, Pandoc LaTeX, multi-language LaTeX, CJK LaTeX, RTL LaTeX, capybara LaTeX, AI typesetting, automated document creation, universal document skill, Claude Code plugin, AI coding assistant skill, LLM document generation, generative AI documents, GPT LaTeX alternative, AI-powered typesetting, best LaTeX skill, free LaTeX templates, open source LaTeX automation

Frequently Asked Questions

What is latex-document-skill?

latex-document-skill is an open-source ide extensions skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ndpvt-web. Universal LaTeX document skill for Claude Code: 27 templates, 27 scripts, 26 reference guides. Made with Claude Code on ✦ HappyCapy AI ✦ platform. It has 717 GitHub stars.

Is latex-document-skill safe to use?

Yes. latex-document-skill passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install latex-document-skill?

Clone the repository with "git clone https://github.com/ndpvt-web/latex-document-skill" and add it to your Claude Code skills directory (see the Installation section above). latex-document-skill ships a SKILL.md manifest, so compatible agents can discover and load it automatically.

What programming language is latex-document-skill written in?

latex-document-skill is primarily written in TeX. It is open-source under ndpvt-web on GitHub, so you can review or fork the full source.

Are there alternatives to latex-document-skill?

Yes. SkillsLLM lists many other IDE Extensions skills you can browse and compare side by side. Open the IDE Extensions category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh latex-document-skill against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

claudian

by YishenTu

An Obsidian plugin that embeds Claude Code/Codex as an AI collaborator in your vault

14,921972TypeScript
IDE Extensions
View details

OpenMythos

by kyegomez

A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.

14,8003,292Python
IDE Extensions
View details

cursor-hooks

by cursor

5

Automate Cursor behavior around agent events with hooks.

12,500890TypeScript
IDE Extensionsclaude-codeai-tools
View details

arscontexta

by agenticnotetaking

Claude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.

3,479220Shell
IDE Extensions
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details