我正在尝试将nicematrix
对象合并到 Manim 视频中,但遇到了一些间距问题。
代码
from manim import *
class Chap8_Recap36b(Scene):
def construct(self):
# self.camera.background_color = WHITE
myTex = TexTemplate()
myTex.add_to_preamble(r'\usepackage{nicematrix}')
self.wait()
line1 = MathTex(r'\begin{bNiceMatrix}a & b \end{bNiceMatrix}', tex_template = myTex)
# line1.scale(0.5)
self.play(Write(line1))
self.wait()
给出以下输出:
我查看了 Manim 在编译过程中生成的临时文件tex
/ log
/ dvi
,一切似乎都很正常,好像问题发生在后续过程中,当dvi
转换为 时svg
如果我将 换成bNiceMatrix
简单的bmatrix
,则渲染是正确的:
知道发生了什么吗?我希望在这里找到矩阵和 Manim 专家。提前致谢。
答案1
问题出在 Manim 使用将文件dvisvgm
转换为时。虽然 Manim 没有输出任何错误,但在转换文件时遇到了问题,如果您单独调用它,它会显示与 Ghostscript 有关的问题,该脚本需要用于特殊字符的转换,但无法找到。dvi
svg
dvisvgm
我无法通过--libgs=/usr/...
在调用时使用参数手动链接到 Ghostscript dvisvgm
。我终于找到了一个可行的解决方案,它包括
- 使用 Homebrew 安装 Ghostscript
- 调整 /usr/local 文件夹中的权限(不理想,但有效)
- 添加指向 Homebrew 版本 Ghostscript 的 LIBGS 环境变量(因为 Manim 在调用时不使用手动链接
dvisvgm
)
我们在以下信息链中找到了解决方案:https://tug.org/pipermail/macostex-archives/2020-October/057374.html
希望这可以帮助未来的 Manim 用户。
我的设置:
- OS X Big Sur 11.4
- 2021 年 MacTex 展会
- Manim 社区 v0.12.0
- dvisvgm 2.11.1
- Ghostscript 9.55.0 (自制)