Package: scons-tool-texas
This is a SCons tool (set) named TeX Automated with SCons (TeXAS). It
wraps several SCons builders with the aim of simplifying compilation ofTeXprojects. It brings several features, that you may find useful:compact syntax,consistent interface between builders provided byTeXAS,oriented towards compiling named “projects”,automatic generation of SCons aliases for predefined targets,automatic deduction of target file names based on project name,builders for creating tarballs with document sources,support for VariantDir,INSTALLATIONThere are few ways to install this tool for your project.FrompypiThis method may be preferable if you build your project under a virtualenv. To
add texas tool frompypi, type (within your wirtualenv):pipinstallscons-tool-loaderscons-tool-texasor, if your project usespipenv:pipenvinstall--devscons-tool-loaderscons-tool-texasAlternatively, you may add this to yourPipfile[dev-packages]
scons-tool-loader = "*"
scons-tool-texas = "*"The tool will be installed as a namespaced packagesconstool.texasin project’s virtual environment. You may further usescons-tool-loaderto load the tool.As a git submoduleCreate new git repository:mkdir/tmp/prj&&cd/tmp/prjtouchREADME.rstgitinitAdd thescons-tool-texasas a submodule:gitsubmoduleaddgit://github.com/ptomulik/scons-tool-texas.gitsite_scons/site_tools/texasFor python 2.x create__init__.pyinsite_toolsdirectory:touchsite_scons/site_tools/__init__.pythis will allow to directly importsite_tools.texas(this may be required by other tools).USAGE EXAMPLEAssume you have a paper named'foo'which compiles from single sourcefoo.tex. The paper’s current version is1.0. The source filefoo.texincludesbar.texwhich, in turn, includesbar.epsimage.
You’re unsure, whether LaTeX scanner addsbar.epsto implicit dependencies
or not. To compile paper and distribute its sources (for editorial manager
e.g.) you may write simple SCons script:# 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')You may compile entire project, or just parts of it: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)For more examples, see user manual (see the sectionGENERATING DOCUMENTATION).PREREQUISITESTo perform certain activities, you may need the following packages (listed per
task).TO GENERATE API DOCUMENTATIONepydoc,python-docutils,python-pygments.TO GENERATE USER DOCUMENTATIONdocbook-xml,xsltproc,GENERATING DOCUMENTATIONScons gnuplot tool has an API documentation and user manual. The documentation
may be generated as follows (see also REQUIREMENTS).API DOCUMENTATIONTo generate API documentation type:pipenv run scons api-docThe generated API documentation will be written tobuild/doc/api/.USER MANUALTo generate user manual type:pipenv run scons user-docThe generated documentation will be written tobuild/doc/user/.LICENSECopyright (c) 2013-2020 by Paweł TomulikPermission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE