<?xml version="1.0" encoding="iso-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->  
<html xmlns="http://www.w3.org/1999/xhtml"  
> 
<head><title>upgrade</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)" /> 
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)" /> 
<!-- xhtml,th4,index --> 
<meta name="src" content="mn.tex" /> 
<link rel="stylesheet" type="text/css" href="mn.css" /> 
<meta name="viewport" content="width=device-width, initial-scale=1" /> 
</head><body 
>
    <a 
 href="mn.html#mn26.html" >exit upgrade</a>
    <h3 class="SubSectionHead"><a 
  name="QQ1-26-68"></a>TeX4ht Upgrading</h3>
    At present, the only practical way to update TeX4ht is via a distribution. Runtime files continue to be updated
in ¡a href=&#8221;/texlive/&#8221;¿TeX Live¡/a¿, so if you&#8217;re using TL, you can get those with ¡tt¿tlmgr update¡/tt¿. We don&#8217;t
know if MiKTeX picks up the same updates.
<!--l. 6970--><p class="indent" >    There has been no new full release since Eitan&#8217;s death; still a work in progress.
</p><!--l. 6973--><p class="indent" >    For the upstream tex4ht source repository where the work is being done, see the <a 
 href="/tex4ht/" >tex4ht home
page</a>.
</p>
    <h3 class="SubSectionHead"><a 
  name="QQ1-26-69"></a>A Setup for Unix Environments</h3>
<ol type="a" >
<li>Establish a directory, say, &#8216;<span class="cmtt-10">~/tex4ht.dir</span>&#8217;.
<!--l. 6982--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69001"></a>Download the file <a 
 href="tex4ht.zip" >tex4ht.zip</a> into the directory <span class="cmtt-10">tex4ht.dir </span>and unzip it.
    <p class="rightline"><span class="cmbx-10">Compile the Postprocessors</span></p>
<!--l. 7008--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69002"></a> <a 
  name="index26-69003"></a>Compile <span class="cmtt-10">~/tex4ht.dir/src/tex4ht.c </span>into an executable <span class="cmtt-10">tex4ht </span>file with a command similar to the following
one.
<!--l. 7016--><p class="indent" >    <span class="cmtt-10">gcc -o tex4ht tex4ht.c -DENVFILE=&#8217;"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"&#8217;</span>
<span class="cmtt-10">-DHAVE_DIRENT_H</span>
</p><!--l. 7021--><p class="indent" >    The switch &#8216;<span class="cmtt-10">-DENVFILE=&#8217;"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"&#8217;</span>&#8217; may be omitted, if the
program can reach the environment file in an <a 
 href="mn32.html#envloc">alternative</a> manner.
</p><!--l. 7031--><p class="noindent" ></p></li>
<li>Compile <span class="cmtt-10">~/tex4ht.dir/src/t4ht.c </span>with a command similar to following one.
<!--l. 7036--><p class="indent" >    <span class="cmtt-10">gcc -o t4ht t4ht.c -DENVFILE=&#8217;"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"&#8217;</span>
</p><!--l. 7039--><p class="indent" >    Again, the switch &#8216;<span class="cmtt-10">-DENVFILE=&#8217;"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"&#8217;</span>&#8217; may be omitted, if
the program can reach the environment file in an <a 
 href="mn32.html#envloc">alternative</a> manner.
</p><!--l. 7047--><p class="noindent" ></p></li>
<li>Move the executable files <span class="cmtt-10">tex4ht </span>and <span class="cmtt-10">t4ht </span>to directory <span class="cmtt-10">~/tex4ht.dir/bin/unix/</span>.
<p class="rightline"><span class="cmbx-10">Update the Pointers in the Environment File</span></p> </li>
<li> <a 
  name="index26-69004"></a> <a 
  name="index26-69005"></a>Replace in <a 
 href="tex4ht-env-unix.txt" ><span class="cmtt-10">~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env</span></a> the line(s) starting with the character &#8216;<span class="cmtt-10">t</span>&#8217;, with
alternative lines which state what directories should be searched for the tfm files of TeX and LaTeX. The directory
names must be preceded with the character &#8216;<span class="cmtt-10">t</span>&#8217; at column 1 and, if their subdirectories are also to be searched, the
names should be appended with the character &#8216;<span class="cmtt-10">!</span>&#8217; (<a 
 href="mn36.html#alt-tfm">insight</a>).
