My research has come up with a much better package than algorithmic, the styles for "Introduction to Algorithms" is available at http://www.cs.dartmouth.edu/~thc/clrscode/. I've perused wikipedia a bit, and I really don't like how algorithms look there. The appeal of the use of LaTeX, is mostly for the use of boolean algebra and set theory symbols.... although sometimes other symbols like floor or ceiling would be highly useful.
I really like the pseudo-code style used in Introduction to Algorithms. I think that using an actual programming language to show an algorithm will hide the elegance of the algorithm itself, and introduce messy details. See for yourself: http://en.wikipedia.org/wiki/Ford-Fulkerson_algorithm#Python_implementation vs. http://www.mpi-inf.mpg.de/~sanders/courses/algdat03/maxflow.pdf (if you skim through that, you can see some very nice algorithm descriptions using mathematical symbols).
It would be nice if there was an <algo> tag which supported a subset of LaTeX specifically for the implementation of algorithms, suitably wikified. If you look at http://www.cs.dartmouth.edu/~thc/clrscode/clrscode.pdf it could be used as the basis for a simple algorithm markup. The other thing I like about using a pseudo-code style very similar to that of the one in Introduction of Algorithms, is the fact that most CS students have probably used that book... and are already comfortable with the syntax.
Some part of me thinks it is silly to introduce an <algo> tag though, because you get something very specific to solving one problem that isn't so useful to others. It would probably be best just to suitably adjust the LaTeX output so that you can directly implement your algorithms as shown in the above PDF.
AJ
On Tue, Jun 29, 2010 at 6:45 PM, Conrad Irwin conrad.irwin@gmail.com wrote:
On 29 June 2010 19:58, Aryeh Gregor Simetrical+wikilist@gmail.com wrote:
On Tue, Jun 29, 2010 at 9:23 AM, Ilmari Karonen nospam@vyznev.net wrote:
I'm not familiar enough with the texvc code to know what it would take to add support for the algorithmic package (and I'm not sure if anyone really is; that code is notoriously low on active maintainers).
It should be trivial. Just add a usepackage in the right place and whitelist the commands. Of course, this will cause a fatal error on any system where the algorithmic package isn't installed, but it shouldn't be too hard to set it up so that this is only triggered in equations that actually try to use the package -- there's already something like that for AMS.
I'd been hoping to do similar things in the next few days, as part of a clean up of the trivial bugs that have accumulated for texvc - adding new features is trivial, it's just if we want to change old ones that https://bugzilla.wikimedia.org/show_bug.cgi?id=16719 starts to get in the way.
Agreeing with Ilmari Karonen, I'd hugely prefer not to use LaTeX for algorithms, there are a large number of programming languages with defined (or at least reasonably widely agreed upon) semantics, all of which can be beautified by GeSHi, using a custom pseudo-code and then converting the text to an image seems like a huge step backwards in terms of making something easily readable by the largest number of people. Many modern (i.e. post 1990) languages are comparable to pseudo-code in conciseness, and it's usually possible to write algorithms that don't make use of less standard features of such languages.
Conrad
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l