msplit
"Module Split"
Usage:
msplit [options]
Options:
--output filename of new main .tex file; default stdout
--path path where to write the module files;
--header filename of header file to be included in all new .tex files
--verbose verbose on
--stop stop when \end{document} is found, not at EOF
--help show help screen
NOTE: All options '--xoption' can be replaced by '-x' as long as there is only one option starting with 'x'
This program splits the .tex file given at input into:
one main .tex file, that includes
more .tex files, each containing one module
The name of the new main .tex file is specified by output option. The path to the inputted
files can be specified by path. The name of one generated input file is "name of the
module it contains".tex Running on one already split file will just make a copy. Example
usage: ./msplit slides.tex -o sl.tex -p ./modules -s
Interpretation: "Split the file slides.tex; wite the new main file as sl.tex and the
inputted files should be placed in ./modules; if path does not exist, it is automatically
created; stop when (uncommented) \end{document} is found."
rf
"Reuse Factor"
Usage:
rf [options]
Options:
--input .tex input file. stdin by default
--stop stop when \end{document} is found, not at EOF
--verbose verbose on
--help show help screen
This program computes the reuse factor for the .tex document given at input. This number
represents the ratio of latex processed lines of code to actual lines contained in file
given at input. This number will always be 1 for files that have no \input or \include.
Example usage:
./rf -v -i slides.tex
Interpretation: "Compute the reuse factor of slides.tex and show all processed files(verbose mode)."
sgraph
"Slides graph [representation]"
Usage:
sgraph [options]
Options:
--input .tex input file; stdin by default
--output output file; out.dot by default
--format output format; .ps by default; for available formats, see dot --help
--nodot do not generate .dot file, just target format
--root the 'root' of the graph. (name of course)
--theory generate a subgraph for the theory
--sliderange only look at the given slide range; (2:16 for example)
--stop stop reading data when \end{document} is found, not at EOF
--verbose verbose on
--help show help screen
This program generates a .dot file readable by graphviz, containing a graph of the module
usage in the .tex file given at input, optionally looking at a specific theory and/or
slide range; it also adds a dummy 'root' for the graph, so one can see where everything
starts. It then converts the .dot file to a given format (.ps by default) using graphviz
and optionally deletes the intermediary .dot file.
Example usage:
./sgraph -i slides.tex -o graph -f ps -n -t TCN --sliderange 20:10000 -r GenCS -v
Interpretation: "Generate the graph of slides.tex in .ps format, write it in graph.ps, do
not keep the .dot file; include only the part needed for the theory 'TCN' and in the slide
range 20 to 10000; use as root for the graph the string 'GenCS' and show all processed
files."
sms
??
Usage:
sms [options]
Options:
--input .tex file to split; default stdin
--verbose verbose on
--stop stop when \end{document} is found, not at EOF
--help show help screen
Generate .sms file from .tex file given at input; .sms files contain only the modules and
the macros defined within, no other text.
Example usage:
./sms -i slides.tex -s
Interpretation: "Generate the slides.sms file for slides.tex; Stop when \end{document} is found."
bms
"Build Module Structure"
Usage:
bms [options]
Options:
--input .tex file to read from
--graph if mentioned, produce the suggested module structure as
a graphviz digraph (.dot file)
--path if mentioned, produce same input file/s (including
dependencies) in specified path with suggested
module structure.
--output the new name of the main .tex file in specified path
--root if mentioned, a father module is included, so that all
other modules descend from it. generally the course name
--stop stop when \end{document} is found; default is to go on
--definitions show a list of all definitions
--verbose verbose on
--help show help screen
This program has the purpose of computing a default module structure, such that a module
uses another module if and only if it needs that module and does not need another
descendant of it. First, the prgram reads all necessary data from the input .tex file,
computes the minimal strictly required module usage structure, and writes it as a graphviz
digraph, and/or writes a copy of the input .tex file (and maybe inputted files by the .tex
file) with the new module structure in the given path. All paths are created if not
existing.
Example usage:
./bms -i slides.tex -s -g - | dot -Tps > out.ps; ggv out.ps
./bms -i slides.tex -g out.dot -p ./new
Interpretation: "Build default module structure for slides.tex and write it to out.dot;
also use the obtained module structure and copy the input file to given path with changed
module usage."
rng2dot
Convert Relax NG Compact form to Graphviz dot file