#latex #config-file #template #creator #name #projects #user

app texcreate

Mustafif Khan 开发的 LaTeX 项目创建器

48 个版本 (14 个稳定版)

3.2.0 2023年6月21日
3.0.0-beta.92023年3月19日
2.2.1 2022年4月19日
2.0.0-beta.22022年3月24日
0.7.2 2021年11月23日

模板引擎 中排名第 86

Download history 5/week @ 2024-04-13

每月下载量 137

MIT 许可证

250KB
767

Mustafif Khan 的 TexCreate

Crates.io Lines of code Crates.io GitHub top language

"Buy Me A Coffee"

此项目遵循 MIT 许可证

TexCreate 是一个 LaTeX 项目创建器,允许用户使用配置文件轻松创建项目,配置文件将定义模板、项目名称和元数据。与 10 个月前最后更新的版本 2 相比,版本 3 侧重于模板模块化和稳定性。

模板模块化是什么意思?

在之前的版本中,模板以某种方式嵌入在程序代码中,例如,在版本 2 中,我们看到使用 texc_latex crate 实现了这一点。然而,这限制了用户可用的模板数量,因为他们必须等待小版本更新才能看到模板的增加。所以……这是如何解决的?这个问题通过两个部分解决,首先是通过创建开源模板生成器 texcgen(注意:TexCreate 模板使用分叉 mkproj_texcgen 构建),第二部分是在网络服务 texcweb 中完成的。通过使用我开发的方便的 texcore 库将模板放入 JSON 文件,可以轻松下载最新版本,并且 TexCreate 能够通过 texcweb 了解这些更新。

如果您是从早期的测试版(在 Beta 9 之前)更新到稳定版,请确保更新到最新的模板仓库(目前为 v2)。由于 TexCore 从 0.4.17 更新到 0.6.0,早期模板已损坏。要更新到最新模板,请使用命令 texcreate update

如何开始?

安装

Cargo 方法

# make sure to have rust installed 
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# install via Cargo 
$ cargo install texcreate

Debian 方法

# this method is only for Debian amd64 Linux systems
# will automatically install autocomplete 
$ curl --proto '=https' https://texcreate.mkproj.com/sh | sudo sh

设置自动完成

此示例将展示如何为 bash shell 进行自动完成

$ apt-get install bash-completion -y
$ texcreate gen-complete --shell bash
$ mv texcreate.bash /usr/share/bash-completion/completions/

TexCreate的新特性是模板在本地目录中存储,该目录为$HOME/.texcreate,其结构如下所示

$HOME/.texcreate/
                # where MKProj first party templates are saved
                mkproj/
                # where custom generated templates are saved
                custom/

要设置此目录结构,您需要运行以下命令

$ texcreate init 

要创建一个新的配置文件,您需要使用new命令。v2和v3的区别在于默认使用texcreate.toml而不是config.toml,并且可以使用不同的文件名。让我们创建一个新的项目

$ texcreate new 
Use default project settings? (yes/no)
no
Enter Project Name: 
name
Enter Template Repo: 
mkproj
Enter Template Name: 
basic
Enter config file name (default: texcreate.toml): 
myfirst.toml
Successfully created `myfirst.toml`

如果我们查看myfirst.toml,我们可以看到以下内容

packages = []

[project]
proj_name = "name"
template = "basic"
repo = "mkproj"

[metadata]
author = "author"
date = "date"
title = "title"
fontsize = 11
doc_class = "article"
maketitle = true

最后,使用build命令来构建项目

# when using build, if name isn't `texcreate.toml`, use flag -f 
$ texcreate build -f myfirst.toml
Successfully created `name`

如果我们在这个项目中使用ls,我们可以看到以下结构

$ ls 
include  name.tex compiler.toml out

要编译,我们可以使用compile命令,请注意,您可以在compiler.toml文件中更改使用的LaTeX编译器。创建项目时默认为pdflatex

# make sure to be in project root
$ texcreate compile 
$ ls out 
name.pdf 

请确保不要更改proj_name字段在compiler.toml中,否则命令将无法编译。

依赖项

~32–65MB
~1M SLoC