LaTeX::Table::Types::TypeI(3)

NAME
LaTeX::Table::Types::TypeI - Interface for LaTeX table types.

DESCRIPTION
This is the type interface (or Moose role), that all type objects must use. LaTeX::Table delegates the LaTeX code generation to type objects. It stores all information we have in easy to use "TEMPLATE VARIABLES". LaTeX::Table ships with very flexible templates, but it is possible to use the template variables defined here to build custom templates.

INTERFACE

"generate_latex_code"

TEMPLATE VARIABLES
Most options are accessible here:

"CENTER, LEFT, RIGHT"
    Example:

      [% IF CENTER %]\centering
      [% END %]

"ENVIRONMENT, STAR, POSITION, SIDEWAYS"
    These options for floating environments are typically used like:

      [% IF ENVIRONMENT %]\begin{[% ENVIRONMENT %][% IF STAR %]*[% END %]}[% IF POSITION %][[% POSITION %]][% END %]
      ...
      [% END %]
      # the tabular environment here
      ...
      [% IF ENVIRONMENT %] ...
      \end{[% ENVIRONMENT %][% IF STAR %]*[% END %]}[% END %]

"CAPTION_TOP, CAPTION_CMD, SHORTCAPTION, CAPTION, CONTINUED, CONTINUEDMSG"
    The variables to build the caption command. Note that there is NO template for the "maincaption" option. "CAPTION" already includes this maincaption if specified.

"LABEL"
    The label:

     [% IF LABEL %]\label{[% LABEL %]}[% END %]

"TABULAR_ENVIRONMENT, WIDTH, COLDEF"
    These three options define the tabular environment:

      \begin{[% TABULAR_ENVIRONMENT %]}[% IF WIDTH %]{[% WIDTH %]}[% END %]{[% COLDEF %]}

"FONTFAMILY, FONTSIZE"
    Example:

      [% IF FONTSIZE %]\[% FONTSIZE %]
      [% END %][% IF FONTFAMILY %]\[% FONTFAMILY %]family
      [% END %]

"TABLEHEADMSG, TABLETAIL, TABLELASTTAIL, XENTRYSTRETCH"
    For the multi-page tables.

"MAXWIDTH, FOOTTABLE"
    Currently only used by LaTeX::Table::Types::Ctable.

In addition, some variables already contain formatted LaTeX code:

"HEADER_CODE"
    The formatted header:

      \toprule
      \multicolumn{2}{c}{Item} &             \\
      \cmidrule(r){1-2}
      Animal                   & Description & Price \\
      \midrule

"DATA_CODE"
    The formatted data:

      Gnat      & per gram & 13.65 \\
                & each     & 0.01  \\
      Gnu       & stuffed  & 92.59 \\
      Emu       & stuffed  & 33.33 \\
      Armadillo & frozen   & 8.99  \\
      \bottomrule

"RESIZEBOX_BEGIN_CODE, RESIZEBOX_END_CODE"
    Everything between these two template variables is resized according the "resizebox" option.

"EXTRA_ROW_HEIGHT_CODE, DEFINE_COLORS_CODE, RULES_COLOR_GLOBAL_CODE, RULES_WIDTH_GLOBAL_CODE"
    Specified by the theme. "EXTRA_ROW_HEIGHT_CODE" will contain the corresponding LaTeX extrarowheight command, e.g for '1pt':

        \setlength{\extrarowheight}{1pt}

    Otherwise it will contain the empty string. The other template variables will contain the command specified by the corresponding theme option.

Finally, some variables allow access to internal "LaTeX::Table" variables:

"LT_NUM_COLUMNS"
    Contains the number of columns of the table.

"LT_BOTTOM_RULE_CODE"
    Code that draws the rules at the bottom of the table according the theme options.

SEE ALSO
LaTeX::Table

The predefined templates: LaTeX::Table::Types::Std, LaTeX::Table::Types::Ctable, LaTeX::Table::Types::Longtable, LaTeX::Table::Types::Xtab

LICENSE AND COPYRIGHT
Copyright (c) 2006-2010 "<limaone@cpan.org>"

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.