3 ms·
I'm a long time TikZ user and have been following penrose since the initial video introduction. Really great progress! At this point, what do you think an avid
by ninepoints 3y ago
I'm a long time TikZ user and have been following penrose since the initial video introduction. Really great progress! At this point, what do you think an avid TikZ/dot/pgf user might miss the most when trying Penrose?
- sestep 3y agoThanks! And great question; I'd probably say the main missing pieces would be the level of integration and the amount of general programming you can do. The former is kind of difficult for Penrose to compete with; for instance, to let people use Penrose in Overleaf, AFAIK we'd need to get it into the TeX Live distribution, which is pretty strict about what sorts of code is allowed. Specifically, our optimizer is written in Rust which we compile to WebAssembly, neither of which currently seem to be supported in the TeX Live build system. The latter is something we're working hard on. We're trying to find the right balance between simplicity and expressiveness, and starting to explore options beyond our trio-DSL approach. We don't have great docs on this yet, but we have some experiments with using Penrose as a library in combination with SolidJS: https://github.com/penrose/penrose/tree/v3.0.0/packages/solids/src https://github.com/penrose/penrose/tree/v3.0.0/packages/soli...
- ninepoints 3y agoThanks for the response and all that makes sense. These days, a lot of the LaTeX and TikZ I write is honestly embedded in web and asciidoc content (via custom extensions and a lot of shoestring interprocess scripting) so that seems perfectly fine. Ironically, I use SolidJS when I happen to do web stuff also, so I'll be sure to check that out.
- wodenimoni 3y agoNimo here, the other author of the blog post :). Another advantage of TikZ is you can use it directly in LaTeX. TeX integration is something we care deeply about, so v3 introduces an export mode compatible with the svg package (https://ctan.org/pkg/svg?lang=en https://ctan.org/pkg/svg?lang=en). Basically we export SVGs with raw <text> elements that LaTeX can style together with the rest of the document. More docs here: https://penrose.cs.cmu.edu/docs/ref/using#export https://penrose.cs.cmu.edu/docs/ref/using#export.