Skip to content

Why does the renderer drop parts of lines with no error? #3059

Closed
@sigilante

Description

@sigilante

Description of bug / unexpected behavior

I am constructing a Manim scene with manually aligned lines of text alternating between texttt lines and math lines. Parts of some lines of text are disappearing from the output.

In particular, note that text1 and text3 do not appear although they are present in the VGroup. Experimentation shows that this is not a function of set_color so I suspect that the nested {{}} clauses are causing a problem, but only on those lines.

What is failing and how can I render these lines successfully?

Text missing colored blocks

Expected behavior

All text would appear.

How to reproduce the issue

Code for reproducing the problem
from manim import *

highlight = "#aa0000"
background = "#121214"

class MyTable(Scene):
    def construct(self):
        float1 = MathTex(
          r'\texttt{ {{0}}011.1110.1\;\,000.0000.0000.0000.0000.0000}'
        )
        float1[1].set_color(highlight)

        text1 = MathTex(
          r'(-1)^{ {{0}} } \;'
        )
        print(text1[0])
        print(text1[1])
        print(text1[2])
        text1[1].set_color(highlight)

        float2 = MathTex(
          r'\texttt{ 0 {{011.1110.1}} 000.0000.0000.0000.0000.0000 }'
        )
        float2[1].set_color(highlight)

        text2 = MathTex(
          r'2^{ {{125}}-127}=2^{-2}'
        )
        text2[1].set_color(highlight)
        print(text2[0])
        print(text2[1])
        print(text2[2])

        float3 = MathTex(
          r'\texttt{ 0\;\,011.1110.1 {{ 000.0000.0000.0000.0000.0000 }} }'
        )
        float3[1].set_color(highlight)

        text3 = MathTex(
          r'[1] + {{ 0 }} \;'
        )
        text3[1].set_color(highlight)
        print(text3[0])
        print(text3[1])

        lines = VGroup(float1, text1,
                       float2, text2,
                       float3, text3)
        lines.arrange(DOWN, buff=MED_LARGE_BUFF)

        self.play(Write(lines[0:2]))
        self.wait()
        self.play(Write(lines[2:4]))
        self.wait()
        self.play(Write(lines[4:6]))
        self.wait()
        self.play(FadeOut(lines[0:6]))
        self.wait()

Logs

Terminal output

My command line is manim -ql -p MyTable.py MyTable. No errors are indicated by the output.

Manim Community v0.17.0

SingleStringMathTex('(-1)^{ ')
SingleStringMathTex('0')
SingleStringMathTex(' }')
SingleStringMathTex('2^{ ')
SingleStringMathTex('125')
SingleStringMathTex('-127}=2^{-2}')
SingleStringMathTex('[1] + ')
SingleStringMathTex(' 0 ')
[12/02/22 16:10:50] INFO     Animation 0 : Partial movie file written in        scene_file_writer.py:527
                             '/home/neal/urbit/videos/media/videos/MyTable/480p                         
                             15/partial_movie_files/MyTable/4266129954_27101181                         
                             9_223132457.mp4'                                                           
                    INFO     Animation 1 : Partial movie file written in        scene_file_writer.py:527
                             '/home/neal/urbit/videos/media/videos/MyTable/480p                         
                             15/partial_movie_files/MyTable/1442284246_32996964                         
                             5_74768480.mp4'                                                            
(and so forth)

System specifications

System Details
  • OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)): Ubuntu Linux 22.04
  • RAM: 32 GB
  • Python version (python/py/python3 --version): 3.9.7
  • Installed modules (provide output from pip list):
