BD Tech Concepts llc

-HTML5 Generation — lwarp package

Lwarp technology white paper For an introduction to the technology used to create the lwarp package, please see the publication Producing HTML directly from : the lwarp package.

Latest News

v0.54:

Improved lwarpmk error checking and messages. Added documentation regarding bibtex, polyglossia, macros in section names. Added options for xindy and pdftolatex. Figures and tables now honor \centering, etc. Fixes for tikz, ragged2e, hyperref, glossaries, textcomp, latex verse environment. Minor update for memoir. Added inputencx, bibunits, chngpage, forest, magaz, gridset. Prevents packages ae, aecc, t1enc, wasysym.

v0.53:

Added a warning about corrupted images due to the need to recompile the document one more time. Added the lwarpmk cleanlimages command.

v0.52:

Fixes for memory overflow while generating numerous images, equation* with split, tabbing inside a lateximage, MathJax script. Adds svg math scaling, global MathJax custom functions. Fixes for footnote numbering, paragraph tags, \kill in a lateximage, problems when not utf8 encoding, \texorpdfstring in a section name. Adds verbatim footnotes with fancybox, fancyvrb. Fixes for special characters with hyperref, url. Updates for new versions of graphicx, endfloat.

v0.51:

Improved svg math, Mathjax, tikz, fancybox, and titling. Various additional fixes. Added mhchem, chemfig, chemformula, chemmacros, chemnum, chemgreek, epstopdf-base, grid, ltxgrid.

v0.50:

SVG math now is converted using multiple cpu processors/cores. Inline svg math images are hashed and reused when identical. Improved svg display math, siunitx units, verbatim and listings alignment. Additional fixes for svg math, authblk, ntheorem. Added xy, epstopdf, diagbox, pbox, bytefield, axodraw2, phfqit, schemata, dblfloatfix, nonfloat, morefloats.

v0.49:

Added xcolor \rowcolors. Added vwcol, vertbars, hyphenat, lineno, fnlineno, figsize, hypdestopt, pagegrid, pdfrender, luacolor, resizegather. Several bug fixes.

v0.48:

Updated compatibility for cleveref v0.21. Improved svg math, siunitx. Numerous minor fixes. Added colortbl, chapterbib, acro, acronym, hypernat, hypcap, stfloats, vmargin, fancyheadings, fancyref.

v0.47:

Improves svg math baseline and sizing. Fixes for svg math in captions, subcaptions, and \nameref. Adds packages endheads, multitoc, sectionbreak, blowup, xurl.

v0.46:

Fix for spaces in \usepackage. Additional improvements in svg math. Allows MathJax inside verse.

v0.45:

Adds memoir. Adds cite, natbib, backref. Also works as-is with biblatex. Fixes bibliography italic names. Adds subfigure, prettyref, hanging, midpage, flafter, fltrace, changebar, endfloat, continue, fwlw, turnthepage, footnpag, pagesel, textfit, titleref. Fixes for underscores in labels, empty lines between tabular rows, SVG math in minipages and lists and subfig.

v0.44:

Added Koma-script classes and packages. Completed todonotes and luatodonotes. Added todo, easy-todo, fixmetodonotes, fixme, soulutf8, soulpos, cancel, section, fancyref, iffoddpage, preview, atbegshi, watermark, hang, ltxtable. Improved algorithmicx, tocloft, html title and author options. Added list and trivlist environments. Fix for \multicolumn alignment for word processor conversion. Fix for MathJax when combined with images.

v0.43:

Added FootnoteDepth for printing pending footnotes. Fixed for tabular column specifications, \multicolumn specifications, \bottomrule. Fixed for math equation*, svg math in a section name, references in svg math. Made several macros robust for hyperref. Added todonotes and luatodonotes (but only disabled for now), and breakurl.

v0.42:

Greatly-improved copy/paste into the LibreOffice word processor. Fix for text copy/paste of AMS Math environment numbers and names. Improved \ensuremath. Adding tabbing environment, overpic package. Improved textcomp and realscripts.

v0.41:

Added tabular vertical rules, booktabs margin and trim.

v0.40:

Improved \graphicspath, grffile. Improved LaTeX and textcomp symbols. Fixes for bigdelim with improved html output, additional objects inside a lateximage, xltxtra with , tocbibind, \multicolumnrow with older versions of xparse and multirow, \underline. Added support for adjmulticol, cuted, midfloat, pfnote, fnpos, dblfnote, stabular, tabls, sectsty, anonchap, quotchap.

Sample Output

This website:

  • • Check the html code of these web pages for examples of the lwarp generator’s output.

  • • Download a 7 MB pdf print version of this website, to compare with the online html version.

Technical book conversion:

Print PDF:

Introduction to Gear Design~— Print~— pdf

Tablet PDF:

Introduction to Gear Design~— Tablet~— pdf

HTML version:

Introduction to Gear Design~— Website~— html

Sample camping trailer manual:

PDF print version:

Camping Trailer Manual~— pdf

HTML version:

Camping Trailer Manual~— html

Download Download the lwarp package from the lwarp page on CTAN — the Comprehensive Archive Network, or use your distribution’s update tools.

The lwarp v0.54 manual is also available here.

Supported Packages

Table 1 lists some of the various features which may be used. In addition, more than two hundred packages have been adapted for lwarp, and many more work without modification.

Table 1: –HTML generation — lwarp package — Supported features

Category

Status and supported features.

Engines:

pdf, , Lua

Classes:

