Automated build
1 Program to automatically build .scrbl files
If you have several .scrbl files, executing the scribble command could become tedious.
To address this, I wrote a simple build script bystrotex.rkt. The best way to use it is
to compile first:
raco exe bystrotex.rkt |
This produces an executable file bystrotex. Just put it somewhere on your PATH
(for example in /usr/local/bin/).
2 XML configuration file
Notice that the sample folder examples/bystroTeX_manual contains the file bystrotex.xml,
which describes the build configuration.
In that sample folder, execute the command:
bystrotex |
It will read the configuration from bystrotex.xml and build accordingly.
To cleanup, say:
bystrotex -c |
The syntax of bystrotex.xml is described in schemas/bystrotex.rnc
Notice that <name>filename</name> corresponds to the file filenames.scrbl.
3 Avoiding conflicts
A problem is likely to arise when you have more than one singlepage .scrbl files in the same directory.
For example, suppose that you have file1.scrbl and file2.scrbl which are both singlepage.
The following example of bystrotex.xml:
<scribbling> |
<name>file1</name> |
</scribbling> |
<scribbling> |
<name>file2</name> |
</scribbling> |
is very wrong, for the following reason. Both of them will create the formula
files, e.g. 1.svg and 2.svg and this will result in confict!
(The formulas will get mixed up)
The correct configuration would be:
<scribbling> |
<name>file1</name> |
<dest>file1</dest> |
</scribbling> |
<scribbling> |
<name>file2</name> |
<dest>file2</dest> |
</scribbling> |
or:
<scribbling> |
<name>file1</name> |
<formulas-dir>file1_formulas</formulas-dir> |
</scribbling> |
<scribbling> |
<name>file2</name> |
<formulas-dir>file2_formulas</formulas-dir> |
</scribbling> |
4 Building individual files
You can also build individual files. To build two files, say:
bystrotex filename1 filename2 |
This is equivalent to:
bystrotex filename1. filename2.scrbl |
The trailing dot is stripped to facilitate the use of TAB completion.