Package                       Version
----------------------------- --------------------
aiohttp                       3.8.1
aiosignal                     1.2.0
alabaster                     0.7.12
anaconda-client               1.11.0
anaconda-navigator            2.1.1
anaconda-project              0.11.1
anyio                         3.5.0
appdirs                       1.4.4
argon2-cffi                   21.3.0
argon2-cffi-bindings          21.2.0
arrow                         1.2.3
astroid                       2.11.7
astropy                       5.1
asttokens                     2.0.5
async-timeout                 4.0.2
atomicwrites                  1.4.0
attrs                         21.4.0
Automat                       20.2.0
autopep8                      1.6.0
Babel                         2.9.1
backcall                      0.2.0
backports.functools-lru-cache 1.6.4
backports.tempfile            1.0
backports.weakref             1.0.post1
bcrypt                        3.2.0
beautifulsoup4                4.11.1
binaryornot                   0.4.4
bitarray                      2.5.1
bkcharts                      0.2
black                         22.6.0
bleach                        4.1.0
bokeh                         2.4.3
boto3                         1.24.28
botocore                      1.27.59
Bottleneck                    1.3.5
brotlipy                      0.7.0
cachetools                    4.2.2
cairocffi                     1.3.0
CairoSVG                      2.5.2
certifi                       2022.9.24
cffi                          1.15.1
chardet                       4.0.0
charset-normalizer            2.0.4
click                         8.0.4
click-default-group           1.2.2
cloudpickle                   2.0.0
cloup                         0.13.1
clyent                        1.2.2
colorama                      0.4.5
colorcet                      3.0.1
colour                        0.1.5
commonmark                    0.9.1
conda                         22.9.0
conda-build                   3.21.5
conda-content-trust           0.1.3
conda-pack                    0.6.0
conda-package-handling        1.9.0
conda-repo-cli                1.0.24
conda-token                   0.4.0
conda-verify                  3.4.2
constantly                    15.1.0
cookiecutter                  1.7.3
cryptography                  38.0.1
cssselect                     1.1.0
cssselect2                    0.4.1
cycler                        0.11.0
Cython                        0.29.32
cytoolz                       0.12.0
daal4py                       2021.6.0
dask                          2022.7.0
datashader                    0.14.1
datashape                     0.5.4
debugpy                       1.5.1
decorator                     5.1.1
defusedxml                    0.7.1
diff-match-patch              20200713
dill                          0.3.6
distributed                   2022.7.0
docutils                      0.18.1
entrypoints                   0.4
et-xmlfile                    1.1.0
executing                     0.8.3
fastjsonschema                2.16.2
filelock                      3.6.0
flake8                        4.0.1
Flask                         1.1.2
fonttools                     4.25.0
frozenlist                    1.2.0
fsspec                        2022.10.0
future                        0.18.2
gensim                        4.1.2
glcontext                     2.3.7
glob2                         0.7
gmpy2                         2.1.2
google-api-core               2.10.1
google-auth                   2.6.0
google-cloud-core             2.3.2
google-cloud-storage          1.43.0
google-crc32c                 1.5.0
google-resumable-media        1.3.1
googleapis-common-protos      1.56.4
greenlet                      1.1.1
grpcio                        1.42.0
h5py                          3.7.0
HeapDict                      1.0.1
holoviews                     1.15.0
hvplot                        0.8.0
hyperlink                     21.0.0
idna                          3.4
imagecodecs                   2021.8.26
imageio                       2.19.3
imagesize                     1.4.1
importlib-metadata            4.11.3
incremental                   21.3.0
inflection                    0.5.1
iniconfig                     1.1.1
intake                        0.6.5
intervaltree                  3.1.0
ipykernel                     6.15.2
ipython                       7.31.1
ipython-genutils              0.2.0
ipywidgets                    7.6.5
isort                         5.9.3
isosurfaces                   0.1.0
itemadapter                   0.3.0
itemloaders                   1.0.4
itsdangerous                  2.0.1
jdcal                         1.4.1
jedi                          0.18.1
jeepney                       0.7.1
jellyfish                     0.9.0
Jinja2                        2.11.3
jinja2-time                   0.2.0
jmespath                      0.10.0
joblib                        1.1.1
json5                         0.9.6
jsonschema                    4.16.0
jupyter                       1.0.0
jupyter_client                7.3.4
jupyter-console               6.4.3
jupyter_core                  4.11.2
jupyter-server                1.18.1
jupyterlab                    3.4.4
jupyterlab-pygments           0.1.2
jupyterlab-server             2.10.3
jupyterlab-widgets            1.0.0
keyring                       23.4.0
kiwisolver                    1.4.2
lazy-object-proxy             1.6.0
libarchive-c                  2.9
llvmlite                      0.39.1
locket                        1.0.0
lxml                          4.9.1
lz4                           3.1.3
manim                         0.17.0
ManimPango                    0.4.3
mapbox-earcut                 1.0.1
Markdown                      3.3.4
MarkupSafe                    2.0.1
matplotlib                    3.5.3
matplotlib-inline             0.1.6
mccabe                        0.7.0
mistune                       0.8.4
mkl-fft                       1.3.1
mkl-random                    1.2.2
mkl-service                   2.4.0
mock                          4.0.3
moderngl                      5.7.3
moderngl-window               2.4.2
mpmath                        1.2.1
msgpack                       1.0.3
multidict                     6.0.2
multipledispatch              0.6.0
munkres                       1.1.4
mypy-extensions               0.4.3
navigator-updater             0.2.1
nbclassic                     0.4.8
nbclient                      0.5.13
nbconvert                     6.4.4
nbformat                      5.5.0
neovim                        0.3.1
nest-asyncio                  1.5.5
networkx                      2.8.4
nltk                          3.7
nose                          1.3.7
notebook                      6.4.12
notebook_shim                 0.2.2
numba                         0.56.3
numexpr                       2.8.3
numpy                         1.21.5
numpydoc                      1.5.0
olefile                       0.46
opencv-python                 4.5.5.64
openpyxl                      3.0.10
packaging                     21.3
pandas                        1.4.4
pandocfilters                 1.5.0
panel                         0.14.1
param                         1.12.0
parsel                        1.6.0
parso                         0.8.3
partd                         1.2.0
pathlib                       1.0.1
pathspec                      0.9.0
patsy                         0.5.2
pep8                          1.7.1
pexpect                       4.8.0
pickleshare                   0.7.5
Pillow                        9.2.0
pip                           22.2.2
pkginfo                       1.8.3
platformdirs                  2.5.2
plotly                        5.9.0
pluggy                        1.0.0
ply                           3.11
poyo                          0.5.0
prometheus-client             0.14.1
prompt-toolkit                3.0.20
Protego                       0.1.16
protobuf                      3.20.1
psutil                        5.9.0
ptyprocess                    0.7.0
pure-eval                     0.2.2
py                            1.11.0
pyasn1                        0.4.8
pyasn1-modules                0.2.8
pycairo                       1.23.0
pycodestyle                   2.8.0
pycosat                       0.6.4
pycparser                     2.21
pyct                          0.4.8
pycurl                        7.45.1
PyDispatcher                  2.0.5
pydocstyle                    6.1.1
pydub                         0.25.1
pyerfa                        2.0.0
pyflakes                      2.4.0
pyglet                        2.0.0
Pygments                      2.11.2
pygraphviz                    1.7
PyHamcrest                    2.0.2
PyJWT                         2.4.0
pylint                        2.14.5
pyls-spyder                   0.4.0
pynvim                        0.4.3
pyodbc                        4.0.34
pyOpenSSL                     22.0.0
pyparsing                     3.0.9
PyQt5-sip                     12.11.0
pyrr                          0.10.3
pyrsistent                    0.18.0
PySocks                       1.7.1
pytesseract                   0.3.9
pytest                        7.1.2
python-dateutil               2.8.2
python-lsp-black              1.2.1
python-lsp-jsonrpc            1.0.0
python-lsp-server             1.5.0
python-slugify                5.0.2
python-snappy                 0.6.0
pytz                          2022.1
pyviz-comms                   2.0.2
PyWavelets                    1.3.0
pyxdg                         0.27
PyYAML                        6.0
pyzmq                         23.2.0
QDarkStyle                    3.0.2
qstylizer                     0.1.10
QtAwesome                     1.0.3
qtconsole                     5.3.2
QtPy                          2.2.0
queuelib                      1.5.0
regex                         2022.7.9
requests                      2.28.1
requests-file                 1.5.1
rich                          12.6.0
rope                          0.22.0
rsa                           4.7.2
Rtree                         0.9.7
ruamel-yaml-conda             0.15.100
s3transfer                    0.6.0
scikit-image                  0.19.2
scikit-learn                  1.0.2
scikit-learn-intelex          2021.20221004.171807
scipy                         1.7.3
Scrapy                        2.6.2
screeninfo                    0.8.1
seaborn                       0.12.0
SecretStorage                 3.3.1
Send2Trash                    1.8.0
service-identity              18.1.0
setuptools                    65.5.0
sip                           6.6.2
six                           1.16.0
skia-pathops                  0.7.4
smart-open                    5.2.1
sniffio                       1.2.0
snowballstemmer               2.2.0
sortedcollections             2.1.0
sortedcontainers              2.4.0
soupsieve                     2.3.2.post1
Sphinx                        5.0.2
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        2.0.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.5
spyder                        5.3.3
spyder-kernels                2.3.3
SQLAlchemy                    1.4.39
srt                           3.5.2
stack-data                    0.2.0
statsmodels                   0.13.2
svgelements                   1.8.4
sympy                         1.10.1
tables                        3.6.1
tabulate                      0.8.10
TBB                           0.2
tblib                         1.7.0
tenacity                      8.0.1
terminado                     0.13.1
testpath                      0.6.0
text-unidecode                1.3
textdistance                  4.2.1
threadpoolctl                 2.2.0
three-merge                   0.1.1
tifffile                      2021.7.2
tinycss                       0.4
tinycss2                      1.1.1
tldextract                    3.2.0
toml                          0.10.2
tomli                         2.0.1
tomlkit                       0.11.1
toolz                         0.12.0
tornado                       6.1
tqdm                          4.64.1
traitlets                     5.1.1
Twisted                       22.2.0
typed-ast                     1.4.3
typing_extensions             4.3.0
ujson                         5.4.0
Unidecode                     1.2.0
urllib3                       1.26.12
w3lib                         1.21.0
watchdog                      2.1.6
wcwidth                       0.2.5
webencodings                  0.5.1
websocket-client              0.58.0
Werkzeug                      2.0.3
whatthepatch                  1.0.2
wheel                         0.37.1
widgetsnbextension            3.5.2
wrapt                         1.14.1
wurlitzer                     3.0.2
xarray                        0.20.1
xlrd                          2.0.1
XlsxWriter                    3.0.3
xmltodict                     0.12.0
yapf                          0.31.0
yarl                          1.8.1
zict                          2.1.0
zipp                          3.8.0
zope.interface                5.4.0
LaTeX details
  • LaTeX distribution (e.g. TeX Live 2020): texlive/jammy,jammy 2021.20220204-1 all
  • Installed LaTeX packages: (really long, texlive-full)
FFMPEG

Output of ffmpeg -version:

ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100

Additional comments

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue:bugSomething isn't working... For use in issues

    Type

    No type

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions