# latex2html/latex2html

Fetching contributors…
Cannot retrieve contributors at this time
2132 lines (2129 sloc) 118 KB
#		- brought &german/french_titles up to date with &english_titles
#
#	rrm	graphics.perl, graphicx.perl
#		 -  modified \graphicspath to parse a list of directories (Axel Ramge)
#		 -  rewritten the &do_cmd_graphicspath subroutine
#		    works correctly and allows multiple use, outside the preamble
#		 -  handle \DeclareGraphicsRule  and  \DeclareGraphicsExtension
#		 -  \graphicspath  works correctly in the preamble now
#
#	rrm	heqn.perl
#		recognise \htmlborder and \htmlimage also in processed environments
#
#	rrm	html.perl
#		\htmlmeta defined, for inserting  tags
#
# NEW	rrm	inputenc.perl
#		Implements the  inputenc  package, allowing the character encoding
#		to be specified from within the document.
#		Supports latin1, latin2, latin3, latin4, latin5, latin6, Unicode.
#		This uses files latin1.pl to latin6.pl and unicode.pl
#		in the versions/ directory.
#
#	rrm	makeidx.perl
#		 --  fixed problem with sub-item keys printing multiply
#		 --  \index commands within section-heads now work correctly
#
# NEW	rrm	more_amsmath.perl
#		That part of  amstex.perl and amsmath.perl that needs the math'
#		extension has been split-off into  more_amsmath.perl .
#		This is loaded automatically with switches:
#		 -no_math -html_version ...,math
#
#	rrm	natbib.perl
#		Updated for compatibility with natbib.sty v6.6
#		 - all \cite... commands have a *-version and 2 optional arguments
#		 - Harvard emulation is now automatic
#		 - implemented \citep*
#		 - fixed \harvardurl to work properly and without html.sty
#		   thanks to James A. Bednar  for noticing
#
# NEW	rrm	seminar.perl
#		implements seminar.sty by:
#		making \newslide into a sectioning-command, with its own numbering
#		other commands are recognised and largely ignored
#		text of notes' are gobbled
#
#	rrm	supertabular.perl
#		implemented the \tablehead \tabletail etc. commands
#
#	rrm	xy.perl
#		- allow for optional argument to  \newxycolor  and  \newgraphescape
#		- recognise \htmlborder and \htmlimage also in processed environments
#
#	Changes in the versions/ directory:
#
#	jcl	html2_1.pl, html2_2.pl, html3_0.pl, html3_1.pl, html3_2.pl
#		renamed html*.*.pl files, for DOS
#
#	rrm	html2_2.pl (equal to table.pl)
#		{tabular} environments could pick up caption from previous {table}
#
#	rrm	html3_1.pl (equal to math.pl)
#		with $NO_SIMPLE_MATH, force images of \...matrix environments # - fixed bug which affected the code for image-making # - fixed bug not handling \lefteqn in {eqnarray}s # - allow Netscape's VALIGN="BASELINE" for {eqnarray} rows # - correctly writes {eqnarray*}, not {eqnarraystar} to images.tex # - recognises \le (as well as \leq) without warning (thanks Michel) # - automatic recognition of the differential d' after \int # - significant additions to math-parsing # additions: # \mathop,\mathrel,\mathbin, etc. recognised; # sup/subscripts handled a little differently; # array-like environments need to have delimiters protected, # when they occur as sub-environments of other array-like envs; # get equation-number from \\theequation not &do_cmd_.... # equation-numbers can have variable delimiters, not just (..); # some AMS commands implemented always # \text trated as \mbox --- not best, only temporary # - fixed spacing/line-break problems # - implemented \text properly, within math # - fixed missing 0' error with sup/subscripts # - adapted for$USING_STYLES ; e.g. with HTML 4.0
#		- adapted to allow use of Unicode entities for math-symbols
#		- allow some fractions to be given as named entities; e.g. frac12
#		- font styles/faces are now supported with properly nested tags
#		- support for \strut and \vrule and \hrule
#		- use the MATH and BOLDMATH classes when $USING_STYLES # - always make images of some math operators # - always make image of variable-sized operators # - catch fractions via \frac \tfrac \dfrac # - use a specified WIDTH="10%" for equation-numbering cells # - made all numbering environments have WIDTH="100%" # - introduced variables$math_start_rx  and  $math_end_rx . # (looking ahead to the possibility of allowing$ to be non-math.)
#		- fixed problem with superscripts: ' (\prime) missing from images
#		- \mathbf , \mathcal etc. seem to be correct now
#		- fixed bug causing some fractions to be in \textstyle, not displayed
#		- fixed some string tests that incorrectly treated 0 as ''
#		- recognise \htmlimage and \htmlborder in processed environments also
#		... and various other changes (see log history of that file)
#
#	rrm	html3_2.pl
#		- Implemented {tabular*} environment, to be same as {tabular}
#		  i.e. does not recognise a fixed width
#		- the \extracolsep macro is recognised, but ignored
#		- sub-environments of {tabular}s are processed first;
#		  this allows {tabular}s to be nested
#		- \multicolumn now implemented
#		- cells containing 0' now show it, rather than being empty
#		- {eqnarray} math-style bug fixed
#		- allow Netscape's VALIGN="BASELINE" for {eqnarray} rows
#		- removed unnecessary  tags, when {eqnarray} cell is an image
#		- reworked the handling of @-expressions in tabular specs.
#		- remove &simple_math_env acting twice on the same math --- Ugh!
#		- implemented the extra tabular declarations from  array.sty
#		- ignore and \PreserveBackslash commands
#		  these extensions are **untested**
#		- adapted the alignment environments to work as instances of
#		  &declared_env   which respects the font/size state-stack.
#		- adapted some environment-like commands to work with style-sheets
#		- fixed migrating captions error; thanks to Keith Andrews
#		- use a specified WIDTH="10%" for equation-numbering cells
#		- made all numbering environments have WIDTH="100%"
#		- improvements to {eqnarray} environments:
#		  each field is handled separately, equation-numbering works
#		  eqn-numbering aligned OK now;
#		- VALIGN on rows in {tabular} is not used, unless $NETSCAPE_HTML # - introduced \mathon and \mathoff for use in tabular-specs # - implemented \tablehead and \tabletail (from supertabular.sty) # - implemented the @{...} and !{...} column-specs as separate columns # without slots for filling from the table-data. # - \tag and \notag now work correctly in normal math-mode # - fixed some string tests that incorrectly treated 0 as '' # - recognise \htmlimage and \htmlborder in processed environments also # - make sure math within do_math_env is properly delimited # - p{} in a {tabular}'s col-spec causes VALIGN="TOP" # # NEW rrm html4_0.pl # Implements output specific for HTML 4.0 # This requires LaTeX2HTML v97.2 (alpha) or later version. # The variable$USING_STYLES  is set, to enable automatic creation
#		of a CSS style-sheet.
#		To use a UTF-7 or UTF-8 Unicode charset, the  unicode extension
#		needs to be loaded also; else the Latin-1 charset is used.
#
# NEW	rrm	lang.pl
#		contains the language codes, from i18n.pl
#
#	Changes in the versions/ directory:
#
#	rrm	html.sty
#		- uses Robin Fairbairns' code for ignored environments,
#		  replacing the previous  comment.sty  stuff.
#		- extensions to the \tableofchildlinks command
#		- extensions to the \htmlinfo command
#		- allow the dummy {tex2html_nowrap} environment in LaTeX
#		  use it to make its contents be evaluated in environment order
#		- implemented an optional argument to \begin for style-sheet info.
#		- modified use of an optional argument with sectioning-commands
#
# NEW	rrm	ldump.sty
#		ldump.sty  ---  LaTeX package which allows format dumps to be used.
#		use the new  -ldump  switch to make use of this feature/package.
#
#
#
#--------- v97.1 (compiled mostly by rrm  and also jcl)
#       incorporating the changes of v96.2 (not officially released) by mro
#
#
# The \textsc{v97.1} release has significant improvements in:
#
#	image-generation
#	rrm	is much faster, requires less memory
#		and inline images are aligned more accurately;
#
#	image quality	---  thanks to Uli Wortmann
#	rrm	is greatly improved by the use of anti-aliasing effects
#		for on-screen clarity, in particular with mathematics,
#		text and line-drawings;
#
#	memory-requirements
#	rrm	are much reduced, particularly with image-generation;
#
#	mathematics
#	rrm	can now be handled using a separate parsing procedure;
#		images of sub-parts of expressions can be created,
#		rather than using a single image for the whole formula;
#
#	macro definitions
#	rrm	having a more complicated structure than previously allowed,
#		can now be successfully expanded;
#
#	counters and numbering
#	rrm	are no longer entirely dependent on the \texttt{.aux}
#		file generated by \LaTeX;
#
#	decisions about which environments
#	mro	to include or exclude can now be made; see v96.2 .
#
#	HTML effects
#	rrm	for which there is no direct \LaTeX{} counterpart
#		can be requested in a variety of new ways;
#
#	HTML code
#	rrm	produced by the translator is much neater and more easily
#		readable, containing more comments and fewer redundant breaks
#		and \HTMLtag{P} tags.
#
#	error-detection
#	rrm	of simple \LaTeX{} errors, such as missing or unmatched braces,
#		is now performed --- a warning message shows a line or two
#		of the source code where the error has apparently occurred;
#
#
#
#--------- v96.2 (compiled by jcl)
#       mro - Rewrote texexpand. Contains more logic and mimics the
#             behaviour of LaTeX more closely. Supports DO_INCLUDE to
#             force style file translation and filename extensions in
#             (DO|DONT)_INCLUDE.
#       mro - Rewrote pstogif and renamed it to pstoimg, as it now also
#             produces PNG graphics. Added an automatic configuration
#             script (configure-pstoimg). Supplied a patch for dvips-5.58f
#             to enable production of EPSF format in multiple files.
#       mro - Added configuration variable and command line switch
#             LOCAL_ICONS: when set, the navigation icons are copied to
#             the document directory.
#
#--------- v96.1 Rev h (compiled by jcl)
#    30-Sep-96
#       tak - Fixed bug in optional argument of do_cmd_htmladdimg() in html.perl
#	      and embed_image(): ALT tag now properly gets transmitted to html.
#       hws - uses %new_command and %new_environment instead of /$meta_cmd_rx/ # in process_ext_file() # - Recover figure and table caption numbers when captions contain # a ~ [in extract_captions()] # - environments are not further processed when coming from .aux # file in process_undefined_environments() # - introduced translation for \ensuremath to force math expressions # to be translated into HTML instead of computing an image. # rrm - introduced latex-only command \etalchar... # - cite labels fetched from .aux file if available, in do_cmd_bibitem() # - added call to translate_environments() in do_env_enumerate(), # do_env_itemize(), do_env_description(), do_env_list(). # - small fix in accent_safe_for_ij() # - Non-inlined images now embedded in , not tags. # - introduced tex2html_nowrap environment. # LaTeX commands wrapped with this environment go directly into images.tex. # - introduced make_hbox(), make_vbox() for inlined images # - check if$adjust is positive in top_justify() # - changed text_cleanup() to prevent -- => - being applied twice, # with headings, captions, etc.; thus --- correctly becomes -- not - # - list items not strongified if $compact, in do_env_description() # - introduced make_nowrapper(), make_inline_wrapper() # - \bigskip now produces # - arguments of \message and \typeout now prompted during translation # - slight change to process_cmds_in_tex() # - introduced process_commands_nowrap_in_tex() and # process_commands_inline_in_tex() to work with tex2html_nowrap resp. # tex2html_wrap_inline environments. # Changed list of ignored commands, built a list of nowrap commands. # - raw arg cmds now also recognized if delimited by @ (eg. a\l@b). # rrm-nac # allow new commands \W for non-alphanumerics, not already defined. # rrm-col # - introduced$NESTING_LEVEL for counting group ({,} currently) nesting # - hook for colors used at each section start, in translate() # jcl - Removed bug in replace_cite_references(), a not executed # replacement command concerning make_named_href(...). # - The use of $global{'warnings'}, held in a DBM entry, led to # subsequent DBM errors when the warnings accumulated to more # than approx. 900 chars. # The DBM data base is not used for 'warnings' any more: # The warnings are now written to the file 'WARNINGS' in the # directory where all output files reside. The file contents # is displayed and the file removed at the end of the # translation process. # - A \clearpage command precedes the \end{document} of images.tex # to force the last page to appear in the DVI file. The case # in which this behaviour is needed is when a style file discards # the \end{document} command or redefines it (eg. cweb.sty). # - replaced$(PNMTILE) with $(PBMMAKE) in latex2html.config # and install-test, changed right_justify() according to the # suggestion by meh. Removed obsolete blank.pbm. # -$(GIFTRANS) is preferred to the netpbm binaries if it's available. # This encreases speed of gif translation significantly if one # wants to use the (faster) netpbm instead of pbmplus. # - Changed deal_with_texinputs() to set TEXINPUTS the following way: # 1. . to let TeX find things from work dir (invocation of l2h) # or dest dir (for images.tex) # 2. .. to find things from work dir for images.tex (questionable) # 3. absolute path to source file # 4. dest dir, and, 5. $TEXINPUTS (suggested by rrm). # - Re-arranged latex2html.config to make it more comprehensive: # - shuffled entries without changing their meaning # - slight improvements to documentation # - introduced color variables # - introduced down url/down title/contents url/index url defaults # - Tidied l2h's synopsis both in usage() and the nroff section. # - Introduced l2h options -auto_prefix, -prev_url, -prev_title # - Introduced global variable$PREAMBLE. It is set to 1 if the text # before \begin{document} or \startdocument is processed, and 0 # if the text after it is processed. It is *undef* before # any text is translated. # - In html.perl, URL in htmladdimg not reverted to raw TeX. # Klaus Steinberger # supposed this. # This is conform with \htmladdnormallink now. # - Introduced $LINKPOINT (see also latex2html.config), which is used # to generate a directory index link if the document is finished. # - Cosmetic changes: removed spaces, indented expressions etc. # - grep doesn't understand -e on Solaris, fixed install-test # jcl-env # Content of environment (\begin{..}...\end{..}) will now be # encapsulated in l2h open/close brackets internally. # This will lead to the same behaviour as in TeX: Changes # within the environment (esp. to font style) are really local # and reverted when passing the end of the environment. # jcl-pag # An incomplete LaTeX command (eg. \theoremstyle{..}) that is # passed to LaTeX through images.tex leads to an absent page in # the resulting DVI file, causing all following pages and its # images to be a page earlier than expected. # To prevent this, invisible glue is added to each page entry. # Then, in turn to prevent a page break between glue and overly # long contents, the \textheight is set to 50cm. This also # prevents page breaks within the contents (eg. a supertable). # However, *very* long pages are cut by dvips itself. Anyway, we # are rid of the 'images out of sync' problem. I'm aware of the # log entries of Nikos, but couldn't reproduce the restrictions # he stated. # To make bug fixes easier an excerpt of the original text is # added to its translation text in commented form, if$DEBUG. #--------- v96.1 Rev g (compiled by hws) # 12-Jun-96 # jcl - Supplied verbatim.perl style file for displaying an external file # verbatim. # - LaTeX called from l2h now reads the "images.tex" from # the current directory before searching TEXINPUTS. # - Changed &do_cmd_contentsline to be compatible with LaTeX 2.09 # (and 2e). # jcl-verb # Extensive changes in the &pre_process routine to handle things # \verb strings in comments, and commands like \verbatimfile. # hws - Fixed problem which ocurred when a section label began with # a number. Allow double and single quotes to appear within # section headings in segmented documents. Corrected a bug # in &save_array_in_file which caused an incorrect labels.pl # to be written. Added a \bodytext{text} command, which inserts # "text" into the ... preamble of the current # HTML document page. Depending on the browser, this may allow # a specification of background and text colours. Added # an additional "alt=text" parameter to the \htmlimage command to # override the default ALT HTML tag for figures and tables. # For LaTeX2e users, added an optional argument to the # \htmladdimg command for the ALT tag. Upgraded floatfig.perl # to floatflt.perl to utilize the floatflt package of # Mats Dahlgren . # mwk - Made html2e.sty more compatible with the natbib package # of Patrick W. Daly. Provided natbib.perl and nharvard.perl. # rrm - Made GIFs used by htmllist.perl transparent and further changes # to makeidx.perl. The file prefix now applies to images.tex, # so that images for separate segments are kept separate. # Hooks were added for packages to modify various links, and to # to perform operations at the beginning of a document. Added # sub make_named_href. Improved citation mechanism for # segmented documents. Implemented mechanism for recognizing # package options. The command \usepackage[option]{package} # is now searched in the following order **after** package.perl # is loaded: # # A. file named: _

