KatexUtils 0.3.4

KatexUtils 0.3.4

Ni Kesu维护。



  • 作者
  • nikesu

KatexUtils

KatexUtils 为 iOS 应用提供了用于渲染 LaTeX 公式的 KatexViewUIView。它还提供了一个名为 KatexRenderer 的 KaTeX 引擎包装器,以便访问 KaTeX 的 renderToString API。

Version License Platform

注意: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 文件。