Skip to content

Reduce LaTeX dependency from texlive-full to minimal required packages (closes #41)#49

Open
sruju333 wants to merge 1 commit intogambitproject:mainfrom
sruju333:reduce-latex-dependency
Open

Reduce LaTeX dependency from texlive-full to minimal required packages (closes #41)#49
sruju333 wants to merge 1 commit intogambitproject:mainfrom
sruju333:reduce-latex-dependency

Conversation

@sruju333
Copy link

@sruju333 sruju333 commented Mar 2, 2026

This PR is submitted as part of my GSoC 2026 application for the Gambit project (Idea 2: GameInterpreter).
Closes #41.

Problem: texlive-full is ~1.5GB and much larger than necessary for draw_tree's actual requirements.

Investigation: The generated .tex files only use:

  • standalone documentclass
  • newpxtext, newpxmath fonts
  • TikZ with shapes and arrows.meta libraries

Fix: Replaced texlive-full with the minimal set of packages that provide exactly these:

  • texlive-base - provides pdflatex
  • texlive-latex-extra - provides standalone documentclass
  • texlive-fonts-extra - provides newpxtext, newpxmath fonts
  • texlive-pictures - provides TikZ, shapes, arrows.meta

Changes:

  • Updated README.md Ubuntu install instructions
  • Updated .github/workflows/test.yml CI to use minimal packages

Testing: Verified generate_pdf works successfully with the minimal package set in Docker by building a test image with only these four packages and confirming PDF generation completes without errors.

Downstream impact: The game repo (GameInterpreter app) also uses texlive-full in its Dockerfile.backend. The same minimal package set should apply there too, which would significantly reduce its Docker build time. A separate PR to the game repo can follow once this is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Good first issue] Reduce LaTeX dependency to the minimal required

1 participant