• item, so as # to make them easier to edit manually. # rrm - Document segments no longer need to reside in the same directory, # as long as they have a common parent directory. # The only information that is now saved in the XXX.pl parameter # files is that which was introduced in that segment's own source # file (as opposed to another source file via the \internal # command.) Fixed a bug in html2e.sty which reserved a new TeX # \write channel for every program segment. LaTeX is no longer # called if the -no_images flag is specified. Change bars, # citations, and indices are now handled more correctly across # program segments. # jcl - Multiple ~'s may now appear in the $LATEX2HTMLSTYLES # installation variable to denote instances of the user's home # directory. Each .perl file is now guaranteed to be read only # once, even if it is specified in the source more than once. # #--------- v96.1 Rev d (compiled by hws) # 10-Mar-96 # meh - Made the Perl code conform to strict syntactical conventions, # eliminating compilation warnings. # hws - Replaced the &cleanup routine with a faster one. # Made the eqnarray* environment order-independent, so that # it can be recycled with the -reuse option. # #--------- v96.1 Rev c (compiled by hws) # 28-Feb-96 # hws - Improves document segmentation by permitting LaTeX sections # to appear after the \segment command. (Also the index and # information page may now be associated with the top-level # segment, not just the bottom-level.) Output .pl files only # when necessary for segmentation. (However, images.pl and # labels.pl are still always generated.) # \begin{latexonly} commands are now ignored if commented. # Uses &navigation_panel if &top_navigation_panel is undefined. # Ditto for &bottom_navigation_panel. Upgraded # .dot-latex2html-init. Make duplicate GIFs hard links of # each other so that they do not have to be recreated on a # reuse run. # meh - Translates subscripts and superscripts in inline equations # using and markups if the HTML_VERSION is 3.1 or # higher. # #--------- v96.1 Rev b (compiled by hws) # 20-Feb-96 # meh - Removed ;SPM*; constructs from simple inline equations. # hws - Restored the -no_images / -images_only mechanism. # #--------- v96.1 Rev a (compiled by hws) # 15-Feb-96 # hws - Fixed bug in texexpand pertaining to verbatim environments # in included files. Allow ~'s in htmllist icons. # #--------- v96.1 (compiled by hws) # 05-Feb-96 # tkm - Fixed bug which prevented &make_transparent from non-figure # environments when$TRANSPARENT_FIGURES is set to zero. # hws - Fixed bug in htmllist.perl: ~'s in $ICONSERVER were # being converted to blanks. Made latex2html die more # gracefully upon interrupt. Specified that environments # floatingfigure and wrapfigure are to be passed to TeX. # Fixed bug in pstogif which caused ppmquant never to be called! # Moved all command line defaults to latex2html.config. # Added a -debug command line switch. Support the alltt package. # Removed command line switch "dont_include". (Not needed.) # Updated the manual (again) and included changebar.sty. # Added the ability to segment documents. This required the # addition of five new command-line switches. Image recycling # now works even if a filename prefix is used. Added ability # to pass starred versions of commands to TeX, and added # \includegraphics and \includegraphics* to graphic[s,x].perl. # Support unbreakable spaces. Guard against HTML tags appearing # in up and down titles. Moved raw TeX support to texdefs.perl, # and made it optional. Added better control over LaTeX font size. # mg - Converted manual to standard LaTeX2e. Added epsfig.perl, # color.perl. Removed duplicate entries in graphics.perl. # meh - Made command parsing more like LaTeX's. Added commands # \makeatletter and \makeatother. Fixed bug which caused HTML # 3.0 table conversion to sometimes omit the caption. # Provide support for HTML 2.1, with ISO 10646 Unicodes. # Support itallic correction. # ays - Added forgotten${PREFIX} for footnode.html. Added missing # $abs_title instead of Abstract. Created french_titles and moved # french do_cmd_today to french.perl. Created links to # germanb.perl and francais.perl for the sake of the babel # package. Allowed other extensions than .tex for top-level-file. # jfr - Fix a bug in getting current working directory. # mer - Added calls to &pre_pre_process and &post_post_process # for specialized user-defined applications. Typeset only # the alphabetic portion of simple math expressions in itallic. # Added installation variable$AUTO_PREFIX. # #--------- v96.1-beta (compiled by hws) # 15-Jan-96 # hws - Fixed \htmladdimg, broken by a patch in v95.3. \labels, # equations and images in section headings now work (Really!) # Additional inline math equations can now be set in HTML. The # "scale=" option of \htmlimage is fixed. # rml - The comment removal regular expression in text_cleanup # missed comments that occur on the first line of an included file. # HTML 3.0 tabular not inside table inherited previous caption (fixed). # I also added a call to replace_user_refereces, to allow style # files to add new types of crossreferences. # jkr - Now LaTeX2HTML uses two panels, one for the top and one for # the bottom of the document. Made the translation of \today more # similar to LaTeX's. Patched the verbatim-counter patch of # #EI#. Removed the expansion of '\\' to '\\ ' in \verbatim. # Added support for the TeX \char command. # meh - Fixed treatment of @{} expressions in HTML 3.0 tables. # Fixed treatment of \circ in math mode. Made german.perl # compatible with HTML math 3.0 changes. Added width and # height attributes to navigation panel icons. Replaced # all occurences of tex2htmlindex with textohtmlindex. # Added a check that compares the actual image files to # remove duplicate images. # dkw - Added a new command \latexhtml{LaTeX}{html} to process # something in LaTeX one way, and in HTML another way. # hws - Added a "flip=" option in \htmlimage. Caused \htmlref, etc. # to use an external reference if an internal one is not found. # Added support for \ensuremath and floating/wrapped figures. # Ignore input after first /end{document} not shielded by # verbatim or \verb. Overhauled method of image sharing and # recycling. Made -reuse switch accept a reuse_option. # Added installation variables $TEXINPUTS and$DVIPS_MODE. # Made the .tex filename suffix optional. Provided support # for \special's outside of defined environments. Supplied # additional optional style files, htmllist and heqn. Updated the # manual. Ignore "| and "- constructs in german.perl. Support # the LaTeX2e babel package. Fixed bug in &read_mydb which # appended redundant newlines to macro expansions. User-defined # commands and environments can now have an optional argument. # Provided stubs tor \suppressfloats and \enlargethispage. # Added support for the LaTeX2e graphics package. Added command # line switch -prefix. Changed TeX mode to \nonstopmode if # DEBUG is set. Made treatment of \document(style|class) # consistent. Added \providecommand. Provided the makemap # utility to construct active image maps. # jtc - Added comment about the possible need to insert # "use GDBM_File" for Linux platforms. # pns - Improved error reporting in install-test. Corrected errors # in &iso_latin1_character_map and &iso_latin1_character_map_inv. # tkm - Remove optional space argument to \\ in 3.0 tables. # Even the inter-item spacing in list environments. # Made description tags be bold (as in LaTeX). # alo - Corrected bugs in &write_string_out, &special_env, # and &make_new_cmd_rx. Fixed bug in macro tokenization, # which sometimes caused macros not to be expanded in math mode. # sid - Corrected an error in the making of transparent images. # Added more error checking in install-test. # #--------- v95.3 (compiled by jmn) # 15-Nov-95 meh really - added tables (HTML 3.0) support. And support # for math format too - not enabled by default. Wow! # Made pstogif/latex2html detect blank images and remove IMG tags # pointing to them. # Added two switches: up_url and up_title - to spec the parent document # jmn - updated pstogif to use the ppmraw driver in ghostscript - # currently, DEPTH value is silently ignored - default gif output is # the same as it was before (except now it works on my decstation). # Also added in badfree perl5 patches from the ftp site. removed # references to pstoppm.ps in install-test # hws - Added an optional argument align= to \htmlimage for # the alignment of table and figure gif files. Added dbmclose calls. # Improved support for active image maps. # krn - numerous minor fixes including language support, comment # stripping, removal of extraneous spaces, and LATEX2HTMLSTYLES as a # path list # sid - Patch to generate fonts at appropriate scales for screen # viewing. Note that this uses a .dvipsrc file in the latex2html # directory. This is probably a bad idea, but some dvips versions # unfortunately don't handle the -mode option. # #--------- v95.1 # 20-Jan-95 nd - Fixed spurious syntax error in latex2html.config #--------- v95 # 13-Jan-95 mb - Added ppmquant filter in pstogif to make sure the GIF # images contain less than 256 colors # nd - Removed redundant call to finger in address_data # nd - Fixed pattern matching problem during \def processing # nd - Stopped using the -path option in "typewhat" in install-test #--------- v0.7a5 # 11-Jan-95 nd - Fixed problem with HTML encodings of ISO-LATIN1 characters # creeping into converted images of figures and tables by defining # an inverse mapping from such characters back to the original Latex # encodings # 10-Jan-95 nd - Added new global variable PAPERSIZE in latex2html.config # to make it easier to change the default behavior when converting # large images # nd - Fixed problem with passing results from child to parent processes # through DBM files by closing and reopening the DBM files on crossing # process boundaries # nd - Fixed the hierarchical index building to deal with duplicate # index keys. Also fixed it to close the description list ( ) properly # nd - Fixed problem in process_command which instead of collapsing # spaces following a command it was introducing them # 9-Jan-95 nd - Fixed problem with duplicated input files caused by # the parent process not waiting for each child finish # nd - Fixed looping problem with \input files caused by forked processes # messing up the parent's input stream. The fix was to save the position # in the input stream and then return to it after the child has exited. # mb - Support for internationalization. A global variable # can now be set in latex2html.config to change the titles of generated # sections (eg "Table of Contents", etc) # segal- Ingenious code to fix equation baseline alignment. This adds # instructions in the images.tex file so that information about # equation size is printed in the log file. This information is used # to determine whether to add extra white space at the bottom of the # equation and then changing the alignment mode... # nd - Incorporated the equation alignment code with the off-line # image generation mechanism. This required another DBM database and # also LaTeX to be run even when using the -no_images option in order # to get at the log file (which determines equation alignment) # 6-Jan-95 nd - Now will not create images.tex|pl or labels.pl unless there # data to go in them. Also persistent DMB files are hidden in .XXX files # ms - Now use getpwuid instead of whoami to get the user's name # nd - Fixed problem with special characters (<>&) in -address argument # - BUT it causes a problem for those who want to incude html # in their signatures so it's back to the old behavior # sk - Added shortcut commands \html and \latex for conditional text # psm - Added support for hierarchical indices # nd - Stopped replacing dashes (-- and ---) with a single hyphen # nd - Changed waitpid(pid0) to waitpid($pid,1) in sub write_out_string. # This cures the problem of repeated text from \input files # 5-Jan-95 nd - Changed make_begin_end_env_rx not to eat spaces at the # of the regexp *unless* we have a newline at the end (otherwise # have trouble with inlined equations) # nd - Hacked tokenize to deal with multiple newcommands on the same line # nd - Changed do_cmd_sc not to capitalize latex2html markers! # tt - Now use sh -c "type$X instead of which $X # mb - Fixed texexpand to include files XXX.tex specified using \input{XXX} # if XXX.tex in the TEXINPUTS path # mb - Fixed to resolve figure and table numbers when captions contain # accented characters # mb - Fixed for dotless i's and accents # mb - Added support for "named" bibtex style # 4-Jan-95 nd - Fixed strange bug in ignore_commands code generator by # removing some white space from command arguments #--------- v0.7a4 # 21-Dec-94 #--------- v0.7a3 # 16-Dec-94 nd - Removed the "o" in /$sections_no_delim_rx / in sub translate # because of problem with Perl 5. # nd - Replaced all occurrences of \ in substitutions with $for # Perl 5 compatibility # nd - Replaced all occurrences of @_[0] with$_[0] # nd - Fixed bug in do_cmd_cite # nd - Replaced all occurrences of $$with$$\ # 14-Dec-94 nd - Added more information in the README file # nd - Fixed problem with multiple bibliographies by incrementing $bbl_nr # at the end of do_env_thebibliography. Also, multiple bibliographies # are treated as separate sections # tt - Fixed invocation of$GS to stop printing annoying messages # 13-Dec-94 nd - Added a new variable $NETSCAPE_HTML in latex2html.config. # If set some Netscape-specific HTML may be generated. At the moment, # if it is set then the borders around inlined images will be removed. # nd - Fixed problem in german.sty caused by changes in the main script # nd - Changed process_command to collapse spaces following a command # into a single space rather than remove them completely # ev - Modified pstoppm.ps to use papersize aguments in gs. This is # supposed to fix the problem of large inlined images but we are # not quite there yet... # nd - Modified pstogif to accept papersize argument and latex2html to # call it with one but only if we are using pstoppm.ps # nd - Changed make_begin_end_env_rx to eat spaces following a begin|end # regular expression. Otherwise introduces 's in concecutive # environments. Verbatim environments seem unaffected. # 12-Dec-94 nd - Fixed it to use optional arguments in caption commands # nd - If latex2html is called with -split 0 then the footnotes are shown # at the end rather than in a separate node # nd - If$DEBUG is set then the images.tex file is not processed # in batchmode (ie will see the messages from LaTeX on STDOUT) # nd - Changed so that if called with -split 0 it will not use the filename # when constructing TOC HREFs (it caused some browsers to reload) #--------- v0.7a2 # 2-Dec-94 nd - Stopped enabling multi-line pattern matching ($*) throughout # the translation. This causes problems with the /$get_next_pair_pr_rx/ # regular expressions which will match *any* line beginning with a # bracket pair (ie a command argument). Instead multi-line pattern # matching is enabled selectively when needed (eg for deleting blank # lines) # nd - Added tests for availability of DBM in install-test # nd - Changed regular expressions which match next argument to skip # over any comment characters #--------- v0.7a1 # 1-Dec-94 nd - No changes - just pushing the release date into December :-) #--------- v0.7a # 29-Nov-94 nd - Added new option -no_reuse # nd - Fixed problem in sub expand_code which caused latex2html to hung # 28-Nov-94 nd - Fixed problem with capitalizing command names after an # \sc command # nd - NO longer necessary to get Giftrans if NETPBM is available # nd - Changed to trap errors and define a local version # if getcwd.pl is not in the Perl library # nd - The \hyphenation command and its argument are now ignored # 24-Nov-94 nd - When untarring the distribution a new directory which # contains the version number in its name is created # eb - Modified inlined images so that the background color is grey as # well as transparent (for browsers like the alpha Mosaic for Windows) # nd - Fixed so that citation labels in do_cmd_bibitem # are processed by translate_command # nd - Added config variable $TRANSPARENT_IMAGES in latex2html.config # If set to 0 then "figure" environments will not be transparent # nd - Modified install-test to prompt users to modify$GIFTOPPM # if they are using the NETPBM library # 24-Nov-94 eb - Added option -no_subdir so that the generated HTML files are # placed in the current directory. # nd - Changed so that -address "" is valid # 23-Nov 94 nd - Support for "off-line" image conversion with two new options # -no_images and -images_only. Some of the information necessary for the off-line # conversion is kept in DBM files. # 23-Nov-94 nd - Escaped the @ in "nikos@cbl" because of Perl 5 incompatibility # 18-Nov-94 nd - Removed manual.ps from the distribution # 15-Nov-94 nd - Added an anchor in the "References" heading #--------- v0.6.5 # 10-Nov-94 nd - Added \clearpage back in the text of each image in images.tex # Without it more than one figures may appear on the same page (it clears # the accumulated floating bodies) # nd - Added do_cmd_caption for tables than may be ignored... # 7-Nov-94 nd - Stopped adding $arg .= "\\\\"; in sub process_commands_in_tex # nd - Changed texexpand to print \input{XXX} even when XXX is to be # excluded # nd - Stopped adding \textheight 250cm in preamble because it seems to # work only with included bitmaps. In other cases cannot get # ghostview to process the whole (long) page before getting the ppm... # 4-Nov-94 nd - Changed do_cmd_footnote, do_cmd_ditch_preceding and # make_index_entry to use$ref_before instead of $before # nd - Stopped putting$contents in the ALT attribute of IMGs # becuase it causes problems when reading back cached images # from images.pl # nd - Changed ignore_numeric_arguments # nd - Stopped making "section" the outermost level in do_cmd_appendix # 3-Nov-94 po and nd - Added new option map= in the # \htmlimage command which can turn an included ps image # into an image map - UNTESTED # nd - Added a signal handler to call cleanup if interrupted # nd - Changed make_href to use %7E instead of &126; in URLs # 2-Nov-94 nd - Changed special_env not to match the "_" char in equations # pb - Changed replace_strange_accents to deal with \^\i (icirc) # ab - Changed preamble to set textheight to 250cm to solve problem of # long images # ab - Removed \clearpage from the text for generated images which causes # images to "move" # nd - Changed pre_process to remove comments but not the % character # which may be meaningful inside figure environments. It is removed # text_cleanup # 1-Nov-94 nd - Changed "finger" to use the -m option and added # an extra test to make sure we are looking at the name of # current user # nd - Added support for \newline, \dots # kl - Added support for tabbing environments - UNTESTED # kl - Added new option -ps_images, "which # if used together with -external_images produces PostScript external # images rather than external GIF's. # gg - Change to place the original latex content of an inlined image # in the ALT property of IMG # 31-Oct-94 nd - Fixed bugs in expand_code # 28-Oct-94 nd - Changed so that the verbatim hash table does not use the # DBM database becuase it crashes with entries longer than ~900 # characters. Now when forking a child, verbatim is saved and restored # using files explicitly. # # 13-Oct-94 nd - Major overhaul of pre processing to reduce the amount of # RAM required. Each of the \input files is pre processed a as # separate child process which is forked off independently. # The main latex2html process waits for each child to finish. # Any global variables changed by each child process are # seen by the parent process through DBM files. All the parent # has to do is reopen the DBM files holding some hash tables # (mainly LaTeX macros and verbatim environments). # LaTeX2HTML now *REQUIRES* NDBM (New DataBase Management which # can support multiple databases) # # Potential *problem*: "long" verbatim or rawhtml environments may # dissapear depending on the limitations of the NDBM installation. # On our system this happens at around 1000 characters. To avoid it # split such environments into smaller chunks... The error message # should look like # dbm store returned -1, errno 28, key "15" at # /usr/cblelca/nikos/bin/latex2html line 511, line 2199. # nd - Changed the rx for getting the name of the user in sub address_data # 12-Oct-94 nd - Changed slurp_input to use the unix "cat" command # instead of doing it explicitly (naughty but faster and smaller) # nd - Many changes to reduce the amount of memory required during # slurping/bracket-matching/macro-substitution. Mainly these operations # are now performed on separate chunks of the input stream. A chunk # holds the contents of each file specified by an \input command. # 11-Oct-94 nd - Changed do_cmd_section_helper and do_cmd_title to # use extract_pure_text instead of text_cleanup to remove markup # from headings # 10-Oct-94 nd - sub normalize now replaces occurrences of '@' with 'tex' # in command names # nd - Changed ignore_numeric_argument to cover more cases # nd - Added some more page layout control commands # nd - Fixed minor bug in replace_next_char # nd - Added \d (numbers) in delimiters list (DEJA VU!) # 7-Oct-94 nd - Fixed citations so that optional argument appears at the end # nd - Added LVerbatim in verbatim_rx for Raman (Naughty!) # nd - Fixed problem which caused \verb to fail when it was followed by a # a number # sl - Fixed generation of illegal HTML when $TOP_NAVIGATION =0; # nd - Extended the range of equations that need not be passed to latex # to include alphanumeric characters (in sub special_env) # 6-Oct-94 ab - Added support for multiple bibliographies # 4-Oct-94 gg - More support fot LaTeX2e # 30-Sep-94 nd - Added support for \LaTeX and \TeX! Removed them from the # arguments of &process_commands_in_tex # 27-Sep-94 nd - Changed add_link to put links from the navigation panel # of the top node to the address specified by the variables #$EXTERNAL_UP_LINK and $EXTERNAL_UP_TITLE # nd - Removed spaces from definitions of some commands in html.sty # rw - Fixed problem in wrap_math_environment where displayed # equations ($$eqn$$) cause subsequent normal equations ($eqn$) # to also appear as displayed # rw - Added support for some LaTeX2e commands # nd - Fixed the translation of the \cite command to recognize optional # arguments # nd - Changed address_data to try and match "Name:" when trying to # figure out the username for$ADDRESS ("Name:" is used by tcsh) # nd - Changed special_env to look for numbers as well as "\," in # equations which dont need to be converted to images # 23-Sep-94 nd - Fixed translation of displaymath () not to eat parts # of the formula # nd - Changed sub normalize not to eat the characters that follow an \& # nd - Changed the manual not to use braces when \protect'ing commands # nd - Added translation for \linebreak # re - Added support for the \and command # 22-Sep-94 nd - Changed make_head_and_body not to put tags in the HEAD # nd - Changed the dot.latex2html-init file to use the new $ADDRESS format # (this change was made in v0.6.4) #--------- v0.6.4 # 30-Aug-94 nd - Changed install-test to check just for -t rather than # for "-t index" in giftrans # nd - Commented out the usage message in pstoppm3.ps # bt - Various fixes dealing with counters and figure captions # nd - Changed two occurrences of$file to $FILE in sub driver #--------- v0.6.3 # 29-Aug-94 nd - Changed the protection on the *previous* set of iconic # buttons in the distribution. #--------- v0.6.2 # 26-Aug-94 nd - Changed so that .aux and .bbl files are really copied # in the html directory as $$_images.{aux|bbl} so that references # in images appear correctly # - Changed so that environments given as arguments to # process_commands_in_tex do not have their contents translated # - Changed translate_environments so that counter commands # which do not appear inside any environments are caught # just before exit # bt - Fixed problem in dealing with \part commands while processing # auxiliary (.aux) files # nd - Fixed regular expression in latex2html.config to include # index|contents so that the ALT attribute in the navigation panel # is correct # nd - Added config. variable FIGURE_SCALE_FACTOR and renamed # IMAGE_SCALE_FACTOR to MATH_SCALE_FACTOR # 25-Aug-94 nd - Changed the invisible character from  to as # described in http://www.uni-passau.de/~ramsch/iso8859-1.html # nd - Now prints pointer to "Troubleshooting" if images fail to convert # 24-Aug-94 nd - Fixed bug introduced by displaymath fix (23-Aug-94) # ew - Fixed translate_environments to handle multi-section environments # (environments spanning more than one sections) where the end of the # environment is not important to latex2html # 23-Aug-94 mk - Fixed so that the address appears inside the body # (otherwise it generates illegal HTML) # 23-Aug-94 nd - Fixed bug in the way that$$ (displaymath) are processed # 18-Aug-94 nd - Fixed bug in replace_cross_references which caused # pageref not to work #--------- v0.6.1 # 17-Aug-94 kz - Added "/" in join statement of img_tag just in case # someone omits it from the$ICONSERVER variable # nd - Added pstoppm3.ps in distribution. This is necessary for gs 3.0 # or later. The install-test script has been modified to automatically # change PSTOPPM in latex2html.config to point to the correct version # after checking which version gs is available # - Deleted a large portion of the man page inside latex2html # - Changed texexpand to ignore spaces around names of included files # - Changed $DVIPS to be invoked with the -M option which stops it # using Metafont # - Changed do_cmd_cite not to quote the #$cite_key because it # was causing problems when removing citation markers # - Changed do_cmd_texwritefile not to keep removing {}'s after picking # the figure|section|table number. This fixes problems of disappearing # numbers in figure and table captions # - Fixed encode to remove id's from the image caching key so that # image reuse works better # - Fixed do_cmd_footnotemark to pick \footnotetext # - Changed footnote file name from .foot.html to footnode.html # 16-Aug-94 nd - Fixed bug in process_commands_in_tex which caused # commands with many arguments not to be processed correctly (eg # parbox) #--------- v0.6a3 # 16-Aug-94 nd - Changed install-test to test if giftrans takes the -t # argument. # - Changed $img_out to$img in make_transparent # - Changed so it adds " when converting "verbatim" -