<!--l. 7066--><p class="noindent" ></p></li>

<li> <a 
  name="index26-69006"></a>If needed, adjust the paths in the &#8216;<span class="cmtt-10">i</span>&#8217; records of <span class="cmtt-10">tex4ht.env</span>. These records are used for searching htf fonts, and
they are similar to the &#8216;<span class="cmtt-10">t</span>&#8217; (<a 
 href="mn40.html#alt-htf">insight</a>).
<!--l. 7075--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69007"></a>The entry &#8216;<span class="cmtt-10">l~/tex4ht.dir/filename</span>&#8217; in <span class="cmtt-10">tex4ht.env </span>points to the address where the <a 
 href="mn35.html#TEX4HTWR">bookkeeping file</a>
should reside. Modify the path to fit your platform. The character &#8216;<span class="cmtt-10">l</span>&#8217; should precede the address,
and be placed at the first column. Make sure the access mode of the directory permits writing into
files.
    <p class="rightline"><span class="cmbx-10">Update the Bitmap Generating Scripts in the Environment File</span></p>
<!--l. 7089--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69008"></a> <a 
  name="index26-69009"></a>The file <span class="cmtt-10">tex4ht.env </span>contains the following default script, of calls to system utilities for translating dvi pictures
into bitmaps.<a 
  name="dv2png"></a>
<div class="Verbatim"><span class="cmtt-10">Gdvips</span><span class="cmtt-10">&#x00A0;-Ppdf</span><span class="cmtt-10">&#x00A0;-mode</span><span class="cmtt-10">&#x00A0;ibmvga</span><span class="cmtt-10">&#x00A0;-D</span><span class="cmtt-10">&#x00A0;110</span><span class="cmtt-10">&#x00A0;-f</span><span class="cmtt-10">&#x00A0;%%1</span><span class="cmtt-10">&#x00A0;-pp</span><span class="cmtt-10">&#x00A0;%%2</span><span class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;&#x003E;</span><span class="cmtt-10">&#x00A0;zz%%4.ps</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">Gconvert</span><span class="cmtt-10">&#x00A0;zz%%4.ps</span><span class="cmtt-10">&#x00A0;-trim</span><span class="cmtt-10">&#x00A0;+repage</span><span class="cmtt-10">&#x00A0;-density</span><span class="cmtt-10">&#x00A0;110x110</span><span class="cmtt-10">&#x00A0;-transparent</span><span class="cmtt-10">&#x00A0;&#8217;#FFFFFF&#8217;</span><span class="cmtt-10">&#x00A0;%%3</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">Grm</span><span class="cmtt-10">&#x00A0;zz%%4.ps</span><span class="cmtt-10">&#x00A0;</span>
<br /></div>
<!--l. 7102--><p class="indent" >    The entry <span class="cmtt-10">%%1 </span>is a parameter refering to a dvi file, the <span class="cmtt-10">%%2 </span>is a parameter indicating a page number, the <span class="cmtt-10">%%3 </span>is
a parameter standing for an output file name, and <span class="cmtt-10">%%4 </span>is a parameter providing the jobname.
</p><!--l. 7107--><p class="indent" >    You may replace this script with an alternative sequence of system calls. In such a case, place one command per
line, and mark each of these lines with the character &#8216;<span class="cmtt-10">G</span>&#8217; at the first column. The literate version tex4ht-env.tex of
tex4ht.env offers a few suggestions.
</p><!--l. 7113--><p class="indent" >    The <a 
 href="http://www.radicaleye.com/dvips.html" >dvips</a> utility translates dvi files into postscript. The <span class="cmtt-10">convert </span>utility, provided within the distribution of
<a 
 href="http://www.imagemagick.org/" >ImageMagick</a>, translates postscript files into png.
</p><!--l. 7119--><p class="indent" >    The script employs the Metafont mode &#8216;<span class="cmtt-10">ibmvga</span>&#8217; of resolution &#8216;<span class="cmtt-10">110</span>&#8217;; the available modes are listed in file
<span class="cmtt-10">modes.mf </span>of Metafont.
</p><!--l. 7124--><p class="indent" >    Use the option &#8216;<span class="cmtt-10">-crop 0x0 +page</span>&#8217; or &#8216;<span class="cmtt-10">-crop 0x0 +repage</span>&#8217; instead of &#8216;<span class="cmtt-10">-trim</span>&#8217; for old convert utilities that do
not recognize the latter argument.
</p><!--l. 7129--><p class="noindent" ></p></li>
<li>Instead of employing the G scripts, glyphs can rely on specialized <a 
 href="mn27.html"  name="mn27.html" >F scripts</a> of similar nature for creating bitmaps.
