Symbols for Character Art¶
This module defines single- and multi-line symbols.
EXAMPLES:
sage: from sage.typeset.symbols import *
sage: symbols = ascii_art('')
sage: for i in range(1, 5):
....: symbols += ascii_left_parenthesis.character_art(i)
....: symbols += ascii_art(' ')
....: symbols += ascii_right_parenthesis.character_art(i)
....: symbols += ascii_art(' ')
sage: for i in range(1, 5):
....: symbols += ascii_left_square_bracket.character_art(i)
....: symbols += ascii_art(' ')
....: symbols += ascii_right_square_bracket.character_art(i)
....: symbols += ascii_art(' ')
sage: for i in range(1, 5):
....: symbols += ascii_left_curly_brace.character_art(i)
....: symbols += ascii_art(' ')
....: symbols += ascii_right_curly_brace.character_art(i)
....: symbols += ascii_art(' ')
sage: symbols
( ) [ ] { }
( ) ( ) [ ] [ ] { } { }
( ) ( ) ( ) [ ] [ ] [ ] { } { } { }
( ) ( ) ( ) ( ) [ ] [ ] [ ] [ ] { } { } { } { }
sage: symbols = unicode_art('')
sage: for i in range(1, 5):
....: symbols += unicode_left_parenthesis.character_art(i)
....: symbols += unicode_art(' ')
....: symbols += unicode_right_parenthesis.character_art(i)
....: symbols += unicode_art(' ')
sage: for i in range(1, 5):
....: symbols += unicode_left_square_bracket.character_art(i)
....: symbols += unicode_art(' ')
....: symbols += unicode_right_square_bracket.character_art(i)
....: symbols += unicode_art(' ')
sage: for i in range(1, 5):
....: symbols += unicode_left_curly_brace.character_art(i)
....: symbols += unicode_art(' ')
....: symbols += unicode_right_curly_brace.character_art(i)
....: symbols += unicode_art(' ')
sage: symbols
⎛ ⎞ ⎡ ⎤ ⎧ ⎫
⎛ ⎞ ⎜ ⎟ ⎡ ⎤ ⎢ ⎥ ⎧ ⎫ ⎭ ⎩
⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎰ ⎱ ⎨ ⎬ ⎫ ⎧
( ) ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ [ ] ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ { } ⎱ ⎰ ⎩ ⎭ ⎩ ⎭
>>> from sage.all import *
>>> from sage.typeset.symbols import *
>>> symbols = ascii_art('')
>>> for i in range(Integer(1), Integer(5)):
... symbols += ascii_left_parenthesis.character_art(i)
... symbols += ascii_art(' ')
... symbols += ascii_right_parenthesis.character_art(i)
... symbols += ascii_art(' ')
>>> for i in range(Integer(1), Integer(5)):
... symbols += ascii_left_square_bracket.character_art(i)
... symbols += ascii_art(' ')
... symbols += ascii_right_square_bracket.character_art(i)
... symbols += ascii_art(' ')
>>> for i in range(Integer(1), Integer(5)):
... symbols += ascii_left_curly_brace.character_art(i)
... symbols += ascii_art(' ')
... symbols += ascii_right_curly_brace.character_art(i)
... symbols += ascii_art(' ')
>>> symbols
( ) [ ] { }
( ) ( ) [ ] [ ] { } { }
( ) ( ) ( ) [ ] [ ] [ ] { } { } { }
( ) ( ) ( ) ( ) [ ] [ ] [ ] [ ] { } { } { } { }
>>> symbols = unicode_art('')
>>> for i in range(Integer(1), Integer(5)):
... symbols += unicode_left_parenthesis.character_art(i)
... symbols += unicode_art(' ')
... symbols += unicode_right_parenthesis.character_art(i)
... symbols += unicode_art(' ')
>>> for i in range(Integer(1), Integer(5)):
... symbols += unicode_left_square_bracket.character_art(i)
... symbols += unicode_art(' ')
... symbols += unicode_right_square_bracket.character_art(i)
... symbols += unicode_art(' ')
>>> for i in range(Integer(1), Integer(5)):
... symbols += unicode_left_curly_brace.character_art(i)
... symbols += unicode_art(' ')
... symbols += unicode_right_curly_brace.character_art(i)
... symbols += unicode_art(' ')
>>> symbols
⎛ ⎞ ⎡ ⎤ ⎧ ⎫
⎛ ⎞ ⎜ ⎟ ⎡ ⎤ ⎢ ⎥ ⎧ ⎫ ⎭ ⎩
⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎰ ⎱ ⎨ ⎬ ⎫ ⎧
( ) ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ [ ] ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ { } ⎱ ⎰ ⎩ ⎭ ⎩ ⎭
from sage.typeset.symbols import * symbols = ascii_art('') for i in range(1, 5): symbols += ascii_left_parenthesis.character_art(i) symbols += ascii_art(' ') symbols += ascii_right_parenthesis.character_art(i) symbols += ascii_art(' ') for i in range(1, 5): symbols += ascii_left_square_bracket.character_art(i) symbols += ascii_art(' ') symbols += ascii_right_square_bracket.character_art(i) symbols += ascii_art(' ') for i in range(1, 5): symbols += ascii_left_curly_brace.character_art(i) symbols += ascii_art(' ') symbols += ascii_right_curly_brace.character_art(i) symbols += ascii_art(' ') symbols symbols = unicode_art('') for i in range(1, 5): symbols += unicode_left_parenthesis.character_art(i) symbols += unicode_art(' ') symbols += unicode_right_parenthesis.character_art(i) symbols += unicode_art(' ') for i in range(1, 5): symbols += unicode_left_square_bracket.character_art(i) symbols += unicode_art(' ') symbols += unicode_right_square_bracket.character_art(i) symbols += unicode_art(' ') for i in range(1, 5): symbols += unicode_left_curly_brace.character_art(i) symbols += unicode_art(' ') symbols += unicode_right_curly_brace.character_art(i) symbols += unicode_art(' ') symbols
- class sage.typeset.symbols.CompoundAsciiSymbol(character, top, extension, bottom, middle=None, middle_top=None, middle_bottom=None, top_2=None, bottom_2=None)[source]¶
Bases:
CompoundSymbol
- character_art(num_lines)[source]¶
Return the ASCII art of the symbol.
EXAMPLES:
sage: from sage.typeset.symbols import * sage: ascii_left_curly_brace.character_art(3) { { {
>>> from sage.all import * >>> from sage.typeset.symbols import * >>> ascii_left_curly_brace.character_art(Integer(3)) { { {
from sage.typeset.symbols import * ascii_left_curly_brace.character_art(3)
- class sage.typeset.symbols.CompoundSymbol(character, top, extension, bottom, middle=None, middle_top=None, middle_bottom=None, top_2=None, bottom_2=None)[source]¶
Bases:
SageObject
A multi-character (ascii/unicode art) symbol.
INPUT:
Instead of a string, each of these can be unicode in Python 2:
character
– string; the single-line version of the symboltop
– string; the top line of a multi-line symbolextension
– string; the extension line of a multi-line symbol (will be repeated)bottom
– string; the bottom line of a multi-line symbolmiddle
– (optional) string; the middle part, for example in curly braces. Will be used only once for the symbol, and only if its height is odd.middle_top
– (optional) string; the upper half of the 2-line middle part if the height of the symbol is even. Will be used only once for the symbol.middle_bottom
– (optional) string; the lower half of the 2-line middle part if the height of the symbol is even. Will be used only once for the symbol.top_2
– (optional) string; the upper half of a 2-line symbolbottom_2
– (optional) string; the lower half of a 2-line symbol
EXAMPLES:
sage: from sage.typeset.symbols import CompoundSymbol sage: i = CompoundSymbol('I', '+', '|', '+', '|') sage: i.print_to_stdout(1) I sage: i.print_to_stdout(3) + | +
>>> from sage.all import * >>> from sage.typeset.symbols import CompoundSymbol >>> i = CompoundSymbol('I', '+', '|', '+', '|') >>> i.print_to_stdout(Integer(1)) I >>> i.print_to_stdout(Integer(3)) + | +
from sage.typeset.symbols import CompoundSymbol i = CompoundSymbol('I', '+', '|', '+', '|') i.print_to_stdout(1) i.print_to_stdout(3)
- print_to_stdout(num_lines)[source]¶
Print the multi-line symbol.
This method is for testing purposes.
INPUT:
num_lines
– integer; the total number of lines
EXAMPLES:
sage: from sage.typeset.symbols import * sage: unicode_integral.print_to_stdout(1) ∫ sage: unicode_integral.print_to_stdout(2) ⌠ ⌡ sage: unicode_integral.print_to_stdout(3) ⌠ ⎮ ⌡ sage: unicode_integral.print_to_stdout(4) ⌠ ⎮ ⎮ ⌡
>>> from sage.all import * >>> from sage.typeset.symbols import * >>> unicode_integral.print_to_stdout(Integer(1)) ∫ >>> unicode_integral.print_to_stdout(Integer(2)) ⌠ ⌡ >>> unicode_integral.print_to_stdout(Integer(3)) ⌠ ⎮ ⌡ >>> unicode_integral.print_to_stdout(Integer(4)) ⌠ ⎮ ⎮ ⌡
from sage.typeset.symbols import * unicode_integral.print_to_stdout(1) unicode_integral.print_to_stdout(2) unicode_integral.print_to_stdout(3) unicode_integral.print_to_stdout(4)
- class sage.typeset.symbols.CompoundUnicodeSymbol(character, top, extension, bottom, middle=None, middle_top=None, middle_bottom=None, top_2=None, bottom_2=None)[source]¶
Bases:
CompoundSymbol
- character_art(num_lines)[source]¶
Return the unicode art of the symbol.
EXAMPLES:
sage: from sage.typeset.symbols import * sage: unicode_left_curly_brace.character_art(3) ⎧ ⎨ ⎩
>>> from sage.all import * >>> from sage.typeset.symbols import * >>> unicode_left_curly_brace.character_art(Integer(3)) ⎧ ⎨ ⎩
from sage.typeset.symbols import * unicode_left_curly_brace.character_art(3)