summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-make.html
blob: 18971011cad4e939efb104fb8bd472edb1eba5d1 (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
<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/>For this reason, the only <i>make</i>-like package on CTAN
(for a long time) 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, and currently (2007) under active
development, 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/>Windows users of the MiKTeX system may use that systems
<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="ftp://cam.ctan.org/tex-archive/support/autolatex.zip">support/autolatex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/autolatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/autolatex/">browse</a>)
<dt><tt><i>FAQ distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.zip">help/uk-tex-faq</a> (<a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/">browse</a>)
<dt><tt><i>latexmake</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexmake.zip">support/latexmake</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexmake.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexmake/">browse</a>)
<dt><tt><i>latexmk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexmk.zip">support/latexmk</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexmk.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexmk/">browse</a>)
<dt><tt><i>texi2dvi</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo/">browse</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>