This is a static copy of the main site, preserved for historical purposes only. Please see this page for more information.

LaTeX Implementation


These are some notes on what would be needed to implement LaTeX support safely.

The key issue is that LaTeX is a turing-complete programming language. This means there are many different ways to write not just expressions but entire programs. These expressions / programs have the ability to do things like eat up all of the machine's CPU or all of the memory stack. It's fairly trivial to write such expressions, too.

The other issue relates to restricting writes of LaTeX. LaTeX by default can do things like open files on disk, etc. Very bad.

We should probably take the same approach as wikipedia here: filter all commands through [WWW]Texvc, which whitelists tex markup. Someone want to experiment with Texvc and see if they can get it working independent of mediawiki and integrate it with Sycamore? Also, we should use rlimit (setrlimit) to limit the memory and cpu usage of the tex process.

I'm starting to play around with Sycamore and I'm learning Python. I'll look at Texvc and see if I can hack something together. :)WilliamLewis

This is a Wiki Spot wiki. Wiki Spot is a 501(c)3 non-profit organization that helps communities collaborate via wikis.