Hello Vincent, having some experience with TeX I would implement CSS with macro-definitions… Every element start would be a call to a macro that would check for rules that would apply to its element, including passing parameters of their ancestry.
However, I guess that your solution seems probably more ad hoc and more practical. Is there any reason that you don’t use the XSL-FO renderer that use LaTeX? I thought there were several of them. paul On 14 Feb 2018, at 21:01, Vincent Massol wrote: > Hi devs, > > I’m currently working on improving our TeX renderer (which is really a POC > ATM), in an effort to see if it could be used to generate nice PDF exports > (you generate LaTeX and then you convert to PDF). > > The main issue is that LaTeX doesn’t have any technology for applying style > to it (like CSS has for HTML). In addition I wasn’t able to find any good > HTML+CSS to TeX converter (as we have for PDFs with XSLT+FOP). > > So right now my idea is to implement some default behavior in the Tex > Renderer (that could be configured globally in xwiki.properties and/or in the > Admin UI) and give the ability to override specifically in the content. > > For example, imagine that you need to decide how to position table column > content (left, centered, right) or whether the rows and/or columns of your > table have vertical and horizontal lines (or other configs, autowrap, etc). > > The idea is that the Tex Renderer would support some custom tex-specific > parameters. For example: > > (% tex-table-spec=“c | c | c" tex-table-floating="true" > tex-table-caption="caption" %) > |=A|=B > (% tex-table-row-ending="\hline" %)|a|b > > (by default the table spec would be left aligned with vertical lines, and > rows would be separated by horizontal lines). > > If you have some comments or ideas, please let me know. > > Inventing a CSS-like mechanism would just be too hard to implement IMO. > > Thanks > -Vincent > > PS: If you want to see table options in LaTeX, see > https://en.wikibooks.org/wiki/LaTeX/Tables
Description: OpenPGP digital signature