NAME
Text::Amuse::Compile::TemplateOptions - parse and validate options for templates
SYNOPSIS
use Text::Amuse::Compile::TemplateOptions;
my $options = Text::Amuse::Compile::TemplateOptions->new(%options);
my $doc = Text::Amuse->new(file => 'test.muse');
# and get the hashrefs for the tokens
my $latex_options = $options->as_latex($doc);
ACCESSORS
The follow accessors are read-write. The same settings can be passed to the muse-compile.pl
script.
Paper
papersize (common values: a4, a5, letter)
Paper size, like a4, a5 or 210mm:11in. The width and heigth are swapped in some komascript version. Just keep this in mind and do some trial and error if you need custom dimensions.
bcor (binding correction for inner margins)
The BCOR of the
typearea
package. Defaults to 0mm. Go and read the doc. It expects a TeX dimension like 10mm or 1in or 1.2cm.Please note that this has no effect on the plain PDF output when an imposed version is also required, because we force BCOR=0mm and oneside=true for the planin version in this case.
division (the DIV factor for margin control)
The DIV of the
typearea
package. Defaults to 12. Go and read the doc. Sensible values are from 9 to 15. 15 has narrow margins, while in 9 they are pretty generous.oneside (boolean)
This is the default. Actually, this option doesn't have any use.
twoside (boolean)
Set it to a true value to have a twosided document. Default is false.
Please note that this has no effect on the plain PDF output when an imposed version is also required, because we force BCOR=0mm and oneside=true for the planin version in this case.
opening
On which pages the chapters should open: right, left, any. Default: right. The left one will probably lead to unexpected results (the PDF will start with an empty page), so use it at your own peril.
Fonts
mainfont (grep fc-list -l for the correct name)
The system font name, such as
Linux Libertine O
orCharis SIL
. This implementation uses XeLaTeX, so we can use system fonts. Defaults toCMU Serif
.sansfont
The sans serif font to use. This option has some effects only on slides. Defaults to
CMU Sans Serif
monofont
The monospace font to use. Defaults to
CMU Typewriter Text
.fontsize
The size of the body font (9, 10, 11, 12) as integer, meaning points (pt), defaulting to 10.
Colophon
sitename
At the top of the page
siteslogan
At the top, under sitename
logo (filename)
At the top, under siteslogan
site
At the bottom of the page
Cover
cover (filename for front cover)
When this option is set to a true value, skip the creation of the title page with \maketitle, and instead build a custome one, with the cover placed in the middle of the page.
The value can be an absolute path, or a bare filename, which can be found by
kpsewhich
. If the path is not valid and sane (from the LaTeX point of view: no spaces, no strange chars), the value is ignored.With EPUB output, the cover is used in the title page.
coverwidth (dimension ratio with the text width, eg. '0.85')
Option to control the cover width, when is set (ignored otherwise). Defaults to the full text width (i.e., 1). You have to pass a float here with the ratio to the text width, like
0.5
,1
.With EPUB output, this affects the maximum width, not the actual width.
nocoverpage
Use the LaTeX article class if ToC is not present. If the text doesn't require a toc, this options set the class to komascript's article. Ignored if there is a toc.
notoc
Do not generate a table of contents, even if the document requires one.
headings
Generate the running headings in the document. Beware that this will get you overfull headings if you have long titles.
The behaviour changes if it's a oneside document.
Available values:
title_subtitle
Title on the left page, subtitle on right page. Oneside: title.
author_title
Author on the left, title on the right. Oneside: title
section_subsection
Section on the left, subsection on the right. Oneside: section name
chapter_section
Chapter on the left, section on the right. Oneside: chapter name
title_section
Title on the left, section on the right. Oneside: section name
title_chapter
Title on the left, chapter on the right. Oneside: chapter name
Slides
beamertheme
The theme to use with beamer, if and when the slides are produced. See the beamer manual or https://www.hartwork.org/beamer-theme-matrix/. Defaults to the default one.
beamercolortheme
Same as above, but for the color theme. Defaults to "dove" (b/w theme, can't see the default purple).
METHODS
paging
This merges oneside
and twoside
. If both or none are set, defaults to oneside
.
tex_papersize
The real name of the papersize, unaliased (so, e.g. half-a4
will be a5
).
config_setters
The list of the values which should be passed to the constructor
config_output
Return a validated hashref of the options. This is basically the purpose of this module.
Available fonts listing
They return a list of hashrefs, with two keys, name
and desc
. The first is the system font name, the second is the description. They can be called on the class.
- sans_fonts
- mono_fonts
- serif_fonts
- all_fonts
Themes listing
The following methods can be called on the class and return lists with the available Beamer themes and color themes:
- beamer_colorthemes
- beamer_themes
Headings style listing
- all_headings
-
Return a list of hashrefs with
name
anddesc
. Legacy options have an empty description.
Defaults fonts and themes
- default_mainfont
- default_sansfont
- default_monofont
- default_beamertheme
- default_beamercolortheme
Help
show_options
Print out the relevant stanza of the POD.
INTERNALS
check_filename($filename)
Return true if the path is absolute (and looks like a pdf/jpg/png file) or if it's a bare filename, even without extension.