用scons实现tex自动化
scons-tool-texas的Python项目详细描述
这是一个scons工具(set),名为tex automated with scons(TeXAS)。它 包装几个scons构建器,以简化^{tt2}的编译$ 项目。它提供了一些您可能会发现有用的功能:
- 紧凑语法,
- 由TeXAS, 提供的构建程序之间的一致接口
- 面向编译命名的“项目”
- 为预定义目标自动生成scons别名,
- 根据项目名称自动推断目标文件名,
- 用于创建带有文档源的tarball的生成器,
- 支持variantDir,
安装
为您的项目安装此工具的方法很少。
来自pypi
如果在virtualenv下构建项目,则此方法可能更可取。到 从pypi添加德克萨斯工具,键入(在wirtualenv中):
pip install scons-tool-loader scons-tool-texas
或者,如果您的项目使用pipenv:
pipenv install --dev scons-tool-loader scons-tool-texas
或者,您可以将其添加到您的Pipfile
[dev-packages] scons-tool-loader = "*" scons-tool-texas = "*"
该工具将作为命名空间包^{tt5}安装$ 在项目的虚拟环境中。您可以进一步使用scons-tool-loader 加载工具。
作为git子模块
创建新的git存储库:
mkdir /tmp/prj &&cd /tmp/prj touch README.rst git init
将scons-tool-texas作为子模块添加:
git submodule add git://github.com/ptomulik/scons-tool-texas.git site_scons/site_tools/texas
对于python 2.x,在site_tools目录中创建__init__.py:
touch site_scons/site_tools/__init__.py
这将允许直接导入site_tools.texas(这可能是其他工具所必需的)。
用法示例
假设您有一篇名为'foo'的论文,它是从单一来源编译的 foo.tex。该报目前的版本是1.0。源文件 foo.tex包括bar.tex,而这又包括bar.eps图像。 您不确定乳胶扫描仪是否将bar.eps添加到隐式依赖项 或者不。编撰论文并分发其来源(供编辑经理使用 您可以编写简单的scons脚本:
# SConstruct env = Environment(tools = ['texas']) dvi = env.TeXASDVI('foo', version = '1.0', dvi_deps = ['bar.eps']) src = env.TeXASRmDup( dvi[0].children() ) tar = env.TeXASTarGz('foo', src, version = '1.0')
您可以编译整个项目,或只是其中的一部分:
scons -Q # build all (papers) scons -Q foo-dvi # Build only foo-1.0.dvi scons -Q foo-tgz # Create only the source tarball foo-1.0.tar.gz scons -Q foo # Build paper 'foo' (there may be more in the source tree)
有关更多示例,请参阅用户手册(请参阅GENERATING DOCUMENTATION一节)。
先决条件
要执行某些活动,您可能需要以下包(根据 任务)。
生成api文档
生成用户文档
生成文档
scons gnuplot工具有api文档和用户手册。文件 可按如下方式生成(另见要求)。
API文档
生成api文档类型:
pipenv run scons api-doc
生成的api文档将写入build/doc/api/。
用户手册
生成用户手册类型:
pipenv run scons user-doc
生成的文档将写入build/doc/user/。
许可证
版权所有(c)2013-2018 Pawel Tomulik
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 出局属于或与本软件有关,或与本软件的使用或其他交易有关。 软件