在 Manim 中使用 NiceMatrix 时的间距问题

在 Manim 中使用 NiceMatrix 时的间距问题

我正在尝试将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()

给出以下输出:

bNiceMatrix 输出

我查看了 Manim 在编译过程中生成的临时文件tex/ log/ dvi,一切似乎都很正常,好像问题发生在后续过程中,当dvi转换为 时svg如果我将 换成bNiceMatrix简单的bmatrix,则渲染是正确的:

在此处输入图片描述

知道发生了什么吗?我希望在这里找到矩阵和 Manim 专家。提前致谢。

答案1

问题出在 Manim 使用将文件dvisvgm转换为时。虽然 Manim 没有输出任何错误,但在转换文件时遇到了问题,如果您单独调用它,它会显示与 Ghostscript 有关的问题,该脚本需要用于特殊字符的转换,但无法找到。dvisvgdvisvgm

我无法通过--libgs=/usr/...在调用时使用参数手动链接到 Ghostscript dvisvgm。我终于找到了一个可行的解决方案,它包括

  1. 使用 Homebrew 安装 Ghostscript
  2. 调整 /usr/local 文件夹中的权限(不理想,但有效)
  3. 添加指向 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 (自制)

相关内容