summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-make.html
blob: a82c700079cada01f1e6e1f05affda94ce030a64 (plain)
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, &ldquo;get the table of contents stable&rdquo;, &ldquo;get the
labels stable&rdquo;, &ldquo;add the bibliography&rdquo;, &ldquo;add the index&rdquo;) is
actually rather difficult to express in the &lsquo;ordinary&rsquo; 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&rsquo; 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&rsquo;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&rsquo;s scripts script called <i>vpp</i> (View and Print
PostScript/PDF).
<p/>Windows users of the MiKTeX system may use that system&rsquo;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 &ldquo;converting&rdquo;
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&rsquo;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://www.tex.ac.uk/tex-archive/support/autolatex.zip">support/autolatex</a> (or <a href="http://www.tex.ac.uk/tex-archive/support/autolatex/">browse the directory</a>)
<dt><tt><i>FAQ distribution</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq.zip">help/uk-tex-faq</a> (or <a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/">browse the directory</a>)
<dt><tt><i>latexmake</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/support/latexmake.zip">support/latexmake</a> (or <a href="http://www.tex.ac.uk/tex-archive/support/latexmake/">browse the directory</a>)
<dt><tt><i>latex-make</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/support/latex-make.zip">support/latex-make</a> (or <a href="http://www.tex.ac.uk/tex-archive/support/latex-make/">browse the directory</a>)
<dt><tt><i>latex_make</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/support/latex_maker.zip">support/latex_maker</a> (or <a href="http://www.tex.ac.uk/tex-archive/support/latex_maker/">browse the directory</a>)
<dt><tt><i>latexmk</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/support/latexmk.zip">support/latexmk</a> (or <a href="http://www.tex.ac.uk/tex-archive/support/latexmk/">browse the directory</a>)
<dt><tt><i>texi2dvi</i></tt><dd>Distributed as part of <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (or <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo/">browse the directory</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>