TeXbox is a lightweight tool for creating isolated TeX Live environments per project. It helps you manage LaTeX packages locally, ensuring clean project separation and avoiding conflicts with system-wide TeX Live installations.
🔒 Project-specific isolated TeX Live environments
📂 Package management independent from the global system
♻️ Reproducible builds (when using the same TeX Live version and package list)
🛠 Simple and intuitive CLI workflow
⚡ CI/CD and team-collaboration friendly (just source .texbox/activate before compiling)
Create a new TeX Live environment for your project:
git clone https://github.com/Matin0789/TeXbox
cd TeXbox
chmod +x texbox
./texbox init <your-project-path>
cd <your-project-path>Activate the environment:
source .texbox/activateInstall LaTeX packages inside the environment:
tlmgr --usermode install <package-name>Check installed packages:
tlmgr --usermode list --only-installedCompile your LaTeX document (examples):
pdflatex main.tex
xelatex main.texDeactivate the environment:
deactivateRemove the project environment directory if no longer needed:
rm -rf my-projectmy-project/
├── main.tex
└── .texbox/
├── texmf/
├── var/
└── config/
To reproduce the same environment on another machine:
-
Export the package list:
tlmgr --usermode list --only-installed > texuirements.txt -
On a new machine, create and activate a TeXbox environment, then install:
while read -r pkg _; do tlmgr --usermode install "$pkg" done < texuirements.txt
Issues and feature requests are welcome! 🙌
This project is licensed under the Apache-2.0 License.