Is it possible to print characters on top of each other without erasing the previous one in order to have both superscript and subscript?
I am wondering if I can have print()
outputs such as
in a terminal and/or an IPython/Jupyter Notebook. I want to develop a library working with toleranced dimensions and these types of pretty-printed outputs will come quite handy during development and testing.
What I know so far:
- There are escape characters such as Carriage Return
\r
that goes to the beginning of the line without erasing the existing characters and the Backspace\b
that deletes the last character. For exampleprint("some text\bsome other text \rbingo", end="")
should give mebingotexsome other text
. Anyway, when printing a new character the previous one is erased. - I also know how to use Unicode characters to have superscripted/subscripted digits and plus/minus signs. For example, the
print('1.23\u207a\u2074\u2027\u2075\u2076')
will give me something like 1.23+4.56 andprint('1.23\u208b\u2087.\u2088\u2089')
outputs close to 1.23-7.89. Although what unicode characters should be used for superscript/subscript decimal delimiters (in this case period/dot/point) is still debatable. There are multiple options for superscipted dot including also\u0387
and\u22c5
. However, AFIK there are no unicode characters suitable for subscripted dot. (more info here)
what I don't know
- if there is an escape character or Unicode one that replicates the left arrow ← key on the keyboard?
- how to print without erasing the pixels in the terminal? Is there a way to print/display characters on top of each other?
- and if none of the above is possible in a terminal, if/how I can control the HTTP/CSS outputs in a Jupyter Notebook to print both superscript and subscript at the same time?
source https://stackoverflow.com/questions/70712672/is-it-possible-to-print-characters-on-top-of-each-other-without-erasing-the-prev
Comments
Post a Comment