is enough
#       nd - Added support for loading a configuration file ./.latex2html-init
#        after ~/.latex2html-init if one is found.
#    5-AUG-94 nd  - The install-test script now makes executable the
#         appropriate scripts
#    4-AUG-94 nd  - Fixed problem with counters used in environments passed
#         to LaTeX missing or being added too late in images.tex. Was done by
#         scanning for $counters_rx in the$before string while processing
#         environments
#       bt - Fixed problem with section numbering (-show_section_numbers
#         when sections have the same titles. Also added support for
#         recognizing book parts
#       nd - Removed all .xbm's from the icons directory
#       nd - Created changebar.perl file which recognizes the commands
#       \chgbarbegin and \chgbarend.
#       These insert changebar icons around new text in a document.
#       nd - Fixed strange name clash bug in process_command where
#         $ref_contents was restored to an old value just before exiting # - the change was to add a ref_ prefix to the local variable #$before (the suberoutine was called with &process_command(???,*before)
#--------- v0.5.9
#    3-AUG-94 nd  - Fixed major bug in processing nested environments which
#         eg caused the outer environment to modify the contents of
#         inner environments. Fix is to go into the recursive call on
#         $contents before processing$contents in the current environment.
#         Also found that recursive call to modify $after was superfluous... # nd - Changed back to  - Mosaic don't like it. #--------- v0.5.8 # 3-AUG-94 nd - Changed translate_commands and translate_environments to # free more local variables before going into recursive calls. # Also changed some of their subordinate subroutines to receive # their parameters by reference rather than by value. # nd - Changed  to # 2-AUG-94 nd - Changed 3 reg expressions in revert_to_raw_tex to use # the "o" option for efficiency. Changed reg expressions in # wrap_shorthand_environments in the same way # nd - Changed texexpand to check for "sty|tex|cls" when figuring out # the basename of each style file # nd - Changed calls to process_environment to modify variables in the # caller rather than pass them around. # nd - Modified$contents parameter to process_command to be passed by
#         reference rather than by value
#       nd - Changed several subroutines to "undef" their local arguments
#         on exit. Not sure if this helps a lot...
#       nd - Changed to stop processing \input and \include commands
#         separately as soon as translation begins. This was
#         causing problems with \input commands inside figure environments.
#         Now they add themselves to $latex_body at the appropriate place. # nd - Changed html.perl to use embed_image instead of deal_with_image # nd - Stopped "linking" the .aux file in the HTML directory. It is not # needed since the captions are processed separately (and the # original was getting corrupted). # 1-AUG-94 nd - Implemented a new command \htmlimage which takes one # argument containing options used during the ps->gif converion. # [scale=] [external] [thumbnail= # The "scale" option allows control over the size of the final image. # The "external" option will cause the image not to be inlined # (images are inlined by default). External images will be accessible # from a hypertext link. # The "thumbnail" option will cause a small inlined image to be # placed in the caption. The size of the thumbnail depends on the # reduction factor. "thumbnail" implies "external"... # Example: # \htmlimage{scale=1.5,external,thumbnail=0.2} # will cause a small thumbnail image 1/5 of the original size to be # placed in the final document, pointing to an external image 1.5 # times bigger than the original. (The "external" option is not # necessary in this example. # nd - Added a global variable$DEBUG. If set in the configuration
#         files then intermediate files are left for later inspection.
#         Caution: Intermediate files can be *enormous*.
#       nd - Stopped eating \n's at the end of environments - it causes problem
#         latex source of the form "$eqn$\nabc".
#       nd - Changed it so that all GIFs are made transparent (ie the color
#         white is transparent). This includes thumbnails. Warning:
#         Some pictures may need to keep the white color!
#-------- v0.5.7
#   29-JUL-94 nd  - Implemented a new version of the pstogif script in
#         Perl. It takes -scale and -depth command line arguments. This will
#         be used to scale equations etc. and convert color images without
#         loss of quality.
#       nd - Changed the image generation mechanism to use the new pstogif
#         script. Equations are now on average *six* times smaller than before!
#         (Calculated using a physics paper with 88 equations).
#       nd - Changed the handling of "figure" and "equation" so that
#         the captions appear in HTML rather than in the inlined image.
#         This makes it unnecessary to scale up high quality images just to
#         be able to read the captions. Also hypertext links inside the
#         captions now work. Also, figure and table numbers will work
#         correctly *if* there is an up to date .aux file (generated by
#         LaTeX) *and* the caption does not contain any characters
#         converted into images (eg equations).
#       nd - Can now control the scaling of each image generated by an
#         unknown environment using a new command \htmlimage (see 1-AUG).
#         Also, a new global variable $IMAGE_SCALE_FACTOR controls # the size of all other image generating commands and # environments (eg the size of equations). # nd - Fixed problem with \html@next in html.sty which caused latex to # crash when reading html.sty with \input{html.sty} # 27-JUL-94 nd - Removed link to itself inside the Contents page # nd - Changed it so that it prints error messages # if system calls go wrong # nd - Texexpand now automatically excludes any files ending in # .sty and .cls # nd - Changed texexpand so that the arguments of documentclass # and usepackage are processed correctly without being lost. # Also modified do_include to return success or failure. If there # is a failure then the corresponding style file is added back # in the options lists. # nd - Changed 's to and 's to 's. Now let's hope # all the browsers know them! # nd - Removed pstoxbm from distribution, removed -allbitmaps from # options and$BIG_IMAGES_AS_GIFS from the config files
#   26-JUL-94 nd  - Added support for do_cmd_latexonly.
#   26-JUL-94 nd  - Option -split 0 now removes the (inactive) navigation panel
#       nd - Changed some internal commands from latex2html_* and tex2html_* to
#          latextohtml_* and textohtml_* so that numbers can act as delimiters
#          to command names as expected (and added [0-9] to the delimiter list)
#          *Removed* [0-9] from the delimiters list because it cannot distiguish
#          between delimiters and legitimate commands/envs with numbers in their
#          names
#       hpr - Changed install-test to recognize dvipsk as dvips
#       nd - Replaced nslookup and e-mail guessing code with simple finger
#       nd - Fixed warnings in install-test about DVIPS compatibility
#       nd - Fixed all HREFs to surround their arguments with ""'s

