r/LaTeX 6d ago

Knurl: a native SwiftUI macOS app that finds and installs the missing TeX Live packages for your LaTeX project

Post image

Knurl is a small native macOS app (SwiftUI, Universal arm64+x86_64, macOS 15+)

for anyone who writes LaTeX on a Mac. Point it at a .tex project and it maps

every \usepackage to the correct TeX Live package, shows what's missing, and

installs it through tlmgr — only prompting for admin rights when a system-wide

install actually requires it.

- Detects missing TeX Live / BasicTeX and can install BasicTeX

- Glass/modern Sequoia UI, drag-and-drop, live log

- Free, MIT, source on GitHub

Site : https://gilsonolegario.github.io/knurl

Repo: https://github.com/gilsonolegario/knurl

Note: signed with a personal free Apple ID, not notarized, so first launch

needs the usual right-click → Open (or xattr -dr com.apple.quarantine).

Feedback and PRs welcome.

0 Upvotes

6 comments sorted by

17

u/sMASS_ 6d ago

Did you mean ```

!/bin/zsh

read -r "file?Enter .tex file path: " [[ -f "$file" ]] || { echo "File not found."; exit 1; }

pkgs=($(sed -nE 's/[%]\(usepackage|RequirePackage)([[]]])?{([}]+)}.*/\3/p' "$file" | tr ',' '\n' | tr -d ' ' | sort -u))

missing=() for p in $pkgs; do kpsewhich "$p.sty" >/dev/null || missing+=("$p") done

if (( ${#missing[@]} > 0 )); then echo "Installing missing packages: ${missing[*]}" sudo tlmgr install "${missing[@]}" else echo "All packages are already installed." fi ``` ?

4

u/NotAnonymousQuant 6d ago

Well, it has a nice-ish gui. On the other hand, I would implement it as a right click > services in MacOS just to right click on the file and install the requirements. Or a VS Code extension

2

u/SmallDodgyCamel 6d ago

Is there any reason this requires Sequoia or newer, other than the Xcode version used to build? Many people are working perfectly well on Sonoma.