Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LaTeX::Table::Themes::UsereContributed Perl DocLaTeX::Table::Themes::ThemeI(3)

NAME
       LaTeX::Table::Themes::ThemeI - Interface	for LaTeX table	themes.

SYNOPSIS
	 package MyThemes::Custom;
	 use Moose;

	 with 'LaTeX::Table::Themes::ThemeI';

	 sub _definition {
	     return { CENTRALPARK =>
	      {
		 'HEADER_FONT_STYLE'  => 'bf',
		 'HEADER_FONT_COLOR'  => 'white',
		 'HEADER_BG_COLOR'    => 'latextbl',
		 'DATA_BG_COLOR_ODD'  => 'latextbl!25',
		 'DATA_BG_COLOR_EVEN' => 'latextbl!10',
		 'DEFINE_COLORS'      => '\definecolor{latextbl}{RGB}{93,127,114}',
		 'HEADER_CENTERED'    => 1,
		 'VERTICAL_RULES'     => [ 1, 0, 0 ],
		 'HORIZONTAL_RULES'   => [ 1, 1, 0 ],
		 'BOOKTABS'	      => 0,
		 'EXTRA_ROW_HEIGHT'   => '1pt',
	     }};
	 }

	 1;

DESCRIPTION
       This is the theme interface (or Moose role), that all theme objects
       must use.

CREATING THEMES
       A theme is defined as an	hash reference containing all options:

	 # a very ugly theme...
	 my $theme = {
		     'Duisburg'	=> {
			 'HEADER_FONT_STYLE'  => 'sc',
			 'HEADER_FONT_COLOR'  => 'white',
			 'HEADER_BG_COLOR'    => 'blue',
			 'HEADER_CENTERED'    => 1,
			 'DATA_BG_COLOR_ODD'  => 'blue!30',
			 'DATA_BG_COLOR_EVEN' => 'blue!10',
			 'CAPTION_FONT_STYLE' => 'sc',
			 'VERTICAL_RULES'     => [ 1, 2, 1 ],
			 'HORIZONTAL_RULES'   => [ 1, 2, 0 ],
			 'EXTRA_ROW_HEIGHT'   => '2pt',
			 'BOOKTABS'	      => 0,
		     },
		 };

       Fonts
	   "HEADER_FONT_STYLE",	"CAPTION_FONT_STYLE". Valid values are bf
	   (bold), it (italics), sc (caps) and tt (typewriter).	When this
	   option is undef, then header	(or caption, respectively) is written
	   in normal font.

       Colors
	   "HEADER_FONT_COLOR" can be used to specify a	different font color
	   for the header. Requires the	"xcolor" LaTeX package.

	   Set "HEADER_BG_COLOR" to use	a background color in the header,
	   "DATA_BG_COLOR_EVEN"	and "DATA_BG_COLOR_ODD"	for even and odd data
	   rows.  Requires the "colortbl" and the "xcolor" LaTeX package.

	   You can define colors with "DEFINE_COLORS", for example:

	     'DEFINE_COLORS'	  => '\definecolor{latextbl}{RGB}{78,130,190}',

       Rules
	   "VERTICAL_RULES", "HORIZONTAL_RULES"
	       A reference to an array with three integers, e.g. "[ 1, 2, 0
	       ]". The first integer defines the number	of outer rules.	The
	       second the number of rules after	the header and after the first
	       column. The third is the	number of inner	rules. For example
	       Dresden is defined as:

		 'Dresden' => {
		     ...
		     'VERTICAL_RULES'	  => [ 1, 2, 1 ],
		     'HORIZONTAL_RULES'	  => [ 1, 2, 0 ],
		 }

	       The first integers define one outer rule	- vertical and
	       horizontal. So a	box is drawn around the	table. The second
	       integers	define two rules between header	and table and two
	       vertical	rules between first and	second column. And finally the
	       third integers define that columns are separated	by a single
	       vertical	rule whereas rows are not separated by horizontal
	       lines.

	   "RULES_COLOR_GLOBAL"
	       If your theme uses the "colortbl" LaTeX package,	this command
	       should handle the coloring of the rules.	See the	"colortbl"
	       documentation.

		 'RULES_COLOR_GLOBAL' =>
		     '\arrayrulecolor{white}\doublerulesepcolor{black}',

	   "RULES_WIDTH_GLOBAL"
	       Code that controls the width of the rules. See for example the
	       "colortbl" documentation.

		'RULES_WIDTH_GLOBAL' =>
		    '\setlength\arrayrulewidth{1pt}\setlength\doublerulesep{0pt}',

	   "RULES_CMD"
	       A reference to an array with four LaTeX commands	for the	top,
	       mid (between header and data), inner and	bottom rules.

		 RULES_CMD => [	'\toprule', '\midrule',	'\midrule', '\bottomrule' ];

	   "BOOKTABS"
	       Use the "booktabs" LaTeX	package	for "Publication quality
	       tables".	Instead	of "\hline", "LaTeX::Table" then uses
	       "\toprule", "\midrule" and "\bottomrule".  0 (don't use this
	       package)	or 1 (use it). A shortcut for

		 RULES_CMD => [	'\toprule', '\midrule',	'\midrule', '\bottomrule' ];

       Misc
	   "EXTRA_ROW_HEIGHT"
	       Will set	"\extrarowheight" in the floating environment.
	       Requires	the "array" LaTeX package.

	   "STUB_ALIGN"
	       Defines how the left-hand column, the stub, is aligned. Default
	       is 'l' (left aligned).

	   "HEADER_CENTERED"
	       This controls the alignment of the header columns, excluding
	       the stub	when "STUB_ALIGN" is defined. Valid values are 0 (not
	       centered) or 1 (centered).  Typically, it is recommended	to
	       center headers, but sometimes this does not look	right. In this
	       case, (left) align the header manually.

       You can either quickly add themes after initiation of an	LaTeX::Table:

	 $table->set_custom_themes($theme);

       Or, you can build a "THEME MODULE" and extend the list of predefined
       themes.

THEME MODULE
       Now, to build a theme that you can easily load, take the	"SYNOPSIS"
       template, change	it and then make it accessible in "LaTeX::Table" by
       saving it under the "LaTeX::Table::Themes::*" namespace.

       Alternatively, you can use the search_path() method to add custom
       paths. For example save the "SYNOPSIS" module as	"./MyThemes/Custom.pm"
       and then	add "MyThemes" in the script that uses the new theme:

	 # in ./script.pl
	 $table->search_path( add => 'MyThemes');

       If your theme looks nice, please	contribute it.

SEE ALSO
       LaTeX::Table

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.

perl v5.24.1			  2017-07-08   LaTeX::Table::Themes::ThemeI(3)

NAME | SYNOPSIS | DESCRIPTION | CREATING THEMES | THEME MODULE | SEE ALSO | LICENSE AND COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=LaTeX::Table::Themes::ThemeI&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help