diff options
author | Karl Berry <karl@freefriends.org> | 2020-05-30 22:43:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-05-30 22:43:23 +0000 |
commit | 7f02ad93c789cb40b4cff5f183dca9e4d42cee67 (patch) | |
tree | cfb3287f4f6ae926863b5e1675c8cfdd577a7557 /Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex | |
parent | 6685b38371b780add7e2a34704180aa34b64a03b (diff) |
tex4ht doc regeneration, from tex4ht r713
git-svn-id: svn://tug.org/texlive/trunk@55350 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex | 11090 |
1 files changed, 11090 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex b/Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex new file mode 100644 index 00000000000..c8eb9c9310d --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex @@ -0,0 +1,11090 @@ +% $Id: TeX4ht-doc.tex 713 2020-05-30 22:41:18Z karl $ +% Part of TeX4ht, released under the LPPL. +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. + +%%%%%%%%%%%%%%% comment out for final version %%%%%%%%%%%%% +% \def\UnderRevision{{\bf +% This site is under revision +% until the end of February +% \IgnorePar\EndP \HCode{<hr />}\par +% }} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\immediate\write16{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} +\immediate\write16{!!!!!!Compile: dotemp or dofinal !!!!!!!!} +\immediate\write16{!!!!!!NEEDS: htcmd.exe, tex4ht.exe, t4ht.exe !!!!!!!!} +\immediate\write16{!!!!!!needs: TWO COMPILATIONS to get correct index!!!!!!!!} +\immediate\write16{!!!!!!checkmn in-messages out-clean-messages!!!!!!!!} +\immediate\write16{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} + + +\long\def\WAIT#1\ENDWAIT{} +%%%%%%%%%%%%%%%%%%% Compiling this program %%%%%%%%%%%% +% For temp directory: dotemp +% For TeX4ht dir : difinal + +% \def\SysNeeds#1{} + + +\def\SKIP{\bgroup\catcode`\\=9 \catcode`\{=9 \catcode`\}=9 \foo} +\long\def\foo#1/////////////+/{\egroup}\SKIP + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +MORE AT THE END +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +refresh AlProTex.sty in ctan +------------------------------------------- +-------------------------------------------------------------------------------------- +------------------------------------------- + +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- +http://biostat.mc.vanderbilt.edu/wiki/Main/SweaveConvert +-------------------------------------------------------------------------------------- +From: Peter FELECAN <pfelecan@acm.org> +To: gurari@cse.ohio-state.edu +Subject: [SPAM] tex4ht packages for SUN Solaris +Date: Mon, 18 May 2009 09:50:36 +0200 + +Eitan, + +Just to let you know that I packaged tex4ht --- the latest version --- +for SUN Solaris and the packages are available in the distribution +OpenCSW: http://www.opencsw.org/ If you think that it's of interest for +the tex4ht users community you can mention it on the project page. + +Sincerely yours +-- +Peter FELECAN + +-------------------------------------------------------------------------------------- + +Bill, + +The problem is due to tex4ht assuming that \a maintains its original +definition as provided in latex.ltx. The same kind of problem will +arise with many other macros that are configured by tex4ht. + +It is possible to modify tex4ht to provide configurations only for +control words that maintain their original definitions, but that will +require a large code overhead. On the other hand, it can be argued +that it is the responsibility of authors that change the meaning of +control words to provide also new tex4ht-based configurations. + +I modified the bugfixes distribution to cancel through an instruction +of the form + + \HRestore\a + +the configuration by tex4ht. + +-eitan + + > I suppose this could be fixed by now, though the same behavior + > is obtained with the texlive 2007 version (version 2006-10-28-15:32). + > + > (/usr/share/texmf/tex/generic/tex4ht/tex4ht.sty + > version 2008-02-25-14:04 + > + > The only notice is: + > + > ! Missing $ inserted. + > <inserted text> + > $ + > + > Example and xhtml+mathml output appended. The example runs correctly + > through normal latex. + + > ------------------------- + > \documentclass{article} + > \renewcommand{\a}{\alpha} + > \begin{document} + > + > $\a$ + > \end{document} + > ----------------------- +-------------------------------------------------------------------------------------- + + +\documentclass[english]{article} + \listfiles + \usepackage{filecontents} + \begin{filecontents}{test.bib} + @BOOK{book, + author = {Surname, Shaun}, + title = {A book with a long title}, + shorttitle = {A book}, + address = {London}, + year = {2000} + } + \end{filecontents} + \usepackage[style=verbose-note]{biblatex} + \bibliography{test} + + \begin{document} + \footnote{\cite{book}} +\footnote{\cite{book}} + \end{document} + +-------------------------------------------------------------------------------------- + +here it is a patch to let oolatex test which java implementation is run +by the command ``java'', and to exit with a meaningful error message (that can b\ +e +improved, of course) + +the patch is relevant in the debian context, and is not intended for propagati\ +on +upstream + +best regards + + gb + +--- /usr/share/tex4ht/oolatex 2008-09-14 05:53:15.000000000 +0200 ++++ oolatex 2008-12-11 15:11:38.000000000 +0100 +@@ -1,4 +1,7 @@ + #!/bin/sh ++ ++java -version 2>&1 | grep -q 'GNU libgcj' && printf ``oolatex NEEDS Sun's Java\ +\n'' && exit ++ + if command -v xhtex > /dev/null 2>&1 ; then + true + else + + + + + +-------------------------------------------------------------------------------------- +\graphicspath{{eps/}{tiff/}} +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=graphicspath +\DeclareGraphicsExtensions{.png,.jpg,.eps,.ps} +\includegraphics{fig} +-------------------------------------------------------------------------------------- +To: owner@bugs.debian.org (Debian Bug Tracking System) +Cc: Kapil Hari Paranjape <kapil@debian.org> +Subject: Bug#486482: tex4ht: a java program invoked from + oolatex goes in error +In-Reply-To: <handler.486482.D486482.122136489916562.ackdone@bugs.debian.org> +References: <E1KeiZn-0002ui-6I@ries.debian.org> + <20080616111948.5356.58963.reportbug@boffi95.stru.polimi.it> + <handler.486482.D486482.122136489916562.ackdone@bugs.debian.org> +X-Mailer: VM 7.04 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid +--text follows this line-- + +An apology if this is a duplicate posting. I tried to email earlier +a similar message I fail to find a trace of it. + +-------- + + +Kapil Hari Paranjape, Mon, 16 Jun 2008 20:00:02 + +> This (second) failure seems to the same error as is evident in bug +> report #471837, which is due to a problem with "default-jre" under +> Debian (see #474075). The problem is that the JRE which uses gij (or +> cacao or jamvm) is not entirely compatible with Sun's "java". +> +> The original "xtpipes" java code and the resulting byte code works +> fine with Sun's "java". If you choose the Sun java (currently only in +> non-free under Debian) using "update-alternatives", then the +> conversion ought to work for now. +> +> We are still trying to fix this compatibility issue. + +Eitan Gurari, Tue, 17 Jun 2008 00:48:31 +> +> > We are still trying to fix this compatibility issue. +> +> It will take some months until I'll confront the problem head on. I +> intend first to learn the gij/gcj environment by using it to develop +> software for another project. -eitan + +The oolatex problem with gij/gcj is due to the problem exhibited in +the attached sample program. The program produces the same error (of +a missing office.dtd file) under SUN Java and GNU Java. When the +EntityResolver code is uncommented, the SUN Java program executes +smoothly. On the other hand, the GNU Java still issues the error +message. That is, GNU Java seems to have broken implementation for +the EntityResolver feature. + +I ran the code with the commands + + javac Test.java ; java Test test.tmp + gcj -C Test.java ; gij Test test.tmp + +within the following environment. + + java version "1.5.0" + gij (GNU libgcj) version 4.2.4 (Ubuntu 4.2.4-1ubuntu3) + +By introducing an empty office.dtd file in the work directory, oolatex +would work also under gcj/gij. + +-eitan + +------------------- Test.java ---------------------- + +import javax.xml.parsers.*; +import org.xml.sax.*; +import java.io.*; +class Test { + static public void main(String[] args) + throws Exception { + SAXParserFactory factory = SAXParserFactory.newInstance(); + SAXParser saxParser = factory.newSAXParser(); + XMLReader xmlReader = saxParser.getXMLReader(); + /* + xmlReader.setEntityResolver(new org.xml.sax.EntityResolver() { + public InputSource resolveEntity( + String publicId, String systemId) { + StringReader strReader = new StringReader(""); + System.err.println(".......... " + systemId); + return new org.xml.sax.InputSource(strReader); + } + }); + */ + xmlReader.parse + ( new File(args[0]).toURI().toURL().toString() ); +} } + +------------------- test.tmp ----------------------- + +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE + office:document-content + PUBLIC "-//OpenOffice.org//DTD OfficeDocument 2.0//EN" + "office.dtd"> +<office:document-content> +</office:document-content> + +---------------------------------------------------- + + +-------------------------------------------------------------------------------------- + +javac Test.java ; java Test test.tmp +gcj -C Test.java ; gij Test test.tmp + +java version "1.5.0" +gij (GNU libgcj) version 4.2.4 (Ubuntu 4.2.4-1ubuntu3) + + + + + +import javax.xml.parsers.*; +import org.xml.sax.*; +import java.io.*; +class Test { + static public void main(String[] args) + throws Exception { + SAXParserFactory factory = SAXParserFactory.newInstance(); + SAXParser saxParser = factory.newSAXParser(); + XMLReader xmlReader = saxParser.getXMLReader(); + /* + xmlReader.setEntityResolver(new org.xml.sax.EntityResolver() { + public InputSource resolveEntity( + String publicId, String systemId) { + StringReader strReader = new StringReader(""); + System.err.println(".......... " + systemId); + return new org.xml.sax.InputSource(strReader); + } + }); + */ + xmlReader.parse + ( new File(args[0]).toURI().toURL().toString() ); +} } + + +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE + office:document-content + PUBLIC "-//OpenOffice.org//DTD OfficeDocument 2.0//EN" + "office.dtd"> +<office:document-content> +</office:document-content> + + + + +------------------------------------------------------------------------------ + > tc:\Program Files\MiKTeX 2.7\fonts\! + > which it could not resolve. + > I now changed it to + > tc:\Progra~1\MiKTeX~2.7\fonts\! + > which makes it work now. +-------------------------------------------------------------------------------------- + +As explained in section 2, TEX4ht needs external utilities for +creating the bitmaps used in the web-documents. The default set up is +a combination of dvips, gs (GhostScript) and ImageMagick’s convert +utility [4]. Unfortunately this is a rather slow process, and not a +very good one when it comes to antialiasing, and it’s definetely not +suited for typesetting uses. However, the dvi2bitmap tool available +freely from [3] is efficient and converts dvi files directly to png or +gif files. Dvi2bitmap works almost like a normal dvi-driver, but has +no support for so-called dvi-specials (such as included eps-figures +et.c.) Thus, a combination of the two is required: We use dvi2bitmap +whenever we encounter maths and special symbols as this is efficient +and produce good results, but use the aforementioned +dvips/gs/convert-process for items that dvi2bitmap cannot handle, such +as included PostScript figures. + +-------------------------------------------------------------------------------------- +http://schlosser.info/latexsystem-en.html#x1-200003.6 +-------------------------------------------------------------------------------------- +I forgot to mention about one thing. The installation script I posted +earlier does not install tex4ht.exe and t4ht.exe binaries. They come +with miktex-tex4ht-bin-2.7 package and should be installed first +(using miktex package manager). The rest of tex4ht is installed by the +script and it won't show up in miktex package manager (it have to be +maintained manually). + +And a small correction - lines [51-54] are not needed and can be +deleted (but they don't do any harm, it's not a bug, just some dead +code). + + + +>A few final remarks. It works on NT based systems only, so users of +>win98 and below are out of luck. Sorry. Shell scripting on NT is +>already traumatic enough for me. All lines are numbered in case they +>get wrapped in this post. Copy and paste them into a text editor and +>unwrap all lines not starting with a number. Remove the bracketed +>numbers and save it as 'install-tex4ht.bat'. If you are too lazy to do +>it manually save it as 'install-tex4ht.txt' and from the command line +>run (one line): +>(for /f "tokens=1* delims=[]" %K in (install-tex4ht.txt) do @echo. +>%L)>install-tex4ht.bat +> +>OK, without the further ado, here's the installation script. +> +>---------- INSTALL-TEX4HT.BAT +>[1]::--------------------------------------------------------------------:: +>[2]::- *** TEX4HT installation script +>*** -:: +>[3]::- +>-:: +>[4]::- +>Usage: -:: +>[5]::- * +>Installation: -:: +>[6]::- install- +>tex4ht.bat -:: +>[7]::- install-tex4ht.bat +>install -:: +>[8]::- * +>Uninstallation: -:: +>[9]::- install-tex4ht.bat +>uninstall -:: +>[10]::- +>-:: +>[11]::- +>Remaks: -:: +>[12]::- * Installation script will prompt you for locations of +>unzipped -:: +>[13]::- tex4ht.zip and newt4ht.zip files; you can to avoid that +>by -:: +>[14]::- defining them in the configuration section of the +>script -:: +>[15]::- * After installation created TDS (TeX Directory Structure) +>tree -:: +>[16]::- has to be added to MiKTeX's roots (use MiKTeX's +>Settings -:: +>[17]::- utility mo.exe). Alternatively, you can install to +>MiKTeX's -:: +>[18]::- intallation directory but this is not recommended. +>Refresh -:: +>[19]::- FNDB after +>installation. -:: +>[20]::- * Uninstallation will leave behind created TDS +>tree; -:: +>[21]::- delete it manually if +>desired -:: +>[22]::--------------------------------------------------------------------:: +>[23] +>[24]@echo off +>[25]setlocal +>[26] +>[27]:: ******************** Configuration section +>*********************** :: +>[28]::unzipped tex4ht location +>[29]set tex4ht_unzipped_dir=.\tex4ht-20070708 +>[30]::unzipped newt4ht location +>[31]set newt4ht_unzipped_dir=.\newt4ht +>[32]::tex4ht installation dir +>[33]set tex4ht_install_dir=C:\texmf-local +>[34]::change (Y) or not (N) the default <oo> script to <oo-alt> +>[35]set use_oo-alt=Y +>[36]::rollback if installation failed (Y/N) +>[37]::(removes only texh4ht and leaves created TDS tree behind) +>[38]set rollback=N +>[39]:: +>****************************************************************** :: +>[40] +>[41]if not "%OS%"=="Windows_NT" goto requireNT +>[42]for %%G in (xcopy.exe) do if "%%~$PATH:G"=="" goto :noxcopy +>[43] +>[44]call :help +>[45]for %%G in (tex4ht_unzipped_dir newt4ht_unzipped_dir +>tex4ht_install_dir) do ( +>[46] call :setupdirs %%G +>[47] if not defined %%G goto :abort +>[48]) +>[49]goto %1 :install +>[50] +>[51]for %%G in (%tex4ht_install_dir%\tex4ht\base\win32\tex4ht.env +>%tex4ht_install_dir%\scripts\tex4ht\bat\*.bat) do ( +>[52] call %% > nul +>[53] REM && move /Y %%G.tmp %%G || goto :copyerror +>[54]) +>[55] +>[56]:install +>[57]set "copyopt=/I /S /Y /D" +>[58]xcopy.exe %newt4ht_unzipped_dir%\texmf\tex4ht %tex4ht_install_dir% +>\tex4ht %copyopt% || goto :copyerror +>[59]xcopy.exe %newt4ht_unzipped_dir%\texmf\tex\generic\tex4ht +>%tex4ht_install_dir%\tex\generic\tex4ht %copyopt% || goto :copyerror +>[60]xcopy.exe %tex4ht_unzipped_dir%\texmf\tex4ht\ht-fonts +>%tex4ht_install_dir%\tex4ht\ht-fonts %copyopt% || goto :copyerror +>[61]xcopy.exe %tex4ht_unzipped_dir%\bin\win32\*.bat %tex4ht_install_dir +>%\scripts\tex4ht\bat %copyopt% || goto :copyerror +>[62]echo Search and replace "c:\tex4ht\texmf\" with +>"%tex4ht_install_dir%" +>[63]for %%G in (%tex4ht_install_dir%tex4ht\base\win32\tex4ht.env +>%tex4ht_install_dir%scripts\tex4ht\bat\*.bat) do ( +>[64] call :replstr %%G "c:\tex4ht\texmf\" "%tex4ht_install_dir%" +>[65]) +>[66]if /i "%use_oo-alt%"=="Y" ( +>[67] echo Search and replace "oo>" with "oo-bak>" +>[68] call :replstr %tex4ht_install_dir%tex4ht\base\win32\tex4ht.env +>"oo>" "oo-bak>" +>[69] echo Search and replace "oo-alt>" with "oo>" +>[70] call :replstr %tex4ht_install_dir%tex4ht\base\win32\tex4ht.env +>"oo-alt>" "oo>" +>[71]) +>[72]echo To finish installation add "%tex4ht_install_dir%" to MiKTeX +>roots and refresh FNDB +>[73]pause +>[74]goto :eof +>[75] +>[76] +>[77]:uninstall +>[78]echo Uninstalling TEH4HT... +>[79]for %%H in (%tex4ht_install_dir%tex4ht %tex4ht_install_dir%tex +>\generic\tex4ht %tex4ht_install_dir%scripts\tex4ht) do ( +>[80] if exist "%%~H\" ( +>[81] echo Removing "%%~H\" +>[82] rmdir /S /Q "%%~H\" +>[83] ) +>[84]) +>[85]echo Uninstallation complete +>[86]pause +>[87]goto :eof +>[88] +>[89]:help +>[90]findstr "^::-" %~sf0 +>[91]goto :eof +>[92] +>[93]:setupdirs +>[94]::let's make sure that dirs are in short format +>[95]for /f "tokens=1* delims==" %%H in ('set %1 2^>^&1') do set +>"$cratchVar=%%~sfI" +>[96]if defined $cratchVar set "$cratchVar=%$cratchVar%\" +>[97]if not exist "%$cratchVar%" (set /p $cratchVar=%1=) +>[98]if not exist "%$cratchVar%" ( +>[99] set "$cratchVar=" +>[100] set /p $cratchVar=Specified directory does not exist. Retry? [y/ +>n]: +>[101] set $cratchVar | findstr /i "=y\>" >nul && goto :setupdirs || +>set "$cratchVar=" +>[102]) +>[103]set %1=%$cratchVar% +>[104]goto :eof +>[105] +>[106]:replstr <file name> <search string> <replace string> +>[107]setlocal +>[108]echo.%1 +>[109]for /f "tokens=1* delims=[]" %%K in ('find /n /v "" "%~1"') do ( +>[110] set lineNo=0000%%K +>[111] set "txtline==%%L" +>[112] REM This may break if txtline contains poison characters +>[113] REM together with quotation characters +>[114] call set "txtline.%%lineNo:~-4%%=%%txtline:%~2=%~3%%" +>[115]) +>[116]::echo from for command so we don't get screwed by poison +>characters +>[117]>"%~1" (for /f "tokens=1* delims==" %%K in ('set txtline.') do +>echo.%%L) +>[118]goto :eof +>[119] +>[120]:copyerror +>[121]>&2 echo There were some errors while copying files. Make sure +>that correct installation directories are specified. +>[122]>&2 echo Aborting installation. +>[123]if /i "%rollback%"=="Y" call :uninstall +>[124]pause +>[125]exit /b 1 +>[126] +>[127]:abort +>[128]>&2 echo Aborting installation. +>[129]pause +>[130]exit /b 1 +>[131] +>[132]:requireNT +>[133]>&2 echo This script requires Windows NT based system. Sorry. +>[134]pause +>[135]exit /b 1 +>[136] +>[137]:noxcopy +>[138]>&2 echo No xcopy command? Aborting installation, please don't +>hate me. +>[139]pause +>[140]exit /b 1 + +-------------------------------------------------------------------------------------- +http://groups.google.com/group/comp.text.tex/browse_thread/thread/cd12489666d4d15f/2662902be1a6b276?lnk=gst&q=tex4ht+2008+pdf#2662902be1a6b276 +-------------------------------------------------------------------------------------- + +comp.text.tex #397221 (0 + 9 more) (1)+-(1) +From: Turgut Durduran <ugdc@ugdc.org> \-(1)--[1] +[1] Re: tex4ht problems +Date: Thu Feb 28 17:31:52 EST 2008 +Lines: 48 + +On 2008-02-21, Eitan M Gurari <gurari@cse.ohio-state.edu> wrote: +> +>>LaTeX document to either open document format, or to html that I would +> +>>I am using text4ht from Ubuntu Gutsy Gibbon repositories. Nothing +>>customized. +>> +>>The files I am using are here: +>>http://www.stwing.upenn.edu/~durduran/tmp/distr/ +> +>>The output is broken -- Firefox can't open it with the following error. +> +> Try upgrading the tex4ht instalation with the files from +> +> http://www.cse.ohio-state.edu/~gurari/TeX4ht/bugfixes.html +> +> +>>(2) references are listed but appear as: + +From: Turgut Durduran <ugdc@ugdc.org> \-(1)--(1) +[1] Re: tex4ht problems +Date: Thu Feb 28 17:31:52 EST 2008 +Lines: 48 + +On 2008-02-21, Eitan M Gurari <gurari@cse.ohio-state.edu> wrote: +> +>>LaTeX document to either open document format, or to html that I would +> +>>I am using text4ht from Ubuntu Gutsy Gibbon repositories. Nothing +>>customized. +>> +>>The files I am using are here: +>>http://www.stwing.upenn.edu/~durduran/tmp/distr/ +> +>>The output is broken -- Firefox can't open it with the following error. +> +> Try upgrading the tex4ht instalation with the files from +> +> http://www.cse.ohio-state.edu/~gurari/TeX4ht/bugfixes.html +> +> +>>(2) references are listed but appear as: ``ø:mbox:1,ø:mbox:2'' instead of +>>supersciprt 1,2 etc. +> +> I modified the bugfixes distribution to take care of the problem along the +> approach suggested by Dan (thanks Dan!). +> +> -eitan +> + + + +I thank Dan and Eitan for their help. + +Eitan, under the instructions for an ``upgrade'' (which I assume bugfixes +should be applied as such?), it says: + +``[Invocation Scripts] Find where htlatex resides (e.g., \u2018which +htlatex\u2019). Save the files htlatex, httex, httexi, and htcontext +elsewhere and get new scripts from +bin/linux/ +for a replacement.'' + + + but there is no such thing in +http://www.cse.ohio-state.edu/~gurari/TeX4ht/fix/tex4ht-1.0.2008_02_26_0908.tar.gz + +should it read as bin/unix instead? (I tried that, seems fine) + +I am checking if this fixed my problem yet. + + +-------------------------------------------------------------------------------------- + ---- ---------------------- -------------------------------------------------- +From: Richard Koch <koch@math.uoregon.edu> +Sender: macosx-tex-bounces@email.esm.psu.edu +To: emalito@uchicago.edu, + TeX on Mac OS X Mailing List <macosx-tex@email.esm.psu.edu> +Cc: +Subject: Re: [OS X TeX] convert .tex file to .html +Date: Sat, 17 Nov 2007 19:25:47 -0800 + +Enrico, + +What TeX distribution are you using? If it is TeX Live or gwTeX, then +TeX4ht should be already installed in the distribution. + +The latest version of TeXShop has an "engine" file for \ this program. +It is in + + ~/Library/TeXShop/Engines/Inactive + +If you don't find it there, but have TeXShop 2.14, then move the +entire folder ~/Library/TeXShop/Engines to your desktop. The next time +TeXShop starts, it will create the default folder, which will include +a TeX4ht folder and htlatex.engine. To use it, move htlatex.engine +from the inactive folder to ~/Library/TeXShop/Engines. + +To use this program, enter standard latex source in the Source Window. +In the pulldown menu next to the Typeset button, select htlatex. When +you push the Typeset button, your latex source will be typeset and +then converted to an html file, and this html file will open in Safari. + +You can make this happen automatically (without selecting htlatex) by +entering + + %!TEX TS-program = htlatex + +near the top of your source file. + +Dick Koch +koch@math.uoregon.edu +==================== +From: Thomas Rike <tricycle222@earthlink.net> +Sender: macosx-tex-bounces@email.esm.psu.edu +To: emalito@uchicago.edu, + TeX on Mac OS X Mailing List <macosx-tex@email.esm.psu.edu> +Cc: +Subject: Re: [OS X TeX] convert .tex file to .html +Date: Sat, 17 Nov 2007 19:37:15 -0800 + +Enrico, + +I am no expert, but on the command line I first change my directory to +the directory containing the latex file (Just drag and drop the folder +works fine). Then type htlatex nameofyourfile.tex + +For graphics I think you will need ghostscript and Imagic which I got +with the i-Intaller. + +If you are not working on the command line then a very effective gui +is SimpleTeX4ht (version 1.8). Just download, install and run. Select +the button ``Convert'' and you can browse your computer for the file you +want to convert to html. + +http://www.apple.com/downloads/macosx/unix_open_source/simpletex4ht.html + +HTH, Tom Rike + +-------------------------------------------------------------------------------------- + + +-------------------------------------------------------------------------------------- +http://www.sun.com/software/star/odf_plugin/ + +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- + > > The problem was in missing hypertext fonts, as indicated by the + + > I think that's only one of two errors. Tex4ht should produce valid mml + > files even if the .htf files are missing, as TeX allows users to define + > their own fonts. Unknown Characters could be replaced by a square or a + > question mark as it is used in other contexts. + +I believe it will be a wrong approach, as users might get improper +content and in some cases are unlikely to notice it. Moreover, the +philosophy of OpenOffice, and of quite a few advocates of XML, is to +maintain zero tolerance for errors. So not allowing improper data is +consistent with that philosophy. + +The squares or question marks OpenOffice and other browsers display +are not due to errors in the exhibited files. They point to missing +fonts in the platforms on which the browsers run. + +A solution to a missing font problem should not be that difficult to +achieve by replacing fonts. For instance dvi2dvi seems to be +a utility designed for that purpose (http://packages.debian.org/sid/dvi2dvi). + +Technically, it probably will be easy to add an option for tex4ht to +output, say, a question mark where characters are missing. In case +you strongly like to have such an option, I'll provide it. + +-eitan + +-------------------------------------------------------------------------------------- + +biblatex +-------------------------------------------------------------------------------------- + +FWIW, I mirror Eitan's web pages (and distributions) at +ftp://tug.org/mirror/www.cse.ohio-state.edu/~gurari/TeX4ht. Maybe CTAN +could easily mirror that and hence be up to date? In particular, the +file +ftp://tug.org/mirror/www.cse.ohio-state.edu/~gurari/TeX4ht/fix/tex4ht.tar.gz +is the latest bug fix release, I believe. + +-------------------------------------------------------------------------------------- + + + + + + +-------------------------------------------------------------------------------------- +MacTeX installs the full TeX Live 2007, with virtually no +changes. Indeed, you can go to + + http://www.tug.org/mactex/whatgetsinstalledwhere.html + +to see exactly how we configure TeX Live. + +-------------------------------------------------------------------------------------- + + +I've done this with MetaPost graphics. The first step is to get +yourself a PDF output as you suggested in (b). I've tried various +techniques, but I've decided for myself that this is the "best" +solution (quality wise). You'll need the following tools: + +1) pstoedit --> http://www.pstoedit.net/pstoedit +2) skencil --> http://www.skencil.org +3) inkscape --> http://www.inkscape.org + +In Gentoo Linux I needed Skencil in order for Inkscape to have SKencil/ +SKetch support; however, pstoedit and Inkscape are the only two +utilities *directly* used. If your version of Inkscape has SK support +without installing SKencil, then that's good. + +Let's assume your PDF is foo.pdf. Then do the following: + +pstoedit -page 1 -rgb -dt -psarg "-r9600x9600" -f sk foo.pdf foo.sk + +This will produce a SKencil/SKetch format of page 1 of your document. +-rgb uses RGB colors and -dt tells pstoedit to trace your fonts. This +tracing gives a larger filesize, but it ensures that your output text +looks exactly like your text in your PDF. The -psarg "-r9600x9600" +tells GhostScript to process stuff at 9600dpi. + +Note that pstoedit can export to SVG directly, but I've found that the +results aren't as good as going through SK and using Inkscape to +convert the SK to SVG. + +After you get foo.sk, you can then do + +inkscape -z -f foo.sk -l foo.svg + +Hopefully this will be to the quality and filesize that you want. + + +-------------------------------------------------------------------------------------- +http://ooolatex.sourceforge.net/ +-------------------------------------------------------------------------------------- + +To: =?iso-8859-2?B?QmFyYm9yYSBIYXbt+G924Q==?= <bhavirova@seznam.cz> +Subject: TeX4ht for LaTeX to DocBook +In-Reply-To: <000701c73441$e95d8f90$7601a8c0@barbora> +References: <000701c73441$e95d8f90$7601a8c0@barbora> +X-Mailer: VM 7.04 under 21.1 (patch 14) ``Cuyahoga Valley'' XEmacs Lucid +--text follows this line-- + + +Hi Barbora, + +Would the following (unsafe) configuration do the job for you. + + \newtoks\toks + \Configure{$}{}{}{\getMath} + \def\getMath#1${\relax$\fi + \expandafter\toks\expandafter{\gobble#1}% + \HCode{<mathphrase>\the\toks</mathphrase>}} + \def\gobble#1{} + +-eitan + + > I need to let all the mathematics as it is and only wrap + > it in <mathphrase></mathphrase>. + > + > I.e. $\sqrt{a^b}$ will be <mathphrase>\sqrt{a^b}</mathphrase> + > + > Is it possible? + > + > I am able to wrap it with + > + > \Preamble{xhtml} + > \begin{document} + > \Configure{$}{\HCode{<mathphrase>}}{\HCode{</mathphrase>}}{} + > \EndPreamble + > + > in my configuration file, but I don't know how to forbid processing of the + > math code. + +Barbora, + +Another (unsafe) option: + + \newtoks\toks + \Configure{$}{}{}{\getMath} + \def\getMath#1${\relax$\fi + \expandafter\toks\expandafter{\gobble#1}% + \HCode{<mathphrase>}% + \bgroup + \noindent + \Configure{HtmlPar}{}{}{}{} + \ConfigureEnv{verbatim}{}{}{}{} + \immediate\openout15=tempmatheq.tex + \immediate\write15{\string\begin{verbatim}\the\toks + \string\end{verbatim}}% + \immediate\closeout15 + \input tempmatheq.tex \noindent + \egroup + \HCode{</mathphrase>}} + \def\gobble#1{} + +-eitan + + > I found a problem, because the symbols < and > + > can't be in the mathematic text as they are used for tags. I hope that + > changing it into < and &rt; will help. + + + +Barbora, Try the following variant. -eitan + + \newtoks\toks + \Configure{$}{}{}{\getMath} + \def\getMath#1${\relax$\fi + \expandafter\toks\expandafter{\gobble#1}% + \HCode{<mathphrase>}% + \bgroup + \noindent + \Configure{HtmlPar}{}{}{}{} + \ConfigureEnv{verbatim}{}{}{}{} + \Configure{verbatim}{ }{ } + \immediate\openout15=tempmatheq.tex + \immediate\write15{\string\begin{verbatim}\the\toks + \string\end{verbatim}}% + \immediate\closeout15 + \input tempmatheq.tex \noindent + \egroup + \HCode{</mathphrase>}} + \def\gobble#1{} + + + > It works. But when there is a space in math, it is replaced by   + +-------------------------------------------------------------------------------------- + +http://www.alanwood.net/unicode/ + +Alan Wood’s Unicode Resources +Unicode and Multilingual Support in HTML, Fonts, Web Browsers and Other Applications +-------------------------------------------------------------------------------------- + + > > How about a command similar to the following one? + > > + > > t4ht try -d'~/WWW/temp/foo\ foo/' + > > + > + > To get to that requires changing the htlatex script to quote the + > argument to t4ht. + +I don't think we can go for htlatex modifications, as the outcome +might also depend on the operating system in use. In any case, I +modified t4ht.c to allow for FULLY quoted arguments such as + + t4ht try '-d~/WWW/temp/foo\ foo/' + t4ht try "-d~/WWW/temp/foo foo/" + +and in the case of htlatex + + htlatex file " " ``'-d~/WWW/temp/foo foo/''' + +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- + + +>Ok. I think I can fix my problem editing the tex4ht.env file. +>I can read in the file /usr/share/doc/tex4ht/README.Debian +>that TeX4ht can use three different way to convert images: +> +>DEFAULT: with dvipng. I think I'm using it right now. +>UPSTREAM: using ImageMagick suite, so using ``convert'' +>NETPBM: with the netpbm suite. Never heard before. +> +>One of them is active, the other scripts are commented +>(how? with spaces?) + +My guess the relevant parts in the Debian environment file have the +following outline. + + <convert> + G.png + Gdvips ... + Ggs ... + G.svg + Gdvips ... + Gpstoedit ... + G. + Gdvips ... + Gconvert ... + </convert> + + <netpbm> + ....... + </netpbm> + + <dvipng> + G.png + Gdvipng ... + G.gif + Gdvipng ... + G. + Gdvips ... + Gconvert ... + </dvipng> + +The dvipng segment is the active one as its enclosing tags are +commented out, with spaces before the opening tag <dvipng> and the +closing tag </dvipng>. The dvipng segment consists of three +parts: + +* A G.png and a G.gif parts invoking the dvipng + utility to satisfy requests for png and gif bitmaps + +* A G. part invoking dvips+convert to handle requests for other + formats of bitmaps + +Spaces before the records of the first two parts will comment out the +dvipng subscripts, and forward all the requests to the subscript in +the third part. + +Alternatively, remove the spaces before the <dvipng> and </dvipng> tags +to deactivate the script they enclose, and place spaces before the +<convert> and </convert> tags to activate the enclosed script. + +>In which language is written the tex4ht.env file? Python? Perl? +>Can somebody show me how to edit the tex4ht.env file? + +The file cosists of a specially designed script to be interpreted by +the tex4ht utilities. The tex4ht.env entry in the index of + + http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html + +offers some clues to its content. Modifications to the file can be +done with editors capable of working with plain text. + +-eitan + +-------------------------------------------------------------------------------------- +OS-X: + (/usr/local/teTeX/share/texmf.local/tex4ht/base/tex4ht.env) + (/usr/local/teTeX/share/texmf.tetex/fonts/tfm/public/cm/cmr10.tfm) + --- warning --- Couldn't find font `cmr10.htf' (char codes: 0--127) + Can you show me the messages issued for + + + tex4ht -hF -hv test + +That gave me a bit more to work with, I added + + + +TEX4HTFONTSET=alias,iso8859 + +TEX4HTINPUTS=.;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + +T4HTINPUTS=.;$TEXMF/tex4ht/base// + + + +tex4ht.c (2006-07-14-10:23 kpathsea) + +tex4ht -hF + + -hv + + test + +(/usr/local/teTeX/share/texmf.local/tex4ht/base/tex4ht.env) + +given TEX4HTFONTSET = alias,iso8859 + +setting TEX4HTFONTSET={iso8859/1,ascii,alias,mozilla,unicode,alias,iso8859} + +texmf.cnf = /usr/local/teTeX/texmf.cnf + +TEX4HTINPUTS = +.:{/Users/kai/Library/texmf,!!/usr/local/teTeX/share/texmf.local,!!/usr/local/teTeX/share/te\ +xmf.gwtex,!!/usr/local/teTeX/share/texmf.tetex,!!/usr/local/teTeX/share/texmf}/tex4ht/base//\ +:{/Users/kai/Library/texmf,!!/usr/local/teTeX/share/texmf.local,!!/usr/local/teTeX/share/tex\ +mf.gwtex,!!/usr/local/teTeX/share/texmf.tetex,!!/usr/local/teTeX/share/texmf}/tex4ht/ht-font\ +s/{iso8859/1,ascii,alias,mozilla,unicode,alias,iso8859}// + +(/usr/local/teTeX/share/texmf.local/tex4ht/ht-fonts/iso8859/1/charset/unicode.4hf) + + +-------------------------------------------------------------------------------------- + + > I downloaded the recent release tex4ht-1.0.2006_07_23_0130, but where + > can I find the documentation for installing it? + +I should wrie such instructions... The idea is just to replace the old +files/directories with the new ones: + + bin/ht/perl/mk4ht.perl + bin/ht/unix/ht* + bin/mac/* + texmf/* + + + +and refresh lR-s, e.g., with the texhash command. + + +-------------------------------------------------------------------------------------- + +The problem has vanished. It +might be connected with the update of tetex-bin that I just made on the +sid box. + +-------------------------------------------------------------------------------------- + +a side note: recently I released TeXML 2.0 beta1. I expect no issues, +and I'm going to announce TeXML 2.0 in the middle of July. The new +TeXML site is: http://getfo.org/texml/ . + +conrad.ammon@gmail.com wrote: +> Has anyone taken a look at using XSL to give needed functionality to +> TeXML? +> +> TeXML on the level of TeX... on its own its not too useful. However, +> XSL was specifically designed for doing markup, similar to the macros +> of LaTeX. Is there a good set of XSL scripts that anyone has written? + +There are a lot of them, but they are private. The only public script +I'm aware of is XML2TeXML by Wolfgang Jeltsch +(http://xml2texml.sourceforge.net/ ). And I'm starting working on a +DocBook to TeXML converter in the near future. + +-------------------------------------------------------------------------------------- +To: gurari.1@osu.edu +Cc: Barbara Beeton <bnb@ams.org>, Anna Hattoy <amh@ams.org> +Subject: documentation for dratex (fwd) +Date: Fri, 02 Jun 2006 10:26:22 -0400 (EDT) + +hi, eitan, +when i tried to send this message to you, using +the e-mail address i got from the tug office, +it was returned. i found the address i'm using +now by searching the osu.edu web site. it seems +that the university has made your previous +incarnation unreachable in a lot of places ... + -- bb + +---------- Forwarded message ---------- +Date: Fri, 2 Jun 2006 10:20:23 -0400 (EDT) +From: Barbara Beeton <bnb@ams.org> +To: gurari@cis.ohio-state.edu +Cc: Barbara Beeton <bnb@ams.org>, Anna Hattoy <amh@ams.org> +Subject: documentation for dratex + +hello, eitan, +we've received a manuscript for publication in +one of our journals that calls for +\usepackage{DraTex}. + +before we can decide whether this should be +installed here for production, we need to look +at the documentation. but the documentation +isn't at ctan -- the readme file says that it +can be found at + http://www.cis.ohio-state.edu/~gurari/systems.html + +an attempt to reach that url results in + www.cis.ohio-state.edu cannot be found. please + check the name and try again. + +what is the current location, please? and +please update the readme file for this and any +other material at ctan that has this reference. + +thanks. + +-------------------------------------------------------------------------------------- + +mk4ht xhlatex convtest "html,jsmath" + +How about trying the `jslatex' option. It doesn't preserve the +original latex math. Instead, it produces html with normalized latex +math. + +-eitan + + > Thanks for the tip, I had already tried something like that, but Word + > doesn't like it. Also, going through OpenDocument doesn't quite get the + > formulae right.. + > + > I am now trying to edit the mathml configuration so that it pastes the + > LaTeX + + +-------------------------------------------------------------------------------------- + + > > There is an option to send output files (.html,.css,.png) files to + > > a directory other than the current directory. For example + > > + > > htlatex sample2e "" "" "-d~/home_page/test" + > > + > > will send the output files to ~/home_page/test. + + > Well, it would be nice if the temporary directory was automatically + > created if it doesn't exist. But what I'd appreciate even more is if it + > would (or is?) possible to permanently set the -d switch, so that I + > don't need to type it every time. + +That can be done by adding in the htlatex-like script files the -d +switch to the t4ht records, e.g., + + t4ht ... -d~/WWW/temp/ + +Similarly, within mk4ht add the -d switch to the trailing quoted "..." +segments, e.g., + + "ht", "htlatex", "latex", "", "", "-cvalidatehtml -d~/WWW/temp/", + +It doesn't seem appropriate to introduce such a switch permanently +as different users might prefer different directories for their +output. + +I have the switch -d~/WWW/temp/ set in my private scripts. I insert +the switch -d./ in the command line, when I want to overwrite that +switch to have the outcome stay in the work directory. + + > I've read the documentation about configuration files, but it seems this + > only relates to (La)TeX code, not to a configuration file for + > mk4ht/htlatex/... Did I miss something? + +Try the command `t4ht' without arguments. It will show the available +options. I'll modify the documentation to deal with issue. + +-------------------------------------------------------------------------------------- + +gs -sDEVICE=png256 -sOutputFile=figure1.png -dEPSCrop -r600 -dBATCH + -dNOPAUSE figure1.eps + +-------------------------------------------------------------------------------------- + + > As far as I saw, the pictures inserted in the OO document, have normally + > a size of appr. 1cm without recognizing the original ratio. Is it + > possible to recognize either the size or the ratio (then resizing is + > very simple) for pictures ? I normally use \includegraphics, most of the + > time with the option [width=1.0\textwidth] to insert my pictures. If it + > helps I could send you a sample file. + +TeX4ht specifies sizes only for bounding boxes, when it gets them from +latex. I don't know how to provide sizes in general, as dimensions +for paper output quite often result in distorted dimensions within XML +presentations. I don't understand why OpenOffice uses 1cm dimensions +for figures that are offered without requested dimensions---I would +expect the natural sizes of the figures to be preferable. + + + > You're right. The converted pictures are all in a good size. If I click + > in OO on one picture and change it to +-------------------------------------------------------------------------------------- +comp.text.tex #353104 (0 + 4 more) [1] +Date: Thu Mar 23 18:29:21 EST 2006 +From: USENET-news <usenet@marlowa.plus.com> +[1] latex2html and wiki +Lines: 19 + +Hello Texnicians, + +I have found that wiki is a great way to publish a doc so +that the other developers can collaborate on it, but I +prefer to start that document in LaTeX initially. So I used +latex2html to convert it to HTML and used copy-n-paste to +copy from the HTML to a WIKI page. This gave me a document +that the other developers (who are not TeX aware) can work +with. But this was rather tedious to do. + +I have seen several attempts to write latex2wiki but they +all seem quite poor. It occurs to me that it might be better +to take latex2html and add a mode that would allow WIKI +output as an option. What do you guys think? Does this sound +reasonable? Is latex2html still supported/maintained/developed? + +Regards, + +Andrew Marlow + +> Most probably it is well-defined. Most probably he assumes some +> particular wiki engine with some fixed wikitext syntax. + +Yes, I assume mediaWiki. + +-------------------------------------------------------------------------------------- + + > >The problem is in missing fonts for the browser to display + > >the characters 〈 and 〉. + > + > These characters, and a bunch of others from what we can see here + > are sortof at the ragged edge of font world as far as default browsers + > are concerned. We have the default installs of IE6 and Firefox 1.5 + > loaded here, to emulate what we would expect the average user to use. + > >From what we can see here, these characters do not come loaded by default + > with + > the ability to render these characters... Or are off base here somehow? + +Look at the messages issued by tex4ht.c for the location of the active +unicode.4hf file. Copy that file to your work directory. You can +redefine any character to your liking. For instance, an entry + + '〈' '' 'foo' '' + +will substitute the character 〈 with `foo' everywhere. On the +other hand, an entry asks for a pictorial substitution where allowed +and `foo' where pictures are not allowed. + + '〈' '' 'foo' '1' + +-eitan + + + + + + + + + + +-------------------------------------------------------------------------------------- +http://www.simpletex4ht.free.fr/ +-------------------------------------------------------------------------------------- + +http://fedoraproject.org/extras/4/i386/repodata/repoview/__nogroup__.group.html +-------------------------------------------------------------------------------------- + + #help www-math@w3.org archives + + W3C home > Mailing lists > Public > www-math@w3.org > January 2006 + +Re: mathml applications + + * This message: [ Message body ] [ Respond ] [ More options ] + * Related messages: [ Previous message ] [ In reply to ] + + + From: Bruce Miller <bruce.miller@nist.gov> + Date: Mon, 09 Jan 2006 10:54:41 -0500 + Message-ID: <43C28741.8000906@nist.gov> + To: Neil Soiffer <neils@dessci.com> + CC: Public MathML mailing list <www-math@w3.org> + + +Neil Soiffer wrote: +> This week, I will be giving an update to a talk I gave last year about +> MathML applications. If anyone has some new applications not listed on +> http://www.w3.org/Math/Software/ or if you have an update to info listed +> there, please send that info so I can incorporate it into the talk. + +There's my LaTeXML, which I've been meaning to submit to the software +list, once I get a breath. +See http://dlmf.nist.gov/LaTeXML/ +for description, documentation and a (somewhat out-of-date) example from DLMF. + +A brief description (and apologies, in advance, for beating my own drum): + +LaTeXML attempts to mimic TeX's behaviour as fully as possible, but interprets +TeX via a Perl program, rather than using TeX's engine itself. Thus extension +and customization can be done using perl modules, as well as TeX code. + +It processes whole documents (although it can be induced to process fragments, +such as formula), converting the document to a LaTeXML DocType that corresponds +to LaTeX's constructs. This avoids the information lost by direct conversion +to html. This output can then be converted to html (w/images for math), +xhtml (w/MathML) or other formats using XSL stylesheets (included for html/xhtml). + +[In principle, but not practically, it could also be made to directly generate + other XML formats: Ie. the processing engine is (almost) separated from the + document generation. However, since the vocabularies are so large it's nontrivial + to replace the generation definitions.] + +As for MathML: the program attempts to parse the formula into, at least, +a parse tree. This is necessary to generate "Good" presentation MathML. +It is close to enough to generate content MathML, as well, although +some major sticking points and ambiguities, such as the meaning of superscripts +and the handling of unknown symbols, are the subject of further development. +To increase the quality of the parsing, an author can either use special +markup to disambiguate the notations, or use document-specific external declarations. + + +> The audience will likely have a strong TeX background. If you have had +> any experience (pro or con) with the various TeX-to-XHTML+MathML +> converters in the last year, I'd like to hear about that so I can pass +> it along. + +I've been using it pretty heavily in the DLMF (Digital Library of Mathematical +Functions) project. I've processed 26 chapters (must be equivalent to +6-700 pages) so far; we're preparing a draft of the site for evaluation +(alas, the editors are keeping it close to the chest, however). +So, I'd have to say my experience is positive :> + +Michael Kohlhase has also been using LaTeXML in developing his STeX system. + +> Thanks, +> +> Neil Soiffer +> Senior Scientist +> Design Science, Inc. +> www.dessci.com <http://www.dessci.com> +> ~ Makers of Equation Editor, MathType, MathPlayer and MathFlow ~ + + +-- +bruce.miller@nist.gov +http://math.nist.gov/~BMiller/ + + Received on Monday, 9 January 2006 15:54:31 GMT + + * This message: [ Message body ] + * Previous message: Paul Libbrecht: "Re: mathml applications" + * In reply to: Neil Soiffer: "mathml applications" + + * Mail actions: [ respond to this message ] [ mail a new topic ] + * Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by + author ] + * Help: [ How to use the archives ] [ Search in the archives ] + + This archive was generated by hypermail 2.2.0+W3C0.50 : Monday, 9 January 2006 + 15:54:32 GMT + +-------------------------------------------------------------------------------------- +http://www.activemath.org/amwiki/index.php/Conversion-efforts-to-content-math +-------------------------------------------------------------------------------------- +omp.text.tex #347601 (0 + 2 more) (1)--[1] +From: Troy Henderson <thenders@gmail.com> +[1] Re: eps to svg +Lines: 15 +Date: Sun Jan 01 12:59:14 EST 2006 + +Convert it to PDF using, say, epstopdf. After that, use my pdf2svg +converter located at + +http://www.tlhiv.org/MetaPost/tools/mptosvg/ + +If you have any trouble, let me know. + +Troy Henderson +Assistant Professor +Department of Mathematical Sciences +252 Thayer Hall +United States Military Academy +West Point, NY 10996 +(845) 938-5649 +http://www.tlhiv.org + +-------------------------------------------------------------------------------------- +Clarify: + +9. \Configure{CutAt} {unit} {before-button} {after-button} + +10. \Configure{+CutAt} {unit} {before-button} {after-button} +-------------------------------------------------------------------------------------- + + + One more request. + Would be so kind as to generate the SINGLE page HTML + from http://www.cse.ohio-state.edu/~gurari/TeX4ht/ + It will make searching much easier. + Simple `find' it will suffice. Currently + I keep all the pages on my hard disk and use + grep instead. + +From: Wlodek Bzyl <matwb@univ.gda.pl> +To: Eitan Gurari <gurari@cse.ohio-state.edu> +Subject: Re: TeX4ht: SVG: Wrong walue of the TYPE attribute in the generated + OBJECT tag +Date: Mon, 24 Oct 2005 21:45:42 +0200 + +-------------------------------------------------------------------------------------- + +One suggestion though is, that you make it more obvious that one should +really study the .log file. (I normally don't do this.) I have seen that +you have put somewhere a hint to the mktex4ht.4ht index, but I cannot +remember that I have seen that index on your website. That would be very +much welcome. In fact, but the sources as html online. Then one could +more easily refer to it. + +-------------------------------------------------------------------------------------- + +The (behind the scenes) process of converting the PDF to SVG above uses the following three external programs: + + 1. pstoedit to convert the PDF to SKencil/SKetch format + 2. skconvert to convert the SKencil/SKetch file to SVG + 3. gzip to compress the SVG + +The actual commands that are executed are: + + * pstoedit -page 1 -dt -psarg + +http://www.nongnu.org/skencil/ +-------------------------------------------------------------------------------------- + + > http://baruch.ev-en.org/proj/chktex/ + + +-------------------------------------------------------------------------------------- + +http://www.dcs.fmph.uniba.sk/~emt/ + + +There is absolutely no reason why this should be, given that an excellent +implementation of direct one-click real-time lossless translation of TeX +math to SGML and back again has existed for a decade (in the EuroMath +editor). + + +-------------------------------------------------------------------------------------- +From: Herbert Schulz <herbs@wideopenwest.com> +Sender: <MacOSX-TeX@email.esm.psu.edu> +To: "TeX on Mac OS X Mailing List" <MacOSX-TeX@email.esm.psu.edu> +Subject: Re: [OS X TeX] TeX to word on Mac +Date: Sun, 26 Jun 2005 09:04:44 -0500 + + +On Jun 25, 2005, at 11:49 PM, George Ghio wrote: + +> +> Open terminal and type; +> +> Welcome to Darwin! +> George-Ghios-Computer:~ georgeghio$ cd /Users/georgeghio/Desktop/TeX +> +> Hit return & type +> +> George-Ghios-Computer:~/Desktop/TeX georgeghio$ htlatex /Users/ +> georgeghio/Desktop/TeX/TheFlight.tex +> +> Hit return I then get the html file, +> +> I then open the html file with Explorer, +> +> Select all, +> +> Copy, +> +> Paste into word. +> +> If I try to open the html file with word MS does what it does best +> and crashes. +> +> Oh well, it works and I end up with a word document. +> +> Thank you and everyone else for taking the time to keep me from +> becoming a basket case. +> +> George L Ghio +> + +Howdy, + +Now that you know how to do it in terminal, here's a way to do it +from within TeXShop. + +Go to the ~/Library/TeXShop/Engines/ folder (~ is your HOME +directory) and duplicate one of the .engine files there. Rename it +htlatex.engine and open it up (double clicking will open it up in +TeXShop). Remove the contents of the file and put the following lines +into that file: + +#!/bin/bash +htlatex "$1" + +and save the file (again in ~/Library/TeXShop/engines and with the +name htlatex.engine). + +At the beginning of any .tex file you want to be processed with +htlatex put the line + +%!TEX TS-program = htlatex + +and then process the file with Cmd-T (Typeset). As an alternative you +can simply choose the htlatex engine in the dropdown menu in the +toolbar. + +Good Luck, + +Herb Schulz +(herbs@wideopenwest.com) + + +--------------------- Info --------------------- +Mac-TeX Website: http://www.esm.psu.edu/mac-tex/ + & FAQ: http://latex.yauh.de/faq/ +TeX FAQ: http://www.tex.ac.uk/faq +List Post: <mailto:MacOSX-TeX@email.esm.psu.edu> + +-------------------------------------------------------------------------------------- +SVG : + + +==> pstoedit : +I tried pstoedit -f svg-plot file.eps file.svg, but that did not work well. +The greek letters were omitted and the non-greek letter did overlap. + + +==> Inkscape (http://www.inkscape.org/download.php) + +==> TLC2 mentiones dvi2svg <URL:http://www.activemath.org/~adrianf/dvi2svg/>, +pstoedit and an article in TUGboat: + +Michel Goossens and Vesa Sivunen +LaTeX, SVG, Fonts +TUGboat 22(4) 269-279, 2001 + + + http://www.tug.org/TUGboat/Articles/tb22-4/tb72goos.pdf + +==> http://dvisvg.sourceforge.net/ + +----------------------------------------------------------------------------------- +--- + +gcc -Wall -o tex4ht tex4ht.c -I/usr/local/teTeX/include -L/usr/local/teTeX/lib -DKPATHSEA -DHAVE_DIRENT_H -DHAVE_STRING_H -lkpathsea + +su +rm -R /usr/local/teTeX/share/texmf.local/tex4ht/ht-fonts +mv -R /Users/eitangurari/Desktop/downloads/ht-fonts /usr/local/teTeX/share/texmf.local/tex4ht/. +mv /Users/eitangurari/Desktop/downloads/newt4ht/bin/mac/tex4ht /usr/local/teTeX/bin/powerpc-apple-darwin-current/. +cp /Users/eitangurari/Desktop/downloads/newt4ht/texmf/tex4ht/base/unix/tex4ht.env /usr/local/teTeX/share/texmf.local/tex4ht/base/. +texhash +exit + +-------------------------------------------------------------------------------------- + +Use latex (with preview.sty) and dvipng. dvipng will even output the +ascender and descender values so that inline math can be displayed +with correct vertical positioning. + +-------------------------------------------------------------------------------------- +add the outcome of javahelp +-------------------------------------------------------------------------------------- + +WordML2LaTeX is a meeting point between two titans in word processing: +Microsoft Word 2003 and LaTeX2e. + +It is a XSL stylesheet that transforms a Word document (WordML) in a +LaTeX2e source. With it You can use Word as a front end for LaTeX. + +Location on CTAN: /support/WordML2LaTeX + +-------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------- + +On mac OS X: + +%% t4ht utility, sharing files with TeX4ht +TEX4HTFONTSET=alias,iso8859 +TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// +T4HTINPUTS= .;$TEXMF/tex4ht/base// + +-------------------------------------------------------------------------------------- + Using fonts of (La)TeX in stylesheets of WWW-pages +Date: Wed Aug 25 06:42:40 EDT 2004 +Lines: 20 + + + +Yes! It is possible: + +http://iki.fi/juhtolv/pelle.html +http://iki.fi/juhtolv/css-download/ +http://iki.fi/juhtolv/css-download/readme.txt + +You'd better use Mozilla, Mozilla Firefox, Galeon, Konqueror or Opera, +because they support alternative stylesheets and MSIE don't. + +I'd like to support cm-super, too, but it is fscking huge package and it +is real pain in the ass to find right font from those gazillion files, +because they have almost meaningless fontnames. + +-------------------------------------------------------------------------------------- + +m-tex4ht.tex + +-------------------------------------------------------------------------------------- +MS: + + > run + > + > htlatex analysis.tex >printout.txt 2>&1 + > + > to get both output and stderr to file + > +-------------------------------------------------------------------------------------- +To: Maarten Wisse <Maarten.Wisse@urz.uni-heidelberg.de> +Subject: Gentoo ebuild, or, Pay my debt :-) +In-Reply-To: <200404232220.49246.Maarten.Wisse@urz.uni-heidelberg.de> +References: <200404232220.49246.Maarten.Wisse@urz.uni-heidelberg.de> +X-Mailer: VM 7.04 under 21.1 (patch 14) ``Cuyahoga Valley'' XEmacs Lucid +--text follows this line-- + +Maarten, + +You owe me nothing! It is a pleasure for me to work with you, and that +is more than enough for me. + +The pointer regarding Gentoo might become useful to me. I hope to +find a few days in the coming months to set up a server running Linux +and I was wondering which distribution to use. So from your +experience Gentoo seems to be a good choice. + +I placed in the bug fixes page a pointer to the zipped file renamed +to tex4ht-20040211.zip, and will fix the name in the main page next +year when I'll revise the home page. + +Thanks, -eitan + + + + > Given that you so gratiously helped me, I asked myself how I could do + > something back and also, to help others with this great tool, especially + > those who use my favourite Linux distribution, Gentoo Linux, you probably + > know, the distro which is entirely managed from source with the intelligent + > Portage system. I like it very much wont switch to another distro so easily + > as I did with RedHat or SuSE. But, this is still a matter of fact: + > + > http://bugs.gentoo.org/show_bug.cgi?id=33259 + > + > no ebuild, so no automated install of TeX4ht is available yet. + > + > I'm not a very able ebuild writer, but it shouldn't be difficult to get this\ + + > going. However, one thing which immediately came to my mind: you don't + > release the source distribution of TeX4ht with a name indicating its version\ +. + > That's inconvenient for Gentoo, because ideally it spreads the files on top + > of the original source location, so it uses its mirror system and when that + > doesn't contain the file, it falls back to the root source location. When + > that location just contains `tex4ht.zip' then Gentoo has no way to know whic\ +h + > version that is. So could you rename it to: tex4ht-20040211.zip or the like?\ + + > Then I can make an ebuild tex4ht-20040211.ebuild which then automatically + > downloads that version. When an upgrade appears, we check the ebuild, bump + > the version number and it uses that one. So we can cater for stable and + > unstable ebuilds too. + > + > PS: as an expression of debt, I mentioned your name in the news item on our + > website, called `New in volume 4'. You deserve it. + +-------------------------------------------------------------------------------------- +comp.text.tex #305453 (0 + 13 more) [1] +From: Torsten Bronger <bronger@physik.rwth-aachen.de> +Newsgroups: comp.text.xml,comp.text.tex +[1] [ANN] tbook 1.5.2 +Date: Sat Apr 17 12:56:34 EDT 2004 +Lines: 43 + +Halloechen! + +tbook 1.5.2 is available for download at +http://sourceforge.net/projects/tbookdtd/ + +Its homepage with documentation and a demo is available at +http://tbookdtd.sourceforge.net/ + + +Version 1.5.2 is a major bugfix release by and large. New features: + +* Full XHTML compliance if you want (however with MathML you don't + want it ;) + +* New <blockquote> und <quote> elements in the DTD with tha same + meaning as in DocBook and HTML. + +* Many additionally supported Unicode symbols. + + +From the Sourceforge summary: + + tbook is a system that typesets XML documents with high-level LaTeX + while HTML, XHTML+MathML and DocBook output are equally + possible. It bases on the LaTeX-like tbook DTD developed for this + project, XSLT transformations and further tools. + +All transformations work with bibliography, index, formulae, and +graphics. Therefore the transformation processes include some complex +tasks (e.g. generating of bitmaps for all formulae) which are greatly +simplified by shell scripts that are automatically generated. + +The LaTeX output is also suitable for pdfLaTeX and uses its features. + +For equations, you may use an almost-LaTeX syntax; except for complex +cases, you don't have to type MathML directly. (Instead, it is +transformed to that eventually.) + +Tschoe, +Torsten. + +------------------------------------------------------------------------------------- +http://freshmeat.net/projects/flpsed/ +-------------------------------------------------------------------------------------- + + +Wlodek, + +I suspect the problem is in the tex4ht.env within a segment +similar to the following one that takes precedence over the values in +the variables of texmf.cnf + + <default> + i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/1/! + i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! + i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! + i~/tex4ht.dir/texmf/tex4ht/ht-fonts/mozilla/! + i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! + </default> + +Try removing the i-records or modifying their content. + +-eitan + + + > When compiling a simple (iso8859-2 encoded) LaTeX file which uses + > the Polish Computer Modern family of fonts (pl*.tfm fonts), the + > tex4ht program searches and uses htf fonts (plr.htf) from + > iso8859/1 subdirectory instead from iso8859/2. + > + > I am using tex4ht under Linux with kpathsea support + > and texmf.cnf which contains: + > + > TEX4HTFONTSET=iso8859/2,iso8859/1,alias + > TEX4HTINPUTS=.,$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + > + > Below I include the output of tex4ht executed with -hF option: + > + > -------------------------------------------- + > tex4ht.c (2004-02-05-19:30 kpathsea) + > tex4ht -f/01 + > -hF + > (tex4ht.env) + > given TEX4HTFONTSET = iso8859/2,iso8859/1,alias + > setting TEX4HTFONTSET={iso8859/2,iso8859/1,alias} + > TEX4HTINPUTS = + > .,{texmf,../texmf,/home/hold/texmf,!!/usr/local/texmf-local,!!/usr/local/texmf-var,!!/usr/local/texmf}/tex4ht/ht-fonts/{iso8859/2,iso8859/1,alias}// + > (/usr/local/texmf/fonts/tfm/public/pl/plsy10.tfm) + > (/usr/local/texmf-local/tex4ht/ht-fonts/alias/pl/plsy.htf) + .... +------------------------------------------- +By the way, it would be +> convenient to have all TeX4ht documentation formated entirely +> as _one_ web page. (I have no idea if I had read 10% or 90% available +> documentation.) +------------------------------------------- +http://www.tmit.ac.jp/~esl/soft/t4hc-intro.html + +Two-steps picture conversion +The default bitmap generation script for Unix-like environment is three-step procedure calling dvips, ghostscript, and ImageMagick sequentially. But the author prefers to two-step procedure calling dvipdf and ImageMagick, which is written as follows: + +Ghtcopyfile %%1 _t4hcache.dvi +Gdvipdfm -s %%2-%%2 _t4hcache +Gc:/progra~1/picturem~1.8-q/convert.exe pdf:_t4hcache.pdf -crop 0x0 +repage -density 220x220 -geometry 50% -transparent '#FFFFFF' %%3 +Ghterasefile _t4hcache.dvi +Ghterasefile _t4hcache.pdf + +Most of recent Web2C systems such as Kakuto's win32 package contain dvipdf (with the filename dvipdfm), and resultant PDF file is properly processed by ImageMagick. + + +------------------------------------------- +------------------------------------------- +------------------------------------------- + +------------------------------------------- +------------------------------------------- +------------------------------------------- + + +As of (at least) miktex 2.4, miktex will automatically install tex4ht. The +problem is, as best I can see, it does not do the fairly extensive editing +of the batch files (and tex4ht.env) needed to tell tex4ht where the various +files are. I've just added a note to my instructions recommending that +miktex users uninstall miktex's version and use mine instead. + +I just want to arert you to what can happen: if users don't do this, then +the locations pointed to by eg the -e switch in the batch files, though it +may *look* correct, in fact point to the wrong locations. So if you get a +request for help from a miktex user, this is the first thing you should +probably have them check. +------------------------------------------- + +Mention the dates of the files, simlarly to the eay it is done +in the bug fixes page. + + +------------------------------------------- +http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=tex4ht + +------------------------------------------- + +http://www.perce.de/LaTeX/math/Mathmode-TeX.pdf +http://www.ntg.nl/doc/wilkins/pllong.pdf +http://sarovar.org/download.php/120/ltxprimer-1.0.pdf +http://www.tug.org/utilities/plain/cseq.html +http://www.tug.org.in/tutorials.html + +------------------------------------------- + + support/TeX4ht/tex4ht-mn.zip +> +> which is probably what eitan was talking about. + +I thought, this was only the manual. ``mn'' seems to mean ``manual''?AFAICS, it +is used in this meaning in the names of the HTML files in the archive. +Strange that the actual TeX4ht ZIP archive is included as a file in the mn +archive. + +tex4ht-all in CTAN!!!! + +------------------------------------------- +http://http.cs.berkeley.edu/~phelps/Multivalent/ +------------------------------------------- + +> there's also a tex4ht distribution embedded in the texlive +> distribution. the difference from eitan's original is it's tailored +> to work with the kpathsea libraries; i'm investigating that as a route +> to a working linux version. (i'll probably end up by installing the +> whole of texlive, but i don't want to rush it since there's quite a +> bit of configuration gone into the tetex setup i currently give my +> users.) + +I think for kpathsea the main differences are that the compilation of +the C programs require a special switch: + + http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html + => Unix + => (c) + => alternative + +and variable settings similar to the following ones in texmf.cnf + + TEX4HTINPUTS=.;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + TEX4HTFONTSET=iso8859/1,alias + +------------------------------------------- + +OK, but how about putting a readme file in CTAN:support/TeX4ht telling +people to check out http://www.cse.ohio-state.edu/~gurari/TeX4ht/bugfixes.html + + +------------------------------------------- + + + http://netpbm.sourceforge.net/ + http://sourceforge.net/projects/netpbm/ + (latest version: Netpbm-10.19 update at 11/15 2003) + +------------------------------------------- +From zierke@dante.de Wed Nov 5 05:18:49 EST 2003 +Article: 292426 of comp.text.tex +Path: news.cse.ohio-state.edu!news.maxwell.syr.edu!news-han1.dfn.de!news-ham1.dfn.de!news.uni-hamburg.de!dante.de!owner-ctan-ann +From: zierke@dante.de (Reinhard Zierke) +Newsgroups: comp.text.tex +Subject: CTAN Upload - BaKoMa TeX 6.10 - Animated GIF, Sound for SVG +Date: 5 Nov 2003 09:32:48 +0100 +Organization: University of Hamburg -- Germany +Lines: 264 +Approved: yes +Message-ID: <20031105083010.GA22304@dante.de> +NNTP-Posting-Host: sun.dante.de +Mime-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Trace: rzsun03.rrz.uni-hamburg.de 1068021168 23174 134.100.9.52 (5 Nov 2003 08:32:48 GMT) +X-Complaints-To: usenet@news.uni-hamburg.de +NNTP-Posting-Date: 5 Nov 2003 08:32:48 GMT +To: ctan-ann@dante.de +Organisation: none +Xref: news.cse.ohio-state.edu comp.text.tex:292426 + +----- Forwarded message from "Basil K. Malyshev" ----- +I have uploaded to `ftp.dante.de/incoming/bakoma' directory +update for BaKoMa TeX 6.10 (issued 1-Nov-2003). + +Please put the files to 'CTAN:nonfree/systems/win32/bakoma' directory. + +Most important improvements in BaKoMa TeX 6.10 are: + +SVG Generation: + * Import of animated GIF into SVG as animated image. + * Import multi-page Postscript into SVG as animated + graphics - every page is translated as frame. + * Sound effects are supported by SVG.STY via \sound command. + * More customization in Navigation Bar added at SVG generation: size, colors. + + More details about SVG Generation features are available in + <ftp://ftp.dante.de/tex-archive/systems/win32/bakoma/programs/svgwrite.html> + +Graphics (Supported for View, Print, SVG, PDF, Postscript) + * Support of transparent background in imported GIF files. + * Support of Color Key Masked Images - Type 4 (Postscript Level 3) + +BibEdit Improvements: + * Refined disappering comment subwindow + when adding new fields and resizing window. + * Added Rename command for changing entry key and field name. + +More information about changes is at: + <ftp://ftp.dante.de/tex-archive/systems/win32/bakoma/programs/changes5.html> + +Bye. +Basil K. Malyshev +4-Nov-2003 + +PS: Please send announce to appropriate mailing lists and news groups. + +--------------- About BaKoMa TeX 6.10 ---------------------- + + + +------------------------------------------- +From: The Thanh Han <hanthethanh@gmx.net> +To: gurari@cse.ohio-state.edu +Cc: Fabrice Popineau <Fabrice.Popineau@supelec.fr> +Subject: tex4ht question +Date: Fri, 8 Aug 2003 08:22:24 +0700 + +Hi, + +can you please give me some hints to the following: I was trying to use +tex4ht to convert a latex file to html. The latex source is in +Vietnamese, and I would like to have the html output in Unicode. I +looked at the tex4ht files in texlive7 cd, and created a set of htf +fonts for vietnamese. It nearly works, apart from an only oddity: that +all glyphs with a dot below (like adotbelow, edotbelow, idotbelow, ...) is +converted to their ascii counterpart (a, e, i, ...). The latex file +itself works ok with latex; ie when I latexed it and viewed the dvi ouput +using xdvi, everything seems to be ok. I was digging a bit but couldn't +fix it, so if you have time, can you please take a look at it? Apart +from files on texlive7 cd, I used the following: + +1) a htf font for vietnamese, which is attachted in this mail. + +2) vietnamese tex support: vntex from http://vinux.sourceforge.net/vntex + +The test file I used is included in vntex as well; it's in +doc/generic/vntex/vntest1.tex. I copied those tex files to a temporary +directory and run: + +uhtlatex vntest1 +------------------------------------------- +http://lists.w3.org/Archives/Public/www-math/2003Sep/0023.html +------------------------------------------- + + +\HCode{<OBJECT height="20\%" width="100\%" border="0" + type="text/html" + data="http://www.cse.ohio-state.edu/\string + ~gurari/course/cis788/cis788.html" + ><A class="navigation" + href="http://www.cse.ohio-state.edu/\string + ~gurari/course/cis788/cis788.html" target="testwindow" + >Test</A></OBJECT> +} + + +------------------------------------------- + + + +CTAN: to promote latex, we need to promote standarization. We can +have committees. We can also promote certifications: in ctan put a +comment around each contribution on the level of compatibility the +contribution provides!! This will encourage contributures to produce +more fitting parts. Also, had a discussion group for contributions, +for pre discussing contributions--i.e. cooling system for cross +contributions. + + + > \begin{list}{\textbullet}{} + > \item Bla bla bla... + > \end{list} + > + > \begin{itemize} + > \item Bla bla bla... + > \end{itemize} + +Latex and pdf deal with visual layout of the lists. TeX4ht needs to +map the lists to html. The default configurations map the first +`list' list into a `description' (dl) list of html, and the second +into an itemized one (ul). I knowledge that the first list list +behaves like an itemized list is not at all clear without inspecting +the visual output. + + +$$\begin{minipage}{\textwidth} +\small\itshape The first section \textbullet\ The socond one \textbullet\ +The third one {\upshape(A subsection in it, 1. Another, 2)} \textbullet\ A +fourth section {\upshape(A subsection in it, 1. Another, 2)}. +\end{minipage}$$ + +http://omega.enstb.org/eurotex2003/ + + +> >A compilation with the command line option `mathml-' provides a ``correct'' +> >mathml that doesn't check for balanced parentheses. +> +> Oh, is that the only difference? I was worried I'd be disabling some +> functionality in the output with that option. + +MathML looses the knowledge of the parenthesis being delimiters, and +so the output code provides reduced amount of clues for postprocessing +(and displaying). Personally, when I think authors should avoid this +option, anf fix their source files. On the other hand, it is too much +of a burdun for third parties to do so. + + +\Css{@media print {div.crosslinks {visibility:hidden;}}} + + + +\addcontentsline{toc}{slide}{#1} + +Susan's work + +Review participants & program + +note: The index doesn't include math, figs fragments + + +http://www.activemath.org/~adrianf/dvi2svg/ + + +http://www-2.cs.cmu.edu/~kohlhase/talks/om-tutorial/ +http://www.dessci.com/en/reference/webmath/status/default.htm + +OpenOffice for docbook: http://xml.openoffice.org/xmerge/docbook/ + + +What makes latex difficult (What You Ask Is not What You Get): + + You ask for + + \begin{split} + \end{split} + + end you get instead + + \begin{split} + \begin{split} + \end{split} + \end + +Similarly + + \begin{document} + \end{document} + \begin + + \end{document} + + + + +In open office: + + -------- + ------ + -------- + ------ + -------- + + \begin{center} + .... + + .... + \end{center} + +is implemenmted as three paragraphs: + + <p>...</p> + <p/> + <p>...</p> + + + + +The importance of having standards (like amsmath) in latex, and having +them stables: e.g. + + + + +Why latex is ugly: check the sample ams page!!! + +Why mathml is ugly: check the specification web page!!! + + + + +------------------------------------------- + +%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Limitations} +%%%%%%%%%%%%%%%%%%%%%% + + +\List{*} +\item {Superscripts or Subscripts} + + Commands within scripts should have their parameters explicitly + included within the scripts. For instance, use \`'a^{\sqrt b}'---not + \`'a^\sqrt b'. + + [{\sl MathML}]: + Empty bases in many contexts should be represented by a code similar + to \`'{\csname HCode\endcsname{}}'. Otherwise, the the content + preceding the empty bases will be assumed for the bases. + + Subscripts and superscripts within a preamble (that is, before + \`'\begin{document}') should be accessed through the \''\sb' and + \''\sp' commands instead of the \`'_' and \`'^' + operators. Alternatively, in many cases the \`'early_' and + \`'\early^' options might be used as an alternative to allow + references to the latter operations. On the other hand, within loaded + files the \`'\sb' and \`'\sp' commands should be employed. + +\item {Parentheses} + + [{\sl MathML}]: Formulas without proper nesting of delimiters are + considered harmful. It is possible to relax this constraint on a + global level through the \`'mathml-' command line option, but it is + highly not recommended to use this feature. Instead, localized + approaches similar to the following may be employed to downgrade the + meaning of delimiters. + +\List{} +\item {} \''\left|...\right|' +\item {} \''\bigl\{...\bigm|...\bigr\}' +\item {} \''\begin{array} ...\mathord(... & ...\mathord)...\end{array}' +\EndList + + +\item{Lists} + +\TeX4ht doesn't sense changes to default appearances of lists in +native \LaTeX. To reflect in the hypertext output on such changes, the +user should adjust the given configurations of \TeX4ht. + +\EndList + +------------------------------------------- + + +> >A compilation with the command line option `mathml-' provides a ``correct'' +> >mathml that doesn't check for balanced parentheses. +> +> Oh, is that the only difference? I was worried I'd be disabling some +> functionality in the output with that option. + +MathML looses the knowledge of the parenthesis being delimiters, and +so the output code provides reduced amount of clues for postprocessing +(and displaying). Personally, when I think authors should avoid this +option, anf fix their source files. On the other hand, it is too much +of a burdun for third parties to do so. + + +> Is there anything wrong with doing what I did -- ie, downloading the +> tar.gz from the mathzilla page, and then refreshing the individual files for +> the install? + +I think that is fine. Just need to be careful to consult the paths in +old the old versions when replacing the tex4ht.env and htlatex-like +files with new ones. + + +------------------------------------------- + + +> Please forgive my ignorance, but how is one actually supposed to obtain +> and install a distribution, say on linux? The mathzilla page just had a +> tar.gz file to download, untar/gzip, and run localInstall. + +The easiest way to install tex4ht would be by installing any +distribution that contains tex4ht, and then refresh the different +files + + 1. tex4ht.sty + 2. *.4ht + 3. Executables of tex4ht.c and t4ht.c + +and may be + + 4. tex4ht.env + 5. *htf + +I can guide you through this path if you choose to take it. + +------------------------------------------- +http://www.texmacs.org/ +http://makingtexwork.sourceforge.net/mtw/ +------------------------------------------- +------------------------------------------- + + + > 7 days trial version of Vector Eye for Windows has been released + > due to Siame & Celinea. This is a quick converter of raster to vector graphi\ +cs + > giving, in particular, SVG output. THEORETICALLY it seems to create an + > opportunity + > for you to make the first experiments with svg graphic files included in + > the xml document, as we dreamed about few months ago. I had a problem + > with installing Vector Eye as it requires a high resolution screen. Furtherm\ +ore + > something was changed in Mozilla svg system and lost (I hope temporarily) + > a chance to use Mozilla for svg viewing. Out of this the real capabilities + > of this + > software remain unknown for me. + > + > -Piotr + > + > + > http://www.celinea.com/ + +------------------------------------------- + +http://www.pianotype.net/ +http://www.pianotype.net/eBook/index.html + +- Latex +- WEB (Literate Programing) +- html, xhtml, xml : dtd DocBook and TEI +- xslt +- pdf, lit... & + +Patrice :-) + +Reply-To: ``Patrice GUERPILLON'' <pguerpil@club-internet.fr> +From: ``Patrice GUERPILLON'' <pguerpil@club-internet.fr> +[1] A new site (La)TeX / XML & C° from France +Date: Sun May 11 16:32:36 EDT 2003 + +------------------------------------------- + + + > I'd also love to see a complete list of tex4ht parameters without having to + > look through the .log file although there is lots of information there. + +The options depend on the file styles being loaded, so a complete list +would be difficult to compile. However, I agree it would be desirable +to have a list of major options. I have none currently :-( + + +------------------------------------------- +converts troff macros to XML: + http://catb.org/~esr/doclifter/ +------------------------------------------- + +\Verbatim + +Refresh the filename database: in the MikTeX options wizard, or +initexmf -u from the command line. + +\EndVerbatim +------------------------------------------- +can be invoked with a command of the form \`'ht tex filename' (\HPage{example} +\rightline{\ExitHPage{}} +\SubSection{An Example for Invoking ht} +A system invocation of the form \`'ht tex foo' for a file +\''foo.tex' of the following form. + +\Verbatim +\input amstex +\documentstyle{amsppt} + +\Preamble{xhtml,html4.4ht,unicode.4ht,mathml.4ht} +\EndPreamble + +\document +..... +\enddocument +\EndVerbatim\EndHPage{}). +------------------------------------------- + +> How do you feel about the described approaches? My preference is for +> the first one. + +Many thanks for this. I tried Approach A and found that the width=75% +statement did not get carried through to to the html for the .pstex figures +from xfig. It worked for the .eps figures. + +I therefore moved over to Approach B. I created a script called +'convertScale' (note: the grep picks up .pstex files also since there is a +BeginDocument:.*.eps line in all of them): + +#----------------------------------------------------------------------- +#!/bin/sh +# + +ISEPS=`grep -E ``BeginDocument:.*.eps'' zz${1}.ps` +if [ ``$ISEPS'' == " ] ; then + SCALE=''100%'' +else + SCALE=''50%'' +fi +convert zz.bmp -crop 0x0 +repage -transparent '#FFFFFF' -scale $SCALE zz${1}.gif +#----------------------------------------------------------------------- + +and then in the env file: +GconvertScale %%4 + +This worked well so I have adopted this approach. + +------------------------------------------- +http://www.uoregon.edu/~koch/texshop/texshop.html +------------------------------------------- + +converteters to SVG + +http://www.w3.org/Graphics/SVG/SVG-Implementations.htm8 +------------------------------------------- +http://www.bloodyeck.com/wwwis/ + +--------------- +http://www.w3c.org/Style/XSL/ + + + +The web page + + http://dmoz.org/Computers/Data_Formats/ + Markup_Languages/XML/Style_Sheets/XSL/Implementations/ + +lists many processors. (The two lines should be merged in +order to get the address.) + +---- + + + +Tex4ht seems to strain TeX somewhat. To keep from getting messages +that say ``TeX capacity exceeded, sorry'' it may be necessary to +increase TeX's capacity by placing a configuration file texmf.cnf in +the document directory and setting the environment variable TEXMFCNF +to ``dir::'' where dir is the path to the document directory. This +only works for TeXs that use kpathsea. +------------------------------------------- +------------------------------------------- +Gc:\yandy\Dvipsone\dvipsone -B=%%2 -E=%%2 -d=zz%%4.ps %%1 +Gc:\ImageMagick\convert zz%%4.ps -crop 0x0 +repage -density 110x110 -transparent #FFFFFF %%3 + +------------------------------------------- +comp.text.tex #250583 (0 + 4 more) [1] +From: Ralph Furmaniak <sugaku@sympatico.ca> +[1] Announcing gotex +Lines: 35 +Date: Tue May 21 17:50:29 EDT 2002 + +Gotex is a program that I made, which is basically a preprocessor and +(albeit small) set of macros for LaTeX, to give it extra functionality +for presenting files and web sites. It translates the `got' file into a +`tex' file, which it then sends on to `tex4ht'. A full description is +on my website at http://sugaku.homeunix.org + +------------------------------------------- + + +Like all automatic HTML generators, Tex4ht does not always produce +clean (or even correct) HTML. HTML Tidy is an incredibly useful tool +for finding (and often, automatically fixing) problems in HTML +files. WWWis is a useful utility for making image size annotations in +web pages agree with actual image sizes (it's surprising how easy it +is to get these annotations wrong or to let them get out of +date). Finally, always look over your web pages using several +different browsers -- HTML generators seem to have a knack for +emitting constructs that render differently in different browsers. + +------------------------------------------- + +align=\string''absbottom\string'' + + + > { class=\string''math\string'' + > align=\string''absbottom\string'' + > } +------------------------------------------- +------------------------------------------- +From: Patrice GUERPILLON <pguerpil@club-internet.fr> +Sender: pat@club-internet.fr +To: gurari@cse.ohio-state.edu +Subject: TeXht and dtd Tei/Docbook +Date: Sun, 16 Dec 2001 16:05:02 +0100 + +Dear M. Gurari, + +i have computed my LaTeX document with TeXht to get Tei and Docbook +code. + +Its OK. (perfect after some coorections of the code) + +The result is present on my page : +http://www.club-internet.fr/perso/pguerpil + +------------------------------------------- +Probably you can simply tell tex4ht to look in + c:\progra~1\texmf +which is a non-spaced alias for + c:\program files\texmf +------------------------------------------- + > 2. note that if the batch files contain unix line endings (LF, rather than + > dos's CR LF) you can crash win95/98/ME (NT and win2k are ok). There was a + > period during the autumn when some of the batch files may have had this + > problem. (Either that, or someone managed to copy the wrong files). Anyway, + > this is worth watching out for, especially if someone reports an otherwise + > incomprehensible failure. +------------------------------------------- +------------------------------------------- + +> > Does any know how to use 'jpeg' images with LaTex? Including the +> > environment setting and the command .... + +This can be done on the fly with psgraphicx by using, eg + \DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{`convert jpeg:#1 eps:-} + +and creating a bounding box file called xxx.jpg.bb (if your image is +xxx.jpg) by using + convert xxx.jpg eps:- | grep BoundingBox > xxx.jpg.bb + +See the file `Using EPS Graphics in LaTeX2e Documents', available +from ctan in /tex-archive/info/ as epslatex.ps or epslatex.pdf. +------------------------------------------- + + +>I'm using tetex on RH 7.3. In the /usr/share/texmf/web2c/texmf.cnf file, +>I have: +> +>TEXMFMAIN = /usr/share/texmf +>TEXMFLOCAL = /usr/local/share/texmf +>HOMETEXMF = $HOME/texmf +>TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFMAIN} +> +>and it used to work fine with my extra style files, bib files, etc. stored in +>~/texmf. But ever since one rainy day, something is wrong: +> + +I've had success using: + + env KPATHSEA_DEBUG=-11 latex + +say, to debug issues with TEXMF and other path-related elements. I found +that I'd stuck some things in non-intuitive places... + +>> I'm using tetex on RH 7.3. In the /usr/share/texmf/web2c/texmf.cnf file, +>> I have: +>> +>> TEXMFMAIN = /usr/share/texmf +>> TEXMFLOCAL = /usr/local/share/texmf +>> HOMETEXMF = $HOME/texmf +>> TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFMAIN} +>> +>> and it used to work fine with my extra style files, bib files, etc. stored in +>> ~/texmf. But ever since one rainy day, something is wrong: +>> +>> nali$ kpsewhich --expand-path='$HOMETEXMF' +>> /home/nali/texmf +>> nali$ kpsewhich --expand-path='$TEXMF' +>> /usr/share/texmf +>> +>> I didn't do anything to the texmf.cnf file. What could be affecting +>> the value of TEXMF? + +David> Perhaps the value of TEXMF? What does +David> echo $TEXMF +David> display? + +echo $TEXMF returns /usr/share/texmf. I don't know why I defined it in +/etc/profile. Removing that fixed the problem. Thanks. + + +---- + + +http://john.regehr.org/latex/: + +Tex4ht seems to strain TeX somewhat. To keep from getting messages +that say ``TeX capacity exceeded, sorry'' it may be necessary to +increase TeX's capacity by placing a configuration file texmf.cnf + + hash_extra = 25000 + pool_size = 750000 + string_vacancies = 45000 + max_strings = 55000 + pool_free = 47500 + save_size = 8000 + +in the document directory and setting the environment variable +TEXMFCNF to ``dir::'' where dir is the path to the document directory. +This only works for TeXs that use kpathsea. +This only works for TeXs that use kpathsea. +%-------------------------------------------------------------- + > The following approach of Sebastian allows to direct the kpathsea + > search to a subdirectory of the ht-fonts tree. + > + > TEX4HTFONTSET={alias,iso8859} + > T4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + > TEX4HTINPUTS= .;$TEXMF/tex4ht/base// + > + > in texmf.cnf, and the htlatex script says + > + > test -z "$3" || TEX4HTFONTSET=$3;export TEX4HTFONTSET + > + > On a second thought, the latter approach might not work for the + > mozilla script. That is so because for mozilla we want the search to + > be conducted under two subdirectories: first under ht-fonts/mozilla + > and then under ht-fonts/unicode. +just + TEX4HTFONTSET={mozilla,unicode} +surely? +------------------------------------------- +#!/bin/sh + +TEXINPUTS=$XMLCDROM/texmf/tex4ht: +export TEXINPUTS + +$XMLCDROM/bin/i386/tex4ht.exe $1 \ + -e$XMLCDROM/texmf/tex4ht/base/tex4ht.env \ + -i$XMLCDROM/texmf/tex4ht/ht-fonts/unicode/\! + +Note the \ before the ! +------------------------------------------- +OK, in texmf.cnf I say + +TEX4HTFONTSET={alias,iso8859} +T4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTS}// +TEX4HTINPUTS= .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTS}// + +and then in eg htlatex I can just do + +TEX4HTFONTSET=$3 +export TEX4HTFONTSET +tex4ht $1 +t4ht $1 $4 + + +make sense? + +sebastian + +Eitan Gurari writes: +OK, + +Now I have + + TEX4HTFONTSET={alias,iso8859} + T4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + TEX4HTINPUTS= .;$TEXMF/tex4ht/base// + +in texmf.cnf, and the htlatex script says + + test -z "$3" || TEX4HTFONTSET=$3;export TEX4HTFONTSET + +and this seems to do the job + + > Would that guarantee searching the .../ht-fonts/iso8859/... branch + > before the other brances, since alphabetically iso8859 is the first + > one among the subdirectories? + +kpathsea has no guarentee of search order. it may be alphebetical, but +maybe not + + > If not, can we inform kpathsea about the directories + > .../ht-fonts/iso8859/... and .../ht-fonts/alias/..., without + > reporting to it the other directories? + + +yes, if it works properly, my default + + TEX4HTFONTSET={alias,iso8859} + +does the job + + > Did you sort out the problem with testa? I can't recreate it and + > wonder what happened there. +still testing.... + +sebastian +From: Sebastian Rahtz <sebastian.rahtz@computing-services.oxford.ac.uk> +To: gurari@cse.ohio-state.edu +Subject: Re: ht-fonts +Date: Tue, 14 Mar 2000 16:08:00 +0000 (GMT) + +Eitan Gurari writes: + > + > also the /! is needed. + > + > > htlatex filename "html,html.4ht,picmath4.4ht" "symbol" + > + > htlatex filename "html,html4.4ht,picmath4.4ht" "symbol/!" + +no. not needed! kpathsea takes care of that. + + > xhtml should be first: + > + > > htlatex filename "html4.4ht,unicode.4ht,mathml.4ht,xhtml" "unicode" + > + > htlatex filename "xhtml,html4.4ht,unicode.4ht,mathml.4ht" "unicode/!" + > ^^^^^^ ^^ + +ah, now it works fine, and i see mathml in the output. +excellent! now I can attempt to make these german Web Companion +examples work again + +sebastian +------------------------------------------- +http://cauchy.math.missouri.edu/~stephen/cgi-bin/naturalmath.cgi +http://ftp.geophysik.uni-frankfurt.de/~ruedas/links-latex.html +http://math.albany.edu:8010/g/Math/MathComp/mathwww/ +http://www.astro.gla.ac.uk/users/norman/bookmarks/lists-maths.html +http://www.dcs.fmph.uniba.sk/~emt/ +http://www.math.berkeley.edu/~tinsel/mathunix/webmath.html +http://www.mathtools.net/LaTeX/Other_Links/index.html +http://www.openebook.org/ +http://www.w3.org/Math/ +http://www.webeq.com/mathml/resources.html +http://www.zib.de/Visual/software/doc++/ +http://www.w3.org/Tools/ +-------------------------------------------------------- + \Configure{tabbing}[1.6]{}{}{}{} +--------------------------------------- +service in India -- River Valley Technologies, http://www.river-valley.com -- +that creates ``a variety of outputs like screen pdf, regular PDF, dvi, +PostScript, +SGML, XML and MathML from a single TeX source document''. + +------------------------------------------------------ + +From: plaice@cse.unsw.edu.au (John Plaice) +To: rey@ams.org (Ralph Youngen), mjd@ams.org (Michael Downes), + ion@ihes.fr (Patrick Ion), sutor@us.ibm.com (Robert Sutor), + aldiaz@us.ibm.com (Angel Diaz), + s.rahtz@elsevier.co.uk (Sebastian Rahtz), + gurari@cse.ohio-state.edu (Eitan Gurari) +Date: Thu, 19 Nov 1998 18:18:19 +1100 (EST) +Message-Id: <981119071819.7482@cse.unsw.edu.au> +Subject: TeX to MathML converter +Cc: plaice@cse.unsw.edu.au (John Plaice) +X-Mailer: ELM [version 2.4 PL25] +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit + + +Hello everyone, + +The MathML translator is now finished, and it works wonderfully. +It will read a TeX or Omega document and transform the math part +into a MathML file (suffix .mml). This is done by replacing the +mlist_to_hlist part of TeX with an SGML pretty-printer, along +with some nifty stuff along the way to recognize parenthesized +expressions and the like. + +In addition to the driver work, Omega will now, upon loading a +font, look for a .onm file corresponding to the font (cmr.onm +for cmr10.tfm or cmr7.tfm, ecrm.onm for ecrm10.tfm, etc.). +This file contains a list of declarations such as + \SGMLFontEntity{eufb}{"41}{\SGMLname{Afr}}{mi}{\SGMLbold} + +which states that position "41 of Font sort eufb (Euler Fraktur Bold) +is entity "𝔄". If used in Math mode, it will produce + <mi fontweight="bold"> 𝔄 </mi> + +If used in text mode, it will produce + 𝔄 + +All of the standard math fonts have corresponding .onm files, +and most of the cm family of fonts do as well. I can easily +generate more if necessary. + +In addition, there are new Omega primitives, in addition +to \SGMLFontEntity, to produce tags and entities as desired +in the text. + +\SGMLstarttag{tagname} will start a new TeX level, and +will ultimately place <tagname> in the output file. + +\SGMLendtag{tagname} will end a TeX level, and must match +a preceding \SGMLstarttag{tagname}. It will place +</tagname> in the output file. + +\SGMLattribute{attrname}{value} will place in the start tag +the text attrname="value". It allows one to define extra +attributes for tags. + +\SGMLemptytag{tagname}{attributes} will place an empty tag, +possibly with attributes, as in <tagname/>. The attributes +are defined using \SGMLattribute. + +The translator as it now stands seems to be able to do +all of normal LaTeX math, as well as AMS-LaTeX math. It +will also do a fair amount of TeX stuff. The most important +TeX thing that it cannot work with is \halign, which is +OK if one is doing LaTeX, since \halign is not normally +called in LaTeX. + +Unlike LaTeXtoHTML, this translator is capable of interpreting +and taking advantage of TeX's macro language. As a result, +it should be able to interpret a far greater proportion of +TeX files than can any Perl script. In addition, the translator +is easily adapted: if you do not like the interpretation, +then just change it. + +I will place the appropriate files on my FTP site tomorrow. + +Best, + +John Plaice + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/ENDSKIP ///////////////+/ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% START +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\temp{htm} \ifx\switch\temp \def\htm{htm}\fi + + + + +%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%% \def\htm{htm} +\ifx \ROOT \UnDef + \immediate\write16{....................Undef ROOT--using temp/TeX4ht/} + \def\ROOT{temp/TeX4ht/} +\fi +\ifx \htm \UnDef + \def\htm{html} + \def\CLASS{class} + \let\DOS=\empty + \let\ARG=\empty +\else + \def\CLASS{class} %%% \def\CLASS{cla} fails + \def\DOS{\noexpand\let\noexpand\DOS=Y} + \def\ARG{[htm]} +\fi + +% \def\unzip{\HCode{<sup>}[\UNZIP]\HCode{</sup>}} +\def\UNZIP{%\Link[http://www.info-zip.org/pub/infozip/]{}{} + unzip% + %\EndLink +} + + + +\openin15=tex4ht.exe \ifeof15 + \immediate\write16{============= tex4ht.exe missing=========} +\fi \closein15 +\openin15=t4ht.exe \ifeof15 + \immediate\write16{============= t4ht.exe missing===========} +\fi \closein15 + +\input DraTex.sty +\input AlDraTex.sty +\input tex4ht.sty + +\def\GOBBLE#1{} +\ifx \SysNeeds\GOBBLE + \Configure{DOCTYPE}{\Tg<?xml version="1.0"?> + \Tg<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 + transitional//EN" + "xhtml.dtd">} +\else + \def\SysNeeds{\Needs} +\fi + +\Preamble{xhtml,th4,index} +\EndPreamble + + +\input ProTex.sty +\AlProTex{llo,<<<>>>,?} + +\def\Template{\IgnorePar\EndP\bgroup \tt \HCode{<div class="Template">} + \def\cr{\HCode{<br />}\hfil\break} + } +\def\EndTemplate{\IgnorePar\EndP\HCode{</div>}\egroup} + + + +\ScriptCommand{\LikeVerbatim}{\NoFonts}{\EndNoFonts} + +\def\BULLET{$\bullet$} + +%%%%%%%%%%%%%%%%%%%%%%%%%% from latex %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\let\'=\Verb +\def\`{\expandafter\expandafter\expandafter\qts\Verb} +\def\qts#1{`#1\aftergroup'} + + + +\def\LaTeX{La\TeX} +\def\TeX{TeX} + +\def\INDEX#1#2{\--\expandafter\EAT\string#2//{{\tt\char 92}}/#1#2} + +\def\IDX--#1/#2/#3/#4/{{% + \Configure{--} + {} + {\string\csname\space :gobble\string\endcsname{\csname + html:lbl\endcsname}% + \string\Link[#4]{}{}\folio\string\EndLink }% + \--#1/#2/#3/}} + + +% Examples: +% \--Fonts/htf\string\empty//% +% \--Fonts/htf\relax,\string~configuring//% + + + +\def\EAT#1{} + +\NewSection\TroubleSec{}{} +\Configure{TroubleSec} + {} {} + {\par \IgnorePar\EndP\HCode{<p align="right" class="rightline">}\bgroup\bf} + {\egroup\HCode{</p>}\ShowPar\IgnoreIndent\par} +\ConfigureToc{TroubleSec} + {} {$\bullet$\HChar{160}} {} { } + + + + + + +\NewSection\DocChapter{}{} +\Configure{DocChapter} + {\IgnorePar} {} + {\IgnorePar\EndP\HCode{<h2 class="ChapterHead">}} + {\HCode{</h2>}\ShowPar\IgnoreIndent} +\ConfigureToc{DocChapter} + {} {\HCode{<span class="DocChapter">}$\bullet$\HChar{160}} + {} {\HCode{</span>} } + + +\HAssign\OddDoc=1 + +\def\Intro{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="intro">}} +\def\EndIntro{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}{}{} +\Css{.intro{border:1px solid black; padding:4px;}} + +\NewSection\DocPart{}{} +\Configure{DocPart} + {\IgnorePar} {} + {\IgnorePar\EndP\HCode{<h2 class="ChapterHead">}} + {\HCode{</h2>}\ShowPar\IgnoreIndent} +\ConfigureToc{DocPart} + {} {$\bullet$\HChar{160}} {} { } + +\TocAt{DocPart,DocChapter} + +\NewSection\DocSection{}{} +\Configure{DocSection} + {\IgnorePar} {} + {\EndP\HCode{<h2 class="SectionHead">}} {\HCode{</h2>}\IgnorePar} +\ConfigureToc{DocSection} + {} {$\bullet$\HChar{160}} {} { } + + +\NewSection\DocSubSection{}{} +\Configure{DocSubSection} + {\IgnorePar} {} + {\EndP\HCode{<h3 class="SectionHead">}} {\HCode{</h3>}\IgnorePar} + + + + + +\NewSection\InstallSection{}{} +\Configure{InstallSection} + {\IgnorePar} {} + {\EndP\HCode{<h3 class="SubSectionHead">}} {\HCode{</h3>}\IgnorePar} +\ConfigureToc{InstallSection} + {} {$\bullet$\HChar{160}} {} { } + + + + + + +\NewSection\QAChapter{}{} +\Configure{QAChapter} + {\IgnorePar} {} + {\IgnorePar\EndP\HCode{<h3 class="QAChapterHead">}} + {\HCode{</h3>}\ShowPar\IgnoreIndent} +\ConfigureToc{QAChapter} + {} {\HCode{<span class="QAChapter">}} + {} {\HCode{</span><br />} } + +\Css{span.QAChapter{font-size: 125\%;}} + +\NewSection\QASection{}{} +\Configure{QASection} + {\IgnorePar} {} + {\IgnorePar\EndP\HCode{<h4 class="QASectionHead">}} + {\HCode{</h4>}\ShowPar\IgnoreIndent} +\ConfigureToc{QASection} + {} {\HCode{<span class="QASection">}$\bullet$\HChar{160}} + {} {\HCode{</span><br />} } + + + + + + + + + +\def\Example{\IgnorePar\EndP\IgnoreIndent + \HCode{<div class="EXAMPL">}{\bf Example}} +\def\EndExample{\IgnorePar\EndP\HCode{</div>}} + + +\def\Notes{\IgnorePar\EndP\IgnoreIndent + \HCode{<div class="Notes">}{\bf Notes}} +\def\EndNotes{\IgnorePar\EndP\HCode{</div>}} + + + +\def\Sign#1#2{\aSign#1\bSign#2\cSign} + + +\NewConfigure{Sign}[3]{\def\aSign{#1}\def\bSign{#2}\def\cSign{#3}} + + + +% +% \Configure{buttonList} +% {\IgnorePar\EndP\HCode{<table class="button-list">}} +% {\HCode{</table>}\par\ShowPar} +% {\HCode{<tr valign="top" class="button-list"><td class="button-list">}} +% {\HCode{</td><td\Hnewline +% class="button-list">}#1\HCode{</td></tr>}} +% {\ListCounter} + + +\Configure{buttonList} + {\IgnorePar\par\EndP\HCode{<table class="button-list">}} + {\HCode{</table>}\par\ShowPar} + {\HCode{<tr valign="top" class="button-list"><td class="button-list">}} + {\HCode{</td><td\Hnewline class="button-list">}\ShowPar + #1\IgnorePar\EndP\HCode{</td></tr>}} + {\ListCounter} + + + +\def\ResourceList{\begingroup +% + \def\ListSepr{\gdef\ListSepr{, }} + \Configure{buttonList} + {\IgnorePar\HCode{<div class="converters">}} + {\HCode{</div>}\IgnorePar} + {\long\def\author####1(####2){}\ListSepr + ##1\IgnorePar\HCode{<sup>}\let\author=\space} + {\HCode{</sup>}} + {\ListCounter} +% + \List{button}} + +\def\EndResourceList{\EndList \endgroup} + +\def\ListSepr{\gdef\ListSepr{, }} + + +\def\setup#1{\rightline{{\bf #1}}} + + +\long\def\Warning#1{\IgnorePar\Tg<div class="warning">{\IgnoreIndent + \par\sl#1}\Tg</div>} + +\def\frac#1#2{{#1\over#2}} +\def\temp#1#2{\hbox{\Picture*{ + align="middle"}$#1\over#2$\EndPicture}} +\HLet\frac=\temp + +\def\EXAMPLE{\HTable/[/class="output"]\HCode{<div class="output">}} +\def\ContEXAMPLE{\HCode{</div>}\&\HCode{<div class="source">}} +\def\EndEXAMPLE{\HCode{</div>}\EndHTable} + +\ScriptCommand{\Same}{\NoFonts}{\EndNoFonts} + +\def\sl{\it} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\Css{h1, h2, h3 { font-family: sans-serif; }} % sans MS +\Css{body {max-width: 60rem;margin:1rem;}} + +\def\Mark#1{\HCode{<mark>}#1\HCode{</mark>}} + +\Configure{Sign} + {\IgnorePar\EndP\HCode{<div class="SIGN">}\bgroup \it} + {\HCode{<br />}} + {\egroup\HCode{</div>}} +\Css{.SIGN{text-align:right;}} + +\Css{.Template { margin-left:3em; }} + +\Configure{ShowCode} + {\IgnorePar\EndP\HCode{<div class="ShowCode">}} + {\HCode{</div>}} + {\HCode{<br />\string }} + {\HCode{<i>}} + {\HCode{</i>}} + {\HCode{\string }} + +\def\.#1{\def\temp##1#1{\HCode{<span + class="showcode">}##1\HCode{</span>}}\temp} + +\Css{div.ShowCode{ + font-family:monospace; + white-space:nowrap; +}} +\Css{span.showcode { color: green; }} + + +\Css{div.TableOfContents { margin-top: 1em; + margin-right: 1em; margin-left:1em;}} +\Css{div.Warning{ margin-right: 8\%; margin-left:8\%; + text-align:justify; }} + +\Css{div.Warning div.Warning{ font-weight: bold; + text-align:justify; border:solid 1px; color:red; +}} + + +\Css{.tabular, div.output { background-color:\#FFFFCC; }} +\Css{div.output { margin-left:3\%; }} + +\Css{.button-list P{ +%%%%%% margin-left:2em; text-indent:-2em; IE is totally +%%%%% broken here. It stalls hypertext links, and +%%%%% quits upon narrowing the window. + margin-top:0em; margin-bottom:0; }} +\Css{div.button-list { margin-left:3\%; margin-right:3\%; }} + + +\Css{div.ShowCode { + margin-left:3\%; margin-right:3\%; + border-top: solid \#CCCCCC 1pt; + border-bottom: solid \#CCCCCC 1pt; +}} + +\Css{div.source { + border-top: solid \#CCCCCC 1pt; + border-bottom: solid \#CCCCCC 1pt;}} + +% \def\EndDocChapter{% +% \par\ShowPar\IgnoreIndent[\Link[\UpFilename]{}{}up\EndLink]\EndHPage{}% +% \let\DocPart=\oldDocPart +% \TableOfContents[DocChapter]} +% +% \let\oldDocChapter=\DocChapter +% \def\DocChapter{% +% \let\oldDocPart=\DocPart +% \edef\UpFilename{\FileName}% +% \HPage{}% +% [\Link[\UpFilename]{}{}up\EndLink] +% \Part{Features of \TeX4ht}% +% \TableOfContents[DocChapter] +% \def\DocPart{% +% \EndDocChapter +% \DocPart} +% \let\DocChapter=\oldDocChapter +% \DocChapter} + + + + +\def\BR{\HCode{<br />}} + +\gdef\SysVar#1{\Link{x-#1}{#1}#1\EndLink} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DIRECTORIES +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\GURARI{http://www.cse.ohio-state.edu/\string~gurari/} +\def\GOLD{/n/gold/5/gurari/} + +\def\WWW{\GURARI \ROOT} +\def\DIR{\GOLD WWW/\ROOT} +\def\TempDIR{\DIR temp/} + +\def\HOME{\GURARI TeX4ht/} + +\def\SYSTEMS{\GURARI systems.html} % ProTex AlProTex + +\def\tugHOME{http://www.tug.org/applications/tex4ht/} + + + + + + + +%\def\shareFTP{\WWW share/} +% \def\shareDIR{\DIR share/} +% \def\shareTempDIR{\TempDIR share/} +% \def\shareHOME{\HOME share/} +% \def\dosFTP{\WWW dos/} +% \def\dosDIR{\DIR dos/} +% \def\dosHOME{\HOME dos/} +% \def\winFTP{\WWW win95/} +% \def\winDIR{\DIR win32/} +% \def\winTempDIR{\TempDIR win32/} +% \def\winHOME{\HOME win32/} + +%\def\temp{TeX4ht} \ifx\switch\temp \else +% \def\shareFTP{share/} +% \def\shareHOME{share/} +% \def\dosFTP{dos/} +% \def\dosHOME{dos/} +% \def\winFTP{win32/} +% \def\winHOME{win32/} +% \fi + + +\def\WWWxml{http://www.tug.org/applications/tex4ht/mml/} +\def\dosports{\GURARI dosports/readme.html} + + + + + + + % can't clean the full directory because + % the new html stuff is already there + %%%%%%%%%%%%%%% FIRST %%%%%%%%%%%%%%%%%%%%% +\csname SysNeeds\endcsname{"rm ht-unix/*"} +\csname SysNeeds\endcsname{"rm ht-win32/*"} +\csname SysNeeds\endcsname{"chmod 711 \DIR"} +%foo \csname SysNeeds\endcsname{"chmod 711 \TempDIR"} + %%%%%%%%%%%%%%%%%%%%% + +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/temp"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/temp"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/src"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/src"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/bin"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/bin/unix"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/bin/win32"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/bin"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/bin/unix"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/bin/win32"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex/generic"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex/generic/tex4ht"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht/ht-fonts"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht/base"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht/base/bin"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex/generic"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex/generic/tex4ht"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht/ht-fonts"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht/base"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht/base/bin"} + +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht/base/unix"} +%foo \csname SysNeeds\endcsname{"mkdir \TempDIR tex4ht/texmf/tex4ht/base/win32"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht/base/unix"} +%foo \csname SysNeeds\endcsname{"chmod 755 \TempDIR tex4ht/texmf/tex4ht/base/win32"} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% END DIRECTORIES +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +\csname UnderRevision\endcsname + +\Part{TeX4ht: LaTeX and TeX for Hypertext} + +\Intro + +\TeX4ht was created by Eitan Gurari at Ohio State University. Eitan died +unexpectedly in June 2009; we dedicate future development to his memory. + + +\Mark{The new \TeX4ht home page is at +\Link[https://tug.org/tex4ht]{}{}https://tug.org/tex4ht\EndLink}. +Please see that page for current development information, % +including a \Link[https://puszcza.gnu.org.ua/bugs/?group=tex4ht]{}{}bug tracker\EndLink\ +and \Link[https://lists.tug.org/tex4ht]{}{}mailing lists\EndLink. + +\TeX4ht is still actively maintained, and many individual files have been +updated; new versions are committed to the \TeX4ht\ and TeX Live +repositories. + +Unfortunately, no full release of \TeX4ht has been made since Eitan +Gurari, the original author, passed away. When a release is finally made +(there is no ETA at present), it will be available on +\Link[https://ctan.org/pkg/tex4ht]{}{}CTAN\EndLink. + +\EndIntro + +\TeX4ht is a highly configurable \TeX-based authoring system +dedicated mainly to +produce hypertext. It interacts with \TeX-based applications through +style files and postprocessors, leaving the processing of the source +files to the native \TeX{} compiler. Consequently, \TeX4ht can handle +the features of \TeX-based systems in general, and of the \LaTeX{} and +AMS style files in particular. + +Pre-tailored configurations are offered for different +\Link[\jobname-commands.html]{}{}output formats\EndLink{}, including +HTML 5, (X)HTML, MathML, OpenDocument, and DocBook. +%This document and the utility code +%are available for downloading in \Link[tex4ht-all.zip]{}{}zipped +%format\EndLink{}. + +% (alternative sites: \Link[\WWW +% tex4ht-all.zip]{}{}osu\EndLink \tugOnOff{, \Link[\tugHOME +% tex4ht-all.zip]{}{}tug\EndLink}). + + \TableOfContents[DocPart] + +\HPage<toc>{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Table of Contents} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\bgroup + +\ConfigureToc{DocPart} + {} {\HCode{<div class="DocPart" align="center">}} + {} {\HCode{</div>} } + +\TableOfContents[DocPart,DocChapter,DocSection,DocSubSection,InstallSection] + + +\Css{div.TableOfContents div.DocPart{margin-top:1em; margin-bottom:1em; + font-size:110\%;}} + + +% \TableOfContents[SubSection] + +% \TableOfContents[TroubleSec] + +% \TableOfContents[QAChapter,QASection] + +\egroup +\EndHPage{toc} + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\Css{.bugfixes{background: yellow; +% padding:0.5em; +% margin-left:70\%; +% text-align:center; + font-style: italic; +font-weight: bold; +}} + + + + \HPage{trouble shooting}\ExitHPage{} + +\Link{}{trbl-sht}\EndLink + + + +\InstallSection{Trouble Shooting} + +\TableOfContents [TroubleSec] + +\TroubleSec{Bitmaps} + +\let\svTroubleSec=\TroubleSec +\def\TroubleSec#1{\EndList \svTroubleSec{#1} + \List{} + \let\SV=\item + \def\item##1{\SV{\Tg<span class="underline">##1\Tg</span>}}% + } + +\List{} +\let\SV=\item +\def\item#1{\SV{\Tg<span class="underline">#1\Tg</span>}} +\item{Too small math fonts in images} + +Use instructions of the form + +\centerline{\tt \string\DeclareMathSizes + \string{{\it surrounding text size}\string} + \string{{\it base math}\string} + \string{{\it subscript math}\string} + \string{{\it 2nd order subscript math}\string}} + +to request math font dimensions for formulas embedded within text of +specified font dimensions. Use sizes of magnitude $10*(1.2)^i$. + +{\bf Example:} + +\Verbatim +\documentclass{article} + \DeclareMathSizes{10}{24.88}{20.74}{17.28} +\begin{document} + Test in 10pt. \( {base 24.88}_{script 20.74} \) +\end{document} +\EndVerbatim + +\item{Bad Quality of Pictures} + +Increase the density (number of dots per inch) when converting the +pictures, and then sub-sample the picture. Specifically, +replace in \`'tex4ht.env' the switch + + \centerline{-density 110x100} + +\noindent with the switch + + \centerline{-density 220x220 -geometry 50\%} + +\noindent or with another switch of the form + + \centerline{-density ...x... -geometry ...\%} + +The \''-density' switch increases the number of pixels per inch, +and the \''-geometry' option reduces that number. The process + smoothes (anti-aliases) the edges. + Typically screens display about 72 to 100 dots per inch. + +The type of fonts in use may also affect the quality of the output. +In particular, +\Link[http://www.ams.org/index/tex/type1-cm-fonts.html]{}{}Type +1\EndLink{} (scalable outlines) fonts offer better outcome than Type 3 +(bitmapped) fonts. + +\item{Direct Translations of EPS Figures} + +The quality of the bitmaps of EPS figures may be improved by +converting the figures directly, without transmitting them through the +dvi code. For instance, the \''\includegraphics' command in the +presence of the following configuration provides such a route. + +\Verbatim + \Configure{graphics*} + {eps} + {\Needs{"convert \csname Gin@base\endcsname.eps + \csname Gin@base\endcsname.png"}% + \Picture[pict]{\csname Gin@base\endcsname.png}% + } +\EndVerbatim + +\--Bitmaps and graphics/eps//% +The following script provides a more efficient and general approach. + +\Verbatim + \Configure{graphics*} + {eps} + {\openin15=\csname Gin@base\endcsname.\PictExt\relax + \ifeof15 + \Needs{"convert \csname Gin@base\endcsname.eps + \csname Gin@base\endcsname.\PictExt"}% + \fi + \closein15 + \Picture[pict]{\csname Gin@base\endcsname.\PictExt}% + } +\EndVerbatim + + +\item{Truncated and empty png files} + +Such a behavior might result from pictures which end up off the +dvi page limits. +A larger paper size may be requested from dvips + through the switch `-T offset' (e.g., -T 14in,14in). +The dvips command is activated from tex4ht.env. + + +\item{Truncated and empty png files for Xfig pictures} + + Some Xfig files are made up of overlapping picture environments, + with \TeX4ht viewing the components as defining independent figures. + The problem can be solved by importing the Xfig files into + pictorial environments of \TeX4ht. + +\Verbatim + \newenvironment{mypic}{\Picture*{}}{\EndPicture} + \begin{mypic} \input{xfig-file} \end{mypic} +\EndVerbatim + +Alternatively, +%\Link{pdf-based}{} +PDF-based +%\EndLink{} + translations into bitmaps might also +offer a solution. + +% > xfig to draw, +% > fig2dev to convert +% > - text to TeX picture +% > - graphics to eps +% > This way we have full TeX fonts/features in all our pictures. +\TroubleSec{\LaTeX} + + +\item{Unable to find a newly installed file} + +The \TeX{} engine might require an update of a search directory: the +ls-R database for installations employing kpathsea (run texhash), the +data base directory in the case of MiK\TeX{} (select \'Start -> Programs -> MiKTeX -> Refresh', or run \`'initexmf -u' from +a DOS session, to update it). + + + + \TroubleSec{Fonts} + +\item{Can't find/open file foo.tfm} + +\List{*} +\item \--Fonts/tfm//% +Locate the directory where \LaTeX/\TeX{} finds font foo.tfm, +and add to \''tex4ht.env' a \`'t' record pointing to that directory +(e.g., \`'tc:\localtexmf\fonts\tfm!'). +\item +Insert the record at the start of the line. \TeX4ht considers the first +character in each line to be a code describing the type of the record in +hand. Lines which start with unrecognized character codes, spaces +included, are ignored. +\item +Note also that \LaTeX/\TeX{} may create fonts on the fly and put them +in a temporary directory (e.g., \`'/var/tmp/texfonts/tfm/'). +\EndList + +\item{Linux, Netscape, and the SYMBOL font} + + + To display the SYMBOL fonts in Netscape on Linux +add + +\centerline{\tt Netscape*documentFonts.charset*adobe-fontspecific: iso-8859-1} + +\noindent to the \''~/.Xdefaults' file + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\TroubleSec{C programs} + +\item{\--tex4ht.c/Compiling//tex4ht.c doesn't compile ... ERROR:3396: `DIR' +undeclared (first use this function)... } + +Consider adding the switch \`'-DHAVE_DIRENT_H' to the command line. +For instance, + +\'+gcc -o tex4ht tex4ht.c -DENVFILE='"path/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"' + -DHAVE_DIRENT_H+ + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\TroubleSec{Scripts} + +\item{Bad end-of-line characters in htlatex.bat/httex.bat/htexi.bat/ht.bat} + + +Remove undesirable trailing characters in the +lines of the scripts, introduced by the utilities which download the files. + +DOS/WINDOW platforms use an endline pair of characters: a carriage +return and a line feed (0Dx,0Ax hexadecimal; 13,10 +decimal). MAC platforms use only a single carriage feed character +(0Dx; 13dec). UNIX platforms use only a single line feed character +(0Ax; 10 dec). + +\item{Can't find/open file `xxx.dvi' or `xxx.lg'} + + In some platforms, the operating systems pass on the quotes of the + parameters of \''htlatex', \''httex', and \''httexi' to the + utilities \''tex4ht' and \''t4ht'. In such cases, the utilities issue + complaints of the above nature for file names \`'xxx' other than + those being compiled. The problem can be resolved by +\HPage{installing a filter} +%%%% +\ExitHPage{} + +\SubSection{htcmd} + + +\--htcmd.c///% +The source is available at +\''bin/temp/htcmd.c', and executable for MS Win 95/98/NT is +available at \''bin/win32/htcmd.exe'. + + + +%%%%% +\EndHPage{} named \`'htcmd', +and submitting + the \''tex4ht' and \''t4ht' commands to the filter. Backslash + characters \`'\' might need replacements with double backslash + characters \`'\\' or forward slash characters \`'/'. + +For instance, if \''htlatex.bat' contains a command line of the form + \`'C:\tex4ht\t4ht %1 %4', then after introducing the filter the +modified command line will take the form + \`'C:\\tex4ht\\htcmd C:\\tex4ht\\t4ht %1 %4'. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \TroubleSec{Environment File} +\item +{Can't find/open file `tex4ht.env'} + +\--tex4ht.env///% +The switch \''-hV' on the calling \''tex4ht' command shows where +the file is being searched. The following are possible solutions to +the problem. +\List{*} +\item Set an environment variable TEX4HTENV to the address of the file +\item Add the switch \`'-e...address-of-tex4ht.env...' to the command +lines of t4ht + and tex4ht within the htlatex, httex, +httexi, and ht (or htlatex.bat, httex.bat, +httexi.bat, + and ht.bat) scripts. +\item If tex4ht and t4ht are compiled for kpathsea check that the +texmf.cnf contains records similar to the following ones. + +\Verbatim + TEX4HTFONTSET=alias,iso8859 + TEX4HTINPUTS=.;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + T4HTINPUTS=.;$TEXMF/tex4ht/base// +\EndVerbatim + +\item Make the location of +the environment file known to the programs in another manner +(see the pointers from the entry + \`'tex4ht.env' in the \Link{Index}{}index\EndLink). +\EndList + +\item{No permission for system call: ...} + + Make sure that the \`'S' records in \''tex4ht.env' don't +end with invisible spaces, and that the file ends +with the record \`'% end of +file'. + +\item{Problems with argument {\tt -d...} of t4ht} + +The specified directory must be augmented by a slash character \''/'. + + + + +\item{Problems with the convert utility} + +\List{*} +\item Make sure the convert program of ImageMagick is called and +not another convert system in your directories. In the latter case, +insert the full address of convert into the following command within tex4ht.env. + +\'+Gconvert zz%%4.ps -trim -density 110x110 -transparent '#FFFFFF' %%3+ + + +For instance, use + +\''Gc:\TeX\Imagick\convert' + +instead of + +\''Gconvert' +\item You might need to remove the quotes from \'+'#FFFFFF'+ +\EndList + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\TroubleSec{tex4ht.sty / *.4ht} + +\item{Foreign content in {\tt <title>...</title>} elements} + + Use the {\tt \string\Configure\string{@TITLE\string}\string + {...\string}} command to redefine for the these elements the + harmful macros that appear in headers of logical units like + \''\title' and \''\chapter'. For instance, the definition + \''\Configure{@TITLE}{\def\LaTeX{LaTeX}}' for the source +\''\title{with \LaTeX}'. + +\item{Problematic commands in titles of logical divisions} + +Commands within titles of divisions might need protection when +transported by tex4ht to other locations. The command +\''\Configure{NoSection}{..before...}{...after...}' +may be used for such a purpose. + + + +%%%%%%%%%%%%%%%%%%%%%%% + \TroubleSec{DVI Code} + + +\item{XDVI/DVIWINDO/YAP... hang on {\tt\char92special} command} + + The dvi code produced by tex4ht is not valid for use with other + utilities. Recompile the source file without the presence of tex4ht, + to provide a proper code to your dvi viewer. + +%%%%%%%%%%%%%%%%%%%%%%% + \TroubleSec{JavaScript} + + +\item{`{\tt onovermouse}' package option} + +This option currently relies on +the JavaScript utility +\Link[https://github.com/overlib/overlib]{}{}overlib.js\EndLink{} +of Erik Bosrup. The {\tt overlib.js} file must be placed to the directory +along the html files. +%The file might need to be fixed at line 234, by +% introducing \`'return "";' instead of \`'return;' (an already +% \Link[http://www.egroups.com/message/overlib/133]{}{}reported\EndLink{} problem). + + +%%%%%%%%%%%%%%%%%%%%%%% + \TroubleSec{Subscripts and Superscripts} + + +\item{Loss of structural information} + +\--Subscripts and superscripts///% +% + Subscripts and superscripts are among the weakest points of tex4ht. + In order to recognize them for non-bitmap representations, \TeX4ht changes the category codes of + \`'^' and \`'_', upon reaching the \''\begin{document}' instruction, +and ignores the operations if introduced earlier. + + +The ideal solution would have been to get the superscript and +subscript operations, as well as the empty bases \`'{}', marked upon +request by the native compilers in the dvi code. Currently, that is +just a good night dream. + +The followings are possible ways to overcome the problem. + +\List{1} + +\item Prepare TeX4ht configuration files containing redefinitions +for the the sensitive macros. For instance, the configuration file +\''test.cfg' + +\Verbatim +\Preamble{} + +\renewcommand{\FQED}[2]{F_{#1#2}} +\renewcommand{\Mlones}{M^2} +\renewcommand{\bzms}{M^2_{_0}} + +\begin{document} +\EndPreamble +\EndVerbatim + + +for a source \''test.tex', and a compilation invoked through the +command \`'mzlatex test "test"'. + +\item Use \''\sb' and \''\sp', +instead of \`'_' and \`'^', in auxiliary files and preambles of files, +or push the definitions to after the \''\begin{document}' statement. +The danger in this approach is that occasionally + users provide new meanings to existing control sequences, + without tex4ht taking it into account. + +\item + Use the command line options \''early_' and \''early^'. For instance, + \''htlatex file "html,early_"'. + + + + + +\EndList + + + + +\EndList +\EndHPage{} +% +{\tt |} +% +\noindent \HPage<QA>{Q/A}\ExitHPage{} + + +\InstallSection{Q/A} + +\TableOfContents [QAChapter,QASection] + + +\noindent {\bf Note:} Please also check the .log files of the compilations +for hints provided by tex4ht. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QAChapter{Addresses of Bitmap Files} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{How Bitmap Files Are Created for Pictures} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +There are two kinds of pictures: those created for letters, and those +requested directly or indirectly for figures in the source files. The +tex4ht.c utility extracts the figures from the foo.dvi file into a +foo.idv file, and places in foo.lg messages of how to extract the +figures. The t4ht.c utility, uses the requests listed at foo.lg, to +activate the G-script from tex4ht.env for the different figures. +However, if a F-script is available, it is used instead for the letters. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{References to Bitmap Files of General Pictures} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The command + +\''\Configure{IMG}{<img\Hnewline + src="foo.dir/}{" alt="}{" }{ />}' + + in the configuration file adds the prefix + + \''foo.dir/' + + to the file names. + + The default setting uses the configuration + +\''\Configure{IMG}{<img\Hnewline + src="}{" alt="}{" }{ />}' + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Placement of Bitmap Filess of General Pictures} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Add to the \`'G' script in \''tex4ht.env' +a command to move the bitmap files to the desired +destination (e.g., \`'Gmv %%3 foo.dir/.'). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{References to Bitmap Files of HTF Symbols} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Add the following commands to the configuration file. + +\Verbatim +\Configure{htf}{1}{+}{<img\Hnewline + src="foo.dir/}{" alt="}{" class="}{\%s}{-\%d}{x-x-\%x}{" />} +\Configure{htf}{3}{+}{<img\Hnewline + src="foo.dir/}{" alt="}{" class="\%s-}{\%s}{-\%d}{x-x-\%x}% + {" align="middle" />} +\EndVerbatim + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Placement of Bitmap Files of HTF Symbols} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +If \`'foo.dir/' is not the directory used in the `G' script, introduce into +tex4ht.env a similar `F' script for the bitmaps of character, e.g., + +\Verbatim +Fdvips -T 14in,14in -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Fconvert zz%%4.ps -trim -density 110x110 -transparent '#FFFFFF' %%3 +Fmv %%3 foo.dir/. +\EndVerbatim + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QAChapter{Representation of formulas} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Make picture's alternative text to show the original tex code} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Explicit requests: + +\Verbatim +\newtoks\eqtoks +\def\ImageAlt{\afterassignment\setimg\eqtoks} +\def\setimg{\Picture*[\HCode{\the\eqtoks}]{}\the\eqtoks\EndPicture} + +\ImageAlt{$\alpha + \beta$} + +\ImageAlt{$$ + \begin{array}{cc} + a & b \\ + c & d + \end{array} +$$} +\EndVerbatim + +Implicit requests may also be tailored along the following lines, but +they should be used carefully because they are not safe. + +\Verbatim +\newtoks\eqtoks +\def\AltMath#1${\eqtoks{#1}% + \Picture*[\HCode{\the\eqtoks}]{ align="middle"}$#1$\EndPicture$} +\Configure{$}{}{}{\expandafter\AltMath} +\EndVerbatim + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Avoiding bitmaps within formulas} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\--Bitmaps and graphics/Requests//% +{\it Q. I found that some equations have smaller fonts than the +others. I wonder why the size of the equations changes along the +document.} + +Some equations and symbols are converted to bitmaps--I guess they are +the parts you are concerned about. + +If you try the command \`' mzlatex filename', provided you have the +xhlatex-like script of mzlatex configured, you'll get the bitmaps +removed in favor of unicode symbols and mathml formulas. In such a +case, one will need a mathml-enabled browser to view the outcome. + +If you don't care using the MS SYMBOL font, which non-pc browsers are +likely not to recognize, try the command \`' htlatex filename "" "symbol/!" '. +It will resolve the bitmap problem for of the characters. + +%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Setting bitmaps within formulas} +%%%%%%%%%%%%%%%%%%%%%%%% + + +A code similar to the following one may +be used to configure instructions like \`+\int_{xxx}^{yyy}+ and +\`+\sum_{xxx}^{yyy}+ + to produce pictorial representations within non-pictorial +formulas. + +\Verbatim +\def\SubSupOp#1{% + \edef\temp{\expandafter\gobble\string#1}% + \expandafter\let\csname old\temp\endcsname=#1 + \edef\temp{\noexpand\SUBSUPOP{\expandafter\noexpand + \csname old\temp\endcsname}}% + \HLet#1=\temp +} +\def\gobble#1{} +\def\SUBSUPOP#1{\let\curOP=#1% + \let\next=\putOP \let\OPsub=\empty \let\OPsup=\empty + \futurelet\nextop\getOP} +\def\getOP{% + \ifx _\nextop \let\next=\getsub + \else\ifx ^\nextop \let\next=\getsup\fi\fi \next} +\def\getsub#1#2{\def\OPsub{#2}\let\next=\putOP + \futurelet\nextop\getOP} +\def\getsup#1#2{\def\OPsup{#2}\let\next=\putOP + \futurelet\nextop\getOP} +\def\putOP{\Picture+{ align="middle"}{\curOP_{\OPsub}^{\OPsup}}\EndPicture} + +\SubSupOp\sum +\SubSupOp\int + +\EndVerbatim + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QAChapter{{\tt \char92 includegraphics}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Conditional bitmap conversion for imported graphic files} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +{\it Q. How to avoid the conversion of eps files to PNG's, +included through the \''\includegraphics{...}' command', each time +the source file is run across tex4ht.} + + +Compile your source with the command line \`' htlatex filename "html,info" ', +and check the log file for the information provided there. In +particular, the \`'\Configure{graphics*} {wmf} ...' example may be +adapted for dealing with eps files, where a conditional conversion is +requested within the \`'\Needs{"..."}' command (possibly indirectly +through a call to a script for doing he job). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Clickable Thumbnail Images} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +{\it +\--Pictures/Thumbnail//% + Q. +How an image can be made a thumbnail to be clicked on for + bringing up the full size image.} + +\Verbatim + \Configure{graphics*} + {png} + {\Link[\csname Gin@base\endcsname .png]{}{}% + \Picture[pict]{\csname Gin@base\endcsname .png + \space width="40px" height="40px" }% + \EndLink + } +\EndVerbatim + + + +\Verbatim + \Configure{graphics*} + {eps} + {\openin15=\csname Gin@base\endcsname\PictExt\relax + \ifeof15 + \Needs{"convert \csname Gin@base\endcsname.eps + \csname Gin@base\endcsname\PictExt"}% + \fi + \closein15 + \Link[\csname Gin@base\endcsname\PictExt]{}{} + \Picture[pict]{\csname Gin@base\endcsname\PictExt + \space width="40px" height="40px" }% + \EndLink + } +\EndVerbatim + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QAChapter{Other} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\QASection{Missing Configurations} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +{\it Q. I am attempting to convert a Ph.D. thesis written in LaTeX, +using a locally developed class ths.cls based on the report class, which +redefines some elements of the class for local needs. The output is +lacking the Table of Contents and the Lists of Figures and Tables, and +the bibliography at the end is only minimally formatted.} + +The problems result from a lack of a configuration file for the thesis +class. Try introducing a configuration file similar to the following +one. + +\Verbatim + % file name: ths.4ht + \input report.4ht +\EndVerbatim + + + +\EndHPage{QA} +% +{\tt |} +% +% +% +% \HCode{<span class="bugfixes">}\Link[http://www.cse.ohio-state.edu/\string +% ~gurari/TeX4ht/bugfixes.html]{}{}bug fixes\EndLink +% \HCode{</span>} +% +\NextFile{mml.html}% +\HPage{common problems for MathML} +\--MathML/Do and Don't//% +\rightline{\ExitHPage{up}} +\Link{}{mml-prob}{}% +\NextFile{mml-issues.html}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\SubSection{Some Sources of Problems for MathML} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\List{a} +\item +Broken math formulas, such as \`'$R=\{x|x$ is real $\}$' +instead of \`'$R=\{x|x \mbox{ is real } \}$'. +% +\item + Math mode employment for presenting nonmath content, +such as \`'$$\vbox{...}$$ ' instead of + \`'\begin{center}\vbox{...}\end{center}'. +% +\item + Unmatched parentheses within entries of arrays, +such as \`'\begin{array}...(... & ...)...\end{array}' +instead of +\`'\begin{array}...\left(... \right.& + \left. ...\right)...\end{array}'. +% +\item +Unmatched parentheses within math, such as \`'$a = b)$' instead of +\`'$\left.a = b\right)$'. It is also possibl to use `mathml-' command line +option without need to modify the first form, but it may result in wrong +parentheses size. +% +\item +Incorrect annotation of delimiters, such as \`'\bigl\{...\bigr|...\bigr\}' +instead of + \`'\bigl\{...\bigg|...\bigr\}' +% +% +% 21/04/2017 Michal: +% What does the following example mean? It produces identical code, but the recomended form doesn't +% make any sense +% \item +% %%\relax\relax\--\string_//\string\tt/% +% \relax\relax\--!//{\string\tt\char \space 95}\string\csname\space :gobble\string\endcsname/% +% %%\relax\relax\--\string^///% +% \relax\relax\--!//{\string\tt\char \space 94}\string\csname\space :gobble\string\endcsname/% +% Empty bases for subscripts and superscripts, +% such as \`'{}^{...}, {}_{...}' instead of +% \`'{\csname HCode\endcsname{}}^{...}, {\csname HCode\endcsname{}}_{...}'. +% % +% +\item +Missing grouping for bases of subscripts and superscripts, such as +\`'10^6' instead of \`'{10}^6'. (Some fixing of the problem can be requested through a `-cxhtmml' command line option for t4ht.c. For instance, +`{\tt mzlatex file "" "" "-cxhtmml"}'.) + +\item Missing grouping for subscripts and suprscripts, such as +\`'A_\mathit{...}' instead of \`'A_{\mathit{...}}'. (\LaTeX{} allows +indirect access to the content of the operands; \TeX4ht requires + direct access.) + + + +\item +Use of the operators \`'^' and \`'_', instead of \`'\sb' and \`'\sp', +outside the presence of \TeX4ht. + (\TeX4ht becomes active only at the \`'\begin{document}' command. +The \`'early_' and \`'early^' options extend this awareness to the preambles of the source latex documents.) + +\item +If math environments nested within tabular environments cause \HPage{problems} + +\noindent{\bf Any explanation for the following problem?} +The native LaTeX compiler has no problem with examples 1 and 2. On example 3 it +complains: \`'Argument of \xhalign has an extra }'. When compiled in isolation, examples 2 and 3 produce the same tracing until \''\xhalign' is invoked. + + + +\Verbatim + \tracingcommands=2 + \tracingmacros=2 +\documentclass{article} +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\catcode`\@=11 + +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\xhalign \cr +} + +\def\xhalign#1\cr{% + \halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \vbox\bgroup %% example 1 %% + \begin{eqnarray} x \end{eqnarray}% + \egroup + + \begin{tabular}{c} %% example 2 %% + \vbox{% + \begin{eqnarray} x \end{eqnarray}% + }% + \end{tabular} + + \begin{tabular}{c} %% example 3 %% + \vbox\bgroup + \begin{eqnarray} x \end{eqnarray}% + \egroup + \end{tabular} + +\end{document} +\EndVerbatim + + + + + + + +\EndHPage{} + enclose them +within braces (for instance, +\`'\begin{tabular}{c} + \begin{minipage}{4in} + { \begin{eqnarray} + x & = & y + \end{eqnarray} } + \end{minipage} + \end{tabular}'). + + +\EndList +\EndHPage{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%{\tt |} .log files of the compilations + + +\NextFile{bugfixes.html}\HPage{bug fixes - TeX4ht} + +See +\Link[https://tug.org/tex4ht]{}{}https://tug.org/tex4ht\EndLink\ +for current status and information. You can see updates in the +\Link[https://tug.org/pipermail/tex4ht-commits/]{}{}commit history\EndLink. + +Issues can be reported on the +\Link[https://puszcza.gnu.org.ua/bugs/?group=tex4ht]{}{}bug tracker\EndLink. +\EndHPage{} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Using the System} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Typical \LaTeX{} source files can be compiled into standard HTML and +XML formats in a manner similar to the way they are compiled into +print formats, namely, through variations of the command +\--htlatex///`{\tt htlatex {\it filename} "{\it options1}" "{\it + option2}" "{\it options3}" "{\it options4}"}'. For instance, + +\Verbatim +htlatex filename # generate HTML +xhlatex filename # generate XHTML +\EndVerbatim + +% (since these are not in current TL, leave them out for now; should restore) +% mzlatex filename # XHTML with MathML +% oolatex filename # OpenOffice XML with MathML +% dbmlatex filename # Docbook XML with MathML + +For details, visit the +\NextFile{\jobname-commands.html}\HPage<hts>{calling commands} + +\rightline{\ExitHPage{up}} + +\DocPart{Calling Commands} + +% \TableOfContents[DocChapter] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{From LaTeX\space to HTML} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\leavevmode\Link{}{features}\EndLink +The translation of a \LaTeX{} source file into HTML involves of +loading \''tex4ht.sty' and *.4ht style files, +choosing the desirable options for the translation, compiling the +source into \''dvi' code with the native \LaTeX{} engine, and +postprocessing the outcome with the \''tex4ht' and \''t4ht' programs +(see \Link[\RefFile{overview}]{}{}overview\EndLink{}). + + +\--htlatex///% +The \''htlatex' command loads a script which takes on itself to invoke +the different steps of the process, without user intervention. The +command assumes the form + +\centerline{{\tt htlatex filename "{\it options1}" + "{\it option2}" "{\it options3}" "{\it options4}"}} + + +\noindent +where the first set of options is for the +\''tex4ht.sty' and \''*.4ht' style files, the second set is for the +\''tex4ht' +postprocessor, the third for the \''t4ht' postprocessor, and +the last one is for the \LaTeX{} compiler. + For instance, + + + + + + + +\List{} +\item{{\''htlatex filename'}}This command requests a translation according +to the default conditions, which are set to produce HTML transitional +4.0 code. + + +\item{{\''htlatex filename "html,2,info"'}}This command is +equivalent to the previous one, specifying explicitly the option +\''html' for \''tex4ht.sty' instead of doing so implicitly. + +In addition, +the command requests a break up of the output into separate web pages, +in accordance to the two top sectioning levels of the document. + +Moreover, +it asks for a listing in the log file of the information available for +the style files in use. That information, among other things, also +introduces additional values available for the first list of options. + +% +\item{{\''htlatex filename "" "dbcs/!"'}}This command requests the +loading +of the dbcs branch of Chinese hypertext fonts (on top of those already requested by +the default setting). + +% +\item{{% +\--Bitmaps and graphics/Requests//% +\--Frames///% +\--Chinese///% +\--Fonts/Chinese//% +\--t4ht.c/-p//% +\''htlatex filename "foo,frames" "" "-p"'}}This command requests \LaTeX{} +to load a private +configuration file, named \''foo.cfg', +and to place the content and table of contents +in separate frames. +In addition, it asks + \''t4ht' not to produce bitmaps for pictures. + + + +\item{{\''htlatex filename "" " -ciso2htf" "" +"-translate-file=il2-pl"'}}This command invokes the \LaTeX{} compiler +with the instruction \`'latex -translate-file=il2-plfilename'. + +\EndList + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Available Values for the Options} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--htlatex/available options//% +The fields of {\it option1} should be separated by commas. An +\`'info' field requests a listing in the .log file of many of the +the available values. If the list is not empty, it must start with +the entry \`'html', \`'xhtml', or a name of a private configuration +file. + +The fields of {\it option2} and {\it options3} should be separated by +spaces. The available values can be listed by executing the +postprocessors \''tex4ht.c' and \''t4ht.c', respectively, without +arguments (or with wrong sets of arguments). + +The first field of {\it option2} should be empty or a subdirectory of +\''ht-fonts' (typically augmented with an exclamation mark \`'!'). A +space should separate the first field from the second one, also when +the first field is empty. + +The underlying output formats of available \''htlatex'-like commands +are tailored into the commands through fields of {\it option1}. The +names of these fields are defined in \''tex4ht.4ht' and \''tex4ht.usr' +(see \Link{confFiles}{}\Ref{confFiles}\EndLink). These values should +be of little interest to most users. + + + +\--htlatex/mk4ht//% +\--mk4ht///% +Different variants of the \''htlatex' +command may be invoked by introducing the commands as arguments to a +driver named \''mk4ht'. When provided without arguments, the driver +lists the commands it recognizes. + +\bgroup \tt +\HTable ^/ +[/style="white-space: nowrap; margin-right:2em;"] mk4ht mzlatex filename "html,3" \& (htlatex filename "html,3,xhtml,mozilla" "~-cmozhtf") \CR +[/style="white-space: nowrap; margin-right:2em;"] mk4ht oolatex filename \& (htlatex filename "xhtml,ooffice" "ooffice/!~-cmozhtf" "-coo") +\EndHTable +\egroup + +\--htlatex/mkht-scripts.4ht//% +Alternatively, a compilation +\`'latex mkht-scripts.4ht' +produces different named scripts of similar functionality. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{XHTML and Unicode} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\--XHTML///%' +\--Unicode///%' +\--tex4ht.c/-cunihtf//% +\--Unicode/-utf8//% +The \`'xhlatex' command is a variant of the \`'htlatex' command +requesting XHTML output. It consists just of a call to \`'htlatex' +with the entry \`'xhtml' in the first list of options +and \`'-cvalidate' in the third list. For instance, +\`'xhlatex filename' or \`'htlatex filename "xhtml"'. + +To request a Unicode representation of symbols, the first list of +options should include the \`'uni-html4' entry, and the second list +should include the \`'-cunihtf' entry preceded by space. For +instance, \`'xhlatex filename "xhtml,uni-html4" " -cunihtf"'. + + +Unicode representations of symbols in UTF-8 encoding may be requested +with the entry \`'-utf8' added to the second list. + For +instance, \`'xhlatex filename "xhtml,charset=utf-8" " -cunihtf -utf8"'. + + + +To request expanded usage of unicode values in iso-8859-1 output +employ commands +similar to + + \centerline{\tt htlatex file "" "iso8859/1/charset/uni/!"} + +\noindent or introduce a similar charset path in tex4ht.env. Otherwise, non +iso-8859-1 characters might obtain bitmap representations. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{XHTML with MathML} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--MathML///% +\--MathML/MathPlayer//% +\--mzlatex///%' +\--Scripts/mzlatex//% +\--xhmlatex///%' +\--Scripts/xhmlatex//% +\TeX4ht has different configurations for different modes of output. It +is distributed with pre-tailored base configurations for translating +\LaTeX{} math into MathML, and extra configurations for adjusting the +outcome to Mozilla, + MathPlayer, +and PMathML CSS. Only presentational +MathML is supported. + +\Verbatim + mzlatex filename + mzlatex filename "html,pmathml" + mzlatex filename "html,mathml-" + mzlatex filename "html,mathplayer" + xhmlatex filename +\EndVerbatim + + + + For XHTML+MathML to be served both by Mozilla and +MSIE+MathPlayer use the command line option `mathplayer'. + + +The \''mzlatex' command is a short cut representation for the command +\`'htlatex filename "xhtml,mozilla" " -cmozhtf" "-cvalidate"'. It take into account special +needs of browsers. The \''xhmlatex' command is a short cut +representation for the command +\`'htlatex filename "xhtml,mathml" " -cunihtf" "-cvalidate"'; +it does not make any compromizes toward browsers. + + + It might be worthwhile to notice some of the +more \Link{mml-prob}{}common sources of problems\EndLink{} for MathML. +\--mzlatex/-mathml//%' +The \`'mathml-' options asks for a degraded + MathML output that sidetracks some of +the problems. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{OpenDocument, OpenOffice, and MS Word} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--OpenOffice///% +\--OpenDocument///% +\--Scripts/oolatex//% +\--oolatex///% +\--Word, MicroSoft///% +\--Scripts/MicroSoft Word//% +A translation for an OpenDocument + format can +be requested by the \`'\oolatex' command. The command is a variant of + \''htlatex' in which the first list of options holds the entries +\`'xhtml,ooffice', the second list holds the entry \`'-cmozhtf' +preceded by a space, and the third list contains \`'-coo' +({\tt +htlatex filename "xhtml,ooffice" "ooffice/!~-cmozhtf" "-coo -cvalidate"}). The output +of a command \`'oolatex filename' is a zipped file named with a +\`'.odt' extension. + + + + +The OpenDocument code employs MathML for formulas, and XSL-FO for +formatting. It can be viewed by the +\Link[http://www.openoffice.org/]{}{}OpenOffice\EndLink{} + word processor which, +in turn, can export RTF and other MicroSoft-based formats (see also, +Maarten Wisse, ``Hacking TeX4ht for XML Output: The Road toward a TeX +to Word Convertor'', +\Link[http://www.ntg.nl/maps/electromaps.html]{}{}MAPS\EndLink~28~(2002), +pp.~28-35). + + + +A command of the form \`'htlatex filename "html,word" "symbol/!" +"-cvalidate"' asks for HTML output tuned toward MicroSoft Word. Such +a format, however, relies on bitmaps for mathematical formulas. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{DocBook and TEI} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--DocBook///% +\--Scripts/dblatex//% +\--Scripts/dbmlatex//% +\--TEI///% +\--Scripts/teilatex//% +\--Scripts/teimlatex//% +\--dblatex///% +\--dbmlatex///% +\--teilatex///% +\--teimlatex///% +The following +commands may be used for requesting DocBook and TEI output. + +\bgroup \tt +\HTable / +dbmlatex: \& +htlatex {\it filename} "xhtml,docbook-mml" " -cunihtf" "-cdocbk"\CR +dblatex:\& +htlatex {\it filename} "xhtml,docbook" " -cunihtf" "-cdocbk"\CR +teimlatex:\& +htlatex {\it filename} "xhtml,tei-mml" " -cunihtf" "-cdocbk"\CR +teilatex:\& +htlatex {\it filename} "xhtml,tei" " -cunihtf" "-cdocbk" +\EndHTable +\egroup + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{JavaHelp} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--Unicode/-u10//% +\--JavaHelp///% +\Link[http://java.sun.com/products/javahelp/index.jsp]{}{}JavaHelp\EndLink{} +is an online documentation system for use by Java-based applications. +Such documents can be produced from \LaTeX{} files through commands +similar to `{\tt jhlatex {\it filename}}' for JavaHelp version 2.0. + +The above invocation stands for +`{\tt htlatex {\it filename} "html,3.2,xml,javahelp,unicode" " -cmozhtf +-u10" "-dfilename-doc/ -cjavahelp"}'. The \`'-u10' asks for entity +references in base 10---JavaHelp doesn't seem to support hexadecimal +representations. The \Verb=-cjavahelp= +invokes the JavaHelp indexer to produce the search +database at `jobname-doc/jobname-jhs' with a command + similar to `{\tt java -jar + \$\string{HOME\string}/jh2.0/javahelp/bin/jhindexer.jar -db + jobname-doc/jobname-jhs +jobname*.html}'. + +The Java program is to be distributed with the +jobname-doc directory. + + +\Code\jhsample{XXXX}<<< +\documentclass{article} + + \usepackage{url} + \Configure{ProTex}{java,<<<>?empty>>,title,`,list,[[]]} + + \usepackage{makeidx} + \makeindex + +\begin{document} + +\tableofcontents + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Compilation Instructions} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{itemize} +\item +Compile this \LaTeX{} file with the +\index{jhlatex}% +`{\tt jhlatex +jobname "html,3"}' +command. +\item +\index{JavaHelp URL}% +The URL into the javahelp file, as provided by tex4ht, is +`{\tt jobname-doc/jobname-jh.xml}'. +\item +The java programs should be compiled with commands similar to +\index{javac}% +`{\tt javac -classpath + \$\string{HOME\string}/jh2.0/javahelp/lib/jh.jar program.java}'. +\item +The programs should run with commands similar to +\index{java}% +`{\tt java -classpath + \$\string{HOME\string}/jh2.0/javahelp/lib/jh.jar:. program}'. +\end{itemize} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Sample Program} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\<jhprog\><<< +import java.net.URL; +import javax.help.*; +import javax.swing.*; +public class jhprog { + public static void main(String args[]) { + JHelp helpViewer=null; + try { + ClassLoader cl = jhprog.class.getClassLoader(); + URL url = HelpSet.findHelpSet(cl, + "`jobname-doc/`jobname.hs"); + helpViewer = new JHelp(new HelpSet(cl, url)); + } catch (Exception e) { System.out.println("error"); + } + JFrame frame = new JFrame(); + frame.setSize(500,500); + frame.getContentPane().add(helpViewer); + frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + frame.setVisible(true); + } +} +>?empty>> + +\OutputCode\<jhprog\> + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Sample Script} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +A source file \edef\temp{\noexpand\url{jhsample.tex}}\temp{} of this +document may be compiled for JavHelp 2.0 with the following script. + +\Verbatim +jhlatex jhsample +tex "\def\filename{{$1}{idx}{4dx}{ind}} \input idxmake.4ht" +makeindex -o jhsample.ind jhsample.4dx +jhlatex jhsample +\EndVerbatim + +The compilation produces the following files. + +\begin{verbatim} +jhprog.class +jhsample-doc/ +jhsample-doc/jhsample.html +jhsample-doc/jhsample.jhm +jhsample-doc/jhsample-jhi.xml +jhsample-doc/jhsample.hs +jhsample-doc/jhsample-jht.xml +jhsample-doc/jhprog.java +\end{verbatim} + + +The following instruction can be used for compiling the program. + +\Verbatim +javac -classpath ${HOME}/jh2.0/javahelp/lib/jh.jar jhprog.java +\EndVerbatim + + +The outcome could be viewed through the following command. + +\Verbatim +java -cp ${\home}/jh2.0/javahelp/lib/jh.jar:. jhprog +\EndVerbatim + + +\printindex + +\end{document} +>>> \OutputCode[tex]\jhsample + + + + +% Tex4ht does the following for JavaHelp +% +% * Creates keys for the entries in the table of contents and the +% index +% * Maps the keys into th erl's of the toc and the index (jobname.jhm) +% * Maps the keys to the entries referenced by the toc +% (jobname-jht.xml) and to the entries referenced by the toc +% (jobname-jhi.xml) +% * Creates a manifest of the files (jhelpset.hs), under the +% assumption that jhindexer set a search directory at jobname-jhs +% `java -jar +% /n/gold/5/gurari/javahelp.dir/jh2.0/javahelp/bin/jhindexer.jar +% -db jobname-jhs *.html' +% + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Private Configuration Files} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--Files/Configuration//% +\Link{}{prvCfgFiles}\EndLink +The leading entry, in the first list of options of the +\''htlatex'-like commands, can equal \`'html' or \`'xhtml'. If this is +not the case, the entry is assumed to be the name of a configuration +file. The extension \`'cfg' is assumed for names of configuration +files that are listed without their extension. + +A configuration file should take the following form for \LaTeX{} +files. + + +\Template +...{\sl early definitions}...\cr +{\string\Preamble\string{{\sl options}\string}}\cr +...{\sl definitions}...\cr +{\string\begin\string{document\string}}\cr +...{\sl insertions into the header of the html file}...\cr +{\string\EndPreamble} +\EndTemplate\ShowPar + + +It is up to the user to decide the distribution of entries between the +\''\Preamble' and the \''htlatex'-like commands. + + +\Example{} +The command \`'htlatex myfile "mycfg,2"' requests the compilation of +a file named myfile.tex, in the presence of a configuration file named +mycfg.cfg. The configuration file might have the following content. + +\Verbatim +\Preamble{html} +\begin{document} + \Css{body { color : red; }} +\EndPreamble +\EndVerbatim + +\EndExample + + +\Notes \List{*} \item Notice that for a \LaTeX{} file the +\''\begin{document}' instruction should be present both in the +configuration file and the source file. + +\item Instructions defined within a source file may be redefined in a +configuration file. Such a feature enables to keep source files +intact for compilation to different formats by different tools. + + +For instance, a definition of the form +\''\renewcommand\mycommand{...}' within a configuration file provided +for the following \LaTeX{} source. + +\Verbatim + \documentclass{...} + \newcommand\mycommand{...} + \begin{document} + Use \mycommand{...} + \end{document} +\EndVerbatim + + + +\EndList +\EndNotes + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Creating Private Command Lines} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--mkht.4ht/Configuration//% +\--Scripts/tailored//% + +A htlatex-like script {\tt foolatex.bat} can be obtained from the +compilation under \LaTeX{} of a file similar to the following one. + +\Verbatim + \def\script{bat} + \input mkht.4ht + \one{,html,next,3} + \two{-ic:\tex4ht\texmf\tex4ht\ht-fonts\#1 + -ic:\tex4ht\texmf\tex4ht\ht-fonts\symbol\!} + \three{#1 -dc:\my\dir} + \make{foo} + \end{document} +\EndVerbatim + +A call of the form + +\centerline{\tt foolatex filename} + +is then equivalent to a call of the following form. + +\centerline{\tt htlatex filename "html,next,3" "symbol/!" + "-dc:\string\my\string\dir"} + + +Scripts obtained in such a manner can embed parameters within their +bodies instead of expecting the parameters to be provided in command lines. + +Details regarding the available options can be found by compiling under \LaTeX{} +a file of the following form. + +\centerline{\tt\string\input\space mkht.4ht \string\end\string{document\string}} + + +The compilation requires the {\tt ProTex.sty} and {\tt AlProTex.sty} +files available at \Link[http://www.cse.ohio-state.edu/\string +~gurari/systems.html.]{}{}{\tt http://www.cse.ohio-state.edu/\string +~gurari/systems.html}\EndLink. + + + + + + + + +%%%%%%%%%%%%%%%%%%%% +\DocChapter{An Insight into the Commands} +%%%%%%%%%%%%%%%%%%%% + + + +Given a \LaTeX{} file + + \Code\xxxx{XXXX}<<< +\documentclass{article} +\begin{document} + .................. +\end{document} +>>> +\ShowCode-\xxxx\ShowPar + +\noindent the `{\tt htlatex {\it filename}}' command produces a call +`{\tt latex {\it filename}}' to \LaTeX{} on an implicit file of the +following form. + + + \Code\xxxx{XXXX}<<< +\documentclass{article} + ?.@\usepackage{tex4ht}@ +\begin{document} + .................. +\end{document} +>>> +\ShowCode-\xxxx\ShowPar + +\noindent Similarly, the command `{\tt htlatex {\it filename} +{\tt"}{\it options}{\tt"}}' produces a call to a `{\tt latex {\it +filename}}' command on an implicit file of the following form. + + + \Code\xxxx{XXXX}<<< +\documentclass{article} + \usepackage[?.@options@]{tex4ht} +\begin{document} + .................. +\end{document} +>>> +\ShowCode-\xxxx\ShowIndent + + +\--ht///% +The command `{\tt ht latex {\it filename} }' may be used, instead of +the `{\tt htlatex {\it filename} {\tt"}{\it options}{\tt"}}' command, +in cases that the \''\usepackage' instruction is explicitly introduced +into the source files. + + +%%%%%%%%%%%%%%%%%%%% +\DocChapter{A Deeper Insight} +%%%%%%%%%%%%%%%%%%%% + +From the perspective of \TeX4ht, the \''htlatex'-like commands, and +the \''\usepackage', are indirect approaches for getting \LaTeX{} +files of the following form. +Such files can be explicitly provided for compilations + requested through the `{\tt ht latex {\it filename}}' command. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Code\xxxx{XXXX}<<< +\documentclass{article} + ..... + \input tex4ht.sty + ..... +\Preamble{?.@options@} + ..... +\begin{document} + ..... +\EndPreamble + .................. +\end{document} +>>> +\ShowCode-\xxxx \ShowPar +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +%%%%%%%%%%%%%%%%%%%% +\DocChapter{\TeX, Con\TeX t, and \TeX i} +%%%%%%%%%%%%%%%%%%%% + +\--\TeX///% \--Scripts/\TeX//% \--\TeX i///% \--Scripts/\TeX i//% +\--ht///\--httex///% +\--Scripts/ht//% +Commands similar to those offered for \LaTeX{} are also offered for +\TeX{} (dbmtex, dbtex, ht, httex, mztex, ootex, t4ht, teimtex, teitex, +tex4ht, xhmtex, xhtex) and \TeX i (dbmtexi, dbtexi, httexi, mztexi, +ootexi, teimtexi, teitexi, xhmtexi, xhtexi). In the case of \TeX{}, +the fragment of code \`'\csname tex4ht\endcsname' should be introduced by the user +into the source file, after the preamble of the file where the +document definitions reside + (\HPage{example} +\rightline{\ExitHPage{}} +\SubSection{An Example for Using httex} +A system invocation of the form \`'httex foo +"xhtml,html4.4ht,unicode.4ht,mathml.4ht" "unicode/!"' for a file +\''foo.tex' of the following form. + +\Verbatim +\input amstex +\documentstyle{amsppt} \csname tex4ht\endcsname +\document +..... +\enddocument +\EndVerbatim\EndHPage{}). + In the case of \TeX i, such a code +fragment is introduced implicitly. + + +The private configuration files are similar to those of \LaTeX{}, with +the instruction `{\tt \string\begin\string{document\string}}' +excluded. + +\Template +...\cr +{\string\Preamble\string{{\sl options}\string}}\cr +...\cr +{\string\begin\string{document\string}}\cr +...\cr +{\string\EndPreamble}\cr +... +\EndTemplate + + +The `{\tt ht tex {\it filename} }' and `{\tt ht texi {\it filename} }' +commands may apply for \TeX{} and \TeX i{} sources that embed such +code fragments in their body. The embeded code should replace the +\`'\csname tex4ht\endcsname' fragment in \TeX{} sources, be palces +at the strat of the files in \TeX i sources, and not include +the \Verb+\begin{document}+ instruction. + + + +\--ConTeXt///% +\--htcontext///% +For \Link[http://www.pragma-ade.com/]{}{}Con\TeX t\EndLink{} similar +instructions apply with suffixes `{\tt context}' instead of +`{\tt latex}', `{\tt tex}', or `{\tt texi}'. For instance, `{\tt htcontext'} . + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Other Options} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\List{*} +\item +\--XwTeX///% +XeTeX files can be compiled with htlatex-like instructions +(e.g., htxelatex, htxetex, mzxelatex). Currently only partial support is provided +and only TeX-based fonts are handled. +\item +\--JsMath///% +A \Link[http://www.math.union.edu/\string + ~dpvc/jsMath/welcome.html]{}{}jsMath\EndLink{} mode of output may be requested with instructions similar to the following one. + + \centerline{\tt htlatex file "xhtml,jsmath" " -cmozhtf"} + +\item +\--Bitmaps and graphics/png//% +The dvipng utility might be activated for bitmap constructions +through a request `-cdvipng' in the third options list. For instance, + + \centerline{\tt htlatex file "" "" "-cdvipng"} + +This utility is reported to produce fast high quality output with much +smaller files than other convertors. + +\item +\--Speech///% +TeX4ht offers also +\Link[http://www.cse.ohio-state.edu/\string~gurari/laspeak]{}{}speech\EndLink{} output formats. + +\EndList + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Validation} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--Validation///% +The outcome of the translations should be checked by validators for +proper syntax. Typically, with the presence of validators, errors are +easy to detect and correct, but they require human intervention. + +\TeX4ht doesn't offer a built-in parser to verify the correctness of +the outcome. However, external validator(s) can quite easily be +integrated into the compilation process. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Recommendations} +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +To keep with the spirit of \LaTeX{} and hypertext, in which style is +assumed to be separated from content, the users are encouraged to +avoid inserting \TeX4ht code into their source files. Instead, they +should place their modifications, to the default settings, within +private configuration files to be loaded by htlatex-like +commands. + +On the other hand, it should be noted that hypertext markings should +adhere to strict rules specified by different standards. Consequently, +it is strongly advised to check the output obtained from the default +configurations, before trying to tailor new ones. + + + + +\EndHPage{hts} section. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\SubSection{References} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +The main features of \TeX4ht are described in: +\List{*} +\item +% \Picture{http://www.awl.com/coverimage/0201433117.jpg align="right"} + M.~Goossens and + S.~Rahtz with E.~Gurari, R.~Moore, and R.~Sutor, + {\sl The \LaTeX{} Web Companion}, Addison-Wesley, 1999. +% +% doa +% \item +% Fabrice Popineau, +% \Link[http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/37-popineau.pdf]{}{}{\sl Affichez vos documents \LaTeX{} sur le Web avec \TeX4ht}\EndLink, +% Cahiers GUTenberg 37--38, December 2000, 5--43 (French, PDF). +% +\item +Gustavo Cevolani, +\Link[http://www.guit.sssup.it/guitmeeting/2005/articoli/cevolani.pdf]{}{}{\sl +Introduzione a \TeX4ht}\EndLink, +Proceedings of the 2004 Italian TUG meeting. +% +\item +\HPage<here>{Within} + +\rightline{\ExitHPage{up}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Configurations} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \TableOfContents[DocChapter] +\DocChapter{Background} + + +TeX4ht handles correctly only macros whose logical meanings are +directly or indirectly declared in TeX4ht configurations. +For instance, without extra configurations, TeX4ht will provide +correct translation for + +\Verbatim + \divide{a}{b} +\EndVerbatim + + +under a user's definition of the form + +\Verbatim + \def\divide#1#2{{#1\over #2}} +\EndVerbatim + +but not under a definition of the form + +\Verbatim + \def\divide#1#2{\vbox{\hbox{$#1$}\hrule\hbox{$#2$}}} +\EndVerbatim + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Recommendations} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--PostScript///% +\--PDF///% +It is highly recommended to leave source \LaTeX{} and \TeX{} files +intact, and not introduce \TeX4ht configurations there. The +configurations should be introduced indirectly in private +\Link{prvCfgFiles}{}configuration files\EndLink. Source files +containing just native \LaTeX{} and \TeX{} code permit their +compilation to different output formats, including PostScript and PDF, +by \TeX4ht and other tools. + + + Packages used by the general \LaTeX{} community typically provide + better support than one can expect from tailoring private commands + and configurations for such commands. It is also expected to take + less effort to learn the features of existing packages than designing + new ones. Consequently, one is advised to investigate available + resources before committing to work on private features. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Low-Level Features} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The following are some of the more useful +underlying commands of \TeX4ht. + +\List{button} +\Item {{\tt \--HCode//{{\tt\char 92}}/\string\HCode\string{...\string}}}% +\ContItem + +%%\relax\relax\--#\relax///% +\relax\relax\--!//{\string\tt\char\space 35 }\string\csname\space :gobble\string\endcsname/% +This command allows only for the expansion of macros, before +sending its content to the output. The instruction \''\Hnewline' +may be introduced there for requesting line breaks, and the command \Verb'\#' +may be used for the sharp symbol \`'#'. + + \Code\xxxx{XXXX}<<< +Two lines of text \HCode{<br />} +separated by a horizontal line. + +You probably don't want a `<br>'. +>>> +\ShowCode-\xxxx\ShowIndent + +\Item {{\tt \--HPage//{{\tt\char 92}}/ \string\HPage\string{{\sl anchor}\string}{\sl content}\string + \EndHPage\string{\string}}}% +\ContItem + +This command dedicates a hypertext page for the specified content, +to be accessed through the given button. + +\--ExitHPage//{{\tt\char 92}}/The \''\ExitHPage{...}' command may be employed within the content +to create exit buttons. + +\Code\xxxx{XXXX}<<< +...... ............ +\HPage{in} + ................ + [\ExitHPage{out}] + ................ +\EndHPage{} +................... +>>> \ShowCode-\xxxx\ShowIndent + + + +\Item {\tt \--Link//{{\tt\char 92}}/\string\Link[{\it target-file + arguments}]\string{{\it target-loc}\string}\string{{\it + cur-loc}\string}{\it anchor}\string\EndLink}% +\ContItem + + +This command requests an anchor that links to `{\it +target-file}\''#'{\it target-loc}', and marks the current +location with the name `{\it cur-loc}'. + + +The component \`'[...]' is optional when it is empty, and the target +file need not be mentioned if it is created from the current source +file. + +\Code\xxxx{XXXX}<<< +\HPage{} + ...................... + \Link[http://www.tug.org/]{}{XX}\TeX{} Users Group + Home Page\EndLink + ...................... +\EndHPage{} +...................... +\Link{XX}{}...\EndLink +>>> \ShowCode-\xxxx\ShowIndent + +%%%% \relax\relax\--\string~//\string\string/% +\relax\relax\--!//{\string\tt\char 126}\string\csname\space :gobble\string\endcsname/% +%%\relax\relax\--\string_//\string\tt\string\string/% +\relax\relax\--!//{\string\tt\char \space 95}\string\csname\space :gobble\string\endcsname/% +%\relax\relax\--!//\string\%\string\csname\space :gobble\string\endcsname/% +\relax\relax\--!//{\string\tt\char \space 37}\string\csname\space :gobble\string\endcsname/% +The characters \`'~', \`'_', and~\`'%' can be indirectly included +through the code~\`'\string ~',~\`'\string _', and~\`'\%', +respectively. + +% \Item +% {{\tt \--ifHTml//{{\tt\char 92}}/\string\ifHtml +% ...tex4ht code... +% \string\else ...non tex4ht code... \string\fi}} +% (or {{\tt \string\ifHtml\string\UnDef +% ...non tex4ht code... \string\else ...tex4ht code... \string\fi}}) +% \ContItem +% +% This command provides the means to conditionally provide content +% to the HTML and non-HTML modes. The \''\else' is optional when +% the false part is empty. +% + +\Item {{\tt \--ifOption//{{\tt\char 92}}/\string\ifOption\string{...\string + }\string{{\it true-part}\string }\string {{\it false-part}\string}}}% +\ContItem +\EndList + +\DocChapter{Sectioning and Tables of Contents} + +\--Sectioning///\--Tables of Contents///\--Options, package/1, 2, 3, +4//\--Options, package/next//\--Options, package/sections+//A +non-leading command line argument \`'1', `{\tt \HPageButton[]{2}}', \`'3', +or \`'4' asks for a tree-structured set of files, +reflecting on the sectioning of the document to the specified depth. +Sequential prev-next links within the hierarchy, instead of the +default hierarchical ones, can be requested with the \`'next' +parameter. The parameter \`'sections+' creates titles for the +sectioning commands that link to the tables of contents. + + +\BeginHPage[]{2} + +\ExitHPage{up} + + \Code\xxxx{XXXX}<<< +\documentclass{book} + \usepackage[html,?..2.]{tex4ht} +\begin{document} +\chapter{...} ...... \section{...} ...... \section{...} ...... +\chapter{...} ...... \section{...} ...... +\end{document} +>>> \ShowCode-\xxxx\ShowIndent + + +\EndHPage{2} + + + +Finer control is possible with the following commands. + +\List{button} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\Item{\tt {\INDEX\string\CutAt\string{{\sl at-unit},{\sl + until-unit-1},{\sl until-unit-2},...\string}}}% +\ContItem + +This directive asks the sectioning commands {\tt\char92{\sl at-unit}} +to place their units in separate hypertext pages. +The pages are to terminate upon encountering any of the commands +in the list +{\tt\char92{\sl at-unit}}, +{\tt\char92{\sl until-unit-1}}, +{\tt\char92{\sl until-unit-2}},... + + + \Code\xxxx{XXXX}<<< +?..\CutAt{section,chapter}. +\tableofcontents +\chapter{...} ...... \section{...} ...... \section{...} ...... +\chapter{...} ...... \section{...} ...... +>>> \ShowCode-\xxxx\ShowIndent + + +Within the \''\CutAt' instruction, the starred commands of \LaTeX{} +should be referenced with the prefix \`'like' instead of the postfix +of \`'*', and appendices through the entry \`'appendix'. + + +A plus character \`'+', before the leading parameter, requests +buttons that link to the hypertext pages; e.g., \`'\CutAt{+likesection}'. + +The end points of sections not specified within +the \''\CutAt' commands can be made known with instructions +of the form `{\tt \string \Configure\string {{\it endunit}\string}\string +{{\it unit},{\it unit},...\string}}'. + + + +\Item{\tt\INDEX\string\tableofcontents[{\sl unit-1},{\sl unit-2},...]} +\ContItem + +This variant of the \''\tableofcontents' +command specifies the kinds of entries that should be included in the +tables. + + +\Item{\tt\INDEX\string\TocAt\string{{\sl at-unit},{\sl unit-1},{\sl unit-2},...,{\sl +{\tt/}until-unit-1},{\sl {\tt/}until-unit-2},...\string}} +\ContItem + +This directive asks for a local table of contents, at each division +created by the {\tt\char92{\sl at-unit}} command. The tables should +include entries of types {\tt\char92{\sl unit-1}}, {\tt\char92{\sl +unit-2}},..., and terminate upon reaching any of the {\tt\char92{\sl +at-unit}}, {\tt\char92{\sl until-unit-1}}, {\tt\char92{\sl +until-unit-2}},... commands. + +\--Sectioning/like//Within the \''\TocAt' instruction, the starred commands of \LaTeX{} +should be referenced with the prefix \`'like' instead of the postfix +of \`'*', and appendices through the entry \`'appendix'. + + \Code\xxxx{XXXX}<<< +?..\TocAt{section,subsection,/likechapter}. +\CutAt{subsection,section,likechapter} + +\section{...} ... \subsection{...} ... +\section{...} ... \subsection{...} ... \subsection{...} ... +\chapter*{...} +\section*{...} ... +>>> \ShowCode-\xxxx\ShowIndent + + +A postfix \`'*' on \''\CutAt' asks the tables of contents +to appear after the preambles of the logical unit. + + + \Code\xxxx{XXXX}<<< +?..\TocAt*{section,subsection,/likechapter}. +\CutAt{subsection,section,likechapter} + +\section{...} ... \subsection{...} ... +\section{...} ... \subsection{...} ... \subsection{...} ... +\chapter*{...} +\section*{...} ... +>>> \ShowCode-\xxxx\ShowIndent + + +A postfix \`'-' on \''\CutAt' asks to produce the local tables of contents +only on demand, through {\tt Cut{\it section-type}} commands. + +The only \''\ConfigureToc' commands +that count are those before +the \''\TocAt' instruction. + +\Item +{\tt +\INDEX\string\ConfigureToc + \string{{\sl unit}\string} + \string{{\sl before-mark}\string} + \string{{\sl before-title}\string} + \string{{\sl before-page-number}\string} + \string{{\sl at-end}\string} +}% +\ContItem + +This command determines how entries of the specified unit will appear +in the tables of contents. The entries include only fields +corresponding to nonempty fields in the \''\ConfigureToc' +commands. + + \Code\xxxx{XXXX}<<< +\ConfigureToc{section} {} {$\bullet$~} {} {~~ } +\tableofcontents[section] +>>> \ShowCode-\xxxx\ShowIndent + + + + + +\Item +{\tt +\--Configure/tableofcontents/{{\tt\char92}}/% +\string\Configure + \string{tableofcontents\string} + \string{{\sl before-toc}\string} + \string{{\sl end-of-toc}\string} + \string{{\sl after-toc}\string} + \string{{\sl before-nonindented-par}\string} + \string{{\sl before-indented-par}\string} +}% +\ContItem + +The {\sl end-of-toc} is inserted at the end of the internal +environment of the tables. The {\sl after-toc} is included after +leaving the internal environment. + + + + +\Item +{\tt +\--Configure/TocAt/{{\tt\char92}}/% + \string\Configure + \string{TocAt\string} + \string{{\sl before-toc}\string} + \string{{\sl after-toc}\string} +}% +\ContItem + + +\Item +{\tt +\--Configure/TocAt*/{{\tt\char92}}/% + \string\Configure + \string{TocAt*\string} + \string{{\sl before-toc}\string} + \string{{\sl after-toc}\string} +}% +\ContItem + + + + +\Item +{\tt +\--Configure/Sectioning units/{{\tt\char92}}/% + \string\Configure + \string{{\sl unit}\string} + \string{{\sl top}\string} + \string{{\sl bottom}\string} + \string{{\sl before-title}\string} + \string{{\sl after-title}\string} +}% +\ContItem + +This command determines the content to be inserted at the mentioned +locations of the specified units. + + \Code\xxxx{XXXX}<<< +?..\Configure{.chapter?..}. + ?..{.\HCode{<div class="chapter">}?..}. ?..{.\HCode{</div>}?..}. + ?..{.\HCode{<h2 class="chapterHead">}\chaptername + ~\thechapter\HCode{<br />}?..}. + ?..{.\HCode{</h2>}?..}. +\chapter{...} .... +\chapter{...} .... +>>> \ShowCode-\xxxx\ShowIndent + + +\Item +{\tt +\--Configure/CutAt/{{\tt\char92}}/% + \string\Configure + \string{CutAt\string} + \string{{\sl unit}\string} + \string{{\sl before-button}\string} + \string{{\sl after-button}\string} +}% +\ContItem + + +\Item +{\tt +\--Configure/+CutAt/{{\tt\char92}}/% + \string\Configure + \string{+CutAt\string} + \string{{\sl unit}\string} + \string{{\sl before-button}\string} + \string{{\sl after-button}\string} +}% +\ContItem + +\Item +{\tt \INDEX\string\NewSection + {\char92}{\sl unit} + \string{{\sl mark-for-toc}\string} +}% +\ContItem + +This directive introduces a sectioning command {\tt\char 92{\sl unit}}, +which submits {\sl mark-for-toc} to the tables of contents. + + + \Code\xxxx{XXXX}<<< +\newcounter{c} +\NewSection\X {\thec} +\Configure{X} + {\addtocounter{c}{1}\HCode{<h2>}[\thec] } + {\HCode{</h2>}} + {}{} +>>> \ShowCode-\xxxx\ShowIndent + + + + + +\Item{\tt +\--Configure/writetoc/{{\tt\char92}}/% +\string\Configure\string{writetoc\string} + \string{{\sl definitions-for-the-writing-environment}\string}} +\ContItem + + + + +\TeX4ht expands and then writes the sectioning titles into an +auxiliary file, and it might encounter there problems from macros that +are not fit for such conditions or for inclusion in the table of +contents. The current configuration instruction allows to locally +modify the behavior of macros for the writing phase. + +For instance, the instruction \`'\section{Foo \\ bar}' +suggests a configuration similar to +\`'\Configure{writetoc}{\let\\\space}'. + +% (or just a \''\protect' on \''\flushright'). + + + + + + + + + +\Item{\tt +\--Configure/crosslinks/{{\tt\char92}}/% +\string\Configure\string{crosslinks\string} + \string{{\sl left-delimiter}\string} + \string{{\sl right-delimiter}\string} + \string{{\sl next}\string} + \string{{\sl prev}\string} + \string{{\sl prev-tail}\string} + \string{{\sl front}\string} + \string{{\sl tail}\string} + \string{{\sl up}\string}}% +\ContItem + +This command configures the appearance of the cross-links +between hypertext pages obtained for sectioning commands. + + + \Code\xxxx{XXXX}<<< +\Configure{crosslinks} + {}{}{$\scriptstyle\Rightarrow$} + {$\scriptstyle\Leftarrow$} + {}{}{}{$\scriptstyle\Uparrow$} +>>> \ShowCode-\xxxx\ShowIndent + + + + +\Item{\tt +\--Configure/crosslinks+/{{\tt\char92}}/% +\string\Configure\string{crosslinks+\string} + \string{{\sl before-top-links}\string} + \string{{\sl after-top-links}\string} + \string{{\sl before-bottom-links}\string} + \string{{\sl after-bottob-links}\string}}% +\ContItem + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\EndList + + +\DocChapter{Tables} + +\--Tables///% +\--Tables/number of compilations//% +Tables with \''\multicolum' entries need a few \LaTeX{} +compilations to stabilize. + + + + +\List{button} +\Item + {\tt +\--Configure/tabular/{{\tt\char92}}/% +\--Configure/array/{{\tt\char92}}/% +\--Configure/eqnarray/{{\tt\char92}}/% +\string\Configure\string{{\it table}\string} + \string{{\it before-tbl}\string} + \string{{\it after-tbl}\string} + \string{{\it before-row}\string} + \string{{\it after-row}\string} + \string{{\it before-entry}\string} + \string{{\it after-entry}\string}}% +\ContItem + +\--HRow//{{\tt\char92}}/% +\--HCol//{{\tt\char92}}/% +The parameter {\it table} stands for \`'tabular', \`'array', +or \`'eqnarray'. +The macros \''\HRow' and \''\HCol' provide +the row and column indexes, respectively. The macro \''\HMultispan' +records the number of columns. + + + +\EXAMPLE +\Same +<table><tr><td class="try">(1,1)</td> <td class="try">(1,2)</td> <td class="try">(1,3)</td> +</tr><tr><td class="try">(2,1)</td> <td class="try">(2,2)</td> <td class="try">(2,3)</td> </tr></table> +\EndSame + +\Css{.try{ border:solid 4px; }} + +\ContEXAMPLE +\Verbatim +\Configure{tabular} + {\HCode{<table>}} + {\HCode{</table>}} + {\HCode{<tr>}} + {\HCode{</tr>}} + {\HCode{<td class="try"> + \ifnum \HMultispan>1 + colspan="\HMultispan"\fi}(\HRow,\HCol)} + {\HCode{</td>}} +\Css{.try{ border:solid 4px; }} + +\begin{tabular}{lll} + &&\\ && +\end{tabular} +\EndVerbatim +\EndEXAMPLE + + + +\EndList + + + + + + +\DocChapter{Lists and Environments} + +\--Environments///% +\--Lists///% +The appearances of lists and {\tt\string\begin}-{\tt\string\end} + environments are configured with the following commands. + + +\List{button} +\Item + {\tt\INDEX\string\ConfigureList + \string{{\sl list-name}\string} + \string{{\sl before-list}\string} + \string{{\sl after-list}\string} + \string{{\sl before-label}\string} + \string{{\sl after-label}\string}}% +\ContItem + +\--ConfigureList/list/{{\tt\char92}}/% +\--ConfigureList/trivlist/{{\tt\char92}}/% +Environments that directly or indirectly are built on top of the +\`'\begin{list}...\end{list}' and +\`'\begin{trivlist}...\end{trivlist}' environments, inherit the +appearances of these base environments. The +\''\ConfigureList' command may be used to change the default +configuration. + + + \Code\xxxx{XXXX}<<< +\ConfigureList {description} + {} + {\HCode{<hr />}} + {\HCode{<hr /><strong>}} + {\HCode{</strong>}} +>>> \ShowCode-\xxxx\ShowIndent + +\--ConfigureList/description/{{\tt\char92}}/% +\--ConfigureList/itemize/{{\tt\char92}}/% +\--ConfigureList/enumerate/{{\tt\char92}}/% +The \`'description', \`'itemize', and \`'enumerate' environments +are the more obvious extensions of the \`'list' and \`'trivlist' +environments. + +\--ConfigureList/verse/{{\tt\char92}}/% +\--ConfigureList/quotation/{{\tt\char92}}/% +\--ConfigureList/quote/{{\tt\char92}}/% +\--ConfigureList/flushleft/{{\tt\char92}}/% +\--ConfigureList/flushright/{{\tt\char92}}/% + The \`'verse', \`'quotation', \`'quote', \`'center', + \`'flushleft', and \`'flushright' are examples of non obvious + extensions. The latter extensions are made up in \LaTeX{} from a + single-item lists, to get the appearance of displayed paragraphs. + + + +\Item +{\tt \INDEX\string \ConfigureEnv + \string{{\sl environment-name}\string} + \string{{\sl before-environment}\string} + \string{{\sl after-environment}\string} + \string{{\sl before-list}\string} + \string{{\sl after-list}\string}} +\ContItem + +If either {\it before-environment} or {\it +after-environment} is not empty, then these parameters +specify insertions that should be placed before and after the +specified environment. + + + \Code\xxxx{XXXX}<<< +\ConfigureEnv {tabular} + {\HCode{<hr />}} {\HCode{<hr />}} + {} {} +>>> \ShowCode-\xxxx\ShowIndent + + + +If the parameter {\sl before-list} or the parameter {\sl +after-list} is not empty, a call is made to + {{\tt\char92}\bf ConfigureList \tt + \string{{\sl list-name}\string} + \string{{\sl before-list}\string} + \string{{\sl before-label}\string} + \string{\string} + \string{\string} +} for configuring the base-list of the environment. + + + \Code\xxxx{XXXX}<<< +\ConfigureEnv {flushright} + {\HCode{<div class="flushright">}} + {\HCode{</div>}} + {\HCode{<h2>}} {\HCode{</h2>}} +>>> \ShowCode-\xxxx\ShowIndent + + +\EndList + + + + +\DocChapter{Pictures} + + +\--Pictures///The next command imports external pictures, and the two +commands that follow request pictorial representations for local +content. The attributes, and the replacement parameters with their +enclosing rectangular brackets, are optional. + +\List{button} + +\Item{\tt \INDEX\string\Picture[{\sl +replacement-for-textual-browser}]\string{{\sl file-name +attributes}\string}}% \ContItem + +This command references the specified pictorial file. The +component `{\tt [{\sl replacement-for-textual-browsers}]}' +is optional. + +\EXAMPLE +\Picture[**OSU logo**]{% + http://www.cse.ohio-state.edu/images/OSU.gif} +\ContEXAMPLE +\''\Picture[**OSU logo**]{http://www.cse.ohio-state.edu/images/OSU.gif}' +\EndEXAMPLE + + +\Item{\tt\string\Picture+[{\sl replacement-for-text-browsers}]\string{{\sl + file-name attributes}\string}{\sl content}\string\EndPicture} % +\ContItem + +This command produces a picture for the provided content, stores the +outcome within a file of the specified name, and creates a reference +to the picture within the document. + + +\Code\xxxx{XXXX}<<< +\Picture+{ align="right"}% + Text within a picture. +\EndPicture +>>> \OutputCode[log]\xxxx + +\EXAMPLE +\input xxxx.log +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + +The component `{\tt [{\sl replacement-for-textual-browser}]}' +and the file name can be omitted. If no name is provided for the +file, the system assigns a name of its own. + + +\Item{\tt\string\Picture*[{\sl replacement-for-text-browsers}]\string{{\sl + file-name attributes}\string}{\sl content}\string\EndPicture} % +\ContItem + +This is a variant of the previous command, that produces a picture +of the content within a vertical box. + + +\EndList + + +\DocChapter{Mathematical Formulas} + + +%%\relax\relax\--(//{{\tt\char92}}/% +\relax\relax\--!//{\string\tt\relax\char \space 92 (}\string\csname\space :gobble\string\endcsname/% +\--Math environments///% +%\relax\relax\--[//{{\tt \char92}}/% +\relax\relax\--(//{\string\tt\relax\char \space 92 [}\string\csname\space :gobble\string\endcsname/% +%%\relax\relax\--\string$\relax///% +\relax\relax\--!//{\string\tt\char\space 36 }\string\csname\space :gobble\string\endcsname/% +%%\relax\relax\--\string$\string\string\string$///% +\relax\relax\--!//{\string\tt\char\space 36\char\space 36}\string\csname\space :gobble\string\endcsname/% +In the default setting, the math +environments \`'\(...\)', and the display math environments +\`'\[...\]' +and \`'$$...$$', request pictorial representations for their content. On +the other hand, the math environments \`'$...$' ask for no special treatment. Simple +features like mathematical symbols, subscripts, and superscripts, are +translated into html, and more complex entities like roots and +fractions are translated into pictures (\HPage{example} + +\EXAMPLE + $a^x + \frac{b}{c+d}$ and + \(a^x + \frac{b}{c+d}\) +\ContEXAMPLE + \''$a^x + \frac{b}{c+d}$ and \(a^x + \frac{b}{c+d}\)' +\EndEXAMPLE + +\ExitHPage{up} +\EndHPage{}). + +\List{button} + +\Item {\tt +\--Configure/[]/{{\tt\char92}}/% +\--Configure/()/{{\tt\char92}}/% +\--Configure/{{\tt\char36\char36}}/{{\tt\char92}}/% +\--Configure/{{\tt\char36\space}}/{{\tt\char92}}/% + \string\Configure + \string{[]\string} + \string{{\it before}\string$\string${\it at-start}\string} + \string{{\it at-end}\string$\string${\it after}\string}% +}, + {\tt \string\Configure + \string{()\string}% + \string{{\it before}\string${\it at-start}\string}% + \string{{\it at-end}\string${\it after}\string}%% +}\BR {\tt \string\Configure + \string{\string$\string$\string}% + \string{{\it before}\string}% + \string{{\it after}\string}% + \string{{\it at-start}\string}% +}\BR {\tt \string\Configure + \string{\string$\string}% + \string{{\it before}\string}% + \string{{\it after}\string}% + \string{{\it at-start}\string}% +} +\ContItem + + + +\Code\xxxx{XXXX}<<< +\Configure{[]}{An equation: $$}{$$} +\[a^b\] +>>> + \OutputCode[log]\xxxx + +\EXAMPLE + \input xxxx.log +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + +\--PicDisplay//{{\tt\char92}}/% +\--PicMath//{{\tt\char92}}/% +The default configuration is obtained from\BR +\`'\Configure{[]}{\PicDisplay$$}{$$\EndPicDisplay}',\BR +\`'\Configure{$$}{\PicDisplay}{\EndPicDisplay}{}', \BR +\`'\Configure{()}{\PicMath$}{$\EndPicMath}', and\BR +\`'\Configure{$}{}{}{}'. + + + +\Item {\tt +\--Configure/SUB/{{\tt\char92}}/% +\--Configure/SUP/{{\tt\char92}}/% +\--Configure/SUBSUP/{{\tt\char92}}/% + \string\Configure + \string{SUB\string}% + \string{{\it before}\string}% + \string{{\it after}\string}% +}\BR {\tt \string\Configure + \string{SUP\string}% + \string{{\it before}\string}% + \string{{\it after}\string}% +}\BR {\tt \string\Configure + \string{SUBSUP\string}% + \string{{\it before}\string}% + \string{{\it between}\string}% + \string{{\it after}\string}% +} +\ContItem + +These commands configure subscripts appearing in isolation, +superscripts given in isolation, and subscripts provided together with +superscripts. If the last configuration command gets empty +parameters, the corresponding cases use the settings that apply to +isolated subscripts and superscripts. + +The default setting results from\BR +\`'\Configure{SUB}{\HCode{<sub>}}{\HCode{</sub>}}', \BR +\`'\Configure{SUP}{\HCode{<sup>}}{\HCode{</sup>}}', and\BR +\`'\Configure{SUBSUP}{}{}'. + + + +\Item{\tt +%%\relax\relax\--\string_//\string\tt/% +\relax\relax\--!//{\string\tt\char \space 95}\string\csname\space :gobble\string\endcsname/% +%%\relax\relax\--\string^///% +\relax\relax\--!//{\string\tt\char \space 94}\string\csname\space :gobble\string\endcsname/% +\--Options, package/no\string\tt\space\string\string\string_//% +\--Options, package/no\string\tt\space\string\string\string^//% + no\string_}, {\tt no\string^}\ContItem + +\TeX4ht modifies the implementation of \`'_' and \`'^', to create +hypertext subscripts and superscripts in non pictorial formulas---a +modification that occasionally might clash with other interpretations +in the source documents. The current package parameters ask \TeX4ht +not to modify the implementation of these commands, respectively. + +\EndList + + + + + +\DocChapter{Paragraphs} + +\--Paragraphs///The insertions of code at paragraph breaks are controlled by the +following commands. + +\List{button} +\Item {\tt +\--Configure/HtmlPar/{{\tt\char92}}/% +\--Par//{{\tt \char92}}/% + \string\Configure + \string{HtmlPar\string} + \string{{\sl noindent-P}\string} + \string{{\sl indent-P}\string} + \string{{\sl from-noindent-P}\string} + \string{{\sl from-indent-P}\string}} +\BR +{\tt \string\EndP} +\ContItem + +The first two parameters of this command determine the kind of code to +be inserted at the start of, respectively, nonindented and indented +paragraphs. + +\EXAMPLE +\ShowPar +\everypar{\HtmlPar} +\Configure{HtmlPar} + {} {* } {} {} +\par 1\par 2\par + 3\par 4\par 5 +\ContEXAMPLE + \Code\xxxx{XXXX}<<< +\Configure{HtmlPar} + {} {* } {} {} +\par 1\par 2\par + 3\par 4\par 5 +>>> \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + +The last two parameters specify the code to be stored in +\''\EndP', when the first two parameters are introduced, respectively, +into the output. + +\EXAMPLE +\ShowPar +\everypar{\HtmlPar} +\Configure{HtmlPar} + {[ } {\EndP [ } + { ]} { ]} + +\par 1\par 2\par + 3\par 4\par 5 + +\Configure{HtmlPar} + {}{\EndP} {}{} + +\par\leavevmode +\ContEXAMPLE + \Code\xxxx{XXXX}<<< +\Configure{HtmlPar} + {[ } {\EndP [ } { ]} { ]} +\par 1\par 2\par 3\par 4\par 5 +\Configure{HtmlPar} + {}{\EndP} {}{} +\par\leavevmode +>>> \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + +The default setting assumes a configuration of the form +\`'\Configure{HtmlPar}{\HCode{<p class="noindent">}} + {\HCode{<p class="indent">}} {}{}' (and it is +implemented through an \`'\everypar{\HtmlPar}' command). + +\Item {\tt +\--IgnorePar//{{\tt \char92}}/ + \string\IgnorePar}\ContItem + +This command asks that no code will be inserted at the +beginning of the next paragraph. + +\Item {\tt +\--ShowPar//{{\tt \char92}}/ + \string\ShowPar}\ContItem + +This command asks that code will be inserted at the +beginning of the next paragraph. + +\Item {\tt +\--IgnoreIndent//{{\tt \char92}}/ +\string\IgnoreIndent}\ContItem + +This command asks to treat the next paragraph as nonindented. + + +\Item {\tt + \--Indent//{{\tt \char92}}/ + \string\ShowIndent}\ContItem + +This command asks to treat the following paragraphs as indented. + +\EndList + + + + + + + + + + +\DocChapter{Cascade Style Sheets (CSS)} + + +\--Cascade Style Sheets (CSS)///% +Cascade style sheets attach +presentations to the content of hypertext pages, in a manner similar +to the way that \`'.sty' files define the presentations to the content +of source \LaTeX{} files. \TeX4ht produces a CSS file for each +document that is translated to HTML transitional 4.0 code. The +following are related commands. + +\List{button} +\Item +{\tt +\string\Css\string{{\sl content}\string}% +}% +\ContItem + +This command sends its content to the CSS file of the document. + +\Item +{\tt +\INDEX +\string\Css\space{\sl content}\string\EndCss +}% +\ContItem + +This command introduces the specified content, at the location of the +command as an inline CSS code fragment. The content should not start +with the left brace character \`'{'. + + + +\Item +{\tt +\INDEX\string\CssFile[{\sl list-of-css-files}]{\sl content}\string\EndCssFile +}% +\ContItem + +The default CSS file \TeX4ht produces is initially a file consisting +just of a single line of the form \`'/* css.sty */'. That line is later +replaced with the code submitted by the \`'\Css{...}' commands. + +The current command allows to specify an alternative to the initial +CSS file. The alternative file consists of the code loaded +from listed files, and of the content explicitly specified in its body. + + + +\Verbatim + \ConfigureList{mylist} + {\HCode{<div class="mylist">}} {\HCode{</div>}} {* }{} + +\begin{document} + + \HCode{<!--created by me-->} + \CssFile + /* css.sty */ + .mylist { color : red; } + \EndCssFile +\EndVerbatim + + + + +The names in the list of files should be separated by commas, and the +rectangular brackets are optional when the list is empty. + +The file should include a line having the content of \`'/* css.sty */'. +If more than one such line is included, the content of the +\`'\Css{...}' commands replace the first occurrence of this line. +Arbitrary many space characters may appear around the substrings +\`'/*' and \`'*/'. + + +\EndList + + + + + + + + + +\DocChapter{Fonts} + +\--Fonts/htf//% +\TeX4ht has an elaborated machinery +for handling fonts, through special virtual hypertext fonts stored in +\`'.htf' files. Instead of providing a design for each symbol, as is +the case in standard fonts, the virtual fonts provide a content for +each symbol. The following commands offer some control, from within +the source \LaTeX{} documents, over the content provided to the +symbols. + +\List{button} + +\Item{\tt +\INDEX\string\NoFonts}\ContItem +This command asks that information provided in the font files will be +used for the symbols, but not the information requested for the fonts +in the source \LaTeX{} file through the \`'\Configure{htf}' +command. + + +\Item{\tt \INDEX\string\EndNoFonts}\ContItem + +This command asks to end the effect of the most recently encountered +\''\NoFonts' command that is still active. + +\Code\xxxx{XXXX}<<< +{\it italic \NoFonts\NoFonts +not italic \EndNoFonts +not italic \EndNoFonts +italic}. +>>> \OutputCode[log]\xxxx + +\EXAMPLE + \input xxxx.log +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + +\Item{\tt +\--Configure/htf\string\empty/{{\tt\char92}}/% +\string\Configure +\string{htf\string} +\string{{\sl class}\string} +\string{{\sl delimiter}\string} +\string{{\sl template-1}\string} +\string{{\sl template-2}\string} +\string{{\sl template-3}\string} +\string{{\sl template-4}\string} +\string{{\sl template-5}\string} +\string{{\sl template-6}\string} +\string{{\sl template-7}\string}% +}\ContItem + + +Each character is provided two entries in its virtual font file: a +string and an integer number. +The integer number is considered to be the class of the character. An +even number requests that the character will be represented by the +string. An odd number requests that the character will be represented +by a picture, with the string acting as an alternative representation. + +The current \''\Configure' command provides a template for +introducing, into the hypertext document, the representations of the +symbols of the specified class. The template is consisted of the +seven specified components, where the delimiter must be a character +that does not appear in these components. + +In even classes, the template is used for outputing a tuple, +consisting of the following information, for the given symbol: the +font name, the font size, the font magnification when it differs from +100\%, and the corresponding string field from the virtual font. + +The first component is printed unconditionally at the beginning. +The font name is printed only if the second component of the template +is not empty and, when it is not +empty, the second component should be a template for printing a string +in a C program. Similarly, the font size is printed only if the third +component of the template is not empty, and in such a case the +component should be a template for printing a string in a C program. +On the other hand, the font magnification is printed only if the +fourth component of the template is not empty, and in such a case the +component should be a template for printing an integer in a C program. +The rest of the components of the template are added literally into +the output, where either the fifth or the sixth component must be +empty. The string field from the virtual font is introduced just +before the last component. + + +\Code\xxxx{XXXX}<<< +{\it +\Configure{htf} + {0}{+}{<span class="} + {}{}{}{}{underline">} + {</span>} +text% +\Configure{htf} + {0}{+}{<span class="} + {\%s}{-\%s}{--\%d}{} + {">}{</span>} +text} +>>> \OutputCode[log]\xxxx + +\EXAMPLE + \input xxxx.log +\BR +\BR +\Verbatim +<span class="underline">text</span> +<span class="cmti-10">text</span> +\EndVerbatim +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + + + +The \''\Configure' defines for a symbol of an even class, a prefix and +a postfix to be inserted around the string assigned to the symbol in +its virtual font file. The \''\Configure' for +characters of class 0 has the extra property +that it provides extra prefixes and postfixes also for all the +pictorial representations of symbols. + + +A \''\Configure' command for an odd class defines a template to output +a tuple, consisting of the following information: the font name, the +alternative string from the virtual font, the font name, the font +size, the font magnification when it differs from 100\%, and the +character code of the symbol. The output is determined in a manner +similar to that implied for symbols from characters of odd +classes. + + +\Code\xxxx{XXXX}<<< +\Configure{htf} + {1}{+}{<sup><img src="} + {" alt="}{}{}{}{} + {" /></sup>} + +$\alpha$% +\Configure{htf} + {1}{+}{<img src="} + {" alt="}{" class="\%s} + {\%s}{-\%d}{--\%x}{" />}% +$\alpha$ +>>> \OutputCode[log]\xxxx + + +\EXAMPLE + \input xxxx.log +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + + +\Item{\tt +\--Configure/htf\relax-sty/{{\tt\char92}}/% +\string\Configure +\string{htf-sty\string} +\string{{\sl class/font}\string} +\string{{\sl CSS-instructions}\string}% +}\ContItem +This command specifies CSS content for font classes and +virtual hypertext fonts. + +\EndList + + +The \''htf' fonts might request pictorial representations for +symbols. In such cases, the sizes of the pictures depend on +the sizes of the \TeX{} fonts in use. Size changes through +the \''\magnification' command should be made before loading the +\''tex4ht.sty' package. + + +The design of a virtual hypertext font might take some labor, +but it does not +\NextFile{\jobname-htf.html}% +\HPage{require} + +\ExitHPage{up} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocSection{Designing Virtual Hypertext Fonts} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\List{1} +% +\item +\--Fonts/htf//% + If you are creating a new htf font, scan the information + \TeX4ht issues in the \''log' file of the compilation + regarding the missing htf font. For instance, + + {\tt--- warning --- Couldn't find font `ectt1000.htf' (char codes: + 0--255)} +% +\item + Produce a document showing the character maps. Employ + a script similar to the following one, +using a standard compilation, say, for an output in PDF or PostScript. + +% {\tt \string\font\string\x=ectt1000 \string\ShowFont\string\x} + + \Example +\Verbatim + \documentclass{article} + \input showfonts.4ht + \begin{document} + \showfonts + {eccc1000} + {ecss1000} + {ecsx1200} + {ecti1000} + {ectt1000} + {} + \end{document} +\EndVerbatim + +\EndExample +% +\item + Create htf fonts of the form + +\Verbatim + first line: prefix_of_font_name first_index last_index + ............... + ............... + ............... + ............... + last line: prefix_of_font_name first_index last_index +\EndVerbatim + + + where +\List{a} +\item The first and last lines must agree on their content, with + \''first_index' and \''last_index' being equal to the character codes + mentioned in the message + + {\tt--- warning --- Couldn't find font `....' (char + codes: first\string_index--last\string_index)} + +\item The number of intermediate lines should equal + + \''(last_index) - (first_index) + 1'. + + Each of these intermediate lines provides a representation for + a corresponding character code. + + \Example +\Verbatim + ectt 0 255 + '`' '' 0 + '´' '' 1 + 'ˆ' '' 2 + '~' '' 3 + .................. + 'i' '1' 25 dotless i + .................. + '' '' 255 + ectt 0 255 +\EndVerbatim + +\EndExample + +\item Each intermediate line consists of three fields + + \''string class comment' + + The first two fields must be enclosed by a delimiter, + determined by the first character in the line. The + comment may be empty. + +A \`'class' specified by an odd integer value asks for a pictorial +character. An even integer number asks for a non-pictorial +character, specified in the \`'string' field. An empty class field +is treated as a zero value. + +The manner the characters of the different classes are packaged, is +determined by commands of the form \`'\Configure{htf}{class-number}...'. +For instance, + +\Verbatim + \Configure{htf}{0}{+}{<span\Hnewline + class="}{\%s}{-\%s}{x-x-\%d}{}{">}{</span>} + \Configure{htf}{1}{+}{<img\Hnewline + src="}{" alt="}{" class="}{\%s}{-\%d}{x-x-\%x}{" />} + \Configure{htf}{4}{+}{<small\Hnewline + class="}{}{}{}{}{small-caps">}{</small>} + \Configure{htf}{6}{+}{<u\Hnewline + class="}{}{}{}{}{underline">}{</u>} +\EndVerbatim + + + + When no + special requirements are in place, it is advisable to + use just the classes of 0 and 1. + +\item The \`'string' field may include any sequence of characters, + except for its delimiters. The backslash + character \`'\' acts there as an escaped character. It may + act as a delimiter for a character code, or be followed + by another backslash (that is, \`'\\' represents the + character \`'\' ). +\item In the string part, use \`'<' for the character \`'<', + \`'>' for \`'>', and \`'&' for \`'&'; + + + +\EndList +% +\item +\--Cascade Style Sheets (CSS)///% +\--Fonts/htf//%% + If you want specific information for a font, to be included in + the .css file, add to the end of the file an entry consisting of the + font name and the information in discourse. The two fields must be + separated by space. The second field may span over more than one + line; the extra lines must start with space. The lines of the + entries must be prefixed with \`'htfcss: '. + +If more than one entry applies for a +given font, the first one is the only one that counts. +\EndList + + +{\noindent \bf Note.} It is highly recommended to set up fonts just of +Unicode entries, and let \TeX4ht automatically map the symbols to the +appropriate character encodings (using {\tt unicode.4hf} mapping files). + + + + + + + + + + +Instead of explicitly specifying the encodings for the characters, an +htf font can be declared an alias to another htf font by specifying in +the first line the aliased font name prepended by a period. + +\Example{} + +{\bf cmss.htf} + +\Verbatim +.cmti +htfcss: cmss font-family: sans-serif; +htfcss: cmssbx font-weight: bold; +htfcss: cmssi font-style: italic; font-family: sans-serif; +\EndVerbatim +\EndExample + +\ExitHPage{up} +\EndHPage{} + too much sophistication. + + +A font of \TeX{} may have more than one htf font to map +to. The search for a desired version can be regulated +within \Link{alt-htf}{}scripts\EndLink. + +%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Scripts} +%%%%%%%%%%%%%%%%%%%%% + +Scripts produce the content in verbatim format with no decorations. + +%------------------------------------------------------------------- + +\List{button} + +\Item{\tt +\--ScriptEnv//{{\tt\char92}}/% +\string\ScriptEnv +\string{{\sl environment}\string} +\string{{\sl prefix}\string} +\string{{\sl postfix}\string} +}\ContItem + +This command defines a \LaTeX{} environment + +\Template +\char92begin\string{{\sl environment}\string}\BR +{\sl body}\BR +\char92end\string{{\sl environment}\string}% +\EndTemplate + +\IgnoreIndent which outputs its body in plain format, between the specified +prefix and postfix. + +\Item +{\tt \--ScriptCommand//{{\tt\char92}}/% +\string\ScriptCommand +\string{{\char92\sl command}\string} +\string{{\sl prefix}\string} +\string{{\sl postfix}\string} +}\ContItem + +This command defines an environment + +\Template +{\char92\sl command}\BR +{\sl body}\BR +{\char92End\sl command} +\EndTemplate + +\IgnoreIndent which outputs its body in plain format, between the specified +prefix and postfix. + +\Item{\tt +\--JavaScript//{{\tt\char92}}/% +\string\JavaScript...\string\EndJavaScript}\ContItem + +\IgnoreIndent This command is available when {\tt javascript} option is used. + +\EndList + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{Configurable Hooks} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +Much of the look and feel of \TeX4ht is achieved through +hooks that are introduced and configured with the following commands. + + +\List{button} + +\Item {\tt +\--NewConfigure//{{\tt\char92}}/% + \string\NewConfigure\string{{\it name}\string}[{\it + i}]\string{{\it body}\string}} \ContItem + +Hooks are just macro names seeded within the bodies of other macros. + This command introduces a configuration command for a group of + hooks, whose cardinality is given by a digit {\it i} and whose + name is provided by the first parameter. The body determines + the relationship between the hooks and the configurations + provided for them. + +\Item {\tt +\--Configure//{{\tt\char92}}/% + \string\Configure\string{{\it name}\string}\string{{\it parameter-1}\string}...\string{{\it parameter-i}\string}} +\ContItem + + +\Code\xxxx{XXXX}<<< +\NewConfigure{try}[2]{% + \def\hookI{#1}\def\hookII{#2}} +\def\try#1{\hookI#1\hookII} +\Configure{try}{* }{} \try{ho} +\Configure{try}{}{ *} \try{ha} +>>> \OutputCode[log]\xxxx + +\EXAMPLE +\input xxxx.log +\ContEXAMPLE + \ShowCode-\xxxx\ShowIndent +\EndEXAMPLE + + + + + +\EndList + + Block \Verb+{\begin}+\dots\Verb+\end+ environments may also be + configured through the \Verb+\ConfigureEnv+ command, and lists may + also employ the \Verb+\ConfigureList+ command. + + +For help configuring hooks already seeded in the system, compile the +source files in use with the \`'info' option active and review the +information in log files. +Much of the information in the log files may also be obtained by +running \`'xhlatex mktex4ht.4ht' and reviewing the entries in the outcome +page \`'mktex4ht.html => index => mktex4ht'. + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocChapter{General Configuration Files} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\--Files/Configuration//% +\Tag{confFiles}{General Configuration Files}% +\Link{}{confFiles}{}\EndLink% +\--tex4ht.sty///% +A compilation starts by opening \''tex4ht.sty' and loading a +fraction of its code. The main purpose of this phase is to request +the loading of the system at a later time (for instance, upon reaching +\''\begin{document}'). The motivation for the late loading is to +allow \TeX4ht to collect as much information as possible about the +environment requested by the source file, and help the system reshape +that environment with minimal interference from elsewhere. + +\--Files/4ht//% +The system uses two kinds of (4ht) configuration +files. The files of the first kind mainly seed hooks into the macros +loaded by the source file (for instance, \''latex.4ht', +\''fontmath.4ht', and \''article.4ht'). The files of the second kind +mainly attach meaning to the hooks (for instance, \''html4.4ht', +\''unicode.4ht', and \''mathml.4ht'). + +\--tex4ht.4ht///% +Different source files may request the loading of different style +files and in different orders. The hook seeding files are loaded in +response to the loading of the style files, and in a compatible order. +Since the different style files may redefine the syntax and semantics +of macros, \TeX4t follows a similar route of defining and redefining +the hooks and their meanings. + +\--tex4ht.usr///% +The meaning attaching files are normally requested +through option names introduced in the \''tex4ht.4ht' system file. +For instance, the \''mzlatex' command refers to the \''mozilla' option +name of \''tex4ht.4ht', and the \''oolatex' command refers to the +\''ooffice' option name. The user may add option names, and redefine +old ones, within a new file named \''tex4ht.usr'. + + A new \''tex4ht.usr' file should group references to \''*.4ht' + configuration files under arbitrarily chosen option names. For that + purpose, \''\Configure' commands similar to those provided in + \''tex4ht.4ht' should be + employed. + +Variants of the htlatex-like scripts may be +produced in the following manner. + +\List{a} +\item +Adjust the \''latex' (\''tex', \''texi') command of a +given script to use a desired option name, +and rename the new script. +\item +Make sure the \''tex4ht' and \''t4ht' commands receive +appropriate switches in the new script. (These commands show the +available options when invoked without parameters.) +\EndList + +The definition of new meaning assigning configuration files can be +considerable simplified by relying on literate programming +and the file +\''mktex4t.4ht'. +For additional information, compile this file into a hypertext document, +visit the \`'index' page, and from there reach into +the \`'mktex4ht' page. + + +\Example{} +\List{a} +\item Add a configuration file \''myooconfig.4ht' with the following +content. + +\Verbatim + \exit:ifnot{jurabib} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{jurabib} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \def\jbNoLink#1#2{} + \Configure{jblink}{\jbNoLink}{} + \Configure{jbanchor}{\jbNoLink}{} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \endinput\empty\empty\empty\empty\empty\empty + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \endinput +\EndVerbatim + + +\item Add to \''tex4ht.usr' the following script. + +\Verbatim + \Configure{myooffice}{% + \:CheckOption{info}\if:Option + \Hinclude[*]{infoht4.4ht}\fi + \:CheckOption{info}\if:Option + \Hinclude[*]{infomml.4ht}\fi + \Hinclude[*]{ooffice.4ht}% + \Hinclude[*]{unicode.4ht}% + \Hinclude[*]{mathml.4ht}% + \Hinclude[*]{ooffice-mml.4ht}% + \Hinclude[*]{myooconfig.4ht}% + } +\EndVerbatim + +It is the ooffice script from \''tex4ht.4ht', with the added record + \`'\Hinclude[*]{myooconfig.4ht}%'. + +\item Invoke the compilations with a variant of the following form of +the \''oolatex' command. + +\centerline{{\tt htlatex filename "xhtml,myooffice" "ooffice/!~-cmozhtf" "-coo"}} + + + +\EndList + +\EndExample + +\EndHPage{here} +\relax +the current document. +% +\item + \Link[http://michal-h21.github.io/src4ht/tex4ht-info.html]{}{}Basic information about configurations\EndLink +\item + \Link[https://github.com/michal-h21/helpers4ht/wiki/tex4ht-tutorial]{}{}tex4ht tutorial\EndLink +\item +\Link[http://web.archive.org/web/20140909114942/http://www.cse.ohio-state.edu/\string + ~gurari/publications.html]{}{}Conference presentations\EndLink +\item +\Link[https://tug.org/TUGboat/tb25-1/gurari.pdf]{}{}TeX4ht: HTML production\EndLink +\item +\Link[https://tug.org/TUGboat/tb40-1/tb124hoftich-make4ht.pdf]{}{}TeX4ht: LaTeX to Web publishing\EndLink +% +%\item In the .log files of the compilations. +\WAIT +\item +\HPage{Examples} + +\rightline{\ExitHPage{up}} +\EndHPage{} for using the \`'htlatex' and \`'httex' commands. +\ENDWAIT +\EndList + + + +% +% The documents \Link[http://www.cse.ohio-state.edu/\string +% ~gurari/docs/mml-00/mml-00.html]{}{}From \LaTeX{} to MathML and Back +% with \TeX4ht and Passive\TeX\EndLink, +% \Link[http://www.cse.ohio-state.edu/\string +% ~gurari/tug99/]{}{}\LaTeX{} to XML/MathML\EndLink{}, +% \Link[http://www.cse.ohio-state.edu/\string +% ~gurari/tug97/tug97-h.html]{}{}A demonstration of TeX4ht\EndLink{}, +% and +% \Link[http://www.cse.ohio-state.edu/\string +% ~gurari/docs/tug-03/tug-03.html]{}{}From LaTeX to MathML and Beyond\EndLink{} +% may +% provide additional insight into the system (and some outdated +% details). + + + + +%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Installation} +%%%%%%%%%%%%%%%%%%%%%% + + +\Intro + +\TeX4h is included in \TeX\ distributions, notably TeX Live and MikTeX. You don't +have to install it manually. The following information is outdated and it is kept here +mainly for the historical reasons. + +\EndIntro + +To be installed, the system needs a port made up of native utilities +of \TeX4ht and of non-native utilities. The easiest way to establish +an up to date port is to download an installed distribution +% \HPage{} +% \List{*} +% \item Linux +% %%%%% +% \List{*} +% \item\Link[http://packages.debian.org/unstable/tex/tex4ht]{}{}Debian Linux\EndLink{} +% % \item +% % For RedHut Linux at \Link[http://hunch.net]{}{}Hunch\EndLink: +% % \Link[http://hunch.net/tex4ht/tex4ht-1.0-1.src.rpm]{}{}source code\EndLink, +% % \Link[http://hunch.net/tex4ht/tex4ht-1.0-1.i386.rpm]{}{}i386 linux binary\EndLink +% % +% % From: John Langford <jcl@cs.cmu.edu> +% % To: Eitan Gurari <gurari@cse.ohio-state.edu> +% % Subject: Re: tex4ht +% % Date: Tue, 23 Sep 2003 17:59:14 -0400 +% \item +% For Fedora +% at +% \Link[http://www.sbc.su.se/\string ~esjolund/tex4ht/]{}{}sbc.su.se\EndLink{} +% % From: Erik Sjölund <erik.sjolund@sbc.su.se> +% % To: Eitan Gurari <gurari@cis.ohio-state.edu> +% % Cc: jl@tti-c.org, arne@sbc.su.se +% % Subject: tex4ht rpm on our home page +% % Date: 13 Jul 2004 12:08:08 +0200 +% % maintains % http://xml2hostconf.sourceforge.net +% % and at +% %\Link[http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/]{}{}Fedora Extras\EndLink{} (invoke with `\Verb+yum install tetex-tex4ht+'; see \Link[http://www.fedoratracker.org/]{}{}http://www.fedoratracker.org/\EndLink) +% % From: Patrice Dumas <pertusus@free.fr> +% % To: Eitan Gurari <gurari@cse.ohio-state.edu> +% % Subject: tex4ht in fedora extras +% % Date: Wed, 16 Nov 2005 00:47:04 +0100 +% % +% % Hello, +% % +% % tex4ht (called tetex-tex4ht) has been accepted in fedora extras. The srpm +% % is based on the one you provide on your site with changes by Michael A. +% % Peters and me. +% % +% % The submission is there: +% % +% % https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172521 +% % +% % If you want to put the srpm on your website, I can give the link to you, and +% % tell you when there are new srpm releases. +% % +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %There is the main SRPM ftp repository +% % http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/ +% % +% % And there is an index there... +% % http://www.fedoratracker.org/ +% % +% % But as it is in fedora extras, a user only has to add the fedora extras +% % repository to the yum config (done by default on fedora core 4) and do +% % +% % yum install tetex-tex4ht +% \item +% \Link[http://packages.gentoo.org/search/?sstring=tex4ht]{}{}Gentoo\EndLink{} +% % > http://packages.gentoo.org/search/?sstring=tex4ht +% % > +% % > The the ``ebuild'' script lists the file +% % > http://www.cse.ohio-state.edu/~gurari/TeX4ht/${P}.zip as the source file, +% % > where P == tex4ht. +% % \item\Link[http://www.novell.com/products/linuxpackages/professional/tex4ht.html]{}{}SuSE\EndLink{} +% % (Linux) %(\Link[http://www.rpm.org/]{}{}RPM\EndLink) +% %%% +% % comp.text.tex #252972 (0 + 14 more) (1)--[1] +% % From: Karl Eichwalder <ke@suse.de> +% % [1] Re: tex4ht -> DocBook XML +% % Date: Fri Jun 14 07:24:43 EDT 2002 +% % Lines: 17 +% % +% % Karl Eichwalder <ke@suse.de> writes: +% % +% % > Using tex4ht I can convert LaTeX files into DocBook XML. Great tool! +% % +% % Forgot to mention: Here you may find a test unofficial upgrade package +% % for SuSE Linux 8.0 (i386): +% % +% % ftp://ftp.suse.com/pub/people/ke/8.0-i386/ +% % +% % 45e049338013222baade6c3eaa9e8272 tex4ht-20020613-0.i386.rpm +% % 13a63ea28bc563eaef5df7c8f2ce779d tex4ht-20020613-0.src.rpm +% % +% % -- +% % Linux frechet 2.4.18-4GB #1 Fri Apr 5 15:14:39 UTC 2002 i686 unknown +% % 1:22pm up 66 days, 22:38, 13 users, load average: 0.25, 0.16, 0.05 +% % work : ke@suse.de +% % Karl Eichwalder home : keichwa@gmx.net +% %%% +% \EndList +% %%%%%% +% \item Mac +% %%%%% +% \List{*} +% \item\Link[http://fink.sourceforge.net/pdb/package.php/tex4ht]{}{}Fink\EndLink{} +% \item \Link[http://www.rna.nl/]{}{}R\&A\EndLink , +% \Link[http://ii2.sourceforge.net/]{}{}i-Installer\EndLink +% \EndList +% %%%%%% +% \item MS Windows +% %%%%% +% \List{*} +% \item \Link[http://www.miktex.org/]{}{}Mik\TeX\EndLink{} +% %\item \Link[ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/tex/]{}{}Simtelnet\EndLink{} +% \item \Link[http://www.metz.supelec.fr/\string +% ~popineau/xemtex-1.html]{}{}XEm\TeX\EndLink{} +% \EndList +% %%%%%%%%%%%% +% \item\Link[http://www.tug.org/texlive/]{}{}\TeX{} Live\EndLink{} +% % \item\Link[http://4tex.ntg.nl/]{}{}4all\TeX\EndLink{} +% +% %\item \Link[https://dev.livingreviews.org/repos/tex4ht/trunk/]{}{}livingreviews\EndLink +% \EndList{} +% \EndHPage{} + of the system, and %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NextFile{\jobname-upgrade.html}\HPage{upgrade}\ExitHPage{} +\bgroup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\InstallSection{TeX4ht Upgrading} + +At present, the only practical way to update \TeX4ht is via a +distribution. Runtime files continue to be updated in <a +href="/texlive/">TeX Live</a>, so if you're using TL, you can get those +with <tt>tlmgr update</tt>. We don't know if MiKTeX picks up +the same updates. + +There has been no new full release since Eitan's death; still a work in +progress. + +For the upstream tex4ht source repository where the work is being +done, see the \Link[/tex4ht/]{}{}tex4ht home page\EndLink. + +\InstallSection{A Setup for Unix Environments} + +\List{a} +\item Establish a directory, say, `{\tt \string~/tex4ht.dir}'. + + +\item +\--Files/Download//% + Download the file \Link[tex4ht.zip]{}{}tex4ht.zip\EndLink{} + into the directory \''tex4ht.dir' and \UNZIP{} it. + + + + + +\Code\Uht{}<<< +$1 $2 +$1 $2 +$1 $2 +tex4ht $2 +t4ht $2 $3 # -d~/WWW/temp/ -m644 +>>> + +\OutputCode[foo]\Uht + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setup{Compile the Postprocessors} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +\item +\--tex4ht.c/Compiling//\--t4ht.c/Compiling//Compile +\''~/tex4ht.dir/src/tex4ht.c' into an executable \''tex4ht' file with a +command similar to the following one. +%, where \`'path' stands for the absolute +% path to directory \''tex4ht.dir'. + + +\'+gcc -o tex4ht tex4ht.c +-DENVFILE='"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"' + -DHAVE_DIRENT_H+ + + +The switch + \`+-DENVFILE='"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"'+ may be omitted, +if the program can reach the environment file +in an \Link{envloc}{}alternative\EndLink{} manner. + +% #define ENVFILE "/n/soda/export/0/gurari/tex4ht.dir/tex4ht.env" +% #define HTFDIR "/n/soda/export/0/gurari/tex4ht.dir" + + + +\item Compile \''~/tex4ht.dir/src/t4ht.c' with a command similar to following one. +%, where \`'path' stands for the absolute +% path to directory \''tex4ht.dir'. + + +\'+gcc -o t4ht t4ht.c +-DENVFILE='"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"'+ + +Again, the switch + \`@-DENVFILE='"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"'@ +may be omitted, +if the program can reach the environment file +in an \Link{envloc}{}alternative\EndLink{} manner. + + + +\item + Move the +executable files \''tex4ht' and \''t4ht' to +directory \''~/tex4ht.dir/bin/unix/'. +% +\setup{Update the Pointers in the Environment File} +\item +\--Fonts/tfm//% +\--tex4ht.env/Unix//Replace in +\Link[tex4ht-env-unix.txt]{}{}% +\''~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env'\EndLink{} +the line(s) starting with the character \`'t', 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 +\`'t' at column 1 and, if their subdirectories are also to be searched, +the names should be appended with the character \`'!' +(\Link{alt-tfm}{}insight\EndLink{}). + +\item +\--Fonts/htf//% + If needed, adjust the paths in the \`'i' records of +\''tex4ht.env'. These records are used for searching htf fonts, and they +are similar to the \`'t' (\Link{alt-htf}{}insight\EndLink{}). + + + + +\item +\--tex4ht.fls///% + The entry \`'l~/tex4ht.dir/filename' + in \''tex4ht.env' points to the address where the +\Link{TEX4HTWR}{}bookkeeping file\EndLink{} should reside. + Modify the path to fit + your platform. The character \`'l' should precede the address, and + be placed at the first column. + Make sure the access mode +of the directory permits writing into files. + + +\setup{Update the Bitmap Generating Scripts in the Environment File} + +\item +\--Bitmaps and graphics/png//% +\--dvips/png//% +The file \''tex4ht.env' contains the following default script, of +calls to system utilities for translating dvi pictures into +bitmaps.\Link{}{dv2png}\EndLink{} + +\Verbatim +Gdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Gconvert zz%%4.ps -trim +repage -density 110x110 -transparent '#FFFFFF' %%3 +Grm zz%%4.ps +\EndVerbatim + +The entry \''%%1' is a parameter refering to a dvi file, the \''%%2' is a +parameter indicating a page number, the \''%%3' is a parameter +standing for an output file name, +and \''%%4' is a parameter providing the jobname. + +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 \`'G' at the first column. +The literate version tex4ht-env.tex of tex4ht.env offers a few +suggestions. + +The \Link[http://www.radicaleye.com/dvips.html]{}{}dvips\EndLink{} +utility translates dvi files into postscript. The +\''convert' utility, provided within the distribution of +\Link[http://www.imagemagick.org/]{}{}ImageMagick\EndLink{}, +translates postscript files into png. + +The script +employs the Metafont mode \`'ibmvga' of resolution \`'110'; +the available modes are listed in file \''modes.mf' of Metafont. + + +Use the option `{\tt -crop 0x0 +page}' or `{\tt -crop 0x0 +repage}' +instead of `{\tt -trim}' for old convert utilities that do not +recognize the latter argument. + + +\item Instead of employing the G scripts, glyphs can rely on +specialized +\HPage{F scripts} +\List{*} +\item For instance +\Verbatim +Fdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Fconvert zz%%4.ps -trim +repage -density 110x110 -transparent '#FFFFFF' %%3 +Frm zz%%4.ps +\EndVerbatim + + +\item The specialized scripts may, for instance, maintain global caches of + png bitmaps for cutting down on recompilation time. \EndList + \EndHPage{} of similar nature for creating bitmaps. + +\item +\--Bitmaps and graphics/fonts//% +\--Fonts/Bitmaps//% +\--Pictures/Bitmaps//% +\--tex4ht.c/LGTYP//% +The bitmap formats can be controlled by a `g' record of tex4ht.env, +a `-g' switch + of {\tt tex4ht.c}, +and a -LGTYP switch in the compilation of tex4ht.c. + The default setting assumes the `png' format. + +\setup{Update the Other Scripts in the Environment File} + + + +\item \Link{}{mvscript}\EndLink{}If needed, replace + the scripts \`'Mmv %%1 %%2%%3' and \`'Ccp %%1 %%2%%3' + in \''tex4ht.env' with alternative scripts +for moving and copying files. The parameter \''%%1' stands for the +source file(s), the parameter \''%%2' provides the target directory +name, and the parameter \''%%3' refers to the target file name(s). + + + +% \item If needed, replace the script +% \`'Ecp empty.gif %%1%%2' in \''tex4ht.env' with an +% alternative script +% for replacing empty files. The parameter \''%%1' stands +% for the +% target directory name, and the parameter \''%%2' refers to +% the empty file name. + + + + + + + +\item \Link{}{accscript}\EndLink{}If needed, +replace the script \`'Achmod %%1 %%2%%3' +in \''tex4ht.env' with an alternative script for changing access mode of +files. The parameter \''%%1' stands for access mode, the parameter +\''%%2' refers to a directory name, and the parameter \''%%3' refers +to file(s). + +\item \--Validation///% +\relax\relax\--!//{\string\tt\char \space 37\char \space 37\char \space 126}\string\csname\space :gobble\string\endcsname/% +Postprocessing of files can be requested with +\`'.' scripts. The files are selected by their extension names, as + listed following the period symbols. The parameter +\`'%%1' provides the file names, and the parameter \`'%%0' provides +the jobnames. + Under kpathsea, the substring `%%~' may be employed + to indirectly obtain the value of \Verb=${SELFAUTOPARENT}=. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +The environment file +\Link[tex4ht-env-unix.txt]{}{}tex4ht.env\EndLink{} +offers the following inactive dot script for +{\bf validating} output of compilations. + + +\Verbatim +<validatehtml> + .html xmllint --noout --valid --html %%1.html +</validatehtml> +<validate> + .xml xmllint --noout --valid %%1.xml + .html xmllint --noout --valid %%1.html + .css mycssparser %%1.css +</validate> +\EndVerbatim + + +The dot script may be activated in the following manner. + +\List{1} + +\item +Bind a CSS validator to the .css record. +(\Link[http://jigsaw.w3.org/css-validator/DOWNLOAD.html]{}{}{\tt +http://jigsaw.w3.org/css-validator/DOWNLOAD.html}\EndLink) + + +\item Remove the leading space characters from the above record. + + + + +\EndList + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\item + Postprocessing of files can also be requested with \`'X' +scripts. The file names are accessed through the parameter \`'%%1', +and their extensions through the parameter \`'%%2'. + + + +\setup{Set the Script Files} +\item +Ensure proper paths within the htlatex-like scripts in +\`'~/tex4ht.dir/bin/unix/'. + If you use a command different than \''latex' for compiling \LaTeX{} + source files, +fix also +the references to \''latex' in the scripts. +Check also the appropriateness of the commands for compiling \TeX{} and +\TeX i files. + +\--htlatex/number of compilations//% +\--Tables/number of compilations//% +The default scripts provide for three calls to LaTeX. + The file \Verb+tex4ht-auto-script.tex+ in +\Link[tex4ht-lit.zip]{}{}tex4ht-lit.zip\EndLink{} offers examples of +bash scripts that automatically determine the number of compilations +needed from LaTeX (contributed by +Kai-Mikael J\"a\"a-Aro). +% + \setup{Make the System Globally Known} +% +\item +Inform the operating system where the scripts reside, say, by + adding the directory `{\tt \string ~/tex4ht.dir/bin/unix/}' into the +\''path' variable within the \''.login' file. For instance, + + \''set path=($path ~/tex4ht.dir/bin/unix/)' + +% +\item Let \LaTeX{} and \TeX{} know where the new style files reside, say, by +adding the directory `{\tt \string~/tex4ht.dir/texmf/tex/generic/tex4ht/}' to the +environment variable \''TEXINPUTS'. For instance, + +\''setenv TEXINPUTS .:~/tex4ht.dir/texmf/tex//:/usr/local/share/texmf/tex//' + +\item +If your \TeX{} system uses a registry database to locate files, make sure to refresh +it (e.g., run {\tt texhash} for kpathsea, +or {\tt mktexlsr} or `{\tt initexmf -u}' for some Linux systems). + + +%\Verbatim +%There is an environment variables, TEXINPUTS, which controls from where +%TeX should take its input files; if not set, TeX has a default value +%(at CIS, the value is ".:/usr/local/lib/tex/macros//"). +% +%So if we set +% setenv TEXINPUTS .:/usr/local/lib/tex/macros//:~gurari/cis788// +%then it would continue looking where it used to (in the current dir and +%in the system dir) plus use whatever possible from your directory (the +%added convenience is that if we're going to use more than just IprTeX.sty +%we wouldn't need to link every file). +%=== +%Albert Meltzer +%%------------------- +% > latex (teTeX) cann't find the style files and so on. +% > So I don't know where to set the style files and +% > what kind of commands I have to give so that +% > latex can handle these files. +% +% + +\item Some output modes assume +\Link[http://www.sun.com/]{}{}Java\EndLink{} +is also available in the computer in use. +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setup{Test the Installation} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\item +Move \''testa.tex' and \''testb.tex' +from +\''~/tex4ht.dir/temp/' + to your work directory +\item Compile \`'testa.tex' with the command \`'ht latex testa' +\item Compile \`'testb.tex' with the command \`'htlatex testb' + + +\Code\demo{}<<< +% \def\CALL{{tex}{latex}} +% \let\PC=Y +% \let\DOS=Y + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% demo.tex % +% % +% Please DON'T try to understand the code of this file---it % +% can be harmful to your eyes and brain! % +% % +% gurari@cse.ohio-state.edu % +% http://www.cse.ohio-state.edu/~gurari % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\ifx \SCRIPT\UnDef + \ifx \PC\UnDef + \def\SCRIPT{ + \Needs{ht \TEX\space + \FN\space + } + } + \else % dos batch file + \def\SCRIPT{ + \Needs{call ht \TEX\space \FN} + \Needs{if exist \FN.txt del \FN.txt} + \Needs{ren \FN.tex \FN.txt} + } +\fi\fi + +% \def\SCRIPT{ +% \Needs{call ht \TEX\space \FN} +% \Needs{if exist \FN.txt del /q \FN.txt} +% \Needs{ren /q \FN.tex \FN.txt} +% } + + + + +\ifx \PC\UnDef +\else + +\openin15=clean.bat +\ifeof15 +\closein15 +\immediate\openout15=clean.bat +\immediate\write15{DEL hti.bat} +\immediate\write15{DEL htii.bat} +\immediate\write15{DEL htiii.bat} +\immediate\write15{DEL htiv.bat} +\immediate\write15{DEL htv.bat} +\immediate\write15{DEL htvi.bat} +\immediate\write15{DEL htvii.bat} +\immediate\write15{DEL htdemo.bat} +\immediate\write15{DEL i.*} +\immediate\write15{DEL ia.*} +\immediate\write15{DEL ii.*} +\immediate\write15{DEL iia.*} +\immediate\write15{DEL iii.*} +\immediate\write15{DEL iiia.*} +\immediate\write15{DEL iv.*} +\immediate\write15{DEL iv2.*} +\immediate\write15{DEL iva2.*} +\immediate\write15{DEL iva.*} +\immediate\write15{DEL demo*.aux} +\immediate\write15{DEL demo*.bat} +\immediate\write15{DEL demo*.dvi} +\immediate\write15{DEL demo*.htm*} +\immediate\write15{DEL demo*.css} +\immediate\write15{DEL demo*.lg} +\immediate\write15{DEL demo*.idv} +\immediate\write15{DEL demo*.log} +\immediate\write15{DEL demo*.otc} +\immediate\write15{DEL demo*.toc} +\immediate\write15{DEL demo*.txt} +\immediate\write15{DEL demo*.xre*} +\immediate\write15{DEL tex4ht.ps} +\immediate\write15{DEL v.*} +\immediate\write15{DEL va.*} +\immediate\write15{DEL vi.*} +\immediate\write15{DEL viIa.*} +\immediate\write15{DEL via.*} +\immediate\write15{DEL vii.*} +\immediate\write15{DEL viia.*} +\immediate\write15{DEL clean.bat} +\immediate\closeout15 +\else \closein15 \fi + +\fi + +\ifx \DOS\UnDef + \def\HTML{html} \def\ARG{} + \else \def\HTML{htm} \def\ARG{[htm]} + \fi + +\ifx \documentclass\undef \else + \documentclass{article} +\fi +\input tex4ht.sty +\def\temp{htm}\ifx \HTML\temp + \Preamble{htm,no_,no^} +\else + \Preamble{html,no_,no^} +\fi + \ifx \documentclass\undef \else + \begin{document} + \fi + + \Configure{Needs}{l. \the\inputlineno\space--- needs --- "#1" ---} + + +\newlinechar=`\^^J + +\ifx \WWW\UnDef \let\WWW=\empty \fi +\ifx \DOS\UnDef\else +% \Needs{CLS} % clear screen +\fi + + +\ifx \CALL\UnDef + \def\TEX{\ifx \documentclass\undef \else la\fi tex} +\else + \def\TEX#1#2{\def\TEX{\ifx \documentclass\undef #1\else #2\fi}} + \expandafter\TEX\CALL +\fi + +\edef\type{\ifx \documentclass\undef \else a\fi} + +\def\\#1\\{\expandafter\noexpand\csname#1\endcsname} +\catcode`\#=11 \def\Sharp{#} \catcode`\#=6 +\def\source#1#2{ + \def\doc##1##2##3{#2} + \HAdvance\FileNo by 1 + \NextFileName + \immediate\openout15=\FN.tex + \immediate\write16{--- Writing file \FN.tex}% + \SCRIPT + \immediate\write15{\ifx \documentclass\undef + \noexpand \input tex4ht.sty ^^J + \noexpand \Preamble{\HTML#1} ^^J + \noexpand \EndPreamble ^^J^^J\else + \noexpand \documentclass{article} ^^J + \noexpand \usepackage\ARG{tex4ht} ^^J + \noexpand \begin{document} ^^J^^J\fi + \doc{PSALMS (131:1)} + {My heart is not haughty, nor ^^J + mine eyes lofty:} + {neither do I ^^J + exercise myself in great ^^J + matters, or in things too high ^^J + for me.} ^^J^^J + {\\it\\ Example \FileNo\space (out of \examples)} ^^J^^J + \noexpand \end\ifx \documentclass\undef \else + {document}\fi } + \immediate\closeout15 + \Link[\jobname\FileNo\type f.\HTML\space target="X"]{}{}\FileNo\EndLink + \FileStream+{\jobname\FileNo\type f.\HTML} + \HorFrames{*,*} + \Frame[\romannumeral\FileNo\type.txt]{} + \Frame[\romannumeral\FileNo\type.\HTML]{} + \EndPreamble + \Link[\romannumeral\FileNo\type.txt]{}{}outcome\EndLink{} / + \Link[\romannumeral\FileNo\type.\HTML]{}{}source\EndLink{} / + \Link{1}{}pointers\EndLink + \EndFileStream{\jobname\FileNo\type f.\HTML} +} + +\def\NextFileName{\edef\FN{\romannumeral\FileNo\type}} + +\HAssign\examples=0\LikeRef{count} +\HAssign\FileNo=1 \NextFileName + + \VerFrames{7*,*} + \Frame[\jobname\FileNo\type f.\HTML\space NAME="X"]{} + \Frame[ NAME="Y"]{1} + +\EndPreamble + +\Link[\FN.txt]{}{}source\EndLink{} / +\Link[\FN.\HTML]{}{}outcome\EndLink{} / + +\HAssign\FileNo=0 + +\edef\temp{\noexpand\HPage<\jobname p.\HTML>} +\temp{Pointers}\Link{}{1}~\EndLink + + +Goto to Example: +\source{%,fonts +}{#1^^J^^J#2^^J^^J#3} + \def\HR{^^J\\HCode\\{<HR>}^^J} +\source{%,fonts +}{\HR #1 \HR #2 \HR #3 \HR} +\source{%,fonts +}{{\\bf\\#1}^^J^^J{\\it\\#2}^^J^^J{\\tt\\#3}} +\source{%,fonts +}{\\HPage\\{#1}^^J^^J#2^^J^^J#3^^J^^J + \\ExitHPage\\{}\\EndHPage\\{}} +% +\ifx \documentclass\undef +\source{%,fonts +}{\\Contribute\\{halign}{BORDER<>0 1 < 0 2 - 0 3 > }^^J +\\halign\\{&\Sharp\\cr\\#1^^J&^^J#2^^J&^^J#3\\cr\\}} +\else +\source{%,fonts +}{\string\begin{tabular}{|l|c|r|}^^J +#1^^J&^^J#2^^J&^^J#3^^J +\string\end{tabular}} +\fi +% + + \def\d{\\scriptstyle\\ \\diamondsuit\\ + \\diamondsuit\\ \\diamondsuit\\ } +\ifx \documentclass\undef +\source{%,fonts +}{^^J +\\settabs\\ 6 \\columns\\^^J +\\+\\PSALMS & (131:1)\\cr\\^^J +\\+\\My heart & is not haughty,\\cr\\ ^^J +\\+\\nor mine & eyes lofty:\\cr\\^^J +\\settabs\\ \\+\\ neither & do I exercise & \\cr\\^^J +\\+\\neither & do I exercise \\cr\\^^J +\\+\\ & myself in & great matters, \\cr\\^^J +\\+\\or & in things & too high for me. \\cr\\^^J +} +\else +\source{%,fonts +}{^^J +\\begin\\{tabbing}^^J +XXXXXXXXX \\=\\\\kill\\^^J +PSALMS \\>\\ (131:1) \string\\^^J +My heart \\>\\ is not haughty, \string\\^^J +nor mine \\>\\ eyes lofty:\string\\^^J +neither \\=\\ do I exercise \\=\\ \\kill\\^^J +neither \\>\\ do I exercise \string\\^^J + \\>\\ myself in \\>\\ great matters, \string\\^^J +or \\>\\ in things \\>\\ too high for me. \string\\^^J +\\end\\{tabbing}^^J +} +\fi +% +\source{%,fonts +}{\ifx \documentclass\undef\space + \string\def\string\(\string{\string\Picture+\string{\string}\string + $\string}^^J + \string\def\string\)\string{\string$\string\EndPicture\string}^^J +\fi +\\Picture\\+{ ALIGN="LEFT"}\\vtop\\{\\hsize\\=2in^^J + \\hrule\\\\smallskip\\ #1\\smallskip\\\\hrule\\}\string + \EndPicture^^J #2^^J\\(\\ \d \\)\\ ^^J#3 $\d$} +\EndHPage{} + + \Tag{count}{\FileNo} + +\end{document} +\endinput +>>> + +\OutputCode[tex]\demo + + + + + + +\Code\testa{}<<< +\documentclass {article} + \usepackage {tex4ht} +\begin {document} + +A single $\heartsuit$ and a full +suit: \( \clubsuit \diamondsuit +\heartsuit \spadesuit \). + +\end {document} +\endinput +>>> + +\OutputCode[tex]\testa + + + +\Code\testb{}<<< +\documentclass {article} +\begin {document} + +A single $\heartsuit$ and a full +suit: \( \clubsuit \diamondsuit +\heartsuit \spadesuit \). + +\end {document} +\endinput +>>> + +\OutputCode[tex]\testb + + + + + + + + + + + + + + + +% \Code\HT{}<<< +% echo "**************** Temporary ht ***********************" +% $1 $2 +% $1 $2 +% $1 $2 +% tex4ht $2 +% t4ht $2 -m644 -d?DIR +% echo "**************** Temporary ht ***********************" +% >>> +% +% \OutputCode[log]\HT +% \csname SysNeeds\endcsname{"mv ht SVht"} +% \csname SysNeeds\endcsname{"mv HT.log ht"} +% \csname SysNeeds\endcsname{"chmod 700 ht"} +% +% +% \csname SysNeeds\endcsname{"mv SVht ht"} +% \csname SysNeeds\endcsname{"chmod 700 ht"} + + + + + +\EndList + + + + + + + +\EndHPage{} and +\NextFile{\jobname-mswin.html}\HPage[]{MS Windows} +% +\ExitHPage{} + +\InstallSection{A Setup for MS Windows} % / DOS + + +\List{a} +\item +\--Files/Download//% +Establish a directory, say, \`'c:\tex4ht'. + + +\item +\--Files/Download//% + Download the file \Link[tex4ht.zip]{}{}tex4ht.zip\EndLink{} + into the directory \''tex4ht.dir' and \UNZIP{} it. + + + + +\Code\Wht{}<<< +%1 %2 +%1 %2 +%1 %2 +tex4ht %2 -ic:\tex4ht\texmf\tex4ht\ht-fonts\%3 -ec:\tex4ht\texmf\tex4ht\base\win32\tex4ht.env +t4ht %2 -ec:\tex4ht\texmf\tex4ht\base\win32\tex4ht.env +>>> + +\OutputCode[tab]\Wht + +%%%%%%%%%%%%%%%%%%%%%%%% + + +\setup{Update the Pointers in the Environment File} + + + +% +\item +\--tex4ht.env/MS Windows//% +\--Fonts/tfm//% + Replace in +\Link[tex4ht-env-win32.txt]{}{}% +\''c:\tex4ht\texmf\tex4ht\base\win32\tex4ht.env'\EndLink{} +the lines starting with the character + \`'t', 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 \`'t' at the first column. If + their subdirectories are also to be searched, the names should be + appended with the character \`'!'. + +Note that long file names on MS Windows, and file names with spaces, +might have short space-free aliases. For instance, a directory name +\`'c:\progra~1\texmf' instead of \`'c:\program files\texmf'. +The alternative names can be checked by issuing the \`'dir' command +in a DOS session. + + +\item +\--Fonts/htf//% + If needed, adjust the paths in the \`'i' records of +\''tex4ht.env'. These records are used for searching htf fonts, and they +are similar to the \`'t' records. + + + + +\setup{Update the Bitmap Generating Scripts} + + + + +\item +\--Bitmaps and graphics/png//% +The file \''tex4ht.env' contains the following default script, of calls +to system utilities for translating dvi pictures into png. + +\Verbatim +Gif exist zz%%4.ps DEL zz%%4.ps >nul +Gif exist %%3 DEL %%3 >nul +Gdvips -E -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Gconvert zz%%4.ps -trim +repage -density 110x110 -transparent "#FFFFFF" %%3 +Gif exist zz%%4.ps DEL zz%%4.ps >nul +\EndVerbatim + +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 \`'G' at the first column. +The literate version tex4ht-env.tex of tex4ht.env offers a few +suggestions. + +The entry \''%%1' is a parameter referring to a dvi file, the \''%%2' is a +parameter indicating a page number, the \''%%3' is a parameter +standing for an output file name, +and \''%%4' is a parameter providing the jobname. + + +% Some variants of the \''convert' utility +% require the \''-transparent' switch, instead of \''-transparency'. + +The \Link[http://www.radicaleye.com/dvips.html]{}{}dvips\EndLink{} +utility translates dvi files into postscript. The +\''convert' utility, provided within the distribution of +\Link[http://www.imagemagick.org/]{}{}ImageMagick\EndLink{}, +translates postscript files into png. + +The script +employs the Metafont mode \`'ibmvga' of resolution \`'110'; +the available modes are listed in file \''modes.mf' of Metafont. + + +Use the option `{\tt -crop 0x0 +page}' or `{\tt -crop 0x0 +repage}' +instead of `{\tt -trim}' for old convert utilities that do not +recognize the latter argument. + +\item Instead of employing the G scripts, glyphs can rely on +specialized +\HPage{F scripts} +\List{*} +\item For instance +\Verbatim +Fif exist zz%%4.ps DEL zz%%4.ps >nul +Fif exist %%3 DEL %%3 >nul +Fdvips -E -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Fconvert zz%%4.ps -trim +repage -density 110x110 -transparent "#FFFFFF" %%3 +Fif exist zz%%4.ps DEL zz%%4.ps >nul +\EndVerbatim + +\item The specialized scripts may, for instance, maintain global caches of + png bitmaps for cutting down on recompilation time. \EndList + \EndHPage{} of similar nature for creating pngs. + + + +\item +\--Bitmaps and graphics/fonts//% +\--Fonts/Bitmaps//% +\--Pictures/Bitmaps//% +\--tex4ht.c/LGTYP//% +The bitmap formats can be controlled by a `g' record of tex4ht.env, +a `-g' switch + of {\tt tex4ht.c}, +and a -LGTYP switch in the compilation of tex4ht.c. + The default setting assumes the `png' format. + + +\setup{Update the Other Scripts in the Environment File} + +\item If needed, replace the scripts \`'Mmove %%1 %%2%%3', +and \`'Ccopy %%1 %%2%%3' +in \''tex4ht.env' with \HPage{alternative scripts} + +\Verbatim +Mif exist %%2%%3 del %%2%%3 +Mif exists %%1 move %%1 %%2%%3 +Cif exist %%2%%3 del %%2%%3 +Cif exists %%1 copy %%1 %%2%%3 +\EndVerbatim +\EndHPage{} +for moving and copying files. The parameter \''%%1' stands +for the source file(s), the parameter \''%%2' provides the +target directory name, and the parameter \''%%3' refers to +the target file name(s). + +% \item If needed, replace the script +% \`'Ecopy empty.gif %%1%%2' in \''tex4ht.env' with an +% alternative script +% for replacing empty files. The parameter \''%%1' stands +% for the +% target directory name, and the parameter \''%%2' refers to +% the empty file name. + + + +\item If applicable, replace the scripts \`'Achmod %%1 %%2%%3' +in \''tex4ht.env' with an alternative script for changing the access mode of +files. The parameter \''%%1' stands for access mode, the parameter +\''%%2' refers to a directory name, and the parameter \''%%3' refers +to the file(s). + + + +\item \--Validation///% +Postprocessing of files can be requested with +\`'.' scripts. The files are selected by their extension names, as + listed following the period symbols. The parameter +\`'%%1' provides the file names, and the parameter \`'%%0' provides +the jobnames. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +The environment file +\Link[tex4ht-env-win32.txt]{}{}tex4ht.env\EndLink{} +offers the following draft of a dot script for +{\bf validating} output of compilations. + + +\Verbatim +<validate> + .xml xmllint --noout --valid %%1.xml + .html xmllint --noout --valid %%1.html + .css mycssparser %%1.css +</validate> +\EndVerbatim + + +The dot script may be activated in the following manner. + +\List{1} +\item Fix the paths in the first two records. + + +\item +Bind a CSS validator to the .css record. +(\Link[http://jigsaw.w3.org/css-validator/DOWNLOAD.html]{}{}{\tt +http://jigsaw.w3.org/css-validator/DOWNLOAD.html}\EndLink) + + +\item Remove the leading space characters from the above record. + + + + +\EndList + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + + +\item + Postprocessing of files can also be requested with \`'X' +scripts. The file names are accessed through the parameter \`'%%1', +and their extensions through the parameter \`'%%2'. + + +\setup{Set the Script Files} + +\item + If you use a command different than \`'latex' for compiling \LaTeX{} + source files, replace +the references to \''latex' in \''c:\tex4ht\bin\win32\*.bat' with the appropriate +command name. +The \''tex' and \''texi' +commands require similar attention. + + + + \setup{Make the System Globally Known} +\item Add \`'c:\tex4ht\bin\win32' to your path variable in \`'c:\AUTOEXEC.BAT'. + +\item +Place the files \`'tex4ht.sty' and \`'*.4ht' +of \''c:\texmf\tex\generic\tex4ht\' +within the +\LaTeX/\TeX{} tree (either by moving the files to a directory which already +has sty files, or by modifying the environment variable TEXINPUTS to point also to \`'c:\texmf\tex\generic\tex4ht\'). + +\item +If your \TeX{} system uses a database to locate files, make sure to refresh +it (e.g., select \''Start -> Programs -> MiKTeX -> Refresh', or run \`'initexmf -u' from +a DOS session, to update MiK\TeX{}). + + + +\setup{Didn't Use '{\tt c:\string\tex4ht'}?} +\item +If \TeX4ht is installed in a directory other than \''c:\tex4ht', +make sure to adjust the related paths in +\''tex4ht.env' the \''.bat' files. + + +\item Some output modes assume +\Link[http://www.sun.com/]{}{}Java\EndLink{} +is also available in the computer in use. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setup{Test the Installation} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\item +Move \''testa.tex' and \''testb.tex' +from +\''c:\tex4ht.dir\temp\' + to your work directory +\item Compile \`'testa.tex' with the command \`'ht latex testa' +\item Compile \`'testb.tex' with the command \`'htlatex testb' + + + +\EndList + + + +[\Link[http://www.csulb.edu/\string +~murdock/dosindex.html]{}{}MS Commands\EndLink] + + + +\EndHPage{} require additional effort, mainly because of the need to set up +non-native utilities. +% +Alternative ports for these and other platforms can be tailored +in a +% +\NextFile{\jobname-port.html}\HPage{similar manner} + +\ExitHPage{} + +\InstallSection{Establishing a Port} + +\--Files/Download//% +A port can be established in the following manner. + +\List{1} + \item Set a directory, say,`{\tt \string~/tex4ht.dir}'. +\item + Download the file \Link[tex4ht.zip]{}{}tex4ht.zip\EndLink{} + into the directory \''tex4ht.dir' and \UNZIP{} it. +\item Add to +\`'tex4ht.dir/texmf/tex4ht/base/' +and +\`'tex4ht.dir/bin/' +a subdirectory named, say, \''mydir'. +\item Copy +\`'tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env' +or +\`'tex4ht.dir/texmf/tex4ht/base/win32/tex4ht.env' +into +\`'tex4ht.dir/texmf/tex4ht/base/mydir/tex4ht.env'. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\HPage{} +\ExitHPage{exit} +\InstallSection{Placement of the Environment File} + +\--tex4ht.env/ENVFILE//% +\--tex4ht.c/Compiling//% +\--Kpathsea///% +\--tex4ht.env/TEX4HTENV//% +\--Environment Variables///% +\Link{}{envloc}\EndLink{} +The \''tex4ht.c' +and \''t4ht.c' programs retrieve the information about their +platform from an environment file. The programs search the file at the +following locations, in the given order. +\List{disc} +% +% +\item The address specified within the +\Link[\RefFile{overview}]{}{}command lines\EndLink{} of \''tex4ht' +and \''t4ht', +and identified there by the prefix \`'-e'. +% +\item The address \''tex4ht.env' in the work directory. +% +\item At the location specified by an optional environment variable named +\''TEX4HTENV'. +% +\item The address \''tex4ht.env' in the \HPage{root} + The address of the root directory +is assumed to be stored in an environment variable named \''HOME'. + +On MS Windows, the directory +\''c:/', and the residence directory of \''tex4ht.exe' and +\''t4ht.exe', are also candidates. +\EndHPage{} directory. +\item +The address provided in the variable \SysVar{ENVFILE} of tex4ht +and t4ht during compilation. +\item At the directories of kpathsea, to be searched by that utility, + if the \''tex4ht.c' and \''t4ht.c' programs are compiled +with the \`'-DKPATHSEA' switch on. + +For instance, + +\'@gcc -o tex4ht tex4ht.c + -DENVFILE='"~/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"' + -DKPATHSEA + -DHAVE_DIRENT_H + -lkpathsea@ + +\noindent or + +\'@gcc -O2 + -DKPATHSEA + -I/usr/include + -L/usr/lib + -o tex4ht tex4ht.c + -DHAVE_DIRENT_H + -lkpathsea@ +% + +When the address of \''tex4ht.env' is not explicitly given, the +\''texmf.cnf' file might need records similar to the following ones. + +\Verbatim + TEX4HTFONTSET=alias,iso8859 + TEX4HTINPUTS=.;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + T4HTINPUTS=.;$TEXMF/tex4ht/base// +\EndVerbatim + + +\item +The instruction + +\centerline{\tt apt-get install gcc libkpathsea4 libkpathsea-dev} + +\noindent when executed as root +installs the following +packages +on + Ubuntu/Debian. + +\List{*} +\item +gcc: the standard C compiler +\item +libkpathsea4: library for TeX path searching, part of the texlive + distribution + provides files like /usr/lib/libkpathsea.so.4.0.0 +\item +libkpathsea-dev: development files for libkpathsea + provides numerous header files (*.h) in +/usr/include/kpathsea +\EndList + +If a file is already present, a warning +is issued + and the instruction can be +retried after omitting the request for the installed package. + + + +\EndList + + +A given address may start with the character \`'~'. This character is +interpreted to be the directory address of the root (as provided in an +environment variable named \''HOME'). + + + +The file \''tex4ht.env' may be renamed to \`'.tex4ht', +if your system allows names consisting only of the extension part. + + + + + +\EndHPage{}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\HPage{Modify} + +\ExitHPage{} + +\InstallSection{The Composition of tex4ht.env} + +\--tex4ht.env///% +\TeX4ht consults this file for system-dependent information. The file +consists of a sequence of directives, where each directive occupies a line +and is identified with a distinguished character code in the first column. +The following are the possible character codes and their meaning. +\List{} + + +\item{b} This character identifies +for \''tex4ht' + a comment to be placed +in the \`'.lg' file, before the +\Link{bsc}{bsc-1}scripts\EndLink{} + for creating +pictures for symbols. + +\item{g} +\--Bitmaps and graphics/png//% + This character identifies the extension tex4ht +should associate to names of the files of pictures the postprocessor + requests (for instance, bitmap files of glyphs.). The +default corresponds to a setting of the form \`'g.png'. + +An extension name can also be encoded into tex4ht +during compilation time through the variable +\SysVar{LGTYP}. + +Alternatively, an extension can be provided +in the command line of tex4ht, in which case the character code +should be present and immediately preceded by a \`'-' character. + + + +\item{i} +This character identifies to \''tex4ht' +a directory +\Link{ch-i}{ch.i}where\EndLink{} +the hypertext font (.htf) files of \''tex4ht' are stored. + +\item{l} +\--tex4ht.fls///% + This character identifies a +% +\HPage{bookkeeping file} +\ExitHPage{exit} +\InstallSection{Placement of the Bookkeeping File} + + +\--tex4ht.c///% +\--Kpathsea///% +\--tex4ht.fls/TEX4HTWR//% +\--Environment Variables///% +\Link{}{TEX4HTWR}\EndLink{}To cut down on the time invested to locate files, +the \''tex4ht.c' program maintains a bookkeeping + file where it records the +addresses of the files it finds. Whenever the program needs to locate +a file, it first searches the address in the bookkeeping file. If it doesn't +find the address there, the program embarks on a search +throughout the physical directories of its platform. + +The program places the bookkeeping file at the first applicable +location of the following list. + +\List{1} +\item + The pointer specified by an optional \`'-l' switch provided to the +invocation of the \''tex4ht' program. +\item + A file named \''tex4ht.fls' in + the directory specified by an optional environment variable named +\''TEX4HTWR'. +\item + The location specified by an optional \`'l' record provided +in the environment file. +\item A file named \''tex4ht.fls' in the work directory. +\EndList + + + +A given address may start with the character \`'~' or the +character pair \`'~~'. The single character \`'~' is interpreted to be the +directory address of the root, provided in an environment variable +named \''HOME'. +The character pair \`'~~' is interpreted to be a +directory address provided in an environment variable +named \''TEX4HTWR'. The address stored in the latter environment +variable may also start with a single character \`'~'. + + + + The bookkeeping file must have writable access mode, and the directory +which contains the file should have a compatible access mode. On +multi-user platforms, it is recommended not to share the bookkeeping +file, but to ask for such files in the users' directories. + + +The bookkeeping file is a +dynamically constructed variant of the ls-R file of kpathsea. TeX4ht +ignores its own bookkeeping mechanism, if the program \''tex4ht.c' +is compiled with a raised \''-DKPATHSEA' switch. +\EndHPage{} +% + where \''tex4ht' can + record information about paths to files it uses. + + +\item{s} This character identifies +to \''tex4ht' +a \Link{sc}{sc-1}command\EndLink{} +for requesting in the \''lg' file the translation of dvi + pictures to bitmaps. When needed, a sequence of such +commands can be placed in consecutive lines to form a block of +commands for handling the translation. + + + + +\item{t} +\--Fonts/tfm//% + This character identifies +to \''tex4ht' + the directory \HPage{where} + + +\ExitHPage{exit} + +\InstallSection{Directories of the \TeX\space Fonts Metric (tfm)} + +\--Fonts/tfm//%% +\--tex4ht.c/Compiling//% +\--Kpathsea///% +\--Environment Variables///% +\Link{}{alt-tfm}\EndLink\TeX4ht searches + the hypertext fonts in the working directory, and + in the following optional directories, in the given order. + + +\List{disc} +\item +The directory named +in the \Link[\RefFile{overview}]{}{}command line\EndLink{} +of tex4ht, identified with the prefix \`'-t'. + + +\item The directory identified with the character \`'t' +in the tex4ht.env file. + +\item +The directory whose name is fed into tex4ht.c +during compilation time, through the program variable +\SysVar{TFMDIR}. + +\item In the directory holding the executable \''tex4ht' (only +for MS Windows). + +\EndList + + +A given address may start with the character \`'~' or the +character pair \`'~~'. The single character \`'~' is interpreted to be the +directory address of the root, provided in an environment variable +named \''HOME'. +The character pair \`'~~' is interpreted to be a +directory address provided in an environment variable +named \''TEX4HTTFM'. The address stored in the latter environment +variable may also start with a single character \`'~'. + +The optional environment variable \''TEX4HTTFM' may hold one +or more addresses. The addresses must be separated by a +character which does not appear in the addresses, and that +character must also delimit the content at the start and end points. + + + The system variable \SysVar{MAXFONTS} of tex4ht.c places a + limit on the number of fonts allowed in the documents. The default + setting doesn't provide such a limit. + + If the program \''tex4ht.c' is compiled +with the \`'-DKPATHSEA' switch on, +\TeX4ht ignores its own search and delegate it to the kpathsea utility. + +% \leavevmode \--Fonts/tfm/aliases/\Link{}{tfmalias}\EndLink +% Some +% \TeX{} systems provide virtual fonts without tfm files. Instead, they +% provide file of aliases with records of the form `{\it virtual font +% name}={\it actual font name}'. In such a case, the location of a file of +% aliases can be provided within an a-record in \''tex4ht.env'. +% +% The tex4ht program ignores records having form different than +% `{\it virtual font name}={\it actual font name}'. + + +A given address may start with the character \`'~' or the +character pair \`'~~'. The single character \`'~' is interpreted to be the +directory address of the root, provided in an environment variable +named \''HOME'. +The character pair \`'~~' is interpreted to be a +directory address provided in an environment variable +named \''TEX4HTA'. The address stored in the latter environment +variable may also start with a single character \`'~'. + + + + +\EndHPage{} +the font metric (.tfm) files of \TeX{} are stored. + + +\item{A} +This character identifies to \''t4ht' a +\Link{accscript}{}script\EndLink{} for changing +access mode of files. + +\item{C} +This character identifies a \Link{mvscript}{}script\EndLink{} for +satisfying requests made in the +\''lg' file to copy files between directories. + + +\item{E} +This character identifies a \Link{mvscript}{}script\EndLink{} for +satisfying requests made in the +\''lg' file to get substitutions for empty pictures. + + +\item{F} +This character identifies +to \''t4ht' +a \Link{dv2png}{}script\EndLink{} for translating into other formats +characters +from dvi files. + +A `F.ext' record marks a conditional F-subscript. It states that the +following F-records will apply only to pictures whose extension +names are `ext'. + +A `F.' record marks a default F-subscript. It applies to pictures +whose extension names do not get dedicated F-subscripts. + +The `F.ext' and `F.' records are not needed, in case all the pictures +are to be processed by a single set of F-records. + +\noindent{\bf Example}: + +\Verbatim +F.gif +F-gif-script +F.png +F-png-script +F. +F-script +\EndVerbatim + + +\item{G} +This character identifies +to \''t4ht' +a \Link{dv2png}{}script\EndLink{} for translating general + dvi figures into other formats. + + +A `G.ext' record marks a conditional G-subscript. It states that the +following G-records will apply only to pictures whose extension +names are `ext'. + +A `G.' record marks a default G-subscript. It applies to pictures +whose extension names do not get dedicated G-subscripts. + +The `G.ext' and `G.' records are not needed, in case all the pictures +are to be processed by a single set of G-records. + +\noindent{\bf Example}: + +\Verbatim +G.gif +G-gif-script +G.png +G-png-script +G. +G-script +\EndVerbatim + + +\item{M} +This character identifies a \Link{mvscript}{}script\EndLink{} for +satisfying requests made in the +\''lg' file to move files between directories. + + + +\item{S} This character specifies what security measures + \''t4ht' should take when invoking other utilities. In the + absence of this directive, all the calls to system services are + ignored. On the other hand, a directive of the form \`'S*' allows + all system calls. A selective access to system calls can be + obtained with \''S' directives, which specify the prefixes of command + names that should be allowed to go through. + + The \''S' directives can be fed as switches to the command lines \''t4ht'. + +\item{P} A variant of he \''S' switch for \''tex4ht'. Rarely useful. + + +\item{X} This character identifies to \''t4ht' a script for + postprocessing the files which \''tex4ht' outputs. The file names + are represented +by \`'%%1', and their extensions by \`'%%2'. +Such scripts, for instance, may invoke validators to check +the correctness of the files against given DTD's and request +XSL transformations. + +The command line of \''t4ht' may include a flag \`'-X' whose content +is represented by \`'%%3' in the script. + + +Example: \''Xmake -f mymake name=%%1 ext=%%2 %%3' + +\item{{\bf.} (dot)} A variant of the X script applied to files whose extension +names are provided after the dot. The file names are represented by +\`'%%1', and the jobnames by \`'%%0'. + +Example: \''.xml echo "name=%%1.xml"' + + +\item{{\tt <}} +Tagged script segments \''<tag>...</tag>' are scanned only if + their names are specified within \''-ctag' switches of \''tex4ht.c' + and \''t4ht.c'. When such switches are not supplied, a the switch \''-cdefault' + is implicitly assumed. + +\EndList +Lines starting with other characters are treated as comments, +and empty lines may be treated as file terminators + by \''tex4ht' and \''t4ht'. + + + +{\noindent \bf Examples:} +\Link[tex4ht-env-unix.txt]{}{}Unix-oriented\EndLink{}, +\Link[tex4ht-env-win32.txt]{}{}MS-oriented\EndLink{} + + + + +\EndHPage{} the file to meet the setting +of your environment. +% +% +% +\item +\HPage{Compile} + +\ExitHPage{} +\Link{}{doc-c}\EndLink + +\InstallSection{Compiling tex4ht.c} + + +\List{disc} +\item +\--tex4ht.c/Compiling//You might want to activate some of the options at the start of the +file by uncommenting the corresponding lines. + +\Verbatim +/* ********************************************** + Compiler options * + (uncommented | command line) * +------------------------------------------------* + Classic C (CC) default +#define ANSI ansi-c, c++ +#define DOS_C +#define HAVE_STRING_H <string.h> +#define HAVE_DIRENT_H <dirent.h> +#define HAVE_SYS_NDIR_H <sys/ndir.h> +#define HAVE_SYS_DIR_H <sys/dir.h> +#define HAVE_NDIR_H <dir.h> +#define WIN32 +#define KPATHSEA +#define BCC32 bordland c++ + +************************************************* +\EndVerbatim + +\item +\--tex4ht.c/Compiling//% +\--tex4ht.c/HTFDIR//% +\--tex4ht.c/LGPIC//% +\--tex4ht.c/LGSEP//% +\--tex4ht.c/LGTYP//% +\--tex4ht.c/MAXFONTS//% +\--tex4ht.c/TFMDIR//% +Values may be assigned in the command line or +the beginning of the source file, to the environment variables +\def\SysVar#1{\Link{#1}{x-#1}#1\EndLink} +\SysVar{ENVFILE}, +\SysVar{HTFDIR}, +\SysVar{LGPIC}, +\SysVar{LGSEP}, +\SysVar{LGTYP}, +% ??? \SysVar{MAXFDIRS}, +\SysVar{MAXFONTS}, +and +\SysVar{TFMDIR}. +\gdef\SysVar#1{\Link{-#1}{#1}#1\EndLink} + +For instance, + + \'@gcc -o tex4ht tex4ht.c + -DENVFILE='"path/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"' + -DHAVE_DIRENT_H@ + +\EndList + +The switch \`+-DENVFILE+ is optional, if the program can reach the +environment file in an \Link{envloc}{}alternative\EndLink{} manner. + + +\InstallSection{Compiling t4ht.c} + + +\--t4ht.c/Compiling//% +The environment variable \''ENVFILE' is available also in \`'t4ht.c'. + +For instance, + +\'+gcc -o t4ht t4ht.c -DENVFILE='"gold/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"'+ + + + +\EndHPage{} +the source files +\`'tex4ht.dir/src/tex4ht.c' +and +\`'tex4ht.dir/src/t4ht.c' + into executable programs \''tex4ht' and \''t4ht', +and move the latter programs into \`'tex4ht.dir/bin/'. +% +% +% +\item Set a +\HPage{driver} +\ExitHPage{} + +\InstallSection{Driving the Translation of Pictures and Other Tasks} + + +\--Files/idv//% +\--Files/lg//% +\--Bitmaps and graphics/Requests//% +\TeX4ht outputs a script file (\`'.lg') describing how the dvi file +(extension \`'.idv') of pictures should be processed, the CSS +instructions to be included for the file, and user-initiated requests +from the operating system. In the default setting, the script file +holds abstract commands similar to the following ones. +\List{} +\item{{\tt--- needs --- source.idv[i] ==> target.png ---}} + +An abstract command of this form requests that the i'th page in +the dvi file will be translated into a target file +whose name is provided. + +\item{{\tt +--- characters --- +}} + +This abstract command is a identifies where +the requests for pictorial characters start. + +\EndList + +A manual brute-force execution of the abstract +commands can be a tedious job for large number of +pictures. The \''t4ht' is in essence an interpreter +for these abstract commands. + + Another +possible approach for automating the process +is to request lg scripts in the form of +shell scripts +or batch files. + + +\HCode{<big>}{\bf Alternatives to `{{\tt--- needs --- +source.idv[i] ==> target.png ---}}'}\HCode{</big>} + +The default setting is made with a request of the form +\`'--- needs --- %%1.idv[%%2] ==> %%3.png ---', where +the parameters \''%%1', \''%%2', and \''%%3' respectively represent +the name of the source file without its extension, a page number, and +a name of the target file. Alternative patterns to these abstract +commands can be requested in the following locations, with the order +reflecting on the priority given to the requests. + + +\List{disc} +\item In the \Link[\RefFile{overview}]{}{}command line\EndLink{} +of \''tex4ht', where the pattern should be prefixed with \`'-s'. + +\item In the environment file \''tex4ht.env' +within a block of consecutive lines, where the lines should be +identified with the character \Link{sc-1}{sc}\`'s'\EndLink{}. + +\gdef\SysVar#1{\Link{x-#1}{#1}#1\EndLink} %%%%%%%%# + +\item In \''tex4ht' with the pattern provided through the variable +\SysVar{LGPIC} of \''tex4ht.c'. + +\def\SysVar#1{\Link{#1}{x-#1}#1\EndLink} + +\EndList + +The character \`'%' can be introduced into a pattern through +the entry \`'%%%'. On the other hand, the parameters \`'%%1', +\`'%%2', and \''%%3' can specify, +between the first two percentage characters (i.e., \`'%...%1', +\`'%...%2', and \`'%...%3'), any format for the outcome that is +compatible with the print formats of C. + +\HCode{<big>}{\bf Alternatives to `{{\tt--- characters ---}}'}\HCode{</big>} + +Substitutions for this abstract command +can be requested in the following locations. + + + + + +\List{disc} +\item +In the +%\Link[\RefFile{overview}]{}{}command line\EndLink{} + \HPage[]{overview} + +\ExitHPage{} + +\InstallSection{The Translation Process} + + +\--tex4ht.sty///\--t4ht.c///\--tex4ht.c///\--\LaTeX///% +\--Scripts///% +The system can be activated with a sequence of +commands of the following form, typically embedded within a script. + +\Verbatim + latex x (or `tex x') + latex x + latex x + tex4ht x + t4ht x +\EndVerbatim + + +The three compilations with La(\TeX) are needed to ensure proper links. +The approach is illustrated in the following picture. + + +\Draw + \TreeSpec(n,\Node & r,\SRectNode)()() + \TreeAlign(H,0,0)(0,0,0) + \MinNodeSize(1,30) +\Tree()( + 1,n,x.tex// + 1,r,TeX // + 1,n,x.dvi // + 3,r,tex4ht // + 0,n,html~~files & 0,n,x.idv & + 0,n,x.lg // +) +\MoveToLoc(4..1) +\CSeg[0.5]\Move(4..1,4..2) + + + \CSeg\Move(0..0,1..0) + \SRectNode(5..0)(--t4ht--) + + \CSeg\Move(0..0,1..0) + \Node(6..0)(--png~\&~css~~files--) + + +\Edge(5..0,6..0) + +\MoveToLoc(5..0) +\CSeg[0.5]\Move(1..0,0..0) \MarkLoc(x) +\HHEdge(4..1,5..0,x) +\HHEdge(4..2,5..0,x) + + \EndDraw + + + + + +\List{} +\item{x.tex} + + This is a source \TeX/\LaTeX/Other\TeX{} file that imports the style + files \''tex4ht.sty' and \''*.4ht'. The style files define + the features for the output. + +\item{tex4ht} + +\--dvi///% +\--Files/dvi//% +The output of \TeX{} is a standard dvi file interleaved with special +instructions for the postprocessor \''tex4ht' to use. The special +instructions come from implicit and explicit requests made in the +source file through commands of \TeX4ht. + +The utility \''tex4ht' translates the dvi code into standard text, +while obeying the requests it gets from the special instructions. The +special instructions may request the creation of files, insertion +of html code, filtering of pictures, and so forth. + +In the extreme case that the source code contains no commands of +\TeX4ht{}, tex4ht gets pure dvi code and it outputs (almost) plain +text with no hypertext elements in it. + +The special ({\tt\string\special}) instructions seeded in the dvi code +are not understood by dvi processors other than those of \TeX4ht. + +\item{x.idv} + +\--dvi///% +\--Files/idv//% +This is a dvi file extracted from \''x.dvi', and it contains the +pictures needed in the html files. + +\item{x.lg} + +\--Files/lg//% +This is a log file listing the pictures of x.idv, the png files that +should be created, CSS information, and user directives introduced +through the \`'\Needs{...}' command. + +\item{t4ht} + +This is an interpreter for executing the requests made in the \''x.lg' +script. + +\EndList + +\InstallSection{A Reflection at the System Messages} + +\bgroup +\def\.#1.{$\Leftarrow$ {\bf #1}} + +\Verbatim-@ +This is TeX, Version 3.14159 (Web2C 7.3.1) @.invoke `latex x'. +LaTeX2e <1998/12/01> patch level 1 +Babel <v3.6x> and hyphenation patterns for american, french, german, ngerman, n +ohyphenation, loaded. +(x.tex (/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 1999/01/07 v1.4a Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size10.clo)) +(n/tex4ht.dir/tex4ht.sty) +(n/tex4ht.dir/tex4ht.sty +--- needs --- tex4ht x --- +(tex4ht.tmp) (x.xref) (n/tex4ht.dir/html4.4ht) +(n/tex4ht.dir/picmath4.4ht) +(n/tex4ht.dir/latex.4ht (n/tex4ht.dir/html4.4ht) +(n/tex4ht.dir/picmath4.4ht)) +(n/tex4ht.dir/fontmath.4ht +(n/tex4ht.dir/html4.4ht) +(n/tex4ht.dir/picmath4.4ht)) +(n/tex4ht.dir/article.4ht (n/tex4ht.dir/html4.4ht +) (n/tex4ht.dir/picmath4.4ht))) (x.aux) +--- file x.css --- +[1] (x.aux) ) +Output written on x.dvi (1 page, 4460 bytes). +Transcript written on x.log. +This is TeX, Version 3.14159 (Web2C 7.3.1) @.invoke `latex x'. +LaTeX2e <1998/12/01> patch level 1 +....................... +This is TeX, Version 3.14159 (Web2C 7.3.1) @.invoke `latex x'. +LaTeX2e <1998/12/01> patch level 1 +....................... +tex4ht.c (1999-11-10-03-50) @.invoke `tex4ht x'. +(tex4ht.env) +(n/tex4ht.dir/tex4ht.fls) +(/usr/share/texmf/fonts/tfm/public/cm/cmr10.tfm) +(n/tex4ht.dir/ht-fonts/iso8859/cm/cmr.htf) +[1 file x.html + file x.css + file tex4ht.tmp +] +Execute script `x.lg' +t4ht.c (1999-12-30-21-14) @.invoke `t4ht x'. +Entering tex4ht.env +Entering x.lg +....................... +\EndVerbatim \egroup + + + + +\EndHPage{} +of \''tex4ht', prefixed with \`'-b'. + +\item In a line within the environment file +\`'tex4ht.file', where the line should be identified with the character +`\Link{bsc-1}{bsc}b\EndLink{}'. + +\gdef\SysVar#1{\Link{x-#1}{#1}#1\EndLink} + +\item In \''tex4ht' with the substitution provided +during compilation time through the variable \SysVar{LGSEP} of +\''tex4ht.c'. + +\def\SysVar#1{\Link{#1}{x-#1}#1\EndLink} + +\EndList + +\EndHPage{} +for the t4ht utility. +\EndList + + +%%%%%%%%%%%%%%%%%%%%%%%% + +\HPage{} + +\ExitHPage{exit} + +\InstallSection{Directories for the Virtual Hypertext Fonts (htf)} + +\--Fonts/htf//%% +\--tex4ht.c/Compiling//% +\--Kpathsea///% +\--Environment Variables///% +\Link{}{alt-htf}\EndLink% +Each font of TeX may have numerous virtual hypertext font to map to. +The \Link{ch.i}{}i directives\EndLink{} of \''tex4ht.env', as well as +the i switches of the \''tex4ht' command, may be used to identify the +subdirectories where the target virtual fonts are to be found. + +\TeX4ht searches the hypertext fonts in the working directory, and + in the following optional directories, in the given order. + + +\List{disc} +\item +The directory named +in the \Link[\RefFile{overview}]{}{}command line\EndLink{} +of tex4ht, identified with the prefix \`'-i'. + + +\item The directory identified with the character +\Link{ch.i}{ch-i} \`'i'\EndLink{} +in the tex4ht.env file. + +\item +The directory whose name is encoded into tex4ht +during compilation time, +within a string \''"..."' fed into the variable +\SysVar{HTFDIR} of tex4ht.c. + +\item In the directory holding the executable \''tex4ht' (only +for MS Windows). + +\EndList + + +A given address may start with the character \`'~' or the +character pair \`'~~'. The single character \`'~' is interpreted to be the +directory address of the root, provided in an environment variable +named \''HOME'. +The character pair \`'~~' is interpreted to be the +directory address provided in an environment variable +named \''TEX4HTHTF'. The address stored in the latter environment +variable may also start with a single character \`'~'. + + +The optional environment variable \''TEX4HTHTF' may hold one +or more addresses. The addresses must be separated by a +character which does not appear in the addresses, and that +character must also delimit the content at the start and end points. + + If the program \''tex4ht.c' is compiled +with the \`'-DKPATHSEA' switch on, +\TeX4ht ignores its own search and delegate it to the kpathsea utility. +\EndHPage{} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + \EndHPage{}. +The distribution assumes compilations through command lines but + \HPage{graphical user inferfaces} + +\--Graphical User Interfaces///% + +\List{*} +\item +\Link[http://www.mayer.dial.pipex.com/tex.htm]{}{}\TeX{} Converter\EndLink{} +(Steve Mayer). Supports a set of converters on MS Windows, +including \TeX4ht. + + + +\item + \Link[http://www.simpletex4ht.free.fr/ + target="\string_blank"]{}{} SimpleTeX4ht\EndLink{} +(Yves Gesnel). A Mac OS X GUI. + + +\item +\TeX4ht +\HPage{integrated into the WinShell} +I was successful with integrating TeXh4t win WinShell 2.2.1 +from Texlive 7 distribution. By inserting ``user tools'' you can +have an editor from which there is a quick access to not only +LaTeX, (standard makeindex - not provided but explained in help support), +PDFLaTeX, Dvi, GsView, Acrobat Reader, but also to TeXh4t (DOS switch +MUST be OFF as logspace has not enough room for long log files produced +by TeXh4t), to two stage makeindex procedure and to Mozilla browser. + + + + +\EndHPage{} + graphical user interface +of Ingo H. de Boer + for working with TeX. +(Piotr Grabowski) %<pgrab@IA.AGH.edu.PL> + +\item +\Link[https://ctan.org/tex-archive/systems/win32/bakoma/programs/texword.html]{}{}BaKoMa +\TeX{} Word\EndLink . A WYSIWYG \LaTeX{} editor with HTML expot +through \TeX4ht . +\EndList + +\EndHPage{} may also be employed. + + + + Philip A. Viton discusses in details issues of installing \TeX4ht under + \Link[https://web.archive.org/web/20170701025148/http://facweb.knowlton.ohio-state.edu/pviton/support/tex4ht.html]{}{}Mik\TeX\EndLink{} and + \Link[https://web.archive.org/web/20170909235854/http://facweb.knowlton.ohio-state.edu/pviton/support/swpht.html]{}{}Scientific + Word/WorkPlace\EndLink, but many of the topics apply + also to other platforms. Steven Zeil offers + \Link[https://web.archive.org/web/20060617212822/http://www.cs.odu.edu/\string~zeil/tex4ht/tex4ht\string_discussion.html]{}{}improvements\EndLink{} for the above + settings. + + + + + The \Link[http://svn.gnu.org.ua/viewvc/tex4ht/trunk/lit/]{}{}literate sources\EndLink{} of \TeX4ht + are also available, but they are not needed for installing the + system. The literate views are very far from being in a desirable + state for a review by a public eye--they reflect their true nature as + being privately used for developing and maintaining the available + code. The views follow a basement mentality: throw in without much + scrutiny any item of possible value at some point of time, and clean + a corner when the need arises for working on a specific issue of the + code. The leading lines in the files indicate how the files can be compiled. + + + +\noindent \Link{trbl-sht}{}trouble shooting\EndLink +{\tt |} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \HCode{<span class="bugfixes">}\Link[bugfixes.html]{}{}bug fixes\EndLink + \HCode{</span>} + +%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocPart{Bug Reports} +%%%%%%%%%%%%%%%%%%%%%%%%%% + +The development of the \TeX4ht system is to a large degree +driven by users' bug reports +and requests. The bug reports can be posted on +\Link[https://puszcza.gnu.org.ua/bugs/?group=tex4ht]{}{}\TeX4ht issue tracker\EndLink. +In most cases, when providing feedback, it is essential to include the +following information. + +\List{*} +\item A +\NextFile{\jobname-bug.html}\HPage{minimal}\ExitHPage{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\List{*} +\item Remove the calls to packages that are not essential to reproduce the problem + (e.g., \Verb=\RequirePackage=, \Verb=\usepakage=) + +\item Remove the local definitions that are not essential. +For instance, use + +\Verbatim +\begin{figure} + \includegraphics{filename} + \caption{What ever.} +\end{figure} +\EndVerbatim + +instead of + +\Verbatim +\def\fig#1#2{\begin{figure} \includegraphics{#1} \caption{#2} \end{figure}} +\fig{filename}{What ever.} +\EndVerbatim + +\item Use core classes when possible (e.g., \Verb=article= instead of \Verb=scrbook=). + +\item Cut to a minimum the content where possible + (e.g., `Abc' instead of `Blah blah ... for ever.') +\EndList + + +We work in a \LaTeX{} environment different from where the bug reports +typically originate. To understand the bugs we need to recreate the +environments producing them. A sample file that isolates the +problem reduces the debugging effort to a minimum. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\EndHPage{} miniature complete source file illustrating the +issues involved, but do not include bitmap files loaded by the +sources (e.g., PNG files). Since similar constructs are introduced within different +style files, a minimal source is required for correctly pinpointing the +definitions of the constructs involved in the translation. + + + +\item A mentioning of the command used to invoke the translation. This +information is required since the command determines which configurations +participate in the translation. + +\item +Occasionally it might also be +useful to have + an URL to a public domain where the files and messages produced +during the compilation can be viewed. Unless explicitly requested to to do so, +please don't email such information. + +\EndList + + +Translations of source files are centered around logical structures. +Formatting instructions receive only limited attention. + + + +\DocPart{Resources} + + +% From: Sebastian Rahtz <s.rahtz@elsevier.co.uk> +% Date: Fri, 4 Sep 1998 10:16:12 +0100 (`) +% To: plaice@cse.unsw.edu.au +% cc: gurari@cse.ohio-state.edu +% Subject: Re: tex to mathml +% +% John Plaice writes: +% +% +% > i've changed the tex engine so that entities get recognized at the +% > font level or at the mathcode/delcode level. there are also new macros for +% > \sgmlstarttag, \sgmlendtag, \sgmlemptytag and \sgmlentity. +% > plus with versioned macros, you can have highly optimized translations +% > that do everything correctly. +% ok so far. you do in the TeX engine what Eitan has to do in the dvi +% post-processor. but +% +% - you still have to write an extensive macro package to do the actual +% mapping, I assume? +% - how do you get the XML file out the end? is Omega writing a text +% file, or are you going to extract from the dvi file? +% +% > it should be finished in about 2 weeks. +% shall be fascinated to see it +% +% sebastian + + +\HTable^/\Css{\#TBL-\TableNo\space td{font-size:75\%;}} +Languages: \& +\HPage{LaTeX/TeX} +\ExitHPage{}\SubSection{LaTeX/TeX} +\List{disc} +\item + \Link[http://www.mech.gla.ac.uk/\string + ~donald/talks/LaTeX/slides.html + target="\string_blank"]{}{}% + Introduction to \LaTeX \EndLink{} (A. J. Hildebrand) +\item + \Link[http://www.cs.rug.nl/\string + ~rein/csrugonly/latex/latexdoc/latexdoc.html + target="\string_blank"]{}{}% + What's LaTeX all about?\EndLink{} (Rein Smedinga) +\item + \Link[http://web.mit.edu/olh/Latex/ess-latex.html + target="\string_blank"]{}{}% + Essential \LaTeX \EndLink{} (Sharon Belville, Matthew Swift) +\item + \Link[http://www.cs.cornell.edu/Info/Misc/LaTeX-Tutorial/LaTeX-Home.html + target="\string_blank"]{}{}% + Beginning LaTeX\EndLink{} (Denise Moore) +\item + \Link[http://www.cs.stir.ac.uk/guides/latex/guide.html + target="\string_blank"]{}{}% + Document Preparation with \LaTeX\EndLink{} (David Budgen, Sam Nelson) +\item + \Link[http://www.sci.usq.edu.au/staff/robertsa/LaTeX/latexintro.html + target="\string_blank"]{}{}\LaTeX: from quick and dirty to style and finesse\EndLink{} (Tony Roberts) +\item + \Link[http://www.maths.tcd.ie/\string + ~dwilkins/LaTeXPrimer/Index.html + target="\string_blank"]{}{}Getting Started with \LaTeX\EndLink{} (David R. Wilkins) +\item \Link[http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/latex\string_advanced/latex\string_advanced.html + target="\string_blank"]{}{}Advanced \LaTeX \EndLink {} (Tim Love) +\item +\Link[http://www.giss.nasa.gov/latex/ltx-2.html + target="\string_blank"]{}{}\LaTeX{} commands\EndLink{} (Sheldon Green) +\item +\Link[http://tex.loria.fr/ctan-doc/macros/latex/doc/html/fntguide/fntguide.html + target="\string_blank"]{}{}\LaTeX2e + font selection\EndLink{} +\item + \Link[http://makingtexwork.sourceforge.net/mtw/ + target="\string_blank"]{}{}Making \TeX{} Work\EndLink{} (Norman Walsh) +\item + \Link[http://profs.sci.univr.it/\string ~gregorio/orrori.pdf + target="\string_blank"]{}{}Horrors in LaTeX: how to mistreat LaTeX and make a copy +> editor unhappy\EndLink{} (Enrico Gregorio). Commented in Italian. +\item + \Link[http://www.non.com/books/TeX\string_cc.html + target="\string_blank"]{}{}Books\EndLink{} +\item + \Link[news:comp.text.tex + target="\string_blank"]{}{}newsgroup comp.text.tex\EndLink +\item + \Link[http://www.esm.psu.edu/mac-tex/ + target="\string_blank"]{}{}MacOSX TeX/LaTeX Web Site\EndLink +\item + \Link[http://www.dante.de/cgi-bin/ctan-index + target="\string_blank"]{}{}Archive Search\EndLink{} +\item + \Link[http://en.wikibooks.org/wiki/LaTeX + target="\string_blank"]{}{}LaTeX Wiki\EndLink{} +\EndList +\EndHPage{}, +\HPage{HTML}\ExitHPage{}\SubSection{HTML} +\List{disc} +\item +\Link[http://www.w3.org/MarkUp/Guide/ + target="\string_blank"]{}{}Getting started + with HTML\EndLink{} (Dave Raggett) +\item + \Link[http://www.htmlhelp.com/reference/wilbur/overview.html + target="\string_blank"]{}{}% +HTML 3.2: Wilbur\EndLink{} (WDG: Web Design Group) +\item + \Link[http://www.w3.org/TR/html401/ + target="\string_blank"]{}{}% + HTML 4.01 Specification\EndLink{} (W3C), + \Link[http://www.w3.org/MarkUp/Test/HTML401/current/tests/index.html + target="\string_blank"]{}{}% + examples\EndLink{} +\item + \Link[http://www.w3.org/MarkUp/ + target="\string_blank"]{}{}% + XHTML\EndLink{} (W3C) +\EndList +\EndHPage{}, +\HPage{XML/XSLT}\ExitHPage{}\SubSection{XML/XSLT} +\List{disc} +\item + \Link[http://www.w3.org/TR/REC-xml + target="\string_blank"]{}{}% + XML\EndLink{} (W3C), + \Link[http://www.garshol.priv.no/download/text/xml-intro/index-en.html + target="\string_blank"]{}{}% + An Introduction to XML\EndLink{} (Lars Marius Garshol) +\item +XSLT: +\Link[http://www.w3.org/TR/xslt + target="\string_blank"]{}{}W3C\EndLink, + \Link[http://www.devguru.com/Technologies/xslt/quickref/xslt\string + _index.html + target="\string_blank"]{}{}DevGuru index\EndLink, + \Link[http://metalab.unc.edu/xml/books/bible/updates/14.html + target="\string_blank"]{}{}tutorial\EndLink{} (XML Bible), + \Link[http://nwalsh.com/docs/tutorials/xsl/xsl/slides.html + target="\string_blank"]{}{}tutorial\EndLink{} (Groso and Walsh) +\item + \Link[http://www.w3.org/TR/xpath + target="\string_blank"]{}{}XPATH\EndLink{} (W3C) +\item +Pointers (Robin Cover): + \Link[http://www.oasis-open.org/cover/sgml-tex.html + target="\string_blank"]{}{}% + SGML/XML and (La)\TeX\EndLink{}, + \Link[http://www.oasis-open.org/cover/xml.html + target="\string_blank"]{}{}% + SGML/XML\EndLink{}, + \Link[http://www.oasis-open.org/cover/xsl.html + target="\string_blank"]{}{}% + XSL\EndLink{} +\item + \Link[http://www.xml.com/pub/pt/3 + target="\string_blank"]{}{}% + editors\EndLink{} (XML.com) + + +\EndList +\EndHPage{}, +% +\HPage{MathML}\ExitHPage{}\SubSection{MathML} +\List{disc} +%----------------------------------------------------------------------------------- +\item +\Link[http://www.w3.org/TR/MathML2/ + target="\string_blank"]{}{}% +Specifications\EndLink{}. +%----------------------------------------------------------------------------------- +\item +\Link[http://www.w3.org/Math/ + target="\string_blank"]{}{}% +W3C's Math Home Page\EndLink{}. +%----------------------------------------------------------------------------------- +\item +\Link[http://www.w3.org/Amaya/ + target="\string_blank"]{}{}% +Amaya\EndLink{}. + A browser capable of viewing MathML. +%----------------------------------------------------------------------------------- +\item +\Link[http://www.dessci.com/webmath/mathplayer/ + target="\string_blank"]{}{}% +MathPlayer\EndLink{}. +A MathML display engine for the MicroSoft's Internet Explorer web browser. +%----------------------------------------------------------------------------------- +\item +\Link[http://www.mozilla.org + target="\string_blank"]{}{}% +Mozilla\EndLink{}. +A MathML enabled browser +%----------------------------------------------------------------------------------- +\item +\Link[http://www.integretechpub.com/ + target="\string_blank"]{}{}% +TechExplorer\EndLink{}. + A plug-in for viewing + a large subset of +\TeX, \LaTeX, and AMS-\LaTeX, as well as MathML. +% %--------------------------------------------------------------------------- +\item +\Link[http://www.dessci.com + target="\string_blank"]{}{}WebEQ\EndLink{}. A +Java-based renderer for MathML. +%--------------------------------------------------------------------------- +\item +\Link[ftp://ftp.tex.ac.uk/tex-archive/macros/xmltex/base/manual.html + target="\string_blank"]{}{}XML\TeX\EndLink{}. +LaTeX-based formatter for MathML. +%--------------------------------------------------------------------------- +\item +\Link[http://www.pragma-ade.com/ + target="\string_blank"]{}{}Con\TeX t\EndLink{}. +TeX-based formatter for MathML +%--------------------------------------------------------------------------- +\item +\Link[http://www.alanwood.net/unicode/ + target="\string_blank"]{}{}% +Unicode fonts\EndLink{} for browsers (Alan Wood). +% +% Piotr Grabowski <pgrab@IA.AGH.edu.PL> +% I would like to share withe you a solution I found for zingbats unicode fonts. +% The solution followed Alan Wood's unicode resource. +% +% This is really a big resource. I studied what is written therein. Soon it +% turned out +% that I do not have enough font characters. From zingbats test I found that +% I had only +% a few characters. The remedium was to install ARIAL UNICODE MS for Win. +% The web page address is attached to the list of Arial fonts on Alan Wood's +% page. +% I downloaded and installed it - the problem disappeared all zingbats +% unicode characters +% are now visible. Alan Wood's web page is also recommending such tools as, +% e.g. Character Agent +% to verify what type of fonts you really have in your machine. Such tools as +% ``character map'' +% normally available in Win systems are toys! +% +% New Mozilla is quite nice - red fonts are now all in black as the rest. + +%----------------------------------------------------------------------------------- + + +\EndList +\EndHPage{}, +% +\HPage{OpenDocument}\ExitHPage{}\SubSection{OpenDocument}\--OpenDocument///% +\List{disc} +\item + \Link[http://books.evc-cit.info/odbook/book.html + target="\string_blank"]{}{}% + OpenDocument Essentials\EndLink{} (OASIS) +\item + \Link[http://www.oasis-open.org/committees/download.php/12572/OpenDocument-v1.0-os.pd + target="\string_blank"]{}{}% + Open Document Format for Office Applications\EndLink{} (OASIS) +\EndList +\EndHPage{}, +% +\HPage{DocBook}\ExitHPage{}\SubSection{DocBook}\--DocBook///% +\List{disc} +\item + \Link[http://www.oasis-open.org/docbook/xml/ + target="\string_blank"]{}{}% + The official DocBook Homepage\EndLink{} (Oasis) +\item + \Link[http://www.docbook.org/tdg5/en/html/docbook.html + target="\string_blank"]{}{}% + DocBook: The Definitive Guide\EndLink{} (Norman Walsh and Leonard Muellner) + +\item + \Link[http://db2latex.sourceforge.net/ + target="\string_blank"]{}{}% + DB2LaTeX XSL Stylesheets\EndLink{} + +\EndList +\EndHPage{}, +% +\HPage{TEI}\ExitHPage{}\SubSection{TEI} +\--TEI///% +\List{disc} +\item +\Link[http://www.tei-c.org/ + target="\string_blank" ]{}{}Home page\EndLink{} +\item +\Link[http://www.oasis-open.org/cover/tei.html + target="\string_blank" ]{}{}XML TEI\EndLink{} +(OASIS) +\EndList +\EndHPage{}, +% +\HPage{Style Sheets}\ExitHPage{}\SubSection{Style Sheets} +\List{disc} +\item + \Link[http://www.w3.org/Style/CSS/ + target="\string_blank"]{}{}% + CSS (W3C)\EndLink{} + (\Link[http://www.w3.org/TR/REC-CSS1 + target="\string_blank"]{}{}% + CSS1\EndLink{}, + \Link[http://www.w3.org/TR/REC-CSS2 + target="\string_blank"]{}{}% + CSS2\EndLink{}, + \Link[http://www.w3.org/Style/CSS/Test/ + target="\string_blank"]{}{}% + examples\EndLink{}) +\item + \Link[http://library.thinkquest.org/15074/cssmain.html + target="\string_blank"]{}{}% + tutorial\EndLink{} (Oracle ThinkQuest) +\item + \Link[http://www.w3.org/MarkUp/Guide/Style + target="\string_blank"]{}{}% +CSS tutorial\EndLink{} (Dave Raggett) +\item + \Link[http://www.w3.org/TR/WD-xsl/ + target="\string_blank"]{}{}% + XSL\EndLink{} (W3C) +\item + \Link[http://www.w3.org/TR/xsl/ + target="\string_blank"]{}{}XSL-FO\EndLink{} (W3C) +\item + \Link[http://nwalsh.com/docs/tutorials/xsl/xsl/slides.html + target="\string_blank"]{}{}XSL Concepts and Practical Use\EndLink{} (Paul Grosso and Norman Walsh) +\EndList +\EndHPage{}, +% +\HPage{Validators}\ExitHPage{}\SubSection{Validators} + +\--Validation///% +\List{disc} +\item XML: xmllint +\item +CSS: +\Link[http://jigsaw.w3.org/css-validator/ + target="\string_blank" ]{}{}WDG + jigsaw.w3.org\EndLink{} + + + +\EndList +\EndHPage{} +% +\CR +Converters\BR into\BR HTML/XML: \& + +% http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html + +\ResourceList + + +%-------------------------------------------------------------------------- +\Item +\Link[http://www.astro.gla.ac.uk/users/norman/distrib/bibhtml.html + target="\string_blank"]{}{}BibHTML\EndLink{}\author + (Norman Gray)\ContItem +A Bib\TeX{} to HTML converter. +%-------------------------------------------------------------------------- +% \Item +% \Link[http://sgalland.multimania.com/english/tools/bib2html/ +% target="\string_blank"]{}{}Bib2HTML\EndLink{}\author +% (Stephane Galland)\ContItem +% Perl script for creating HTML output from a Bib\TeX{} database. +% Stéphane Galland <stephane.galland@emse.fr> +% at home sgalland@multimania.com +%-------------------------------------------------------------------------- +% \Item +% \Link[http://rikblok.cjb.net/scripts/bbl2html.awk +% target="\string_blank"]{}{}Bib2HTML\EndLink{}\author +% (Rik Blok)\ContItem +% AWK script for creating HTML output from a Bib\TeX{} database. +% %-------------------------------------------------------------------------- +% \Item +% \Link[http://www.uni-koblenz.de/ag-ki/ftp/bib2html/ +% target="\string_blank"]{}{}Bib2HTML\EndLink{}\author +% (David Hull)\ContItem +% Perl script for creating HTML output from a Bib\TeX{} database. +%-------------------------------------------------------------------------- +\Item +\Link[http://www.ibiblio.org/pub/packages/TeX/biblio/bibtex/utils/bibtools/bib2html + target="\string_blank"]{}{}Bib2HTML\EndLink{}\author + (David Kotz)\ContItem +Perl script for creating HTML output from a Bib\TeX{} database. +%-------------------------------------------------------------------------- +%-------------------------------------------------------------------------- +\Item +\Link[http://www.shelldorado.com/scripts/cmds/bib2html.txt + target="\string_blank"]{}{}Bib2HTML\EndLink{}\author + (Heiner Steven)\ContItem +AWK script for creating HTML output from a Bib\TeX{} database. +%-------------------------------------------------------------------------- +\Item +\Link[http://www.spinellis.gr/sw/textproc/bib2xhtml/ + target="\string_blank"]{}{}Bib2XHTML\EndLink{}\author + (Diomidis Spinelli)\ContItem +Bibtex styles and a Perl script driver for creating XHTML output from +BibTeX citations. +%-------------------------------------------------------------------------- +\Item +\Link[https://ctan.org/pkg/bib2ml + target="\string_blank"]{}{}Bib2ML\EndLink{}\author + (St\'ephane Galland)\ContItem + A Perl script for generating HTML, XML and SQL files +from Bib\TeX{} databases. +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.lri.fr/\string ~filliatr/bibtex2html/index.en.html + target="\string_blank"]{}{}Bib\TeX2HTML\EndLink{}\author + (Jean-Christophe Filliatre)\ContItem +A Bib\TeX{} to HTML converter written in Objective Caml. +%-------------------------------------------------------------------------- +\Item +\Link[http://www.blahtex.org/ + target="\string_blank"]{}{}Bib\TeX2HTML\EndLink{}\author + (David Harvey)\ContItem +A tool that translates TeX math into MathML for MediaWiki +%----------------------------------------------------------------------------------- +%%--------------------------------------------------------------------------- +\Item +\Link[http://www.mostang.com/\%7Edavidm/dlh.html + target="\string_blank"]{}{}Dlh\EndLink{}\author (David Mosberger)\ContItem + A C translator for converting from a subset of \LaTeX{} to HTML. +%----------------------------------------------------------- +% \Item +% \Link[http://www.dcs.fmph.uniba.sk/\string~emt/EmSystem.html +% target="\string_blank"]{}{}Euromath\EndLink{} \ContItem +% A converter from +% \LaTeX{} to Euromath SGML +%----------------------------------------------------------------------------------- +\Item +\Link[http://math.albany.edu:8000/math/pers/hammond/igl.html + target="\string_blank"]{}{}GELLMU\EndLink{}\author + (William F. Hammond)\ContItem + A general-purpose SGML authoring language based on +\LaTeX{} syntax. +% +% GELLMU is not LaTeX nor is it an HTML generator (but see below); rather it +% is a general-purpose SGML authoring language that is based on traditional +% LaTeX syntax (to the extent possible). +% +% The design of GELLMU envisions a three stage system. +% +% Stage 1 uses an E-lisp program to convert GELLMU input into an SGML +% document. (E-lisp is the dialect of Lisp that underlies GNU Emacs.) +% +% Stage 2 uses the SGML parser ``nsgmls'' of James Clark to produced a fully +% parsed text stream from the SGML arising out of stage 1. +% +% Stage 3 uses author-provided collections of Perl codelets for David +% Megginson's ``sgmlspl'' SGML-processing program, actually more of a +% % framework, that is part of his ``sgmlspm'' Perl library. +%----------------------------------------------------------------------------------- +% \Item +% \Link[http://www.psyx.org/mowgli/ +% target="\string_blank"]{}{}Hermes\EndLink{}\author +% (Romeo Anghelache)\ContItem +% A converted for a subset of \LaTeX{} concentrating on getting content-MathML +% out of math. +% From: Romeo Anghelache <romeo@psyx.org> +% Date: Fri, 26 Sep 2003 14:03:23 +0200 +% Message-ID: <3F742B0B.4040703@psyx.org> +% To: www-math@w3.org +% +% +% Hi, +% +% a new tool for getting Content-MathML out of LaTeX sources is in current +% development, its name is Hermes. +% Current version is 0.7 and is relatively useful for testing and feedback. +% It is covered by GPL, the details and the sources are available here +% (http://www.psyx.org/mowgli/). +% +% The official Hermes pages/presentations will grow here: +% http://relativity.livingreviews.org/Info/AboutLR/mowgli/index.html +% +% The updated source distributions versions of hermes will be also +% available on the MoWGLI project's website (http://www.mowgli.cs.unibo.it). +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.aei.mpg.de/hermes/ + target="\string_blank"]{}{}Hermes\EndLink{}\author + (Romeo Anghelache)\ContItem +A LaTeX to XML convertor with a presentation MathML target for math. +When possible, content MathML code is introduced as a wrapper that supplies semantics to the expressions. +Sources are compiled +with the native \TeX{} compiler to obtain output seeded with DVI specials. +A postprocessor extracts the output from the DVI code. + % http://www.ictp.trieste.it/~its/2004/casestudies/1/Hermes_files/frame.htm +%----------------------------------------------------------------------------------- +\Item +\Link[http://para.inria.fr/\string~maranget/hevea + target="\string_blank"]{}{}HEVEA\EndLink{}\author + (Luc Maranget)\ContItem +An Objective Caml translator from a subset of \LaTeX{} to HTML. +% From Luc.Maranget@inria.fr Mon Aug 3 00:29:53 EDT 1998 +% Article: 145813 of comp.text.tex +% Path: news.cse.ohio-state.edu!nntp.sei.cmu.edu!bb3.andrew.cmu.edu!honeys.cs.cmu.edu!goldenapple.srv.cs.cmu.edu!not-for-mail +% From: maranget@conti.inria.fr (Luc Maranget) +% Newsgroups: comp.text.tex +% Subject: HEVEA 1.0, a LaTeX to HTML translator in Caml +% Date: 1 Aug 1998 17:49:11 GMT +% Organization: INRIA Rocquencourt +% Lines: 41 +% Distribution: world +% Message-ID: <6pvken$3un$1@goldenapple.srv.cs.cmu.edu> +% Reply-To: Luc.Maranget@inria.fr +% NNTP-Posting-Host: raw.fox.cs.cmu.edu +% Originator: rowan@raw.fox.cs.cmu.edu +% Xref: news.cse.ohio-state.edu comp.text.tex:145813 +% +% It is my pleasure to anounce the first release of HEVEA. +% +% This is HEVEA, version 1.0, a fast LaTeX to HTML translator. +% +% +% HEVEA is a LaTeX to HTML translator. The input language is a fairly +% complete subset of LaTeX2e (old LaTeX style is also accepted) and the +% output language is HTML that is (hopefully) correct with respect to +% version 3.2. +% +% Exotic symbols are translated into symbols +% pertaining to the symbol font of the HTML browser, using the +% non-standard FACE attribute of the FONT tag. +% This allows the translation to HTML of quite a lot of the symbols +% used in LaTeX. +% +% HEVEA understands LaTeX macro definitions. Simple user style +% files are understood with little or no modifications. +% Furthermore, HEVEA customization is done by writing LaTeX code. +% +% HEVEA is written in Objective Caml, as many lexers. It is quite fast +% and flexible. Using HEVEA it is possible to translate large documents +% such as manuals, books, etc. very quickly. All documents are +% translated as one single HTML file. Then, the output file can be cut +% into smaller files, using the companion program HACHA. +% +% CONTACTS +% mail: Luc.Maranget@inria.fr +% distribution: ftp://ftp.inria.fr/INRIA/Project/para/hevea +% +% DOCUMENTATION +% On-line documentation is available at +% http://para.inria.fr/~maranget/hevea +% The first sections explain how to use hevea. +% +% IMPORTANT REQUIREMENT +% To compile HEVEA, you need Objective Caml 1.07, see +% http://caml.inria.fr/ocaml/ +% +% --Luc Maranget +% +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.gams.com/contrib/htex/htex.htm + target="\string_blank"]{}{}H\TeX\EndLink{}\author + (Thomas F. Rutherford)\ContItem + A preprocessor which expands +html by a new tag: \`'<eq>..</eq>'. An \''<eq>' +signifies the start of a \LaTeX-readable equation, +and a \''</eq>' indicates the end of an equation. Anything appearing +between these tags is treated as \LaTeX{} commands within a \`'displaymath' + section of a \LaTeX{} document. +% +%--------------------------------------------------------------------------- +\Item +\Link[http://www-db.stanford.edu/\string~sergey/htmltex/ + target="\string_blank"]{}{}Html\TeX\EndLink{} \author (Sergey Brin)\ContItem +Perl script for converting a subset of \LaTeX{} to HTML +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.southernct.edu/\string ~fields/htmx/ + target="\string_blank"]{}{}HTMX\EndLink{}\author (Joe Fields)\ContItem +Perl script for translating \LaTeX{} equations embedded within HTML into gif. +% +%----------------------------------------------------------------------------------- +\Item +\Link[http://hyperlatex.sourceforge.net/ + target="\string_blank"]{}{}Hyper\LaTeX\EndLink{}\author (Otfried Cheong)\ContItem +A processor for a subset of \LaTeX{} enriched with hypertext-oriented +commands. +% http://www.cs.uu.nl/\string~otfried/Hyperlatex +% +% \Link[http://www.postech.ac.kr/\string~otfried/html/hyperlatex.html +% +% In anticipation of my moving to Hong Kong, I have already moved the +% Hyperlatex homepage to ``http://www.cs.ust.hk/~otfried/hyperlatex.html''. +% The primary ftp distribution site is now ``ftp.cs.ust.hk:/pub/ipe''. +% +% Please update all links you may have to the Hyperlatex pages. +% (Roland, can you update the introductory text on the mailing list?) +% +% Otfried +% +%------------------------------------------------------------------------------ says that ----- +\Item +\Link[http://xxx.lanl.gov/hypertex/ + target="\string_blank"]{}{}Hyper\TeX\EndLink{}\author +(Tanmoy Bhattacharya, David Carlisle, Mark Doyle, Paul Ginsparg, Alan +Jeffrey, Hiroshi Kubo, Kasper Peeters, Sebastian Rahtz and Arthur +Smith)\ContItem{} A convention for inclusion of hyperlinks in TeX and LaTeX +documents, supported by packages that automatically introduce the +links into the code. +% +% 4.Invest in the hyperTeX conventions (standardised \special commands); +% there are supporting macro +% packages for plain TeX and LaTeX). +% +% The HyperTeX project aims to extend the functionality of all the LaTeX +% cross-referencing commands (including +% the table of contents) to produce \special commands which are parsed +% by DVI processors conforming to +% the HyperTeX guidelines; it provides general hypertext links, +% including those to external documents. +% +% The HyperTeX spec viewers/translators +% must recognize the following set of +% \special commands: +% +% href: +% html:<a href = ``href_string''> +% name: +% html:<a name = ``name_string''> +% end: +% html:</a> +% image: +% html:<img src = ``href_string''> +% base_name: +% html:<base href = ``href_string''> +% +% The href, name and end commands are used to do the basic hypertext +% operations of establishing links between +% sections of documents. +% +% Further details are available on http://xxx.lanl.gov/hypertex/; there +% are two commonly-used implementations of +% the specification, a modified xdvi and a modified dvips. Output from +% the latter may be used in a modified +% GhostScript or Acrobat Distiller. +%----------------------------------------------------------------------------------- +\Item +\Link[http://pear.math.pitt.edu/mathzilla/itex2mmlItex.html + target="\string_blank"]{}{}Itex2mml\EndLink{}\author + (Paul Gartside)\ContItem +A C program for translating a dialect of \LaTeX{} into MathML. +%----------------------------------------------------------------------------------- +\Item +\Link[http://dlmf.nist.gov/LaTeXML/ + target="\string_blank"]{}{}\LaTeX ML\EndLink{}\author + (Bruce Miller)\ContItem +A program for translating \LaTeX{} into XML (including XHTML and MathML). +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.tug.org/mailman/listinfo/latex2html + target="\string_blank"]{}{}\LaTeX 2HTML\EndLink{}\author + (Nikos Drakos)\ContItem + A perl script for translating \LaTeX{} into HTML. +% +% http://www.latex2html.org +% https://lists.tug.org/latex2html +% +% LaTeX2HTML needs Perl, the PBM utilities, dvips, GhostScript, and +% other sundries; it assumes it is running on a Unix system. Michel +% Goossens and Janne Saarela published a detailed discussion of +% LaTeX2HTML, and how to tailor it, in TUGboat 16(2). +%----------------------------------------------------------------------------------- +% \Item +% \Link[http://sunsite.sut.ac.jp/pub/archives/ctan/support/latex2hyp/ +% target="\string_blank"]{}{}\LaTeX 2hyp\EndLink{}\author +% (Roger Nelson)\ContItem +% A C program for converting \TeX{} and \LaTeX{} documents +% into plain text, capable of introducing HTML links. +%%----------------------------------------------------------------------------------- +\Item +\Link[http://ctan.tug.org/tex-archive/support/latex2man/latex2man.html + target="\string_blank"]{}{}\LaTeX 2man\EndLink{}\author + (J\"urgen Vollmer)\ContItem +A Perl script for translating UNIX manual pages written with \LaTeX{} + into UNIX man(1)-command, HTML, or Texinfo code. +%%----------------------------------------------------------------------------------- +% \Item +% \Link[http://www.soft4science.com/fr\string +% _index.html?/products/LaTeX2MathML/s4s\string_LaTeX2MathML.html +% target="\string_blank"]{}{}\LaTeX 2MathML\EndLink{}\author +% (Soft4Science)\ContItem +% A Microsoft .NET Framework program for translating LaTeX math expressions into MathML. +% +%%----------------------------------------------------------------------------------- + \Item + \Link[http://www.localghost.at/latex2mathml/ + target="\string_blank"]{}{}\LaTeX 2MathML\EndLink{}\author + (Jens Breit)\ContItem +A Python program to translate \LaTeX{} math into MathML. +%%----------------------------------------------------------------------------------- + \Item + \Link[http://www.cucat.org/projects/latex2mathml/index.php + target="\string_blank"]{}{}\LaTeX 2MathML\EndLink{}\author + (Greg Kearney)\ContItem + A Macintosh program to translate \LaTeX{} math into MathML. +% +% >From: Greg Kearney <gkearney@gmail.com> +% >To: Technical Developments Discussion List +% ><technical-developments@mail.daisy.org>, +% > Discussion of Digital Talking Books <dtb-talk@nfbnet.org>, +% > macvoiceover <macvoiceover@freelists.org> +% >Subject: LaTeX2MathML +% >Date: Sat, 31 Jan 2009 18:21:47 -0700 +% >X-Mailer: Apple Mail (2.930.3) +% > +% > +% >With the advent of MathML support in DAISY I have put together a +% >simple MacOS X program that will convert LaTeX math code into MathML +% >code. This is a GUI for blahtex. It is a universal application (intal +% >and PPC). You can get it and the Xcode source code from the following +% >URL: +% > +% >http://www.cucat.org/projects/latex2mathml/index.php +% > +% >Greg Kearney +% >535 S. Jackson St. +% >Casper, Wyoming 82601 +% >307-224-4022 +% >gkearney@gmail.com + +%%----------------------------------------------------------------------------------- +\Item +\Link[http://perso.wanadoo.fr/eric.chopin/latex/latex_subset.htm + target="\string_blank"]{}{}\LaTeX 4Web\EndLink{}\author + (Eric Chopin)\ContItem +A javascript for translating a subset of \LaTeX{} to HTML. +% +%----------------------------------------------------------------------------------- +\Item +\Link[http://yum.math.hmc.edu/ctan/support/ltoh/readme.html + target="\string_blank"]{}{}Ltoh\EndLink{}\author + (Russell W. Quong)\ContItem +A customizable Perl converter from a subset of \LaTeX{} to HTML. +% +%----------------------------------------------------------------------------------- +\Item +\Link[ftp://ftp.dante.de/tex-archive/support/ltx2x/ltx2x.html + target="\string_blank"]{}{}Ltx2x\EndLink{}\author (Pete R.r Wilson)\ContItem +A table-driven program that will replace \LaTeX{} commands by user + defined text. +% +%----------------------------------------------------------------------------------- +% \Item +% \Link[http://www.go.dlr.de/fresh/unix/src/www/.warix/math2html-1.3.tar.gz.html +% target="\string_blank"]{}{}Math2HTML\EndLink{}\author +% (Janne Saarela)\ContItem +% A bison program for converting \LaTeX{} mathematics and tables into HTML 3.0. +% +%----------------------------------------------------------- +% \Item +% \Link[http://www.stilo.com/news/pr-1999-06-12b.html +% target="\string_blank"]{}{}MathWriter\EndLink{}\author +% (Stilo)\ContItem +% A MathML (``MathWriter'') and XML (``WebWriter'') editors +% capable of inputing \TeX{} expressions. +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.mathtran.org/index.html + target="\string_blank"]{}{}MathTran\EndLink{}\author Jonathan Fine()\ContItem +A modified \TeX{} compiler aiming at translating mathematical content from TeX to MathML + and vice-versa, and to graphics formats. +% +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.micropress-inc.com/webb/wbstart.htm + target="\string_blank"]{}{} MicroPress + \TeX pider\EndLink{}\author (MicroPress)\ContItem +A modified \TeX{} compiler for PCs for translating \LaTeX{} to HTML. +% +%----------------------------------------------------------- +% \Item +% \Link[http://www.mathmlstudio.com/ +% target="\string_blank"]{}{} MathMLStudio\EndLink{}\author (?)\ContItem +% A translator for a subset of \TeX, \LaTeX, and AMS\TeX{} math into MathML. +% +%----------------------------------------------------------- +% \Item +% \Link[http://www.maths.tcd.ie/pub/openmath/ +% target="\string_blank"]{}{}Ml2om\EndLink{}\author +% (Richard M. Timoney)\ContItem +% \LaTeX{} math to OpenMath converter. +% +%----------------------------------------------------------- + \Item + \Link[http://www.orcca.on.ca/MathML/projects.html + target="\string_blank"]{}{}ORCCA\EndLink{}\author + (?)\ContItem +A Java program for translating TeX mathematics into MathML +%----------------------------------------------------------- +% \Item +% \Link[http://omega.enstb.org +% target="\string_blank"]{}{}Omega\EndLink{}\author +% (Yannis Haralambous and John Plaice)\ContItem +% A \TeX{} compiler capable of producing MathML code. +% %http://sourceforge.net/projects/omega-system/ +%----------------------------------------------------------- +\Item +\Link[http://plastex.sourceforge.net/ + target="\string_blank"]{}{}plasTeX\EndLink{}\author + (Kevin Smith)\ContItem +A \LaTeX{} document processing framework written entirely in Python. +A successor to +\Link[http://pylatex.sourceforge.net/ + target="\string_blank"]{}{}pyLaTeX\EndLink{}. +% Kevin.Smith@themorgue.org (Kevin Smith) +% equations are parsed into pseudo-mathml +%----------------------------------------------------------- +\Item +\Link[http://richdoc.sourceforge.net/doc/en/html/index.html + target="\string_blank"]{}{}RichDoc\EndLink{}\author + (Michal \v Sev\v cenko)\ContItem +A document preparation system capable to import \LaTeX{} and export HTML +%----------------------------------------------------------- +\Item +\Link[http://dione.zcu.cz/\string ~toman40/selathco/ + target="\string_blank"]{}{}Selathco\EndLink{}\author + (Petr Toman)\ContItem +A simple extensible \LaTeX{} to HTML converter written in Java. +%----------------------------------------------------------- +\Item +\Link[http://www.ph.ed.ac.uk/snuggletex/ + target="\string_blank"]{}{}SnuggleTeX\EndLink{}\author + (David McKain)\ContItem +A converter from a subset of \LaTeX{} to XHTML+MAthML written in Java. +%----------------------------------------------------------------------------------- +\Item +\Link[http://web.informatik.uni-bonn.de/\string + ~zach/vim/index.html + target="\string_blank"]{}{}\TeX2HTML\EndLink{}\author +(Gabriel Zachmann)\ContItem + Vim macros for converting from + \LaTeX{} to HTML +%%----------------------------------------------------------------------------------- +\Item +\Link[http://www.ccs.neu.edu/home/dorai/tex2page/tex2page-doc.html + target="\string_blank"]{}{}\TeX2Page\EndLink{}\author +(Dorai Sitaram)\ContItem +A Scheme script for translating a subset of plain \TeX{} to +HTML. +% was +% http://www.cs.rice.edu/\string~dorai/tex2html/tex2html.html +%----------------------------------------------------------------------------------- +\Item +\Link[https://ctan.org/pkg/tex2rtf + target="\string_blank"]{}{}\TeX 2RTF\EndLink{}\author + (Julian Smart)\ContItem +tmEA A C++ utility for converting from a subset of \LaTeX{} to HTML and other formats. +%%%-----------------------------------------------------------------------------------%----------------------------------------------------------------------------------- +\Item +\Link[http://www.cmt.phys.kyushu-u.ac.jp/\string + ~M.Sakurai/java/sdoc/index-e.html + target="\string_blank"]{}{}tex2sdoc\EndLink{}\author + (Masashi Sakurai)\ContItem +A Java program for translating a subset of \LaTeX{} into +\Link[http://www.asahi-net.or.jp/\string + ~dp8t-asm/java/tools/SmartDoc/]{}{}SmartCode\EndLink +%%%----------------------------------------------------------------------------------- +\Item +\Link[http://www.mathematik.uni-kl.de/\string~obachman/Texi2html/ + target="\string_blank"]{}{}Texi2HTML\EndLink{}\author +(Lionel Cons)\ContItem +A Perl script for converting Texinfo manuals to HTML. +%----------------------------------------------------------------------- +% \Item +% \Link[http://sunland.gsfc.nasa.gov/info/texi2www/ +% target="\string_blank"]{}{}Texi2www\EndLink{}\author +% (Tim Singletary)\ContItem +% Converts Texinfo manuals to HTML. +% Another Perl script for converting Texinfo manuals to HTML. +% +%--------------------------------------------------------------------------- +\Item +\Link[http://www.ktalk.com/texport-web.html + target="\string_blank"]{}{}\TeX Port WEB\EndLink{}\author (K-talk Communications)\ContItem +A program running on MS-DOS or + MS-Windows. +%--------------------------------------------------------------------------- +\Item +\Link[http://www.xm1math.net/ttwp/index.html + target="\string_blank"]{}{}TexToWebPublishing\EndLink{}\author (P.Brachet / J.Amblard)\ContItem +A perl script for producing HTML from \LaTeX{} +%--------------------------------------------------------------------------- +% \Item +% \Link[http://www-unix.mcs.anl.gov/\string~gropp/manuals/tohtml/tohtml.html +% target="\string_blank"]{}{}Tohtml\EndLink{}\author (William Gropp)\ContItem +% A C program for translating a subset of \LaTeX{} to HTML. +% %----------------------------------------------------------------------------------- +%--------------------------------------------------------------------------- +\Item +\Link[http://www-sop.inria.fr/miaou/Jose.Grimm/tralics/ + target="\string_blank"]{}{}Tralics\EndLink{}\author (José Grimm)\ContItem + A C++ program for translating a subset of \LaTeX{} to a local XML. +----------------------------------------------------------------------------------- +\Item +\Link[http://hutchinson.belmont.ma.us/tth/ + target="\string_blank"]{}{}Tth\EndLink{}\author +(Ian Hutchinson)\ContItem +%hutch@pfc.mit.edu +A C program for translating a subset of plain \TeX{} and \LaTeX{} +into HTML. Uses special fonts and tables to represent formulas. +% +% omp.text.tex #118834 (0 + 10 more) +% From: Ian Hutchinson <hutch@pfc.mit.edu> +% Newsgroups: comp.text.tex,comp.infosystems.browsers.x +% Subject: tth Plain TeX to HTML translator does LaTeX too. +% Date: Fri May 23 20:53:46 EDT 1997 +% Organization: MIT +% Lines: 16 +% Mime-Version: 1.0 +% Content-Type: text/plain +% Content-Transfer-Encoding: 7bit +% X-Mailer: Mozilla 3.0 (X11; I; Linux 2.0.28 i486) +% CC: hutch@pfc.mit.edu +% +% tth is a TeX to HTML translator that renders mathematics and most of the +% relevant aspects of TeX into HTML3.2. +% +% It does not use images for hard-to-translate items like mathematics. +% Instead it uses fonts and HTML tables to give compact output that is +% semantically correct. It consists of a single executable available as a +% single C file and therefore portable to any system. Some precompiled +% executables are also available. Installation is trivial. +% +% tth is extremely fast, and hence suitable for a CGI script. +% +% In the latest version, 0.60, tth simultaneously supports a major subset +% of LaTeX. +% +% omp.text.tex #114492 (0 + 4 more) +% [1] +% From: Ian Hutchinson <hutch@pfc.mit.edu> +% [1] Plain TeX to HTML Translator: tth +% Date: Sat Mar 15 21:19:39 EST 1997 +% Organization: MIT +% Lines: 18 +% Mime-Version: 1.0 +% Content-Type: text/plain +% Content-Transfer-Encoding: 7bit +% X-Mailer: Mozilla 3.0 (X11; I; Linux 2.0.28 i486) +% +% Version 0.2 of tth, may be obtained from. +% +% http://venus.pfc.mit.edu/tth/ +% +% It translates TeX source that uses the plain macro package (not LaTeX) +% into a near equivalent in HTML. +% +% It can't do a perfect job, of course, because HTML is not capable of +% many of TeX's more subtle tricks. Nevertheless, on TeX files that are +%% predominantly text and use standard constructs and macros, the results +%% are rather satisfactory. +%% +%% The new version adds support for \def, \edef, \xdef, and counters. +%% +%% LaTeX has its own translator, latex2html, which is recommended for +%% LaTeX +%% code. +%% +%% Ian Hutchinson. +%% +%%----------------------------------------------------------- +%From rubber@bounce.com Fri Feb 20 10:25:23 EST 1998 +%Article: 134658 of comp.text.tex +%Path: news.cse.ohio-state.edu!news.maxwell.syr.edu!nntp.news.xara.net!xara.net!server6.netnews.ja.net!server4.netnews.ja.net!server2.netnews.ja.net!news.ox.ac.uk!not-for-mail +%From: rubber@bounce.com (Keith Refson - real email address in signature) +%Newsgroups: comp.text.tex +%Subject: Re: Alternatives to latex2HTML +%Date: 20 Feb 1998 13:55:14 +0000 +%Organization: Oxford University +%Lines: 65 +%Sender: keith@everest +%Message-ID: <wxbtw2bcu5.fsf@earth.ox.ac.uk> +%References: <pfroehli-1602981824130001@uss-excalibur.ics.uci.edu> +% <3463E1.4E3E337F@pfc.mit.edu> <lbzg1lhnz3j.fsf@tag.uio.no> +% <34873.349FD14@pfc.mit.edu> <bonard.887900444@hqedqr48> +% <wxpvkjtxdi.fsf@earth.ox.ac.uk> +%NNTP-Posting-Host: everest.earth.ox.ac.uk +%Mime-Version: 1.0 (generated by -edit 7.106) +%Content-Type: text/plain; charset=US-ASCII +%X-Newsreader: Gnus v5.3/Emacs 19.34 +%Xref: news.cse.ohio-state.edu comp.text.tex:134658 +% +% +%In some earlier ramblings I wrote: +% +%> I did take a look at ttH but I couldn't even look at the homepage +%> without reconfiguring my browser. +% +%Although that was factually correct it could give a misleading +%impression that I was criticizing ttH, which I hadn't even tried. +%Well I feel a bit guilty about that, so now I *have* tried it out. +% +%1) It certainly does work as advertised. In fact you can display +% simple maths by adding a 1 line X resource for Netscape. +% The documentation claims you can improve the output further, +% but this is at the cost of some highly undesirable mucking +% about with font aliases in the X server which I imagine +% would cause many other problems not just for Netscape but +% for other X programs. +% +% Unfortunately this does really rule it out for web *publishing* +% for my purposes. But it could be very useful in, say, a +% teaching laboratory or local environment where you have +% administrative control over which browsers are installed and +% their setup. +% +%2) The maths handling *is* limited. It doesn't do well on +% complex or sophisticated maths, a limitation of it's +% all-html approach. But simple display formulae, equations, +% matrices, sums and integals do come out surprisingly readable. +% +%3) You get 1 huge html file at the end. There is a version which +% handles this better but it costs money. +% +%4) Handling of included graphics is rudimentary compared to +% latex2html. Simple \includegraphics of ps or +% should work, but my figures are more complicated than that! +% +%5) There are some bugs in the parser: eg it can't handle +% switching back to text mode inside an equation properly +% and crashes. However this is no worse than I found with +% the earlier versions of latex2html. +% +%6) It does run about 1000 times faster than latex2html! No, that +% isn't a mistype! +% +%7) It doesn't seem to be available in source form so presumably +% only the author can fix bugs. (You get a compilable C +% file but the real sources are in lex and yacc and you don't get +% those.) +% +%8) It's only free for non-commercial use but can be purchased for +% commercial applications. +% +% +%I expect there are many circumstances where ttH will be very useful, +%notably where the maths is simple or unimportant. In its present form +%it can't replace latex2html for mathematical documents. +% +%Keith Refson +%--------------------------------------------------------------------------- +\Item +\Link[http://www.plover.com/\string ~mjd/vulcanize.html + target="\string_blank"]{}{}Vulcanize\EndLink{}\author (Mark-Jason Dominus)\ContItem +A Perl program for translating a subset of \LaTeX{} to HTML. +% +% What is Texinfo? +% +% Texinfo is a documentation system that uses one source file to produce +% both on-line information and printed +% output. So instead of writing two different documents, one for the +% on-line help and the other for a typeset +% manual, you need write only one document source file. When the work is +% revised, you need only revise one +% document. You can read the on-line information, known as an ``Info +% file'', with an Info documentation-reading +% program. By convention, Texinfo source file names end with a .texi or +% .texinfo extension. You can write +% and format Texinfo files into Info files within GNU emacs, and read +% them using the emacs Info reader. If you do +% not have emacs, you can format Texinfo files into Info files using +% makeinfo and read them using info. +% +% The Texinfo distribution, including a set of TeX macros for formatting +% Texinfo files is available as +% macros/texinfo/texinfo-3.9.tar.gz (also available as a .zip file +% macros/texinfo/texinfo-3.9.zip). +% +% Making Acrobat documents from LaTeX +% +% In the simplest case, use your DVI to PostScript driver, and run the +% result through Adobe's Acrobat Distiller; +% even simpler, if you use a Mac or Windows TeX system, is to install +% Acrobat Exchange, and use PDFwriter like +% a printer from your application. The latter is a dead end, though fine +% for simple documents, since you can't +% insert extra hyperlinks in the PDF output. For that, you most +% other translators) and gives access to all the +% functionality of pdfmark. +% +% Sadly, there are no free implementations of Distiller, nor any signs +% of them. GhostScript (versions 3.51 +% onwards) can display and print PDF files, however, if you are on a +% platform with no Acrobat Reader. You may +% see a DVI to PDF translator soon, but do not hold your breath. +% +%--------------------------------------------------------------------------- +% \Item +% \Link[http://mathosphere.net/editeurml/WeM.html +% target="\string_blank"]{}{}VeM\EndLink{}\author (St\'ephan +% S\'emirat)\ContItem +% A PHP program for translating a subset of \LaTeX{} to MathML. +%--------------------------------------------------------------------------- +\Item +\Link[http://www.dessci.com/en/products/webeq + target="\string_blank"]{}{}WebEQ\EndLink{}\author (Mark-Jason Dominus)\ContItem +MathML fro a \TeX{} variant named WebTeX +%----------------------------------------------------------------------------------- +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.gold-saucer.org/mathml/greasemonkey/ +%http://planetx.cc.vt.edu/AsteroidMeta/Display\string_LaTeX + target="\string_blank"]{}{}LaTeX on Web pages\EndLink{}\author + (Steve Cheng)\ContItem +A JavaScript program for translating \LaTeX{} into MathML for rendering on the web. +%----------------------------------------------------------------------------------- +\Item +\Link[http://www.math.union.edu/\string~dpvc/jsMath/ + target="\string_blank"]{}{}jsMath\EndLink{}\author + (Davide P. Cervone)\ContItem +A JavaScript program for rendering \LaTeX{} on the web. +%%-------------------------------------------------------------------------- +\EndResourceList +%-------------------------------------------------------------------------- +\CR +Backward\BR Converters: \& +\ResourceList +\Item + \Link[http://www.chemie.fu-berlin.de/chemnet/use/gf.html + target="\string_blank"]{}{}% + Gf\EndLink{}\author (Gary Houston)\ContItem + SGML to \LaTeX +% \Item +% \Link[http://www.hut.fi/\string~jkorpela/h2l/ +% target="\string_blank"]{}{}% +% H2l\EndLink{}\author (Jukka Korpela)\ContItem A C program converting HTML to \LaTeX +\Item + \Link[http://www.wildfire.dircon.co.uk/htex.html + target="\string_blank"]{}{}% + Htex\EndLink{}\author (Toby Thurston)\ContItem HTML to \LaTeX +\Item + \Link[http://htmltolatex.sourceforge.net/ + target="\string_blank"]{}{}% + HTMLtoLaTeX\EndLink{}\author (Michal Kebrt)\ContItem +A Java program +\Item + \Link[http://www.lib.rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/ + target="\string_blank"]{}{}% + HTML2\LaTeX\EndLink{}\author (Davide Cervone \string& Jeffrey Schaefer, Geometry Center)\ContItem +A Perl script for converting HTML into \LaTeX +\Item + \Link[ftp://ftp.dante.de/tex-archive/support/html2latex/ + target="\string_blank"]{}{}% + HTML2\LaTeX\EndLink{}\author (Nathan Torkington)\ContItem +A C-program relying on the HTML parser of the +NCSA Mosaic HTML browser. +%----------------------------------------------------------------------------------- +\Item + \Link[http://html2latex.sourceforge.net/ + target="\string_blank"]{}{}% + HTML2\LaTeX\EndLink{}\author (Peter Thatcher)\ContItem +A Perl script for converting HTML into \LaTeX +% also at http://www.go.dlr.de/fresh/unix/src/www/html2latex-1.1.tar.gz +%----------------------------------------------------------------------------------- +\Item +\Link[http://home.planet.nl/\string ~faase009/html2tex.html + target="\string_blank"]{}{}HTML2\TeX\EndLink{}\author +(Frans J. Faase)\ContItem +C macros for converting from +HTML 2 to \LaTeX{} +% %----------------------------------------------------------------------------------- +% \Item +% \Link[http://www.igd.fhg.de/\string~zach/vim/ +% target="\string_blank"]{}{}HTML2\TeX\EndLink{}\author +% (Gabriel Zachmann)\ContItem +% Vim macros for converting from +% HTML to \LaTeX{} +%----------------------------------------------------------------------------------- +\Item + \Link[http://sourceforge.net/projects/jadetex +%http://www.tug.org/applications/jadetex/ + target="\string_blank"]{}{}% + Jade\TeX\EndLink{}\author (Sebastian Rahtz)\ContItem +SGML to \TeX{} using DSSSL Formatting Objects and +the Jade program of James Clark +% From: Sebastian Rahtz <sebastian.rahtz@computing- | |-(2)--(2) +% + services.oxford.ac.uk> | \-(2) +% [1] Re: ANN: SGMLbase and HTMLbase \-(1)--(1)+-(1) +% Date: Fri Jan 14 04:27:29 EST 2000 \-(1)--[1] +% > I am most interested in an alternative to Jade+DSSSL+JadeTeX for hard +% > copy output from SGML. +% +% write a trivial application using a Perl module like SGMLSpm to +% generate plain LaTeX. that works, no doubt about it. JadeTeX is a joke +% (I speak as the author :-}) +\Item + \Link[http://www.tei-c.org.uk/Software/passivetex/ + target="\string_blank"]{}{}% + Passive \TeX\EndLink{}\author (Sebastian Rahtz)\ContItem +XML to \LaTeX{} using XSL + Formatting Objects +\Item + \Link[http://www.ucc.ie/info/TeX/sgml2tex.html + target="\string_blank"]{}{}% + SGML2\TeX\EndLink{}\author (Peter Flynn)\ContItem +A PCL (Personal Computer Language, an interpreted language for DOS) +program +% \Item +% \Link[http://www.active-tex.demon.co.uk +% target="\string_blank"]{}{}% +% SGMLbase\EndLink{}\author (Jonathan Fine)\ContItem +% A TeX-based parser for SGML with a style file HTMLbase for typsetting +% HTML documents. +%--------------------------------------------------------------------- +\Item + \Link[http://www.alphaworks.ibm.com/aw.nsf/techreqs/texml + target="\string_blank"]{}{}% + \TeX ML\EndLink{}\author (Doug Lovell)\ContItem +A JAVA translator from \TeX ML-conforming XML into \TeX. +% TeXML? No, dont believe all you read. TeXML is an XML DTD for +% expressing LaTeX. You write a transformation specification which +% expresses your XML in TeXML, and then they have a little processor to +% make `traditional' LaTeX. You still get to do all the hard work! +%--------------------------------------------------------------------- +\Item + \Link[http://getfo.sourceforge.net/texml/ + target="\string_blank"]{}{}% + \TeX ML\EndLink{}\author (Oleg Paraschenko)\ContItem +A Perl translator from \TeX ML-conforming XML into \TeX. +%--------------------------------------------------------------------- +\Item + \Link[http://kebrt.webz.cz/programs/word-to-latex/index.html + target="\string_blank"]{}{}% + Word-to-LaTeX\EndLink{}\author (Michal Kebrt)\ContItem +A C\# program running on Windows with Microsoft Word installed. +\Item + \Link[http://www.hj-gym.dk/\string~hj/writer2latex/ + target="\string_blank"]{}{}% + Writer2\LaTeX\EndLink{}\author (Henrik Just)\ContItem +A Java application for translation OpenOffice documents into \LaTeX +% +% \Item +% \Link[http://www.jclark.com/xml/xt.html +% target="\string_blank"]{}{}% +% XT\EndLink{}\author (James Clark)\ContItem Implementation in Java for +% \Link[http://www.w3.org/TR/xslt +% target="\string_blank"]{}{}% +% XSL Transformations (XSLT) 1.0\EndLink{}: +% A language for expressing transformations on XML documents. +\Item + \Link[ftp://ftp.dante.de/pub/tex/support/word2latex/ + target="\string_blank"]{}{}% + W2LTX\EndLink{}\author (Ingo H. de Boer)\ContItem +A mostly Unix based API for translating +MS Word documents to LaTeX. +\Item + \Link[ftp://ftp.tex.ac.uk:/tex-archive/macros/xmltex/base/manual.html + target="\string_blank"]{}{}% + XML\TeX\EndLink{}\author (David Carlisle)\ContItem +A system for typesetting XML files with \TeX. +% +\Item + \Link[http://www.cse.ohio-state.edu/\string~gurari/tug99/indexSl57.html + target="\string_blank"]{}{}% + Brute Force\EndLink{} \ContItem +\EndResourceList +%-------------------------------------------------------------------------- +\CR +Converters\BR for other\BR formats: \& +\ResourceList +%%---------------------------------------------------------------------------- +\Item +\Link[http://dvi2bitmap.sourceforge.net/ + target="\string_blank"]{}{}Dvi2bitmap\EndLink{}\author (Norman Gray)\ContItem + A DVI to GIF and XBM translator. +%%---------------------------------------------------------------------------- +\Item +\Link[http://www.ags.uni-sb.de/\string ~adrianf/dvi2svg/help.html + target="\string_blank"]{}{}Dvi2Svg\EndLink{}\author (Adrian Frischauf)\ContItem + A DVI to SVG translator. +%%---------------------------------------------------------------------------- +\Item +\Link[http://gaspra.kettering.edu/dvipdfm/ + target="\string_blank"]{}{}Dvipdfm\EndLink{}\author (Mark A. Wicks)\ContItem + A DVI to PDF translator. +%%---------------------------------------------------------------------------- +\Item +\Link[http://dvipng.sourceforge.net/dvipng.html + target="\string_blank"]{}{}dvipng{}\author (Jan-Ake Larsson)\ContItem +A DVI to PNG and GIF convertor. It supports PostScript inclusion. +%%---------------------------------------------------------------------------- +\Item +\Link[http://dvisvg.sourceforge.net/ + target="\string_blank"]{}{}DviSvg\EndLink{}\author (Rudolf Sabo)\ContItem + A DVI to SVG translator. + +% dvisvgm is a command line utility for converting DVI files to SVG +% (Scalable Vector Graphics). The latest release 0.4.2 fixes some bugs and +% introduces options for SVG transformations (rotation, translation, scaling +% etc.) +% +% dvisvgm has been sucessfully tested on various Linux (teTeX) and Windows +% (MikTeX) systems. Precompiled versions for Windows/MikTeX can be +% downloaded from the project homepage (see README for further information). + +%%---------------------------------------------------------------------------- +\Item +\Link[http://dvisvgm.sourceforge.net/ + target="\string_blank"]{}{}DviSvgm\EndLink{}\author (Martin Gieseking)\ContItem + A DVI to SVG translator. +%%---------------------------------------------------------------------------- +% \Item +% \Link[http://www.tug.org/TUGboat/Articles/tb22-4/tb72goo.pdf +% target="\string_blank"]{}{}Dvi2Svg\EndLink{}\author (Michel Goossens and Vesa Sivunen)\ContItem +% A DVI to SVG translator. +%%---------------------------------------------------------------------------- +\Item +\Link[http://www.grindeq.com/ + target="\string_blank"]{}{}GrindEQ\EndLink{}\author ()\ContItem + Converter from LaTeX equations to MS Word and backward. +%%%---------------------------------------------------------------------------- +\Item +\Link[http://www.forkosh.com/ + target="\string_blank"]{}{}MimeTeX\EndLink{}\author (John Forkosh)\ContItem +A server side parses for LaTeX math expressions, emitting either mime + xbitmaps or gif images of them +% +%%---------------------------------------------------------------------------- +% \Item +% \Link[ +% target="\string_blank"]{}{}ltx2rtf\EndLink{}\author (Georg Lehner)\ContItem +% La\TeX{} to MicroSoft Word +% %%---------------------------------------------------------------------------- +% \Item +% \Link[ +% target="\string_blank"]{}{}ltx2rtf\EndLink{}\author (Georg Lehner)\ContItem +% La\TeX{} to MicroSoft Word +%%---------------------------------------------------------------------------- +\Item +\Link[http://www.tug.org/utilities/texconv/ltx2rtf3.html + target="\string_blank"]{}{}ltx2rtf\EndLink{}\author (Daniel Taupin)\ContItem + La\TeX{} to MicroSoft Word (rtf: Rich Text Format) +%%---------------------------------------------------------------------------- +% \Item +% \Link[http://pantheon.yale.edu/\string~pmm34/leq.html +% target="\string_blank"]{}{}LEQ\EndLink{}\author (Paul Magwene)\ContItem +% La\TeX{} to MicroSoft Word +%%---------------------------------------------------------------------------- +\Item +\Link[https://tug.org/applications/pdftex/ + target="\string_blank"]{}{}Pdf\TeX\EndLink{}\author (Han The Thanh)\ContItem +An extension of the \TeX{} compiler +offering native output for the Portable Document Format (pdf) output. +% +%ftp://ftp.cstug.cz/pub/tex/local/cstug/thanh/ +% +% Re: tex2pdf binary for Linux ? +% Date: Fri Mar 07 07:16:40 EST 1997 +% Organization: Elsevier Science Ltd +% Lines: 44 +% In-reply-to: mnikunen@mat-48.pc.helsinki.fi's message of 6 Mar 1997 17:18:19 +% + GMT +% X-Newsreader: Gnus v5.1 +% +% Changing libpng headers and the library to newer versions helped me to get +% it compiled and it seems to work OK for a couple of plain documents that I +% have tried. The file example.tex, however, makes r less any Unix system). A \ +% compiled +% binary for Windows NT/95 should be available soon. +% +% PLEASE do not jump into this stuff without accepting it as beta +% status. I don't think Han The Thanh will thank me if announcements like +% this get him deluged with mail saying `where is the Mac version' or +% . +% +% In order to help promulgate information about this development, and +% exchange ideas, the TeX Users Group is hosting a mailing list. If you +% want to join, send a mail message to +% +% +% +% There are several routes. One is to use DVIPS or similar PS driver +% and then pump the result through Adobe Acrobat Distiller. A less +% desirable method involves printing via the PDFWriter. There are +% also programs being written to go direct from DVI to PDF, and +% direct from TeX to PDF. These ar mentioned often on this news group. +% +% Check out http://www.YandY.com/pdf-from.pdf and also links to +% other web sites discussion this issues on the `Other Information +% Sources' on that site. Check the comp.text.pdf news group. +% +% +%%---------------------------------------------------------------------------- +% \Item +% \Link[http://shika.aist-nara.ac.jp/products/plain2/plain2.html +% target="\string_blank"]{}{}Plain2\EndLink{}\author (Akihiro Uchida)\ContItem +% Plain text to \TeX, ROFF and HTML. +%%---------------------------------------------------------------------------- +\item{\LaTeX{} to ... } +Convert to HTML, then according to the target +\List{} +\item{Text} +Save the view of the outcome on a +text-based browser +(e.g., \''lynx -dump foo.html > foo.txt', or +\Link[http://www.w3m.org/]{}{}w3m\EndLink{}; the latter one might +treat tables better) +\item {Word} +\''Word', and some other word processors, can load HTML files. The \`'uxhlatex' +is probably the best setting of \TeX4ht for such translations. +\EndList +%----------------------------------------------------------------------------------- +% \Item +% \Link[http://www.htmlscript.com/docs/userdocs.htm +% target="\string_blank"]{}{}HtmlScript\EndLink{}\ContItem +% An extended html development language to be translated by a +% \Link[http://hoohoo.ncsa.uiuc.edu/cgi/ +% target="\string_blank"]{}{}CGI\EndLink{} +% into html. +% % +% +% \Link[http://www.geom.umn.edu/software/WebEQ/]{}{}webEQ\EndLink{}: +% A java applet for including mathematics in documents. +% +% TTTTo use WebEQ, you must use a browser that can run Java +% . This immediately excludes a large fraction of your +% balise% readers. Java is also known to pose security risks. applet +% takes a long time to load. Upon visiting the WebEQ home page, it took +% 40 seconds for me to see one equation. YYYYou can't print any of the +% output from WebEQ. WWWWebEQ isn't extensible or +% reconfigurable. WWWWebEQ expects you to write your equations in a +% highly presentational language that is based half on TEX and half on +% the expired HTML 3.0 draft. It is not especially complicated, but it +% is tedious because there are no definitions for common mathematical +% constructs: you basically do the layout yourself. Moreover, the +% limited nature of the medium makes it difficult for your equation to +% be presented in a text-based browser or using a speech synthesis +% system. TTTTo put an equation into your document, you have to insert +% an APPLET element and then place PARAM tags within it to provide the +% expression, which increases typing and makes editing +% inconvenien% +% t. This combines with the presentational syntax to make for +% a lot of code even for the simplest expressions. + +\EndResourceList +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \CR[C2<] +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \HPage{Conversion to Bitmaps} +% \ExitHPage{}\SubSection{Conversion to Bitmaps} +% \List{*} +% \item +% \Link[http://www.fourmilab.ch/webtools/textogif/textogif.html]{}{}\TeX togif\EndLink{} (John Walker) +% \item +% \Link[http://www.astro.gla.ac.uk/users/norman/star/dvi2bitmap/]{}{}Dvi2bitmap\EndLink{}: +% direct conversion of Dvi to Gif (Norman Gray) +% \item +% \Link[http://www.slurm.com/gf2gifs/]{}{}gf2gifs\EndLink{}: +% A Java program for converting MetaFont files into GIF images (Richard Blaylock ) +% % From: Richard Blaylock <blaylock@slurm.com> +% % To: ``Eitan M. Gurari'' <gurari@cse.ohio-state.edu> +% % Subject: gf2gifs link +% % Date: Thu, 24 May 2001 10:05:36 -0700 (PDT) +% % +% % +% % Hi, +% % +% % Thanks for putting the link to my GF2GIFs program on +% % http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn64.html +% % +% % When you get a chance, you could take away the question mark +% % after my name since, yes, I really am the author. +% % +% % Thanks again, +% % Richard Blaylock + +%\EndList +%\EndHPage{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% {\tt |} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \HPage{math on the web} +% \ExitHPage{}\SubSection{math on the web} +% \List{*} +% \item +% \Link[http://www.w3.org/Math/]{}{}W3C\EndLink 's math home page +% \item +% \Link[http://www.oasis-open.org/cover/topics.html]{sgml-math}{}OASIS\EndLink +% 's resources on SGML and math. +% % \item +% % \Link[http://www.oreilly.com/people/staff/crism/math/]{}{}Chris Maden\EndLink. +% % A note about the +% % semantic of mathematical markup +% \item +% \Link[http://mathforum.org/typesetting/index.html] +% Typesetting for the Internet\EndLink. A review of methods. +% % \item +% % \Link[http://www.nag.co.uk/projects/OpenMath/]{}{}OpenMath\EndLink. +% % \item +% % \Link[http:www.mathtype.com]{}{}MathType\EndLink{}. An interactive editor +% % for mathematical formulas in \LaTeX{} and MathML. +% % \item +% % \Link[http://www.webeq.com/WebEQ/2.3/docs/webtex/webtex.html]{}{}Web\TeX\EndLink. +% % A \LaTeX-like equation markup language understood by the MathML-based +% % viewer WebEQ. +% % \item +% % \Link[http://www.nikhef.nl/\string~t16/public/ndvi/ndvi\string_doc.html]{}{}nDVI\EndLink{} +% % (Kasper Peeters). +% % A DVI viewer plugin for Unix Netscape. +% % \item +% % \Link[http://www.mnemonic.org//mnemonic/documentation/doc/www/index.html]{}{}Mnemonic\EndLink. +% % A browser under development supporting mathematics typesetting in +% % the form of MathML and \TeX. +% % \item +% % \Link[http://www-4.ibm.com/software/network/techexplorer/]{}{}Techexplorer\EndLink. +% % A plug-in for browsers, enabling the display of TeX, LaTeX, and +% % MathML +% % \item +% % \Link[http://www.mozilla.org/projects/mathml]{}{}MathML in +% % Mozilla\EndLink +% % \item +% % \Link[http://hutchinson.belmont.ma.us/tth/]{}{}TTH\EndLink. +% % Translates a subset of \TeX{} and \LaTeX{} math +% % to a table-based representation and to MathML. +% % \item +% % \Link[http://genepi.louis-jean.com/omega/lyonmathml.pdf]{}{}Omega\EndLink. +% % A \TeX{} compiler with extra primitive to support SGML (and MathML) output. +% %%%%%%%%%%%%%%%%% +% \EndList \EndHPage{} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% {\tt |} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \HPage{web publishing with LaTeX} +% \ExitHPage{}\SubSection{Web Publishing} +% \List{*} +% \item +% \Link[ftp://ctan.tug.org/tex-archive/info/webguide/webguide.html]{}{}A +% Brief Guide to LaTeX Tools for Web Publishing\EndLink{} (Peter R. Wilson) +% \EndList \EndHPage{} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% {\tt |} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \HPage{conversion services} +% \ExitHPage{}\SubSection{Conversion Services} +% \List{*} +% \item +% \Link[http://wheel.compose.cs.cmu.edu:8001/cgi-bin/browse/objweb]{}{}TOM +% (Typed Object Model)\EndLink +% \EndList \EndHPage{} +\EndHTable + + +\DocPart{License} + +\TeX4ht is provided under the +\Link[http://mirror.ctan.org/macros/latex/base/lppl.txt]{}{}LaTeX +Project Public License\EndLink{} (LPPL). + + + +\DocPart{Acknowledgment} + +Eitan gratefully acknowledges the suggestions, contributions, and bug reports +offered by many people. In particular, thanks go to Carmen Fierro, +Piotr Grabowski, Gertjan Klein, Sebastian Rahtz, and Philip Viton for +extensive feedback and help at early stages of this project. + +Eitan's work was partially sponsored by NSF grant IIS-0312487. + +\Sign{https://tug.org/tex4ht} + {\ifcase \month \or + January \or February \or March \or April \or May \or June \or July + \or August \or September \or October \or November \or December \fi + \the\day, \the\year} + + + +% \IgnorePar\EndP \Tg<hr /> + +% \TableOfContents[DocPart] + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\HPage{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% index +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NextFile{\jobname-index.html}\HPage{} +\rightline{\Link[\jobname.html]{}{Index}up\EndLink} +\DocPart{Index} + + + +\HAssign\ICount=0 + +\let\svIndexEntry\IndexEntry +\def\IndexEntry#1#2#3#4{\bgroup + \let\sv=\Link + \def\Link[##1]##2##3##4\EndLink{\sv[##1]{##2}{##3}\ICount\EndLink}% + \gHAdvance\ICount by 1 + \IndexSec#1//\let\IndexSec=\relax + \svIndexEntry{#3#1}{#2}{}{#4}% + \egroup} + +\catcode`\:=11 + \def\IndexSec#1#2//{% + \tmp:cnt=`#1\relax + \ifnum \tmp:cnt>`Z \advance\tmp:cnt by -32 \fi + \ifnum \tmp:cnt<`A \else \ifnum \tmp:cnt>`Z \else + \ifnum \Idx:ch<\tmp:cnt + \Configure{leftline} + {\HCode{<br /><br /><span \Hnewline + class="IndexSec">}}{\HCode{</span><br />}} + \leftline{\bf \char\tmp:cnt }% + \xdef\Idx:ch{\the\tmp:cnt}% + \global\let\prev:A\:UnDef + \fi + \fi \fi % #1% + } +\catcode`\:=12 + + +\Index + + +\csname SysNeeds\endcsname{"rm \jobname.xdi"} +\csname SysNeeds\endcsname{"sort -f \jobname.idx -o \jobname.xdi"} + + + +\EndHPage{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % can't clean the full directory because + % the new html stuff is already there + %%%%%%%%%%%%%%% FIRST %%%%%%%%%%%%%%%%%%%%% + +\csname SysNeeds\endcsname{"rm -r -f \DIR *.zip"} +\csname SysNeeds\endcsname{"mkdir \DIR"} +\csname SysNeeds\endcsname{"mkdir \DIR"} +\csname SysNeeds\endcsname{"chmod 711 \DIR"} +\csname SysNeeds\endcsname{"chmod 711 \DIR"} + %%%%%%%%%%%%%%%%%%%%% + +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/temp"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/temp"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/src"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/src"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin/unix"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin/win32"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/unix"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/win32"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex/generic"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex/generic/tex4ht"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/ht-fonts"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/base"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/bin"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/xtpipes"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex/generic"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex/generic/tex4ht"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/ht-fonts"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/base"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/xtpipes"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/bin"} + +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/base/unix"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/texmf/tex4ht/base/win32"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/base/unix"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/texmf/tex4ht/base/win32"} + + + + +\csname SysNeeds\endcsname{"cp -R + \GOLD tex4ht.dir/texmf/tex4ht/ht-fonts + \DIR tex4ht/texmf/tex4ht/."} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*.htf"} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*.htf"} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*.htf"} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*.htf"} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*/*.htf"} +\csname SysNeeds\endcsname{"chmod 755 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*/*/*"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/ht-fonts/*/*/*/*/*/*.htf"} + + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/htcmd.c + \DIR tex4ht/src/."} +\csname SysNeeds\endcsname{"cp htcmd.exe + \DIR tex4ht/bin/win32/."} + +\csname SysNeeds\endcsname{"cp tex4ht.exe + \DIR tex4ht/bin/win32/tex4ht.exe"} +\csname SysNeeds\endcsname{"cp t4ht.exe + \DIR tex4ht/bin/win32/t4ht.exe"} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/win32/*.exe"} + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/mk4ht.perl + \DIR tex4ht/bin/win32/mk4ht"} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/win32/mk4ht"} + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/mk4ht.perl + \DIR tex4ht/bin/unix/mk4ht"} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/unix/mk4ht"} + + + + + +\csname SysNeeds\endcsname{"chmod 711 ht-unix"} +\csname SysNeeds\endcsname{"chmod 711 ht-win32"} + +\csname SysNeeds\endcsname{"rm foo"} +\csname SysNeeds\endcsname{"rm foo1"} +\csname SysNeeds\endcsname{" + latex mkht-scripts.4ht ; + mv *.bat ht-win32/. ; + ls -l *.unix > foo ; + sed -e's/-r.*--.*:.. //g' + -e's/.unix//g' + -e's/.*/mv \string&.unix ht-unix\string\/\string&/g' + < foo > foo1 ; + chmod 700 foo1; + foo1 + "} + +\csname SysNeeds\endcsname{"cp ht-win32/ht* + \DIR tex4ht/bin/win32/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/win32/*"} +\csname SysNeeds\endcsname{"cp ht-unix/ht* + \DIR tex4ht/bin/unix/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/unix/*"} + + +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin/ht"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin/ht/win32"} +\csname SysNeeds\endcsname{"mkdir \DIR tex4ht/bin/ht/unix"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/ht"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/ht/win32"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/ht/unix"} + + + +\csname SysNeeds\endcsname{"cp ht-win32/* + \DIR tex4ht/bin/ht/win32/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/ht/win32/*"} +\csname SysNeeds\endcsname{"cp ht-unix/* + \DIR tex4ht/bin/ht/unix/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/bin/ht/unix/*"} + + + + + +\csname SysNeeds\endcsname{"mv Wht.tab temp.log"} +\csname SysNeeds\endcsname{"addMM.perl temp.log > Wht.tab"} + + +\csname SysNeeds\endcsname{"mv Wht.tab ht.tab"} +\csname SysNeeds\endcsname{"/n/gold/5/gurari/main.dir/bin.dir/myunix2dos + ht.tab"} +\csname SysNeeds\endcsname{"cp \GOLD tex4ht.dir/bin/ht/win32/ht.bat + \DIR tex4ht/bin/win32/ht.bat"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/win32/*"} + + + +\csname SysNeeds\endcsname{"cp \GOLD tex4ht.dir/bin/ht/unix/ht + \DIR tex4ht/bin/unix/ht"} +\csname SysNeeds\endcsname{"chmod 755 \DIR tex4ht/bin/unix/*"} + + + + + + +% \csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/xv4ht.java +% \DIR tex4ht/src/."} +% +% \csname SysNeeds\endcsname{"cp \GOLD +% tex4ht.dir/texmf/tex4ht/bin/xv4ht.jar +% \DIR tex4ht/bin/."} +% +% \csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/xv4ht.cat-unix +% \DIR tex4ht/texmf/tex4ht/base/unix/xv4ht.cat"} +% +% \csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/xv4ht.cat-win +% \DIR tex4ht/texmf/tex4ht/base/win32/xv4ht.cat"} + + + + + + + + + + + + +\csname SysNeeds\endcsname{"cp testa.tex \DIR tex4ht/temp/."} +\csname SysNeeds\endcsname{"cp testb.tex \DIR tex4ht/temp/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/temp/*.tex"} + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.c + \DIR tex4ht/src/."} +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/t4ht.c + \DIR tex4ht/src/."} +\csname SysNeeds\endcsname{"chmod 644 \DIR tex4ht/src/*.c"} + + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/*.4ht + \DIR tex4ht/texmf/tex/generic/tex4ht/."} +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.sty + \DIR tex4ht/texmf/tex/generic/tex4ht/."} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex/generic/tex4ht/*"} + + +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.env-unix + \DIR tex4ht/texmf/tex4ht/base/unix/tex4ht.env"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/base/unix/*"} +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.env-win32 + \DIR tex4ht/texmf/tex4ht/base/win32/tex4ht.env"} +\csname SysNeeds\endcsname{"chmod 644 + \DIR tex4ht/texmf/tex4ht/base/unix/*"} + +\csname SysNeeds\endcsname{"cp -r \GOLD tex4ht.dir/texmf/tex4ht/bin + \DIR tex4ht/texmf/tex4ht/."} +\csname SysNeeds\endcsname{"cp -r \GOLD tex4ht.dir/texmf/tex4ht/xtpipes + \DIR tex4ht/texmf/tex4ht/."} + + + + + +% +\csname SysNeeds\endcsname{"cp jhsample.tex + \DIR . ; chmod 644 \DIR jhsample.tex"} +% +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.env-unix + \DIR tex4ht-env-unix.txt"} +\csname SysNeeds\endcsname{"cp \GOLD main.dir/html.dir/tex4ht.env-win32 + \DIR tex4ht-env-win32.txt"} +\csname SysNeeds\endcsname{"chmod 644 \DIR *.txt"} + + + +\bgroup +%%%%%%%%%%%%%%%%%%%% +\Needs{" mkdir \DIR lit "} + + \Needs{" mkdir \DIR lit/src"} + \Needs{" mkdir \DIR lit/src/java"} + \Needs{" mkdir \DIR lit/src/java/xtpipes"} + \Needs{" mkdir \DIR lit/src/java/xtpipes/util"} + + +% cp \GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes.java +% src/java/. ; +% cp \GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/Xtpipes.java +% src/java/xtpipes/. ; +% cp \GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/XtpipesUni.java +% src/java/xtpipes/. ; +% cp \GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/lib/ScriptsManager.java +% src/java/xtpipes/lib/. ; +% cp \GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/lib/ScriptsManagerLH.java +% src/java/xtpipes/lib/. ; + +%%%%%%%%%%%%%%%%%%%% + + +\def\LitNeeds#1{% + \def\file{\GOLD main.dir/html.dir/#1.tex}% + \openin15=\file\relax + \ifeof15 + \def\file{\GOLD main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/#1.tex}% + \openin15=\file\relax + \fi + \ifeof15\else + \closein15 + \Needs{" cd \DIR lit ; cp \file\space . "}% + \fi +} + + + + \LitNeeds{tex4ht-4ht} +% \LitNeeds{tex4ht-bibtex2} + \LitNeeds{tex4ht-c} + \LitNeeds{tex4ht-cond4ht} + \LitNeeds{tex4ht-docbook} + \LitNeeds{tex4ht-docbook-xtpipes} + \LitNeeds{tex4ht-jsml-xtpipes} + \LitNeeds{tex4ht-jsml} + \LitNeeds{tex4ht-xhtml-xtpipes} + \LitNeeds{tex4ht-env} + \LitNeeds{tex4ht-fonts-cjk} + \LitNeeds{tex4ht-fonts-cjk-utf8} + \LitNeeds{tex4ht-fonts-noncjk} + \LitNeeds{tex4ht-fonts-4hf} + \LitNeeds{tex4ht-fonts-modern} + \LitNeeds{tex4ht-htcmd} + \LitNeeds{tex4ht-html-speech-xtpipes} + \LitNeeds{tex4ht-html-speech} + \LitNeeds{tex4ht-html0} + \LitNeeds{tex4ht-html32} + \LitNeeds{tex4ht-html4} + \LitNeeds{tex4ht-info-html4} + \LitNeeds{tex4ht-info-mml} + \LitNeeds{tex4ht-info-svg} + \LitNeeds{tex4ht-info} + \LitNeeds{tex4ht-info-javahelp} + \LitNeeds{tex4ht-info-ooffice} + \LitNeeds{tex4ht-bibtex2} + \LitNeeds{tex4ht-javahelp} + \LitNeeds{tex4ht-mathltx} + \LitNeeds{tex4ht-mathml} + \LitNeeds{tex4ht-jsmath} + \LitNeeds{tex4ht-mathplayer} + \LitNeeds{tex4ht-mkht} + \LitNeeds{tex4ht-moz} + \LitNeeds{tex4ht-ooffice} + \LitNeeds{tex4ht-options} + \LitNeeds{tex4ht-sty} + \LitNeeds{wripro} + \LitNeeds{tex4ht-svg} + \LitNeeds{tex4ht-t4ht} + \LitNeeds{tex4ht-tei} +% \LitNeeds{tex4ht-texconverter} + \LitNeeds{tex4ht-unicode} + \LitNeeds{tex4ht-word} + \LitNeeds{tex4ht-dir} + \LitNeeds{tex4ht-auto-script} + \LitNeeds{tex4ht-oo-xtpipes} + \LitNeeds{xtpipes} + \LitNeeds{tex4ht-htcmd} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\Needs{" +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/Xtpipes.java \DIR lit/src/java/xtpipes/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/XtpipesUni.java \DIR lit/src/java/xtpipes/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/util/ScriptsManager.java \DIR lit/src/java/xtpipes/util/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/util/ScriptsManagerLH.java \DIR lit/src/java/xtpipes/util/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/InputObject.java \DIR lit/src/java/xtpipes/. ; +cp /home/4/gurari/main.dir/html.dir/brail.dir/xtpipes.dir/xtpipes.dir/work.dir/xtpipes/FileInfo.java \DIR lit/src/java/xtpipes/. ; +cp /home/4/gurari/main.dir/html.dir/GroupMn.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/HtJsml.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/HtSpk.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/JsmlFilter.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/JsmlMathBreak.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/EmSpk.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/OoFilter.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/OoUtilities.java \DIR lit/src/java/. ; +cp /home/4/gurari/main.dir/html.dir/OomFilter.java \DIR lit/src/java/. +"} + +%%%%%%%%%%%%%%%%%%%% +% Let's not bother to make the zip file we do not use. +%\Needs{" +% cd \DIR lit +%; zip tex4ht-lit * +%; mv tex4ht-lit.zip \DIR . +%"} +%\Needs{" +% chmod %44 \DIR tex4ht-lit.zip +%"} +%\Needs{" /usr/bin/rm -r \DIR lit +%"} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\egroup + +% do not symlink index.html; we want a plain file for TeX Live runtime. +% So we maintain it by hand as a simple html redirect. +%\csname SysNeeds\endcsname{"cd \DIR; ln -s mn.html index.html"} +%\csname SysNeeds\endcsname{"chmod 644 \DIR index.html"} + +% Let's not bother to make the zip file we do not use. +%\csname SysNeeds\endcsname{"cd \DIR tex4ht +% ; zip -r tex4ht.zip * +% ; mv \DIR tex4ht/tex4ht.zip \DIR . +% ; cd \DIR +% ; rm -r tex4ht +% ; chmod 644 *.zip +% ; zip -r tex4ht-all.zip * +% ; chmod 644 *.zip +% ; ln -s tex4ht.zip +% tex4ht-\the\year +% \ifnum \month<10 0\fi +% \the\month +% \ifnum \day<10 0\fi +% \the\day.zip +% "} + +\csname SysNeeds\endcsname{"echo '*************** DONE ***************'"} + +\bye + + +% LocalWords: MathTran MathML |