I have uploaded a new version of the TT2 Latex plugin to CPAN (version 
3.00_03).

The main new features are:

    * This version uses the LaTeX::Driver module to do the formatting,
      so the Template::Plugin::Latex code has become very slim.  The
      LaTeX::Driver module includes the scripts "latex2dvi", "latex2ps"
      and "latex2pdf", which convert from a LaTeX file to the
      appropriate output format.  The scripts can be used as classic
      Unix-style filters (they set up a temporary directory to do the
      formatting internally), and take a -tt2 option which specifies
      that the input document is a Template Toolkit template, so the
      input is processed through tt2 first before being formatted as a
      LaTeX document.  (There is also a -define=key=value option to
      define variables that are passed to tt2).  The scripts are not yet
      fully documented (partly because I have not quite appreciated all
      the flexibility that they have).  The scripts work as sort of
      specialized versions of "tpage".
    * The plugin also defines a latex_encode filter, which is an
      interface to my new LaTeX::Encode module, which knows how to
      encode about 250 Unicode characters.  It has an except option to
      specify characters that are not to be encoded, and an iquotes
      option (for intelligent quotes), which will turn  <He said,
      "something."> into <He said, ``something.''> (the doubled
      back-ticks and doubled single quotes are LaTeX's commands for
      typographically correct quotation characters).  This filter will
      take care of the fact that '&', '^', '#', '$', '_', '\', etc are
      special to LaTeX and will transform them to '\&', '\^{ }', '\$',
      '\_', '\textbackslash', etc, so you can filter your data fetched
      from databases or elsewhere through this filter before
      interpolating it into a LaTeX document template and be fairly
      confident of not getting LaTeX errors.
    * The plugin also defines a "table()" method, which is an interface
      to the LaTeX::Table module, which will take arrays of data items
      and headers, and other attributes of a table, and generate the
      LaTeX commands to typeset the table, so you could say

          [% USE Latex;
             data = [ [ 1, 2, 3 ],
                      [ 4, 5, 6 ] ];
             headings = [ [ 'A', 'B', 'C' ] ];

             text = Latex.table( caption = 'Sample table',
                                 label   = 'table:sample',
                                 headings = headings,
                                 data     = data );
          %]

      and the variable "text" will contain all the LaTeX commands to set
      the table.

That is about it.  The module is nearing completion (and has spawned two 
other modules: LaTeX::Encode and LaTeX::Driver).

What is left to do is flesh out the documentation and the test scripts 
(for the plugin module and also for the other two modules), and look at 
how the LaTeX environment variables (TEXINPUTS, TEXINPUTS_latex, etc) 
should interact with the filter options.  I'll probably put out another 
developer version (or two) in the next couple of weeks, then it is about 
ready for prime time.

As always I welcome feedback.

Andrew

Andrew Ford wrote:
> I have finally released a developer version of the TT2 Latex plugin to
> CPAN (version 3.00_01).  This requires my LaTeX::Driver module version
> 0.05.  The files are also updates on svn.tt2.org.
>
> The main new features are:
>
>     * internally it uses LaTeX::Driver to ensure that the document is
>       run through (pdf)latex, bibtex, makeindex, dvips, dvipdfm and/or
>       ps2pdf as many times as is necessary to format the document (with
>       an upper limit of maxruns times)
>
>     * the TEXINPUTS path can be specified, so that one can include other
>       tex, ist, bib files from other directories than the document
>       directory - the document directory is included in the path, so
>       that including files that are local to the source document should
>       work, even when running ttree
>
>     * the Template::Latex module is deprecated
>
>     * the plugin includes a latex_encode filter that will encode special
>       characters, so that "20% of $42" becomes "20\% of \$42".  I am
>       still working on this feature and it will be possible to specify
>       which characters to exclude so you can say
>
>           "my company is \textbf{Ford & Mason Ltd}" |
>       latex_encode(exclude = "\\{}")
>
>       and get out "my company is \textbf{Ford \& Mason Ltd}".  This will
>       allow you to embed LaTeX formatting commands in your data while
>       having the non-excluded special characters escaped for you.
>
> There are probably other changes I've forgotten to mention but I just
> want to get something out there for people to play with.
>
> I am still working on the documentation and the test suite, although
> most of the tests do pass (and test useful things).  I will be including
> an examples directory with some scripts that show how to use the plugin
> for database publishing and generating personalized PDF files, etc.
>
> I would welcome any feedback.
>
> 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

Reply via email to