ManimCommunity / ManimCommunity/manim
Reduce the number of required packages in the default ``Tex`` template
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
## Description of proposed enhancement
Currently, the [default template used](https://github.com/ManimCommunity/manim/blob/main/manim/utils/tex_templates.py#L63-L64) for TeX is the 3blue1brown template, which contains a [rather lengthy](https://github.com/ManimCommunity/manim/blob/main/manim/utils/tex_templates.py#L25-L46) preamble. While this can be changed, not many users know this, essentially forcing new users to install a whole slew of packages that shouldn't at all be required to make Manim run. Moreover, many of these packages are obscure and are unlikely to be used by the vast majority of users (such as [TIPA](https://ctan.org/tex-archive/fonts/tipa/?lang=en), which provides phonetic characters, and the vast majority of users do not use Manim to explain linguistics). Whether or not this list should be as minimal as possible or include some packages that may be used by many people is up for debate, but I think it's uncontroversial that many of the packages can be removed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in manim/utils/tex_templates.py, comparing the preamble around lines 25-46 with the default template around lines 63-64. Identify packages that are not needed by common Manim output, then verify that the default template still generates TeX successfully after the reduction; the final package list should be smaller and intentionally justified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- latex, python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100