ManimCommunity / manim

A community-maintained Python framework for creating mathematical animations.
https://www.manim.community
MIT License
21.02k stars 1.53k forks source link

Make the Latex Installation efficient #255

Closed naveen521kk closed 3 years ago

naveen521kk commented 4 years ago

It would be good if we could make out Installation of Latex easy and also small with only packages necessary for running manim the default way. We can make a choco package for windows and a brew formula for mac and also a script to install in Linux(or publish to any Linux package manager). I found TinyTex which already does it but it requires some extra modules to work with manim. But we can make it even less space and edit it so that it works with manim. If we somehow get all the latex packages required for installation we could do this we easily by editing this file. Also, I found a list of packages here. This would be useful for newcomers.

leotrs commented 4 years ago

Indeed this would be good. There has been much discussion about this on discord and github, I'll let others chime in @huguesdevimeux @yoshiask @PgBiel

huguesdevimeux commented 4 years ago

Completly agree with that. IIRC latex packages (miktex, etc) are all broken on choco.

If we can make anything easier to install, we should not hesitate to do it !

PgBiel commented 4 years ago

Well, making such packages are out of the scope of this project, as LaTeX authors are responsible for their installation scripts. If we want this, we may create a make or something script which identifies the platform and runs commands accordingly.

naveen521kk commented 4 years ago

The only thing which is now required is to know what are packages manim requires and nothing else. One could use texlive base framework and install just the packages required by manim, and that could be automated by a script. This issue is actually to find the packages required for it and not create a new latex package.

leotrs commented 4 years ago

@naveen521kk, just to double check: the new #277 would close this issue, yes?

naveen521kk commented 4 years ago

NO. WE SHOULD NOT DISTRIBUTE TEXLIVE OURSELVES. See FAQ 2 of this doc.

leotrs commented 4 years ago

I'm confused. This issue was suggesting the use of TinyTex, which was implemented in #277. But @naveen521kk says it doesn't solve the problem. What am I missing?

naveen521kk commented 4 years ago

This issue for making a package (maybe chocolatey for windows) which has latex just required for manim. This can be easily done once the people at TinyTex work on choco package, by adding it as dependency and installing the extra package which manim requires, using tlmgr. Choco is for windows and similarly it can be done for other OS.(But I don't know.)

leotrs commented 4 years ago

Ok so the suggestion is to package our own little version of TinyTex, and by no means for us to package/distribute texlive.

I know that's not what #227 is doing, but it is already using TinyTex, so in principle it did make the installation of Latex more efficient (at least on windows).

naveen521kk commented 4 years ago

Ok so the suggestion is to package our own little version of TinyTex,

Yes. But TinyTex is a modified version of TexLive, and we are gonna do one similar to that for manim.

no means for us to package/distribute texlive

We can distribute it but the condition is that we should download/distribute it from the original source(CTAN repo). We can create a script or something which downloads from that source and modify it to be small.(Like how tinytex does).

(at least on windows)

Also, tinytex can be installed for other OS also.

leotrs commented 4 years ago

Oooooh ok finally got it. Thanks!

So it seems like any progress on this issue must wait until TinyTex gets it together and uploads a choco package. If that's the case, I think we should close this and reopen when it's actually feasible.

naveen521kk commented 4 years ago

I will reopen this issue when they create a choco package.

naveen521kk commented 4 years ago

They(means me) have create it https://github.com/yihui/tinytex/pull/236

leotrs commented 4 years ago

Great! So what are the next steps for us?

naveen521kk commented 4 years ago

Great! So what are the next steps for us?

Create a chocolatey package for this with Id manim-tex(or something better?). I will do the rest just tell me the id and that I'd would be something used to install choco install manim-latex.

naveen521kk commented 3 years ago

This is done for windows https://chocolatey.org/packages/manim-latex/2020.09 The chocolatey package is approved. I will soon add it to docs. Closing this issue.