用scons实现tex自动化

scons-tool-texas的Python项目详细描述


PyPi package versionTravis CI build statushttps://ci.appveyor.com/api/projects/status/github/ptomulik/scons-tool-texas?svg=true

这是一个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子模块

  1. 创建新的git存储库:

    mkdir /tmp/prj &&cd /tmp/prj
    touch README.rst
    git init
    
  2. scons-tool-texas作为子模块添加:

    git submodule add git://github.com/ptomulik/scons-tool-texas.git site_scons/site_tools/texas
    
  3. 对于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一节)。

先决条件

要执行某些活动,您可能需要以下包(根据 任务)。

生成用户文档

生成文档

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

兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的拷贝或大部分。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 出局属于或与本软件有关,或与本软件的使用或其他交易有关。 软件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓在java中加入字符串组以创建复合字符串   java系统甚至不点击“下一步”或“上一步”按钮就将我返回到上一页,而不是进入下一页   java如何在arrayList中获取特定列的不同值   CXF GZIP REST JAVA   Java:使用大量半恒定标志检查优化循环中的循环?   java如何在两个应用程序之间进行会话管理?   java SVG文件使用蜡染(但没有轴线)转换为PNG   使用协议缓冲区和内部数据模型的java   java如何在logtag 安卓中打印和查看字符串的值   javascript如何在NodeJs中应用Java/Spring的分层架构?   java Spring URL在JSP中编码不正确   模式对话框后面的java工具提示   java WSRPC生成日历对象而不是日期   在对象外部无法识别类变量   java将图像从文件读/写到BuffereImage的最快方法?   JavaSpring数据存储库对具有不同Id的子类使用抽象超类   安全在Java 5.0上运行web应用程序服务器有危险吗?