39个版本 (6个重大更改)
| 0.7.2 | 2023年4月29日 |
|---|---|
| 0.6.1 | 2023年3月23日 |
| 0.3.3 | 2022年12月6日 |
| 0.3.0 | 2022年11月30日 |
| 0.1.0 | 2022年7月19日 |
#649 in 文本处理
每月27次 下载
在 4 crate 中使用
69KB
2K SLoC
TexCore
TexCore 库遵循 MIT 许可证
TexCore 是一个库,允许开发人员使用原生 Rust 类型编写 LaTeX。我们还提供了使用 Rust 构建的 LaTeX 编译器 tectonic 编译代码的功能。
将其添加到您的项目中
[dependencies]
texcore = "0.7"
编译功能
为了使此库能够在 Windows 系统上运行,我已经将 tectonic 依赖项设置为可选,并且仅在 compile 功能下可用。这意味着函数 texcore::compile() 和 ElementList::compile() 被隐藏在此功能之下。
[dependencies]
texcore = { version = "0.7", features = ["compile"] }
TexCreate 模板功能
为了更容易地与 TexCreate 项目一起开发,我决定将 texcreate-templates 部分添加到 texcreate_template 功能中。
texcore = { version = "0.7", features = ["texcreate_template"] }
异步功能
此功能提供使用类型 TexAsync 的异步选项,它不是一个特质,而是一个需要 T 实现 Tex 的泛型结构体。不使用特质的原因是特质中的异步方法尚不稳定。最重要的是,我们从 future 模块中获得了以下函数
async_latex_string<T:Tex>(t: &T) ->implFuture<Output=String> + SendElement<Any>::async_latex_string()ElementList::async_latex_string()ElementList::async_latex_split_string()ElementList::async_write()ElementList::async_split_write()
使用异步写入操作的优势在于它们是并发执行的,而且在 async_split_write() 中,写入每个文件的任务是并行执行的。
texcore = { version = "0.7", features = ["async"] }
并行功能
本功能利用 rayon 库,使 ElementList 包含以下功能:
ElementList::par_write()ElementList::par_write_split()ElementList::par_iter()ElementList::par_iter_mut()
texcore = { version = "0.7", features = ["parallel"] }
完整功能
要启用上述所有功能,可以使用 full 功能。
texcore = { version = "0.7", features = ["full"] }
0.7 版本中添加的模块
bundle模块提供类型,以便轻松添加到您的文档中- 在模块
graphicx下使用包添加图片 - 在模块下添加数学符号或方程,
texcore::bundle::math
- 在模块
- 可以使用
modify_element()函数为元素添加额外参数- 此功能位于
texcore::extra_ops模块下
- 此功能位于
在此处阅读文档 here
依赖项
~0.4–17MB
~227K SLoC