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