1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<head>
<title>UK TeX FAQ -- question label make</title>
</head><body>
<h3>Makefiles for LaTeX documents</h3>
<p/>LaTeX is a tricky beast for running <i>make</i> on: the need to
instruct LaTeX to run several times for essentially different
reasons (for example, “get the table of contents stable”, “get the
labels stable”, “add the bibliography”, “add the index”) is
actually rather difficult to express in the ‘ordinary’ sort of
dependency graph that one constructs for <i>make</i>.
<p/>The <i>latex-make</i> package offers help with this task (far more
sophisticated techniques than in the FAQ building script); it
looks good, but reports of its use (other than by its author) are scarce.
<p/>For a long time, the only <i>make</i>-like package on CTAN
was <i>latexmk</i>, which is a <i>Perl</i>
script that analyses your LaTeX source for its dependencies, runs
BibTeX or <i>makeindex</i> as and when it notices that those
programs’ input (parts of the <code>.aux</code> file, or the
<code>.idx</code> file, respectively) has changed, and so on.
<i>Latexmk</i> is a fine
solution (and was used in generating printable versions of these
FAQs for a long time); it has recently been upgraded and has
many bells and whistles that allow it to operate as if it were a poor
man’s WYSIWYG system.
<p/>Apparently along the same lines, is AutoLaTeX. The <i>README</i>
of the distribution is actual a Unix-type man-page output, and shows
great attention to the details of the document production process.
<p/>The <i>mk</i> (also, apparently, known as <i>latex_maker</i>)
is a Ruby script for the task in hand; it works well with another of
the author’s scripts script called <i>vpp</i> (View and Print
PostScript/PDF).
<p/>Windows users of the MiKTeX system may use that system’s
<i>texify</i> application. <i>Texify</i> deals with basic
LaTeX features, including generating a bibliography and an index;
it makes no claim to deal with other things (such as multiple
bibliographies or indexes, or lists of terminology, etc.), which
AutoLaTeX can be configured to process.
<p/>The <a href="FAQ-texinfo.html"><i>texinfo</i> system</a> comes with a similar
utility called <i>texi2dvi</i>, which is capable of “converting”
either LaTeX or <i>texinfo</i> files into DVI (or into
PDF, using PDFTeX).
<p/>A later contribution is the bundle <i>latexmake</i>, which
offers a set of <i>make</i> rules that invoke <i>texi2dvi</i>
as necessary.
<p/>The curious may examine the rules employed to run the present
FAQ through LaTeX: we don’t present them as a complete
solution, but some of the tricks employed are surely re-usable.
<dl>
<dt><tt><i>AutoLaTeX</i></tt><dd><a href="http://mirror.ctan.org/support/autolatex.zip">support/autolatex</a> (or <a href="http://mirror.ctan.org/support/autolatex/">browse the directory</a>)
<dt><tt><i>FAQ distribution</i></tt><dd><a href="http://mirror.ctan.org/help/uk-tex-faq.zip">help/uk-tex-faq</a> (or <a href="http://mirror.ctan.org/help/uk-tex-faq/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/uk-tex-faq.html">catalogue entry</a>
<dt><tt><i>latexmake</i></tt><dd><a href="http://mirror.ctan.org/support/latexmake.zip">support/latexmake</a> (or <a href="http://mirror.ctan.org/support/latexmake/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/latexmake.html">catalogue entry</a>
<dt><tt><i>latex-make</i></tt><dd><a href="http://mirror.ctan.org/support/latex-make.zip">support/latex-make</a> (or <a href="http://mirror.ctan.org/support/latex-make/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/latex-make.html">catalogue entry</a>
<dt><tt><i>latex_make</i></tt><dd><a href="http://mirror.ctan.org/support/latex_maker.zip">support/latex_maker</a> (or <a href="http://mirror.ctan.org/support/latex_maker/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/mk.html">catalogue entry</a>
<dt><tt><i>latexmk</i></tt><dd><a href="http://mirror.ctan.org/support/latexmk.zip">support/latexmk</a> (or <a href="http://mirror.ctan.org/support/latexmk/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/latexmk.html">catalogue entry</a>
<dt><tt><i>texi2dvi</i></tt><dd>Distributed as part of <a href="http://mirror.ctan.org/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (or <a href="http://mirror.ctan.org/macros/texinfo/texinfo/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/texinfo.html">catalogue entry</a>
</dl>
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=make">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=make</a>
</body>
|