KatexUtils
KatexUtils
为 iOS 应用提供了用于渲染 LaTeX 公式的 KatexView
UIView。它还提供了一个名为 KatexRenderer
的 KaTeX 引擎包装器,以便访问 KaTeX 的 renderToString
API。
注意:KatexUtils 正处于开发中,API 不可保证为稳定。它可能会在没有警告的情况下更改。
示例
要运行示例项目,请克隆仓库,然后从 Example 目录首先运行 pod install
使用方法
使用 KatexView
创建一个渲染 LaTeX 公式的 UIView
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 文档
要求
- iOS 13.0
- Swift 5.3
安装
CocoaPods
KatexUtils 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile
pod 'KatexUtils', '~> 0.3.0'
使用 Swift 包管理器安装
设置好 Swift 包之后,将 KatexUtils 作为依赖项添加到 Package.swift
中的 dependencies
值就像添加它一样简单
dependencies: [
.package(url: "https://github.com/nks5117/KatexUtils.git", .upToNextMinor(from: "0.3.0"))
]
作者
Ni Kesu,[email protected]
许可
KatexUtils 遵循 MIT 许可。有关更多信息,请参阅 LICENSE 文件。