book, report, article, scrbook, scrreprt, scrartcl, memoir.

Koma-script:

scrextend, scrlayer, scrhack. Others as listed below.

Memoir:

memhfixc

Page layout:

geometry, fancyhdr, titleps, scrlayer-scrpage, typearea, vmargin, addlines, anysize, a4, a4wide, a5comb, textarea, zwpagelayout, ebook, preview, draftwatermark, watermark, everyshi, atbegshi, continue, fwlw, turnthepage, pagesel, blowup, pagegrid, grid, ltxgrid.

Sectioning:

Adds FileDepth for splitting the html output. Files may be numbered sequentially or named according to section name. Common short words and punctuation are removed from the filenames. titlesec, fncychap, sectsty, section, anonchap, quotchap, sectionbreak.

Table of contents, figures, tables:

Supported, with hyperlinks. tocbibind, titletoc, tocloft, tocbasic, and tocstyle, multitoc.

Title page:

\maketitle, titlepage, titling, authblk.

Front & back matter:

abstract, appendix.

Indexing:

texindy is used, with hyperlinks. idxlayout.

Glossary:

glossaries and xindy are used.

Bibliography:

cite, natbib, biblatex, chapterbib, backref, hypernat.

Cross-references:

hyperref, cleveref, varioref, fancyref, prettyref, titleref, url, breakurl, xurl, bookmark, hypdestopt.

Languages:

babel. (polyglossia is untested.)

Margin notes:

marginfit, marginfix, scrlayer-notecolumn.

Footnotes:

Adds FootnoteDepth to print footnotes at section breaks. footnote, footmisc, marginnote, sidenote, pagenote, endnotes, endheads, footnpag, nccfoots.

Math:

Converted to svg images with html <alt> tags containing the source for the math expression. MathJax supported as an alternative. environments are supported. User-defined macros are available during converson, due to native processing.

Theorems:

Native theorems, theorem, amsthm, ntheorem.

Additional math:

Math fonts via svg images, resizegather. As-is: delarray, bm, braket, tikz-cd, etc.

Display math with \displaymathother:

Complicated math objects in display math, such as tikz-cd, etc.

Units and fractions:

siunitx, xfrac, nicefrac, units

Science and engineering:

listings, algorithmicx, bytefield, axodraw2, phfqit, mhchem, chemfig, chemformula, chemmacros, chemnum. chemgreek, Tested to work with svg math: physics, slashed, heppennames, hepnicenames, simpler-wick, linop, blochsphere, elements, etc. (Math-mode packages generally work as-is with svg math.)

Liberal arts:

schemata

Floats:

Appear where declared. float, rotfloat, newfloat, caption and subcaption, subfig, subfigure, capt-of, placeins, trivfloat, floatrow, subfloat, keyfloat, wrapfig, cutwin, floatflt, flafter, fltrace, endfloat, hypcap, stfloats, fix2col, dblfloatfix, nonfloat, morefloats.

Tabular:

tabular environment, array, tabularx, tabulary, threeparttable, multirow, longtable, supertabular, xtab, ltxtable, booktabs, colortbl, bigdelim, diagbox.

Graphics:

graphics and graphicx. \includegraphics supports width, height, origin, angle, and scale tags, and adds class. References to pdf files are changed to svg, other image types are accepted as well. \rotatebox and \scalebox are supported as well as html can handle. rotating is emulated but all objects are unrotated. picture, tikz, and xy are converted to an svg image. grffile, epstopdf, overpic, figsize.

xcolor:

Full package color names, any color models, and mixing. \textcolor, \colorbox, \fcolorbox. Enhanced for html compatibility.

Lists:

Standard environments, enumitem, enumerate, paralist, hang.

Environments:

Standard environments.

minipage, \parbox:

Some html5-imposed limitations. Nested minipages are supported. pbox.

Quotations:

verse, csquotes, epigraph

Verbatim:

verbatim, moreverb, fancyvrb (except for verbatim footnotes), shortvrb.

Frames:

framed, fancybox, mdframed, boxedminipage2e, shadow, vertbars.

Multi-columns:

multicol, adjmulticol, vwcol.

Margins:

midpage, hanging, fullwidth.

Line numbering:

lineno, fnlineno.

Acronyms:

acro, acronym.

Todo notes:

todo, todonotes, easy-todo, fixmetodonotes, fixme, changebar.

Direct formatting:

\emph, \textsuperscript, \textbf, etc are supported. \bfseries, etc. are only supported in a few cases. lettrine, ulem, soul, soulutf8, soulpos, cancel, relsize, scalefnt, textfit, realscripts, hyphenat, pdfrender, luacolor.

Ordinals:

nth, fmtcount, engord.

Text ligatures:

Ligatures for symbols are supported. Ligatures for f, q, t are intentionally turned off because many simpler browsers do not display them correctly. Modern full-featured browsers re-create these ligatures on-the-fly.

Horizontal space:

html output for thin-unbreakable, unbreakable, \enskip, \quad, \qquad, \hspace.

Rules:

\rule with width, height, raise, text color.

HTML reserved characters:

\&, \textless, and \textgreater are converted to html entities.

Fonts:

Used as-is. Appear in svg math expressions or embedded image environments.

Symbols:

Native diacriticals, textcomp, textgreek, textalpha.

Working as-is:

Various utility, calculation, file, and text-only packags, such as calc, fileerr, somedefs, trace, xspace. Also, any math-only packages, including specialized typesetting for various fields of science and engineering.