(oops!) # 18-AUG-93 nd - Added command \thanks # 16-AUG-93 nd - Changed the $process_in_latex_cmd_rx to$raw_args_cmd_rx to # include sectioning commands. This was done to catch the titles of # sections before they are processed in order to remove label references # (not from the title in the text but from the title that is used as a # handle for the section in the table of contents etc). # 10-AUG-93 nd - Removed the space character at the beginning of $verbatim_mark # and$verb_mark (was causing problems with \verb at the begining of a doc) # 5-AUG-93 nd - Changed $CHILDLINE to use ____ instead of ----- 's #---------- v0.2 # 3-AUG-93 nd - Stopped trying to expand the paths to the arguments of psfig # as it done through$TEXINPUT # 3-AUG-93 nd - All the navigation icon variables are now set in the # initialization file # 2-AUG-93 nd - The initialization file is now require'd using the full path # 2-AUG-93 nd - Modified the pstoxbm script to use environment variables # set in the .latex2html-init file. Modified the dot.latex2html-init file # 2-AUG-93 nd - Added delimiters(;) after the translation of special HTML chars # Modified the way HTML specials are translated in slurp_input # 2-AUG-93 nd - Added flag to switch off navigation links (suggested by wb) # 2-AUG-93 nd - References filtered through translate_environment # (bug reported by bh) # 2-AUG-93 nd - Fixed problem with recognizing the *-forms of environments # (bug reported by rst) # 2-AUG-93 nd - Added code to handle the -form of display math # (bug reported by rst) # 2-AUG-93 nd - Prints message at the end if references are not found # 2-AUG-93 nd - Added a separator between the body of text in a page and the # child links controlled by $CHILDLINE (suggested by ac) # 2-AUG-93 nd - Can specify the syntax of commands to be ignored in the # initialisation file # 31-JUL-93 nd - Added hundreds of semicolons to make it compatible with older # versions of Perl (but failed !) # 30-JUL-93 nd - Changed the order of the navigation keywords to be the same # as that of the navigation icons (suggested by ac) # 30-JUL-93 nd - Changed verbatim command arguments to be translated to fixed # width fonts () # 30-JUL-93 nd - Added section 'Hyperlinks with LaTeX commands' to the man page #---------- v0.1.1 # 29-JUL-93 nd - Changed make_new_env_rx and make_begin_env_rx to consume extra # spaces and newlines after a \begin{} command. Such newlines # were being added to environments that cause errors if they contain # blank lines (e.g. math) # 29-JUL-93 nd - Fixed design flaw (reported by ab) # Problem: Arguments of commands that were passed to latex were translated. # Fixed it by registering such commands in regular expression #$process_in_latex_cmd_rx and then processing such commands as soon as we enter # translate_commands. Modified translate_commands and process_command to # this accomodate. Also fixed bugs in the code of do_cmd_ where # X=psfig|fbox|framebox|parbox # 29-JUL-93 nd - Changed the format of inlined images coming back from latex # from GIF to XBM (suggested by ab) # 26-JUL-93 nd - Created