pylatex.base_classes.command¶
This module implements a class that implements a latex command.
This can be used directly or it can be inherited to make an easier interface to it.
-
class
CommandBase(arguments=None, options=None, *, extra_arguments=None)[source]¶ Bases:
pylatex.base_classes.latex_object.LatexObjectA class that represents a LaTeX command.
The name of this class (when lowercased) will be the name of this command. To supply a different name set the
_latex_nameattribute.Parameters: - arguments (None, str, list or
Arguments) – The main arguments of the command. - options (None, str, list or
Options) – Options of the command. These are placed in front of the arguments. - extra_arguments (None, str, list or
Arguments) – Extra arguments for the command. When these are supplied the options will be placed before them instead of before the normal arguments. This allows for a way of having one or more arguments before the options.
- arguments (None, str, list or
-
class
Command(command=None, arguments=None, options=None, *, extra_arguments=None, packages=None)[source]¶ Bases:
pylatex.base_classes.command.CommandBaseA class that represents a LaTeX command.
This class is meant for one-off commands. When a command of the same type is used multiple times it is better to subclass
CommandBase.Parameters: - command (str) – Name of the command
- arguments (None, str, list or
Arguments) – The main arguments of the command. - options (None, str, list or
Options) – Options of the command. These are placed in front of the arguments. - extra_arguments (None, str, list or
Arguments) – Extra arguments for the command. When these are supplied the options will be placed before them instead of before the normal arguments. This allows for a way of having one or more arguments before the options. - packages (list of
Packageinstances) – A list of the packages that this command requires
Examples
>>> Command('documentclass', >>> options=Options('12pt', 'a4paper', 'twoside'), >>> arguments='article').dumps() '\\documentclass[12pt,a4paper,twoside]{article}' >>> Command('com') '\\com' >>> Command('com', 'first') '\\com{first}' >>> Command('com', 'first', 'option') '\\com[option]{first}' >>> Command('com', 'first', 'option', 'second') '\\com{first}[option]{second}'
-
class
UnsafeCommand(command=None, arguments=None, options=None, *, extra_arguments=None, packages=None)[source]¶ Bases:
pylatex.base_classes.command.CommandAn unsafe version of the
Commandclass.This class is meant for one-off commands that should not escape their arguments and options. Use this command with care and only use this when the arguments are hardcoded.
When an unsafe command of the same type is used multiple times it is better to subclass
CommandBaseand set the_default_escapeattribute to false.Parameters: - command (str) – Name of the command
- arguments (None, str, list or
Arguments) – The main arguments of the command. - options (None, str, list or
Options) – Options of the command. These are placed in front of the arguments. - extra_arguments (None, str, list or
Arguments) – Extra arguments for the command. When these are supplied the options will be placed before them instead of before the normal arguments. This allows for a way of having one or more arguments before the options. - packages (list of
Packageinstances) – A list of the packages that this command requires
Examples
>>> Command('documentclass', >>> options=Options('12pt', 'a4paper', 'twoside'), >>> arguments='article').dumps() '\\documentclass[12pt,a4paper,twoside]{article}' >>> Command('com') '\\com' >>> Command('com', 'first') '\\com{first}' >>> Command('com', 'first', 'option') '\\com[option]{first}' >>> Command('com', 'first', 'option', 'second') '\\com{first}[option]{second}'
-
class
Parameters(*args, **kwargs)[source]¶ Bases:
pylatex.base_classes.latex_object.LatexObjectThe base class used by
OptionsandArguments.This class should probably never be used on its own and inhereting from it is only useful if a class like
OptionsorArgumentsis needed again.Parameters: - *args – Positional parameters
- **kwargs – Keyword parameters
-
class
Options(*args, **kwargs)[source]¶ Bases:
pylatex.base_classes.command.ParametersA class implementing LaTex options for a command.
It supports normal positional parameters, as well as key-value pairs. Options are the part of a command located between the square brackets (
[]). The positional parameters will be outputted in order and will appear before the key-value-pairs. The key value-pairs won’t be outputted in the order in which they were enteredExamples
>>> args = Options('a', 'b', 'c').dumps() '[a,b,c]' >>> Options('clip', width=50, height='25em', trim='1 2 3 4').dumps() '[clip,trim=1 2 3 4,width=50,height=25em]'
Parameters: - *args – Positional parameters
- **kwargs – Keyword parameters
-
class
SpecialOptions(*args, **kwargs)[source]¶ Bases:
pylatex.base_classes.command.OptionsA class that sepparates the options with ‘][‘ instead of ‘,’.
Parameters: - *args – Positional parameters
- **kwargs – Keyword parameters
-
class
Arguments(*args, **kwargs)[source]¶ Bases:
pylatex.base_classes.command.ParametersA class implementing LaTex arguments for a command.
It supports normal positional parameters, as well as key-value pairs. Arguments are the part of a command located between the curly braces (
{}). The positional parameters will be outputted in order and will appear before the key-value-pairs. The key value-pairs won’t be outputted in the order in which they were enteredExamples
>>> args = Arguments('a', 'b', 'c').dumps() '{a}{b}{c}' >>> args = Arguments('clip', width=50, height='25em').dumps() >>> args.dumps() '{clip}{width=50}{height=25em}'
Parameters: - *args – Positional parameters
- **kwargs – Keyword parameters
-
class
SpecialArguments(*args, **kwargs)[source]¶ Bases:
pylatex.base_classes.command.ArgumentsA class that separates arguments with ‘,’ instead of ‘}{‘.
Parameters: - *args – Positional parameters
- **kwargs – Keyword parameters