翼度科技»论坛 编程开发 python 查看内容

【manim动画教程】-- 文字和公式

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
manim中提供了两种方式来表示文字信息,一种是 Text系列,一种是 Tex系列。
从目前我自己的使用的体验来看,
Text系列在显示文字信息方面,提供了更多的的属性来调整显示效果。如果有大段的文字要排版,或者对文字的显示效果要求高的话,建议使用 Text。
而 Tex系列最大的优势是支持 Latex,也就是说它能更好的显示数学公式。
Tex目前还不支持显示中文,如果一段文本中既有中文又有数学公式的话,需要结合 Text和 Tex一起来显示。
下面介绍 Text和 Tex中几种常用的显示文字和公式的方法。
1. Text

Text系列常用的对象主要有三种:

  • Text:一般用于单行的文本
  • Paragraph:一般用于多行的文本
  • MarkupText:一般用于富文本显示
1.1 一般文本

一般文本 Text支持显示任何语言:
  1. Text("hello world")  # 英文
  2. Text("你好,世界")    # 中文
  3. Text("こんにちは世界") # 日文
  4. Text("Привет, мир")   # 俄文
  5. Text("مرحبا بالعالم", font="sans-serif") # 阿拉伯文
复制代码
运行效果:

1.2 段落文本

段落文本 Paragraph可以多行文本进行简单的排版:
  1. # 一首简单的古诗
  2. paragraph = Paragraph(
  3.     "   春晓\n",
  4.     "春眠不觉晓",
  5.     "处处闻啼鸟",
  6.     "夜来风雨声",
  7.     "花落知多少",
  8. )
复制代码
运行效果:

1.3 带标记文本

带标记的文本MarkupText类似HTML,可以像 word 那样提供一些标记文本的功能。
  1. MarkupText("<b>bold</b> <i>斜体文字</i>")
  2. MarkupText("<u>下划线</u> <s>中划线</s>")
  3. MarkupText(
  4.     '双下划线 错误标记'
  5. )
  6. MarkupText("下标和上标:H<sub>2</sub>O H<sub>3</sub>O<sup>+</sup>")
复制代码
运行效果:

2. Tex

Tex系列的对象主要是用来显示数学公式,基于Tex之上,manim还封装了列表标题两种常用的对象。
不过,Tex默认只支持显示英文,所以多用于显示公式,显示文本还是 Text系列的对象比较常用。
2.1 数学公式

Tex可以显示任何 Latex格式的数学公式:
  1. Tex(r"$a^2 + b^2 = c^2$")
  2. Tex(r"$E = mc^2$")
  3. Tex(r"$e^{i\pi} + 1 = 0$")
复制代码
运行效果:

2.2 列表文本

BulletedList会将传入的多个字符串以列表的方式排列起来:
  1. BulletedList("$a^2 + b^2 = c^2$", "$E = mc^2$", "$e^{i\pi} + 1 = 0$")
复制代码
运行效果:

2.3 标题

Title自动显示在顶部,它和 BulletedList一样,都是为了减轻排版的负担。
  1. import manim
  2. Title(f"Manim version {manim.__version__}")
复制代码
运行效果:

3. 总结回顾

Text和 Tex都是用来显示文本的,
在使用时,如果我们要显示很多说明文字,且包括英文以外的语言文字,那么,选择Text来显示。
如果显示数学公式,那么毫无疑问,只能选择 Tex。
Tex系列的对象只能显示英文,对于我们非英语国家来说,
我平时其实基本不怎么使用 BulletedList 和 Titlle的。
为了显示中文,可以基于 Text封装自己的 列表标题 对象。
本文关联的微信视频号短视频:


来源:https://www.cnblogs.com/wang_yb/p/17285467.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具