5 个版本
0.2.3 | 2023年7月26日 |
---|---|
0.2.2 | 2023年7月15日 |
0.1.9 | 2023年7月3日 |
0.1.3 |
|
#55 in #tex
每月下载量 104
37KB
1K SLoC
德州
目的
本 crate 并没有涵盖您可以使用 LaTeX 完成的各种事情。相反,它试图提供一些最基本功能的友好 API。此外,它不会捕获大多数 LaTeX 错误。
这也是我第一次进入开源世界,因此欢迎和感谢建设性的批评。 https://github.com/Abhay478/Texas/issues
基本功能
- 主要类型是
Document
,您可以随心所欲地填充它。可以这样写入文件
let mut q = File::create("file.tex")?;
let doc = document!("book");
write!(q, "{}", doc.to_string())?
- 文档可以填充
Component
、Package
和Command
。它们可以通过函数和宏创建。 Component
是一个枚举,每个变体包含一个单独的结构体。如果一个组件impl
了Populate
特性,您可以用更多Component
填充它,然后像这样将其安装到Document
中
let mut p1 = part!("one");
p1.attach(chapter!("c1"))?
.attach(chapter!("c2"))?; // and so on.
p1.attach_vec(vec![chapter!("c3"); 2])?;
doc.new_component(p1);
Command
可以这样创建和安装
doc.new_command(Command::new("brak", 1, "\\ensuremath{\\left(#1\\right)}"));
- 并且可以在文中这样调用命令
let mut p1 = section!("one");
p1.attach(command!(doc, "brak", "hello there"))?;
- 最终将添加从代码生成类似
ensuremath
的功能。 - 包可以像这样创建和安装
doc.new_package(package!("parskip", "parfill"));
- 还有一个
Opt
特性,允许为命令添加选项(如目前usepackage
和documentclass
)。
日志
-
0.1.7
package!
宏不起作用,已修复。- 将模块移到前面(在
lib.rs
中重新导出)以方便使用。
-
0.1.8
- 小错误。由于
Line
代码导致的 LaTeX 错误。
- 小错误。由于
-
0.1.9
- 将结构体引入作用域。
-
0.2.1
- 现在有了文档。
-
0.2.2
- 图像和表格。
- 修复了一些文档的小问题。
- 修复了
package!
宏的另一个问题。最初并没有真正致命。
-
0.2.3
- 小清理。
- 最终添加了 ensuremath 功能。还将添加更多。