Factory for Character-Based Art¶
-
class
sage.typeset.character_art_factory.CharacterArtFactory(art_type, string_type, magic_method_name, parenthesis, square_bracet, curly_brace)¶ Bases:
sage.structure.sage_object.SageObjectAbstract base class for character art factory
This class is the common implementation behind
ascii_art()andunicode_art().INPUT:
art_type– type of the character art (i.e. a subclass ofCharacterArt)string_type– type of strings (the lines in the character art, e.g.strorunicode).magic_method_name– name of the Sage magic method (e.g.'_ascii_art_'or'_unicode_art_').parenthesis– left/right pair of two multi-line symbols. The parenthesis, a.k.a. round brackets (used for printing tuples).square_bracket– left/right pair of two multi-line symbols. The square_brackets (used for printing lists).curly_brace– left/right pair of two multi-line symbols. The curly braces (used for printing sets).
EXAMPLES:
sage: from sage.typeset.ascii_art import _ascii_art_factory as factory sage: type(factory) <class 'sage.typeset.character_art_factory.CharacterArtFactory'>
-
build(obj)¶ Construct a character art representation
INPUT:
obj– anything. The object whose ascii art representation we want.
OUTPUT:
Character art object.
EXAMPLES:
sage: ascii_art(integral(exp(x+x^2)/(x+1), x)) / | | 2 | x + x | e | ------- dx | x + 1 | /
-
build_container(content, left_border, right_border)¶ Return character art for a container
INPUT:
content–CharacterArt. The content of the container, usually comma-separated entries.left_border–CompoundSymbol. The left border of the container.right_border–CompoundSymbol. The right border of the container.
-
build_dict(d)¶ Return an character art output of a dictionary.
-
build_empty()¶ Return the empty character art object
OUTPUT:
Character art instance.
-
build_from_magic_method(obj)¶ Return the character art object created by the object’s magic method
OUTPUT:
Character art instance.
EXAMPLES:
sage: from sage.typeset.ascii_art import _ascii_art_factory as factory sage: out = factory.build_from_magic_method(identity_matrix(2)); out [1 0] [0 1] sage: type(out) <class 'sage.typeset.ascii_art.AsciiArt'>
-
build_from_string(obj)¶ Return the character art object created from splitting the object’s string representation
INPUT:
obj– utf-8 encoded byte string or unicode.
OUTPUT:
Character art instance.
EXAMPLES:
sage: from sage.typeset.ascii_art import _ascii_art_factory as factory sage: out = factory.build_from_string('a\nbb\nccc') sage: out + out + out a a a bb bb bb ccccccccc sage: type(out) <class 'sage.typeset.ascii_art.AsciiArt'>
-
build_list(l)¶ Return an character art output of a list.
-
build_set(s)¶ Return an character art output of a set.
-
build_tuple(t)¶ Return an character art output of a tuple.
-
concatenate(iterable, separator, empty=None)¶ Concatenate multiple character art instances
The breakpoints are set as the breakpoints of the
separatortogether with the breakpoints of the objects initerable. If there isNone, the end of the separator is used.INPUT:
iterable– iterable of character art.separable– character art. The separator in-between the iterable.empty– an optional character art which is returned ifiterableis empty
EXAMPLES:
sage: i2 = identity_matrix(2) sage: ascii_art(i2, i2, i2, sep=ascii_art(1/x)) 1 1 [1 0]-[1 0]-[1 0] [0 1]x[0 1]x[0 1]