<!--l. 7145--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69010"></a> <a 
  name="index26-69011"></a> <a 
  name="index26-69012"></a> <a 
  name="index26-69013"></a>The bitmap formats can be controlled by a &#8216;g&#8217; record of tex4ht.env, a &#8216;-g&#8217; switch of <span class="cmtt-10">tex4ht.c</span>, and a -LGTYP
switch in the compilation of tex4ht.c. The default setting assumes the &#8216;png&#8217; format.
    <p class="rightline"><span class="cmbx-10">Update the Other Scripts in the Environment File</span></p>
<!--l. 7160--><p class="noindent" ></p></li>
<li><a 
  name="mvscript"></a>If needed, replace the scripts &#8216;<span class="cmtt-10">Mmv %%1 %%2%%3</span>&#8217; and &#8216;<span class="cmtt-10">Ccp %%1 %%2%%3</span>&#8217; in <span class="cmtt-10">tex4ht.env </span>with alternative scripts for
moving and copying files. The parameter <span class="cmtt-10">%%1 </span>stands for the source file(s), the parameter <span class="cmtt-10">%%2 </span>provides the target
directory name, and the parameter <span class="cmtt-10">%%3 </span>refers to the target file name(s).
<!--l. 7183--><p class="noindent" ></p></li>
<li><a 
  name="accscript"></a>If needed, replace the script &#8216;<span class="cmtt-10">Achmod %%1 %%2%%3</span>&#8217; in <span class="cmtt-10">tex4ht.env </span>with an alternative script for changing access
mode of files. The parameter <span class="cmtt-10">%%1 </span>stands for access mode, the parameter <span class="cmtt-10">%%2 </span>refers to a directory name, and the
parameter <span class="cmtt-10">%%3 </span>refers to file(s).
<!--l. 7190--><p class="noindent" ></p></li>
<li> <a 
  name="index26-69014"></a> <a 
  name="index26-69015"></a>Postprocessing of files can be requested with &#8216;<span class="cmtt-10">.</span>&#8217; scripts. The files are selected by their extension
names, as listed following the period symbols. The parameter &#8216;<span class="cmtt-10">%%1</span>&#8217; provides the file names, and the
parameter &#8216;<span class="cmtt-10">%%0</span>&#8217; provides the jobnames. Under kpathsea, the substring &#8216;to indirectly obtain the value of
<span class="cmtt-10">${SELFAUTOPARENT}</span>.
<!--l. 7203--><p class="indent" >    The environment file <a 
 href="tex4ht-env-unix.txt" >tex4ht.env</a> offers the following inactive dot script for <span class="cmbx-10">validating </span>output of
