TeX/LaTeX/PDFLaTeX/XeLaTeX support
Example:
def configure(conf):
conf.load('tex')
if not conf.env.LATEX:
conf.fatal('The program LaTex is required')
def build(bld):
bld(
features = 'tex',
type = 'latex', # pdflatex or xelatex
source = 'document.ltx', # mandatory, the source
outs = 'ps', # 'pdf' or 'ps pdf'
deps = 'crossreferencing.lst', # to give dependencies directly
prompt = 1, # 0 for the batch mode
)
To configure with a special program use:
$ PDFLATEX=luatex waf configure
Parse the inputs and try to find the bibunit dependencies
Returns: | list of bibunit files |
---|---|
Return type: | list of waflib.Node.Node |
List of typical file extensions included in latex files
List of typical file extensions that contain latex
Regexp for expressions that may include latex files
Regexp for bibtex files
Bases: waflib.Task.Task
Compile a tex/latex file.
A recursive regex-based scanner that finds latex dependencies. It uses waflib.Tools.tex.re_tex
Depending on your needs you might want:
to change re_tex:
from waflib.Tools import tex
tex.re_tex = myregex
or to change the method scan from the latex tasks:
from waflib.Task import classes
classes['latex'].scan = myscanfunction
Check an exit status and raise an error with a particular message
Parameters: |
|
---|
Parse the .aux files to find a bibfile to process. If yes, execute waflib.Tools.tex.tex.bibtex_fun()
Parse the .aux file to find bibunit files. If there are bibunit files, execute waflib.Tools.tex.tex.bibtex_fun().
Look on the filesystem if there is a .idx file to process. If yes, execute waflib.Tools.tex.tex.makeindex_fun()
Execute the program bibtex
Execute the program makeindex
Decorator: register a task generator method that will be executed when the object attribute ‘feature’ contains the corresponding key(s):
from waflib.Task import feature
@feature('myfeature')
def myfunction(self):
print('that is my feature!')
def build(bld):
bld(features='myfeature')
Parameters: | k (list of string) – feature names |
---|
Decorator: register a task generator method which will be executed before the functions of given name(s):
from waflib.TaskGen import feature, before
@feature('myfeature')
@before_method('fun2')
def fun1(self):
print('feature 1!')
@feature('myfeature')
def fun2(self):
print('feature 2!')
def build(bld):
bld(features='myfeature')
Parameters: | k (list of string) – method names |
---|
Wrap logging.warn
Wrap logging.errors, display the origin of the message when ‘-vv’ is set
Wrap logging.debug, the output is filtered for performance reasons
Task generator method
Create waflib.Tools.tex.tex objects, and dvips/dvipdf/pdf2ps tasks if necessary (outs=’ps’, etc).
Feature : | tex |
---|
Try to find the programs tex, latex and others. Do not raise any error if they are not found.
Features defined in this module: