Sergiu Dumitriu wrote: > Hello Community, > > I have committed today the first implementation of a new XWiki feature: > rendering mathematical equations into images. It is available as a > standalone component, and as a syntax 2.0 macro. > > > > About the functionality. > > Equations are written in the TeX/LaTeX syntax, which is pretty simple, > and seems to be the syntax of choice for mathematical equations in other > wikis, too. The macro can distinguish between inline and block equations > and render them accordingly. The output can be either PNG (the default > one), GIF or JPEG. While PNG is definitely the best, I kept the other > two in case somebody really wants to use ancient browsers that only > understand GIF. > > Q: Should I leave just PNG as the output format? > I would like the PNG output as default, but also keep the GIF and JPEG since there are some problems with PNG images on "ancient" IE6.
Oana > Another feature is that the font size can be specified, in order to > render larger or smaller equations. All the font size commands from > LaTeX (from \tiny to \Huge) have an equivalent. I renamed them to a more > easy to understand name (also because the configuration is case > insensitive, so there's no difference between large and LARGE). > > By default images are generated so that the font looks relatively OK > with the default XWiki skin on a 72 or 96 DPI display. They might look > disproportionate with a different DPI, or with a different default font > size. > > Q: Is the default DPI setting OK? > > > > Second, a few technical details: > > The standalone component is located in > platform/core/xwiki-equation-rendering. I don't know if the name is the > best (Vincent complained). On one hand, this describes better what the > component does: it renders equations. On the other hand, it might cause > confusion with the xwiki-rendering system. > > The component currently has three implementations: > > - a native one, which relies on the latex system being present. It gives > the best results, from a graphical point of view, but requires the > presence of external programs, and involves a slight overhead for > starting new processes and for working with the disk. Currently it might > have some security problems, I'll have to see if opening input and > output files from TeX is a problem, or how to disable this. Any help > from someone who know more about TeX? > > Q: Does anybody know of any security issues with running latex, dvips or > convert? Especially with the \openin and \openout commands? > > - one which uses MathTran as a remote service through HTTP requests. It > gives results as good as the native one, enhanced with some metadata, > and depending on the configuration of the server, it might have better > performance than the native one. The disadvantage is that it relies > heavily on a remote server. Note that MathTran is free software, and can > be installed locally on the same or a neighboring server. Oh, another > minor problem is that it uses a variant of the TeX syntax, not LaTeX. > > - one which uses SnuggleTeX and JEuclid to transform LaTeX into MathML, > and then render it into images. The results are not as eye-pleasing as > those obtained from LaTeX, but it is a self-contained solution, with no > external dependencies. > > SnuggleTeX uses the liberal 3-clause BSD license, JEuclid uses the > Apache v2 license, so both can be deployed. Together, they weight in at > 730k, so it's not a big impact. The other two implementations are not > contaminated by the licenses of the underlying system, so there's no > license conflict. > > Q: Should either one be removed? > > Q: Do you know of any other (better) alternative? > > By default the native renderer is used, since it gives the best results > and doesn't depend on an external service. SnuggleTeX is configured as a > backup (safe) renderer which kicks in when the default one isn't working > (missing tex subsystem, or communication error with the remote server). > > Q: Is this setup OK as the default one? (native by default, snuggletex > as fallback). > > The generated images are stored in a cache (using the cache component), > for improved performance. This new cache might increase the memory > requirements, but fortunately it is easy to configure. > > The rendering macro is located in > platform/core/xwiki-rendering/xwiki-renderig-macros/xwiki-rendering-macro-equation, > > and the macro can be used with > > {{equation}}\sum_{i=0}^{\infty}{{/equation}}. > > Q: Is the macro name appropriate? Do you know of a better one? > > > > Future work: > - make sure that there are no security issues with the Native backend > - add support for MathML display for the clients that understand it > - improve the alignment of images (especially for the Native backend), > as right now they are a bit raised above the text baseline > > > Many thanks to Guillaume Legris who provided the starting point for this > component. > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users