K烤饼用工具
scons-tool-kpsewhich的Python项目详细描述
此工具为SCons提供与kpswhich实用程序的接口。关键人物 程序是kpathsea库的一部分,而库又是tex live的一部分。 分配。其目的是在TeX directory structure中搜索 (TDS)用于文件,如tex类、样式、bibtex数据库、字体等 更多信息请参见kpathsea manual和TeX 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子模块
创建新的git存储库:
mkdir /tmp/prj &&cd /tmp/prj touch README.rst git init
将scons-tool-kpsewhich作为子模块添加:
git submodule add git://github.com/ptomulik/scons-tool-kpsewhich.git site_scons/site_tools/kpsewhich
对于python 2.x,在site_tools目录中创建__init__.py:
touch site_scons/site_tools/__init__.py
这将允许直接导入site_tools.kpsewhich(这可能是其他工具所必需的)。
用法示例
查找由latex:
使用的文件article.cls和amsmath.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()方法的关键字参数提供。
Variable | Description |
---|---|
^{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。所有其他参数都被KPSFindFiles和 KPSFindAllFiles。
Variable | Description |
---|---|
^{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
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件