Hi Simon

Thanks for your input. As you say most of your points are not directly relevant to the TT plugin, although I will have a look at performance and error handling. I think that your points are relevant to other Template-Latex users and am posting back to the list.

The plugin should be able to distinguish between different types of errors and warnings (by examining the latex program output) and maybe raise one of a predefined set of exceptions, with filter options to specify whether it should abort or continue on errors. This would help in cases where it is imperative that documents are complete (i.e. abort on any error or missing image) or where you want the system to deliver whatever it can (i.e. keep on going whatever the LaTeX error). I think this is preferable to trying to determine whether you have got valid LaTeX input (just as "only perl can parse Perl", "only latex can parse LaTeX").

With regards layers on top of the LaTeX plugin, I think that might be something to think of later. There might be some mileage in a library, something akin to "Splash", to address certain well defined tasks.

Regards
Andrew

Simon Moore wrote:
Hi Andrew,

Glad you have taken up the Latex side of things.  A few suggestions.

We tend to use TT to produce on the fly PDF reports on our website. I appreciate some people will be using Latex for things other than PDF. The things we have noticed as being issues and I have no idea whether it would actually be something that could be fixed in TT, hence mailing offlist: 1) It is very slow at producing PDFs from TT (Perhaps this is just Latex, but is there anything that can be done to speed it up - perhaps there is a better engine for PDFs than latex and we should build a plugin for that?) 2) Latex while in theory you can do anything with it, is actually very difficult to do some simple things that look good and can cope with varying input data. e.g. we produce reports with graphs in, tables and text. The text can be very variable in length. We have a number of tables of data etc etc all this input is created by TT. Perhaps there is scope to provide an abstraction layer for, for instance standard report type layouts where everything is optimised and all the headache of writing good latex to cope with all the variable sizes and length is done for you. For example PDF report writer http://entropy.homelinux.org/axis_not_evil/ which is far from mature but has a nice idea: throw XML data at it and see it formatted nicely approach - which seems to fit the TT philosophy of data abstraction. 3) Might be nice to have some predefined Text filters that ensure everything is legal that you input to Latex 4) Better graphics support - very annoying when it crashes with an error because some image is missing (also hard to tell this is the error without running pdflatex at the command line) - we have to write loads of code to check things like this to ensure robustness. As we run the same TT code on windows and Linux we also have to detect the OS of the server and write in the graphics search Paths.

Anyway I appreciate these are not necessarily issues with TT's latex plugin but I think they are things that might be solved / worked around at the plugin level. Perhaps have a low level plugin and higher level plugins for those of us who want to be abstracted from the gory details of Latex (or other PDF engines).

Kind Regards
Simon

At 09:34 01/06/2006, you wrote:

Having had more of a look through the Template-Latex code I plan to make (at least) two releases in the next couple of weeks.

The first release will remove the 'latex', 'pdflatex' and 'dvips' parameters from the filter interface. These parameters allow absolute program pathnames to be specified in template code and to my mind represent a security risk. Currently the code builds command lines that are executed with system(), using either the paths configured when the module was installed (defaulting to "/usr/bin/latex", etc) or paths specified as arguments to the FILTER directive. The current code does no sanity checking of the paths, so there is nothing to stop a malicious template specifying something like "FILTER latex(latex => 'rm -rf /home')". It should still be possible though to set up these paths from perl code as configuration items when TT2 is invoked. I hope to make this first release sometime next week.

Please let me know if you have any issues with this change.

The second release will follow a week or two later and will add functionality to run "bibtex" and "makeindex" on the latex code if the plugin detects that that is necessary, plus the plugin will re-run "latex" (or "pdflatex") if it detects that there are unresolved labels. I will provide an option to turn off this behaviour, so that the plugin just runs "latex" a specified number of times: e.g. once, twice (needed if there are forward references or a table of contents) or three times (e.g. if there are forward references and a table of contents) irrespective of whether that leaves unresolved labels. I will refine this proposal and post it when I make the first release. If you have any comments on this let me know.

I also have in mind to add options to explicitly specify the temporary directory in which the latex commands are run and to suppress the subsequent removal of this directory. This would primarily be for testing and debugging and the options would not be exposed as FILTER parameters at the template level.

Regards
Andrew

--
Andrew Ford,  Director    Pauntley Prints / Ford & Mason Ltd
[EMAIL PROTECTED]   South Wing Compton House
pauntley-prints.co.uk     Compton Green, Redmarley  Tel: +44 1531 829900
ford-mason.co.uk          Gloucester GL19 3JB       Fax: +44 1531 829901
refcards.com cronolog.org Great Britain          Mobile: +44 7785 258278



_______________________________________________
templates mailing list
[email protected]
http://lists.template-toolkit.org/mailman/listinfo/templates



--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.1.394 / Virus Database: 268.8.0/353 - Release Date: 31/05/2006



--
Andrew Ford, Director Pauntley Prints / Ford & Mason Ltd [EMAIL PROTECTED] South Wing Compton House pauntley-prints.co.uk Compton Green, Redmarley Tel: +44 1531 829900
ford-mason.co.uk          Gloucester GL19 3JB       Fax: +44 1531 829901
refcards.com cronolog.org Great Britain          Mobile: +44 7785 258278



_______________________________________________
templates mailing list
[email protected]
http://lists.template-toolkit.org/mailman/listinfo/templates

Reply via email to