forked from latex2html/latex2html
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
422 lines (322 loc) · 18.1 KB
/
INSTALL
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
LaTeX2HTML Installation Manual
===================================
Step by step cookbook
=====================
A. UNIX
-------
(Windows users see below)
0. Unpacking
Unpack the tar file into a temporary area. This has changed: Do not unpack
the tar file to the final desired location (e.g. /usr/local/latex2html).
Read the INSTALL file. Oops, you are already here...
1. Configuring
You may have a look at the prefs.pm preferences file. It is preset with
reasonable defaults. Edit it to adapt the configuration procedure, e.g. if
your executables like latex, gs etc. have "strange" names (e.g., "LaTeX").
Run
./configure --help
This gives you a brief overview of configuration options. Note that for
each --enable-something there is also a --disable-something. Anyway, the
defaults are reasonable and robust, so you should give it a first try
with only specifying the --prefix (see below) if you don't like /usr/local.
configure looks also at the environment, so that you could hardcode the path
to your Ghostscript executable by e.g. (on bourne shell!)
GS=/opt/ghostscript/bin/gs ./configure
Alternatively you could say (works on all shells)
./configure --with-gs=/opt/ghostscript/bin/gs
Note for --prefix: The final directory structure depends on the name of the
prefix:
- if prefix contains the string "latex2html" or "l2h":
Then binaries go into $prefix/bin, while the rest goes into $prefix
- prefix does *not* contain the above strings:
Then binaries go into $prefix/bin and the rest into $prefix/lib/latex2html
You can override the settings by specifying --bindir and/or --libdir.
Note that currently no other path/installation options in configure (e.g.
--exec-prefix, --sbindir, --datadir, ...) are recognized. This may change
in the future.
After configure has completed, you may check the cfgcache.pm file if
everything is ok. It contains all the information gathered from your system
and there should be no need to change anything. Exceptions from this rule
can be considered bugs in the configuration procedure. :-)
Note: The GNU autoconf-generated configure script hands execution over
to a Perl script. This of course isn't the "clean" way. I know that, but
the configure procedure should work also on native Win/OS2/Mac systems that
(by default) lack sh, make, etc.
2. Building
Run "make". The distribution files (extension .pin) are turned into the
locally adapted scripts, using the configuration from cfgcache.pm. If you
need to change things, then re-run the configuration step with the
appropriate options (preferred) or edit the cfgcache.pm file and run "make"
again.
3. Testing
Do a plausibility check: "make check". The perl scripts are checked for
syntax correctness. For compiling a small test document, type "make test".
The test example is located in the "tests" subdirectory. You may specify
additional command line arguments by saying "make test ARGS='...'".
You may test LaTeX2HTML manually on one of your documents by setting the
LATEX2HTMLDIR environment to the path where "Makefile" is located and
running latex2html with the option -test_mode.
Alternatively, you may put your document in the tests/ directory and run
"make test TESTCASE=yourfile.tex"
4. Installing
Install LaTeX2HTML in its final location by saying "make install".
Before doing that you might want to edit l2hconf.pm to reflect your
site-wide needs. If you do a system installation for many users, only
care for general aspects. Note that at any time these settings are easily
overridden by specifying command line options to the latex2html script
or by installing a .latex2html-init file in the HOME directory.
Read the instructions about ICONSERVER carefully to make sure your
HTML documents will be displayed right via the Web server.
While you're at it you may want to change some of the default
options in the same file.
5. Cleaning up
You may remove the temporary directory to which you unpacked the
distribution after installation.
6. Bug reports
When reporting bugs, it may be a good idea to send the cfgcache.pm file
as a reference of your local setup. Re-run the configuration procedure
if you don't have the file any more. See also the BUGS file.
See below "Further General Aspects" for information on useful site-wide
configuration.
B. DOS, Win32
-------------------
0. Unpacking
Unpack the tar file into a temporary area. This has changed: Do not unpack
the tar file to the final desired location (e.g. /usr/local/latex2html).
Read the INSTALL file. Oops, you are already here...
1. Configuring
Edit the prefs.pm file to adapt the configuration for your site. You
should not have to change much apart from the path where LaTeX2HTML should
be installed on your system. The executables are found automatically if
located in the directories specified in your PATH environment. If your perl
interpreter is not named "perl" or if you have more than one perl installed,
you should edit CONFIG.BAT and specify the exact path to your (desired) perl
interpreter.
If you have just installed some of the required external utilities and
have not yet added the paths to the PATH environment, you may specify
the argument EXTRAPATH+... (e.g. EXTRAPATH+C:\tex\bin;C:\netpbm\bin) on
the CONFIG.* command line to indicate additional search paths.
Now you may run CONFIG.*
Example that also sets the installation root directory without editing
prefs.pm:
CONFIG.BAT PREFIX+C:\latex2html
You can also say PREFIX=C:\latex2html but my COMMAND.COM eats the `=' :-(
Make sure that you have enough space for the environment. If you get
error messages "no space left in environment" or the like, either increase
the space for the environment in your CONFIG.SYS or (temporarily) run
a new shell with "command /e:2000" (for 2k space for environment).
After configure has completed, you may check the cfgcache.pm file (if
you are curious).
2. Building
Not really an extra step. After successful configuration the distribution files
(extension .pin) are automatically turned into the locally adapted scripts
automatically, using the settings found in the previous step.
3. Testing
The CONFIG.* script created a TEST.BAT file that
compiles a small test document located in the "tests" subdirectory.
You may specify additional LaTeX2HTML options (up to arguments) on the
TEST.* command line.
You can test LaTeX2HTML yourself with your own documents by setting the
LATEX2HTMLDIR environment to the path where CONFIG.* is located and running
latex2html by saying "latex2html -test_mode <filename>.tex". It may be
necessary that that you need to add the directory where latex2html.bat is
stored to your PATH environment.
4. Installing
Install LaTeX2HTML in its final location by running INSTALL.BAT.
5. Cleaning up
You may remove the temporary directory to which you unpacked the
distribution. All required files have been copied to the installation
directory.
6. Bug reports
When reporting bugs, it may be a good idea to send the cfgcache.pm file
as a reference of your local setup. Re-run the configuration procedure
if you don't have the file any more. See the BUGS file for more details.
Further General Aspects
=======================
This is enough for the main installation but you may also want to do some of
the following:
o If your system supports both GIF and PNG generation (this is if you have
both pnmtopng and ppmtogif), then the default image format will be PNG.
This is because of legal limitations on the GIF format. To set the
site-wide default to GIF, modify the order of the image formats in
l2hconf.pm *before* you install:
@IMAGE_TYPES = qw(gif png); # GIF is now default
Alternatively, you may say "-image_type gif" on the command line or
$IMAGE_TYPE = 'gif' in your .latex2html-init file.
o To use the new LaTeX commands which are defined in html.sty:
Make sure that LaTeX knows where the html.sty file is, either by
putting it in the same place as the other style files on your system, or
by changing your TEXINPUTS shell environment variable, or by
copying html.sty in the same directory as as your LaTeX source file.
The installation procedure tries to install these files into your TeX
directory tree if present.
o If you are a LaTeX 2.09 user, you will not be able to use
the document segmentation feature, or the optional arguments to
\htmladdimg, until you upgrade to LaTeX2e.
(This will also rule out many of the HTML3/HTML4 features!)
To determine which version you have, type just 'latex'.
If it prompts with '(C version 6.1)', you have LaTeX2e. Anyway, if you're
not sure, ask the people who installed it.
However you *mustn't* upgrade LaTeX just to have the features, lots of
documents do fine without them.
You should not try to translate manual.tex with LaTeX 2.09. Instead,
invoke LaTeX2HTML with manual.tex directly.
o On some systems, the command ``latex'' is really a shell script which sets
some environment variables and calls the real LaTeX. If this is so, make
sure that this shell script has '.' and '..' set for TEXINPUTS.
This environment variable is not to be confused with the LaTeX2HTML
installation variable $TEXINPUTS described next.
o The installation variable HTML_VERSION in latex2html.config causes
LaTeX2HTML to generate table in HTML and supports textual font
size changes if it is set to 3.0. Otherwise, tables will be
processes in LaTeX and come out as GIF files.
o There is an installation variable in l2hconf.pm
called $TEXINPUTS, which tells LaTeX2HTML where to
look for LaTeX input files to process. This variable is
appended to the TEXINPUTS environment variable to make sure the
translator finds all your files.
o The installation variable $PK_GENERATION specifies which
fonts are used in the generation of mathematical equations. A value
of ``0'' causes the same fonts to used as those for the default
printer. Because they were designed for a printer of much greater
resolution than the screen, equations will generally appear to be
of a lower quality than is possible. To cause LaTeX2HTML to
dynamically generate fonts that are designed specifically for the
screen, you should specify a value of ``1'' for this variable.
If you do, then check to see whether your version of dvips
supports the command line option -mode. If it does,
then also set the installation variable $DVIPS_MODE to
a low resolution entry from modes.mf, such as `toshiba'.
If dvips does not support the -mode switch, then leave $DVIPS_MODE
undefined, and verify that the .dvipsrc file points to the
correct screen device and its resolution.
o The makemap script also has a configuration variable,
$SERVER, which must be set to either "CERN" or "NCSA", depending
on the type of web server you are using.
o To set up different initialisation files:
For a ``per user'' initialisation file, copy the file
dot.latex2html-init in the home directory of any user that
wants it, modify it according to her preferences and rename it as
.latex2html-init. At runtime, both the
latex2html.config file and $HOME/.latex2html-init
file will be loaded, but the latter will take precedence.
You can also set up a ``per directory'' initialisation file by copying a
version of .latex2html-init in each directory you would like it
to be effective. An initialisation file
/X/Y/Z/.latex2html-init will take precedence over all
other initialisation files if /X/Y/Z is the ``current directory'' when
LaTeX2HTML is invoked.
o To find the LaTeX2HTML icons:
The LaTeX2HTML icons are fetched through $ICONSERVER. This variable
should point to a global URL on your system. The icons are installed in
$LATEX2HTMLDIR/icons, but you must configure your HTTP daemon to find
them. You can configure an alias in HTTPd's config files or you may
set up a symbolic link. Whatever you do, make sure that $ICONSERVER
is the URL below which the server finds the icons.
Make sure they can be *read* by your HTTP daemon, ie. set the directory
world-wide readable/executable and the icons world-wide readable and
the HTTP daemon finds the icons under the $ICONSERVER URL.
If $LATEX2HTMLDIR is something private for you, copy the icons to a
global place, say /usr/local/lib/latex2html/icons, and set $ICONSERVER
accordingly. Note that by setting $LOCAL_ICONS or using the
-local_icons command line switch you can force LaTeX2HTML to copy the
icons to the document directory, thus resulting in a self-contained
document tree that can be dropped into any existing directory
structure.
o To make your own local copy of the LaTeX2HTML documentation:
This will also be a good test of your installation. To do it run
LaTeX2HTML on the file doc/manual.tex. You will get better results if
you run LaTeX first on the same file in order to create some auxiliary
files.
Common Pitfalls, FAQ
====================
1. Q: What versions of the external programs are recommended?
A: General remark: The config procedure automatically checks all your
PATH for the required executables. You'll have only to take action if
some components are not recognized. As far as Linux is concerned,
the major distributions (SuSE, Red Hat, Debian, Slackware) all have
packages with the following tools. Just install them and LaTeX2HTML
should be happy.
Perl : 5.00305 or higher (5.00503 recommended)
TeX, LaTeX : teTeX 0.4 or higher (1.0 recommended), Web2C
Ghostscript : 4.03 or higher (5.x recommended)
Netpbm : 1mar1994p1
The "p1" *is* important: This version fixes a bug in
pnmcrop that makes pstoimg leave black bars around the
images. The configure procedure tests automatically for
this feature.
Pnmtopng : 2.31 or higher (for PNG image generation)
2. Q: Where can I get all those external programs?
A: Perl : http://www.perl.com (all platforms)
TeX, LaTeX : any CTAN site, see XXX for a list of sites
Ghostscript : http://www.cs.wisc.edu/~ghost/index.html
Netpbm : http://ftp.x.org/contrib/utilities/
Pnmtopng : http://www.graphicswiz.com/png/index.html
Win32 users will find all they need at Fabrice Popineau's fine
TeX site ftp://ftp.ese-metz.fr/pub/TeX/win32
3. Q: What about perl 4 compatibility and perl 5 versions less than
5.00305?
A: Forget perl 4. Perl 5 is out for years now, it is available for
more platforms than perl 4 ever was and it is stable and it is
being maintained.
The early perl 5 versions (esp. 001 and 002) are known to have nasty
bugs that cause severe problems with LaTeX2HTML. Update to a more
recent version (5.00503 recommended).
4. Q: I've installed the external programs, but the configure procedure
doesn't recognize that.
A: You either have not sufficient access rights or - more probably -
you need to add some paths to your PATH environment. You may do that
on the fly, i.e. set PATH manually and run the configure step again.
The absolute paths are saved, so that LaTeX2HTML will run ok even if
you don't have all the additional PATH settings coded into your
.profile, .bashrc, .(t)cshrc, AUTOEXEC.BAT, etc...
Finally there is the --with-extrapath=... configure option or
EXTRAPATHH+... for CONFIG.BAT
5. Q: On Win/DOS/OS2 I get messages of the type "no more space in
environment". What's wrong?
A: Your command interpreter (COMMAND.COM) does not provide sufficient
space for environment variables. Try to run a new one with:
COMMAND.COM /e:2000
Now you should have 2k space for environment variables. You may
specify this value in CONFIG.SYS:
SHELL=<path>COMMAND.COM /e:2000
(or somehow using
COMSPEC=<path>COMMAND.COM /e:2000
Sorry for that, maybe some can supply the correct answer?!?)
6. Q: What is this "EPS support" with dvips all about?
A: Recent versions of dvips(k) (5.60 and higher) have the possibility
to create many EPS files out of one multi-page DVI file by exploiting
-E (EPSF generation)
-i (separate file for every section)
-S 1 (section size is one page)
The idea behind it is that once dvips has produced EPS files with a
proper bounding box, Ghostscript's memory requirements are reduced
noticeably.
CAVEAT: dvips does not handle specials (like psfig, includegraphics)
perfectly in the context of EPS, see also the dvips texinfo. You may
experience difficulties when you process a document that includes
EPS images. In this case, don't use the `-E' switch and/or reconfigure
latex2html with --disable-eps
7. Q: I get "out of memory" messages although I have plenty of RAM and/or
swap space (virtual memory) - what's wrong?
A: Unfortunately LaTeX2HTML is quite hungry for memory. This is one of
the main areas of improvement that is being worked upon constantly.
In order to run LaTeX2HTML anyway, be sure to close any other
applications before starting LaTeX2HTML.
Another possible problem is that your system has a hard per-process
memory limit. If so, ask the system administrator to relax this
value. Note: On HP-UX, this is done by setting the MAXDSIZ, MAXSSIZ,
MAXTSIZ kernel parameters (thanks Andre Konopka <[email protected]>).
8. Q: What's the problem with the GIF image format?
A: Unisys holds a patent on the LZW compression algorithm that is used
to make GIF images smaller in size. It's a long story how LZW became
part of GIF and it is not clear who violated the LZW patent in the
first place. Anyway, recently Unisys announced that they consider
lawsuits against those using the GIF format (i.e. software generating
GIFs, not reading!) without a license from Unisys. LaTeX2HTML itself
does not have a problem, because it merely uses ppmtogif and can
easily do without if it's not there. I don't know whether it is
illegal or not to use ppmtogif in non-commercial environments. The
"safe" solution is definitely to use PNG images; unfortunately
there is AFAIK no browser available yet that displays transparent PNGs
correctly.