2017-05-06 143 views
0

是否可以在Python代碼中加載Latex包(如使用\usepackage)?例如,我想生成a variant font of the Greek letter \tau在Python中加載latex包(特別是對於符號/字母的變體)

Detexify建議在​​Latex中加載upgreek包,然後使用\uptau作爲符號。

如果這是不可能的,可以採取什麼樣的替代方法?

+0

最後經過幾次搜索,我發現'pgf'在'matplotlib'上下文中很有用,這個鏈接有一些工作示例:https://matplotlib.org/users/pgf.html。 – hbaromega

回答

1

你想對這些角色做什麼?

據我所知,python不會原生支持這一點,因爲它無法將這些字符打印到shell。它只有natively supports unicode。有一些希臘字符可用。

如果你想顯示它們,那麼matplotlib可能是一個很好的開始。

+0

的確,我想在劇情的傳說/標籤中使用它。 (我需要編輯我的問題嗎?) – hbaromega

+0

然後我會按照matplotlib鏈接;如果你想使用包,你可能不得不使用自己的LaTeX來構建它,而不是使用內置的。你可以在這裏找到更多細節(https://matplotlib.org/users/usetex.html#usetex-tutorial)。 –

+1

謝謝,但鏈接並不知道如何加載TeX軟件包。我發現使用'pgf'很有用,可以在這裏找到演示(https://matplotlib.org/users/pgf.html)。對於我的例子,我已經用'\ upgreek'軟件包進行了測試,併成功地呈現了'\ uptau'符號。 :) – hbaromega

0

現代TeX引擎支持TrueType(ttf)和OpenType(otf)格式的字體。

使用Python bindingsexample)至cairopango庫,你應該能夠使用這些字體。可以使用freetype-py。這將從字體加載字符作爲位圖。

如果沒有關於字體的更多信息,哪一個最適合您的目的很難說。 如果你想輸出PDF或SVG格式的文本小部分,cairo將是要走的路。

據我所知,Python(也不是cairo)都不能處理MetaFont字體。

第三種方法是讓腳本輸出(La)TeX代碼,然後讓TeX引擎渲染它。如果您需要渲染大量文本,這將是我的選擇,因爲TeX可以處理格式化,斷行連字符和其他排版相關問題。

相關問題