KatexUtils
提供一个 UIView KatexView
,用于为 iOS 应用渲染 LaTeX 表达式,它还提供了一个名为 KatexRenderer
的 KaTeX 引擎包装器,用于访问 KaTeX 的 renderToString
API。
注意:KatexUtils 仍在开发中,API 尚不稳定。如有更改,恕不另行通知。
要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install
。
使用 KatexView
创建一个 UIView 来渲染 LaTeX 公式
var katexView = KatexView(latex: "a^2 + b^2 = c^2")
使用自定义渲染选项,就像在 KaTeX 中一样
var katexView = KatexView(latex: #"c = \pm\sqrt{a^2 + b^2}\in\RR"#,
options: [
.displayMode: true,
.macros: [#"\RR"#: #"\mathbb{R}"#]
])
当 KatexView
的 frame 无法容纳整个公式时,它会自动变为可滚动。您还可以观察 status
属性来处理错误或在渲染成功完成后进行一些自定义更改。
cancellable = katexView.$status.sink { [weak self] status in
let MAXWIDTH : CGFloat = 300.0
let MAXHEIGHT : CGFloat = 100.0
let contentSize = self?.katexView.intrinsicContentSize
switch status {
case .finished:
self?.katexView.frame =
CGRect(x: 0,
y: 0,
width: min(contentSize?.width ?? .infinity, MAXWIDTH),
height: min(contentSize?.height ?? .infinity, MAXHEIGHT))
case .error(let message):
fatalError(message)
default:
return
}
}
KatexRenderer
使用 KaTeX 将 LaTeX 公式渲染为 HTML 字符串
let str = KatexRenderer.renderToString(latex: "a^2 + b^2 = c^2", options: [.displayMode : true])
有关支持的功能,请查看 KaTeX
的 文档。
KatexUtils 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod 'KatexUtils', '~> 0.3.0'
一旦你设置好你的 Swift 包,添加 KatexUtils 作为依赖项就像将其添加到你的 Package.swift
的 dependencies
值中一样简单
dependencies: [
.package(url: "https://github.com/nks5117/KatexUtils.git", .upToNextMinor(from: "0.3.0"))
]
Ni Kesu, 1026001096@qq.com
KatexUtils 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。