LATEX4WEB 1.3 Author: Eric Chopin ( eric.chopin@wanadoo.fr ) Release date July 4th 2004 Download: http://perso.wanadoo.fr/eric.chopin/latex/latex4web.htm (download the .zip for use under windows, the .tar for use under linux) Previous releases v1.2 April 18th 2004 v1.1 March 28th 2004 v1.0 March 7th 2004 PURPOSE OF THIS SOFTWARE: THIS SOFTWARE IS MADE OF A WEB PAGE WHICH CONTAINS A JAVASCRIPT PROGRAM. ITS PURPOSE IS TO CONVERT SOME LATEX COMMANDS INTO HTML (THAT IS TO SAY, YOUR LATEX COMMANDS WILL GENERATE A WEB PAGE). WHAT IS LATEX? LATEX IS A KIND OF PROGRAMMING LANGUAGE AND A "COMPILER" (FREEWARE) THAT IS USED TO BUILD MOST SCIENTIFIC PUBLICATIONS TODAY. IT IS IN FACT A SET OF MACRO-INSTRUCTIONS USING THE "TEX" SYNTAX, DEVELOPPED BY MR KNUTH. HIS PROGRAM (TEX), READS ONE OR MORE SOURCE FILE(S) CONTAINING TEX COMMANDS AND BUILD FROM THAT AN IMAGE IN THE DVI FORMART (IT MEANS: DEVICE INDEPENDENT). MOST OF THE TIME, THIS FORMAT IS THEN CONVERTED INTO THE POSTSCRIPT FORMAT, WHICH IS A PRINTER LANGUAGE DEVELOPPED BY ADOBE (ALSO THE AUTHOR OF THE PDF FORMAT) FOR PRINTING THE DOCUMENT. LATEX COMMANDS ARE TYPED IN A PLAIN TEXT FILE, WITH THE .TEX EXTENSION, AND IS SOMEWHAT EASY TO LEARN. AT LEAST, TO BEGIN WITH LATEX IS VERY EASY. OF COURSE, WHEN YOU KNOW THE BASICS OF LATEX, YOU BECOME MORE AND MORE DEMANDING, AND SOMETIMES THERE ARE SOME TRICKY WAYS TO GET THE PAGE SETUP EXACTLY AS YOU WANT. IMAGINE FOR INSTANCE THAT YOU WANT IN YOUR DOCUMENT, USING THE BOOK STYLE, THAT THE CURRENT CHAPTER TITLE APPEARS ON TOP OF THE LEFT PAGE, AND THE CURRENT SECTION TITLE ON THE TOP OF THE RIGHT PAGE. NO PROBLEM TO DO THAT USING LATEX, BUT OF COURSE IT IS MORE TRICKY SINCE IT IS NO MORE A BASIC FUNCTIONALITY. ALMOST EVERYTHING CAN BE DONE USING LATEX, ITS POSSIBILITIES ARE HUGED AND ONLY A SMALL SUBSET OF LATEX COMMANDS ARE RECOGNIZED BY MY PROGRAM. ESSENTIALLY, I FOCUSED ON MATHEMATICAL FORMULAS. REGARDING THE LAYOUT OF THE GENERATED IMAGES, ON UNIX OR LINUX MACHINES, THE DVI FORMAT CAN BE SHOWN ON THE SCREEN USING SOME SOFTWARES LIKE XDVI. THE POSTSCRIPT CAN BE ALSO VIEWED ON SCREEN USING THE GHOSTVIEW SOFTWARE (FREE). GHOSTVIEW IS ACTUALLY NOTHING BUT A FRONT-END OF ANOTHER FREE SOFTWARE CALLED GHOSTSCRIPT, WHICH IS AN INTERPRETER OF THE POSTSCRIPT LANGUAGE. IF YOUR PRINTER UNDERSTANDS POSTSCRIPT, YOU CAN SEND THE POSTSCRIPT FILE DIRECTLY TO THE PRINTER. BUT NOT ALL PRINTER UNDERSTAND POSTSCRIPT BY DEFAULT, AND IN THIS CASE, GHOSTSCRIPT CAN CONVERT THE POSTSCRIPT INTO MOST OF THE STANDARD PRINTER LANGUAGES. POSTSCRIPT ALLOWS YOU TO PRINT VERY NICE DOCUMENTS, AND THE RESOLUTION IS INDEPENDENT ON THE MAGNIFICATION OF YOUR TEXT, EVERYTHING IS VECTORIZED. THAT'S WHY IT IS CONSIDERED AS A PROFESSIONAL FORMAT FOR PRINTABLE DOCUMENTS. WHY THIS PROGRAM? NOT EVERYBODY HAS A POSTSCRIPT PRINTER AND LATEX IS A BIG PROGRAM TO DOWNLOAD IF YOU WANT TO DOWNLOAD IT FROM THE WEB (SEE WWW.CTAN.ORG FOR INSTANCE). WITH THE CONSTANT GROWING OF INTERNET, I FOUND IT INTERESTING TO ALLOW PEOPLE TO PUBLISH SOME MATHEMATICAL CONTENT ON THE WEB USING THE SIMPLE SYNTAX OF LATEX. THERE EXISTS ACTUALLY SOME TOOLS THAT CONVERT LATEX COMMANDS INTO HTML. SOME OF THEM LIKE LATEX2HTML CONVERTS MATHEMATICAL FORMULAS INTO GIF IMAGES. THE DRAWBACK IS THAT A LONG DOCUMENT WILL LEAD TO A HUGE WEB PAGE, WHICH WILL TAKES MINUTES TO LOAD INTO THE BROWSER. ALSO, IF YOUR WEBSITE IS SOMETIMES VISITED BY A SEARCH ENGINE LIKE GOOGLE, YAHOO ETC... IT MAKES THE INDEXING OF THE CONTENT OF YOUR DOCUMENT EASIER IF YOUR PAGE CONTAINS ONLY SOME HTML CODE. INDEXING THE CONTENT OF A LOT OF GIF IMAGES IS QUITE IMPOSSIBLE. THEREFORE, SOLUTIONS THAT CONVERT TEX OR LATEX COMMANDS INTO PLAIN HTML PAGES ARE MORE AND MORE OFTEN USED. THERE EXISTS A C PROGRAM CALLED TTH, THAT DOES THE JOB QUITE WELL. IT IS NOT FREE BUT HAS A FREE LIMITED VERSION THAT IS QUITE GOOD. HOWEVER, IT IS GOOD IF YOU CAN CUSTOMIZE THE HTML OUTPUT OF THE PROGRAM. USING A COMPILED PROGRAM LIKE TTH, YOU WILL NEED TO RE-COMPILE THE SOURCE CODE (WHICH CAN BE DOWNLOADED FOR THE LIMITED VERSION) EVERY TIME YOU CHANGE SOMETHING. THAT'S WHY I TRIED TO MAKE SUCH A PROGRAM THAT IS SIMPLY A SCRIPT. SINCE MY PROGRAM IS NOT COMPILED, IT IS MUCH SLOWER THAN TTH, THAT'S WHY MY PROGRAM ONLY SUPPORTS A VERY SMALL SUBSET OF THE POSSIBLE LATEX COMMANDS, BUT IS QUITE SUFFICIENT TO CONVERT ALMOST ANY MATHEMATICAL CONTENT. SO I TRIED TO WRITE THE CODE IN JAVASCRIPT. IT CONTAINS MORE THAN 2000 LINES OF CODES BUT IS NOT TOO COMPLEX, WHICH ALLOWS ANY WEB USER TO UPDATE THE CODE IF HE KNOWS HOW TO PROGRAM IN JAVASCRIPT. AT FIRST I WAS WONDERING IF IT WAS PRACTICALLY DOABLE, OR MORE PRECISELY, IF THE PERFORMANCES CAN BE ENOUGH ON A COMMON PC, AND I DISCOVERED THAT A QUITE LONG TEXT (ONE OF MY SCIENTIFIC PUBLICATIONS, 20 PAGES) CAN BE CONVERTED IN A REASONNABLE TIME. AND IT APPEARS TO TAKE LESS THAN A MINUTE ON A FAST COMPUTER (PIV, 2.2GHZ, 512MB RAM). IT'S NOT SO BAD FOR A SIMPLE SCRIPT. SO I HAVE DECIDED THAT THE PROGRAM COULD BE REALLY INTERSTING FOR A LOT OF PEOPLE WHO WOULD LIKE TO PUBLISH SOME SCIENTIFIC CONTENT ON THE WEB WITH A SIMPLE AND CUSTOMIZABLE PROGRAM. HOW TO USE THE PROGRAM? THE WEB PAGE CONTAINS 2 TEXTBOXES, ONE IN WHICH YOU CAN WRITE OR PASTE LATEX COMMANDS, AND ONE IN WHICH THE HTML CODE GENERATED APPEARS AFTER YOU CLICK ON "CONVERT" (NOTE THAT \include IS NOT SUPPORTED, IF YOU HAVE INCLUSIONS YOU MUST GATHER EVERYTHING IN ONE SOURCE FILE ONLY). WHEN THE HTML CODE IS GENERATED, YOU CAN PREVIEW THE RESULT BY CLICKING ON "SHOw". FROM VERSION 1.3, IT IS POSSIBLE TO REDUCE THE SIZE OF THE HTML OUTPUT OF ABOUT 25% BY CLICKING ON THE "COMPRESS" BUTTON. BY DEFAULT, THE GENERATED HTML CODE IS INDENTED IN ORDER TO SIMPLIFY DEBUGGING, BUT THIS IS NOT ABSOLUTELY NECESSARY AND CONSUMES A LOT OF SPACES. THE COMPRESS BUTTON REMOVES THESE USELESS SPACES AND SOME USELESS CARRIAGE-RETURN. BASICALLY, THE PROGRAM LOOKS FOR MATHEMATICAL FORMULAS, SECTIONS, CROSS-REFERENCE AND BUILD SOME HTML CODES FROM THAT, AND IGNORES THE REST. IT MEANS THAT YOU CAN CUT UNNECCESSARY \documentclass, \documentstyle, \maketitle, \newpage etc THAT ARE NOT SUPPORTED. AS A GENERAL RULE, UNSUPPORTED COMMANDS ARE COPIED FROM INPUT TO OUTPUT "AS IS" WITHOUT MODIFICATIONS. A GREAT FUNCTIONNALITY IS THAT YOU CAN ALREADY INSERT SOME HTML CODE WITHIN THE LATEX SOURCE (OUTSIDE OF MATH MODE), AND YOUR HTML TAGS WILL BE COPIED ONTO THE OUTPUT. IN CAN BE USEFUL TO INSERT IMAGES. SINCE MY PROGRAM DOES NOT SUPPORT COMMANDS LIKE \epsfbox ... TO INCLUDE POSTSCRIPT IMAGES, IF YOU CAN CONVERT YOUR IMAGES IN .JPG OR .GIF, SIMPLY ADD A TAG INSIDE THE SOURCE, AND THE IMAGE WILL BE PRESENT ON THE HTML OUTPUT. THE PRESENT PACKAGE DOES NOT INCLUDE ANY TUTORIAL TO LEARN TEX OR LATEX. YOU SHOULD REFER TO EXISTING DOCUMENTATION LIKE "THE LATEX BOOK". HOWEVER, I HAVE WRITTEN A WEB PAGE "latex_subset.htm", WHICH LISTS ALL THE LATEX COMMANDS SUPPORTED BY MY PROGRAM, WITH BASIC EXAMPLES, AND A FEW NOTES THAT MAY HELP. I THINK THAT THIS PAGE IS QUITE SUFFICIENT TO UNDERSTAND HOW TO USE THE PROGRAM IF YOU HAVE NEVER WRITTEN ANY LATEX BEFORE. YOU CAN ALSO REFER TO THE SOURCE CODE OF MY PUBLICATION 0001125B.TXT, AND COMPARE WITH THE GENERATED HTML PAGE 0001125.HTM, TO LEARN SOME ADVANCED FEATURES ABOUT LATEX. YOU CAN ALSO FIND SOME USEFUL HELP ON THE TEX USER GROUP WEB SITE (WWW.TUG.ORG) TO FIND INFORMATION ON THE LANGUAGE. I MUST ALSO THANK ILIA KANTOR FOR HIS USEFULL SUGGESTIONS AND BUG REPORTS. I HOPE YOU WILL FIND THIS PROGRAM USEFUL, AND FEEL FREE TO SEND AN EMAIL TO ME IF YOU HAVE SOME SUGGESTIONS OR COMMENTS ABOUT THIS PROGRAM. ERIC CHOPIN http://perso.wanadoo.fr/eric.chopin