<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>6.3 Compiling multiple times</title><link rel="stylesheet" type="text/css" href="../latex-suite.css"></link><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"></meta><link rel="home" href="index.html" title="Latex-Suite Reference"></link><link rel="up" href="latex-compiling.html" title="6 LaTeX Compiling"></link><link rel="prev" href="compiler-dependency.html" title="6.2 Handling dependencies in compilation"></link><link rel="next" href="compiler-output-customization.html" title="6.4 Customizing the compiler output"></link></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.3 Compiling multiple times</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="compiler-dependency.html">Prev</a> </td><th width="60%" align="center">6 LaTeX Compiling</th><td width="20%" align="right"> <a accesskey="n" href="compiler-output-customization.html">Next</a></td></tr></table><hr></hr></div><div class="section" title="6.3 Compiling multiple times"><div class="titlepage"><div><div><h3 class="title"><a id="compiling-multiple"></a>6.3 Compiling multiple times</h3></div></div></div><p> Most LaTeX compilers need to be re-run several times in several commonly occurring situations in order to get a final camera ready copy. For example, when <code class="literal">\label</code>'s change, when new <code class="literal">\cite</code> commands are added etc. If the target format you are compiling to requires multiple compilations, then you will need to include the format in the <code class="literal">g:Tex_MultipleCompileFormats</code> setting. This is a comma separated string of formats which need multiple compilations to be generated correctly. </p><p> By default, this setting contains just the <code class="literal">dvi</code> format. If you use the <code class="literal">pdflatex</code> compiler to generate <code class="literal">pdf</code> files, then you might want to also include <code class="literal">pdf</code> into the above setting. </p><p> For every format included in the <code class="literal">g:Tex_MultipleCompileFormats</code> setting described above, Latex-Suite will use the following logic to generate the file. Note that although the following description uses <code class="literal">latex</code> to refer to the compiler, it could be some other compiler such as <code class="literal">pdflatex</code> for generating <code class="literal">pdf</code> output. </p><p> </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">If there was a <code class="literal">.idx</code> file, then remember its contents.</li><li class="listitem">Run <code class="literal">latex</code>.</li><li class="listitem">If the <code class="literal">.idx</code> file changed due to the latex compiler, then run <code class="literal">makeindex</code> to redo the <code class="literal">.ind</code> file and then remember to rerun latex. </li><li class="listitem"><p> If the <code class="literal">.aux</code> file generated by the latex compiler contains a <code class="literal">\bibdata</code> line, then it means that we are using a <code class="literal">.bib</code> file. Therefore, run <code class="literal">bibtex</code>. </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> This means that we will always run <code class="literal">bibtex</code> whenever we use the <code class="literal">\bibliography</code> command whether or not we actually need to. At this time, Latex-Suite does not parse the <code class="literal">.aux</code> file before and after the latex compiler to see if we are required to rerun <code class="literal">bibtex</code>. </p></div></li><li class="listitem"> If the <code class="literal">.bbl</code> file changes because of this, then remember to rerun latex again. </li><li class="listitem">Also, we check to see if the LaTeX compiler gives certain standard warnings which notify that we need to compile once again. In this case also, remember to rerun LaTeX.</li><li class="listitem">If we found we had to rerun latex, then we repeat the steps above but not running <code class="literal">makeindex</code> or <code class="literal">bibtex</code> again.</li></ol></div><p> </p><p> The LaTeX file is compiled atmost 5 times using this logic. These steps will ensure that on most platforms/environments, you will get a clean output with all the cross-references, citations etc correctly labelled and ordered. </p></div><div class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="compiler-dependency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="latex-compiling.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="compiler-output-customization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.2 Handling dependencies in compilation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 6.4 Customizing the compiler output</td></tr></table></div></body></html>