compilations.
</p><div class="Verbatim"><span class="cmtt-10">&#x003C;validatehtml&#x003E;</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x00A0;.html</span><span class="cmtt-10">&#x00A0;xmllint</span><span class="cmtt-10">&#x00A0;--noout</span><span class="cmtt-10">&#x00A0;--valid</span><span class="cmtt-10">&#x00A0;--html</span><span class="cmtt-10">&#x00A0;%%1.html</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x003C;/validatehtml&#x003E;</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x003C;validate&#x003E;</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x00A0;.xml</span><span class="cmtt-10">&#x00A0;xmllint</span><span class="cmtt-10">&#x00A0;--noout</span><span class="cmtt-10">&#x00A0;--valid</span><span class="cmtt-10">&#x00A0;%%1.xml</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x00A0;.html</span><span class="cmtt-10">&#x00A0;xmllint</span><span class="cmtt-10">&#x00A0;--noout</span><span class="cmtt-10">&#x00A0;--valid</span><span class="cmtt-10">&#x00A0;%%1.html</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x00A0;.css</span><span class="cmtt-10">&#x00A0;mycssparser</span><span class="cmtt-10">&#x00A0;%%1.css</span><span class="cmtt-10">&#x00A0;</span>
<br /><span class="cmtt-10">&#x003C;/validate&#x003E;</span><span class="cmtt-10">&#x00A0;</span>
<br /></div>
<!--l. 7221--><p class="indent" >    The dot script may be activated in the following manner.
</p><!--l. 7223--><p class="indent" >
</p><ol type="1" >
<li>Bind a CSS validator to the .css record. (<a 
 href="http://jigsaw.w3.org/css-validator/DOWNLOAD.html" ><span class="cmtt-10">http://jigsaw.w3.org/css-validator/DOWNLOAD.html</span></a>)
<!--l. 7231--><p class="noindent" ></p></li>
<li>Remove the leading space characters from the above record.
    </li></ol>
<!--l. 7243--><p class="noindent" ></p></li>
<li>Postprocessing of files can also be requested with &#8216;<span class="cmtt-10">X</span>&#8217; scripts. The file names are accessed through the parameter
&#8216;<span class="cmtt-10">%%1</span>&#8217;, and their extensions through the parameter &#8216;<span class="cmtt-10">%%2</span>&#8217;.
    <p class="rightline"><span class="cmbx-10">Set the Script Files</span></p> </li>
<li>Ensure proper paths within the htlatex-like scripts in &#8216;<span class="cmtt-10">~/tex4ht.dir/bin/unix/</span>&#8217;. If you use a command different
than <span class="cmtt-10">latex </span>for compiling LaTeX source files, fix also the references to <span class="cmtt-10">latex </span>in the scripts. Check also the
appropriateness of the commands for compiling TeX and TeXi files.
<!--l. 7261--><p class="indent" >    <a 
  name="index26-69016"></a> <a 
  name="index26-69017"></a>The default scripts provide for three calls to LaTeX. The file <span class="cmtt-10">tex4ht-auto-script.tex </span>in <a 
 href="tex4ht-lit.zip" >tex4ht-lit.zip</a> offers
examples of bash scripts that automatically determine the number of compilations needed from LaTeX (contributed
by Kai-Mikael Jää-Aro). </p><p class="rightline"><span class="cmbx-10">Make the System Globally Known</span></p> </li>
<li>Inform the operating system where the scripts reside, say, by adding the directory &#8216;<span class="cmtt-10">~/tex4ht.dir/bin/unix/</span>&#8217; into
the <span class="cmtt-10">path </span>variable within the <span class="cmtt-10">.login </span>file. For instance,
<!--l. 7277--><p class="indent" >    <span class="cmtt-10">set path=($path ~/tex4ht.dir/bin/unix/)</span>
</p><!--l. 7280--><p class="noindent" ></p></li>
<li>Let LaTeX and TeX know where the new style files reside, say, by adding the directory

&#8216;<span class="cmtt-10">~/tex4ht.dir/texmf/tex/generic/tex4ht/</span>&#8217; to the environment variable <span class="cmtt-10">TEXINPUTS</span>. For instance,
<!--l. 7284--><p class="indent" >    <span class="cmtt-10">setenv TEXINPUTS .:~/tex4ht.dir/texmf/tex//:/usr/local/share/texmf/tex//</span>
</p><!--l. 7286--><p class="noindent" ></p></li>
<li>If your TeX system uses a registry database to locate files, make sure to refresh it (e.g., run <span class="cmtt-10">texhash </span>for kpathsea,
or <span class="cmtt-10">mktexlsr </span>or &#8216;<span class="cmtt-10">initexmf -u</span>&#8217; for some Linux systems).
<!--l. 7313--><p class="noindent" ></p></li>
<li>Some output modes assume <a 
 href="http://www.sun.com/" >Java</a> is also available in the computer in use. <p class="rightline"><span class="cmbx-10">Test the Installation</span></p>
</li>
<li>Move <span class="cmtt-10">testa.tex </span>and <span class="cmtt-10">testb.tex </span>from <span class="cmtt-10">~/tex4ht.dir/temp/ </span>to your work directory </li>
<li>Compile &#8216;<span class="cmtt-10">testa.tex</span>&#8217; with the command &#8216;<span class="cmtt-10">ht latex testa</span>&#8217; </li>
<li>Compile &#8216;<span class="cmtt-10">testb.tex</span>&#8217; with the command &#8216;<span class="cmtt-10">htlatex testb</span>&#8217;
    </li></ol>

    <hr />
<!--l. 7670--><p class="indent" >    <small>Generated August 24, 2020 - <a href="/tex4ht/">tex4ht home page</a></small></p> 
</body></html> 
