manim中提供了兩種方式來表示文字資訊,一種是 Text系列,一種是 Tex系列,
從目前我自己的使用的體驗來看,
Text系列在顯示文字資訊方面,提供了更多的的屬性來調整顯示效果,如果有大段的文字要排版,或者對文字的顯示效果要求高的話,建議使用 Text,
而 Tex系列最大的優勢是支持 Latex,也就是說它能更好的顯示數學公式,
Tex目前還不支持顯示中文,如果一段文本中既有中文又有數學公式的話,需要結合 Text和 Tex一起來顯示,
下面介紹 Text和 Tex中幾種常用的顯示文字和公式的方法,
1. Text
Text系列常用的物件主要有三種:
- Text:一般用于單行的文本
- Paragraph:一般用于多行的文本
- MarkupText:一般用于富文本顯示
1.1 一般文本
一般文本 Text支持顯示任何語言:
Text("hello world") # 英文
Text("你好,世界") # 中文
Text("こんにちは世界") # 日文
Text("Привет, мир") # 俄文
Text("????? ???????", font="sans-serif") # 阿拉伯文
運行效果:

1.2 段落文本
段落文本 Paragraph可以多行文本進行簡單的排版:
# 一首簡單的古詩
paragraph = Paragraph(
" 春曉\n",
"春眠不覺曉",
"處處聞啼鳥",
"夜來風雨聲",
"花落知多少",
)
運行效果:

1.3 帶標記文本
帶標記的文本MarkupText類似HTML,可以像 word 那樣提供一些標記文本的功能,
MarkupText("<b>bold</b> <i>斜體文字</i>")
MarkupText("<u>下劃線</u> <s>中劃線</s>")
MarkupText(
'<span underline="double">雙下劃線</span> <span underline="error">錯誤標記</span>'
)
MarkupText("下標和上標:H<sub>2</sub>O H<sub>3</sub>O<sup>+</sup>")
運行效果:

2. Tex
Tex系列的物件主要是用來顯示數學公式,基于Tex之上,manim還封裝了串列和標題兩種常用的物件,
不過,Tex默認只支持顯示英文,所以多用于顯示公式,顯示文本還是 Text系列的物件比較常用,
2.1 數學公式
Tex可以顯示任何 Latex格式的數學公式:
Tex(r"$a^2 + b^2 = c^2$")
Tex(r"$E = mc^2$")
Tex(r"$e^{i\pi} + 1 = 0$")
運行效果:

2.2 串列文本
BulletedList會將傳入的多個字串以串列的方式排列起來:
BulletedList("$a^2 + b^2 = c^2$", "$E = mc^2$", "$e^{i\pi} + 1 = 0$")
運行效果:

2.3 標題
Title自動顯示在頂部,它和 BulletedList一樣,都是為了減輕排版的負擔,
import manim
Title(f"Manim version {manim.__version__}")
運行效果:

3. 總結回顧
Text和 Tex都是用來顯示文本的,
在使用時,如果我們要顯示很多說明文字,且包括英文以外的語言文字,那么,選擇Text來顯示,
如果顯示數學公式,那么毫無疑問,只能選擇 Tex,
Tex系列的物件只能顯示英文,對于我們非英語國家來說,
我平時其實基本不怎么使用 BulletedList 和 Titlle的,
為了顯示中文,可以基于 Text封裝自己的 串列和標題 物件,
本文關聯的微信視頻號短視頻:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/549112.html
標籤:Python
上一篇:鏈式呼叫
