K烤饼用工具

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


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

此工具为SCons提供与kpswhich实用程序的接口。关键人物 程序是kpathsea库的一部分,而库又是tex live的一部分。 分配。其目的是在TeX directory structure中搜索 (TDS)用于文件,如tex类、样式、bibtex数据库、字体等 更多信息请参见kpathsea manualTeX directory structure(tds)信息。

此工具将新方法附加到scons环境。它没有提供任何 构建器,而是用调用 kpsewhich程序在sconscript读取阶段。这个工具没有 生成任何文件,它被认为是获取文本的扩展 来自外部程序的信息。

安装

为您的项目安装此工具的方法很少。

来自pypi

如果在virtualenv下构建项目,则此方法可能更可取。到 从pypi添加kpsewhich工具,键入(在您的wirtualenv中):

pip install scons-tool-loader scons-tool-kpsewhich

或者,如果您的项目使用pipenv

pipenv install --dev scons-tool-loader scons-tool-kpsewhich

或者,您可以将其添加到您的Pipfile

[dev-packages]
scons-tool-loader = "*"
scons-tool-kpsewhich = "*"

该工具将作为命名空间包^{tt3}安装$ 在项目的虚拟环境中。您可以进一步使用scons-tool-loader 加载工具。

作为git子模块

  1. 创建新的git存储库:

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

    git submodule add git://github.com/ptomulik/scons-tool-kpsewhich.git site_scons/site_tools/kpsewhich
    
  3. 对于python 2.x,在site_tools目录中创建__init__.py

    touch site_scons/site_tools/__init__.py
    

    这将允许直接导入site_tools.kpsewhich(这可能是其他工具所必需的)。

用法示例

查找由latex

使用的文件article.clsamsmath.sty
env=Environment(tools=['tex','kpsewhich'])files=env.KPSFindFiles(['article.cls','amsmath.sty'],progname='$LATEX')

查找TDS中出现的所有^{TT10}$文件:

env=Environment(tools=['kpsewhich'])files=env.KPSFindAllFiles('unicode.sty')

其他函数(直接对应于kpsewhich函数选项):

texmf=env.KPSExpandBraces('a{b,c}d')# kpsewhich -expand-braces 'a{b,c}d'texmf=env.KPSExpandPath('$TEXMF')# kpsewhich -expand-path '$TEXMF'texmf=env.KPSExpandVar('$TEXMF')# kpsewhich -expand-var '$TEXMF'texpath=env.KPSShowPath('tex')# kpsewhich -show-path 'tex'home=env.KPSVarValue('TEXMFHOME')# kpsewhich -var-value 'TEXMFHOME'

构造变量

以下构造变量可用于配置kpsewhich 工具它们也可以作为KPSXxx()方法的关键字参数提供。

VariableDescription
^{tt14}$the ^{tt1}$ executable
^{tt16}$additional flags to ^{tt1}$
^{tt18}$(re)define variables for ^{tt1}$

KPSVARIABLES必须是形式为{ NAME : VALUE }的词典, 例如:

KPSVARIABLES={"TEXMFHOME":"/home/ptomulik/texmf"}

参数

一些KPSXxx()方法接受这些参数。所有方法都接受 progname。所有其他参数都被KPSFindFilesKPSFindAllFiles

VariableDescription
^{tt26}$corresponds to ^{tt27}$ flag,
^{tt28}$corresponds to ^{tt29}$ flag,
^{tt30}$corresponds to ^{tt31}$ flag
^{tt23}$corresponds to ^{tt33}$ flag
^{tt34}$corresponds to ^{tt35}$ flag

许可证

版权所有(c)2013-2018 Pawel Tomulik

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

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

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

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

推荐PyPI第三方库


热门话题
java LineNumberReader。如果查询行为不正确,则返回readLine()   java包含了一个使用AndroidX的工具栏,这让我的应用程序崩溃了   JVM设置通过“java jar”运行应用程序的最佳实践   java如何获取ImageButton宽度   java Oracle SQLLDR实用程序无响应   列出Java获取对象的arrayList中最常见的元素   java使用带有FlowLayout的getContentpane对布局应用更改,但不起作用为什么?   在java中,我可以在画布上绘制画布吗?   编译游戏代码时发生java异常错误   从firestore获取java Webview失败   java将TableLayout中单元格的内容向右对齐   java无法在发布模式下启动活动(使用proguard安卓optimize配置)   java允许在线程期间进行GUI更新。睡觉   java如何对以变量为列表的列表进行排序   API URL上的java Google云端点异常