BD Tech Concepts llc

-HTML5 Generation — lwarp package

Lwarp technology whitepaper 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.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.47 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 functions

Category

Status

Engines:

pdf, , Lua

Classes:

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

Koma-script:

scrextend, scrlayer, scrhack. Others as listed below.

Memoir:

memhfixc

Page layout:

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

Sectioning:

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

Table of contents, figures, tables:

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

Title page:

\maketitle, titlepage, titling, authblk.

Front & back matter:

abstract, appendix.

Indexing:

texindy is used, with hyperlinks. idxlayout is emulated.

Glossary:

glossaries and xindy are used.

Bibliography:

cite, natbib, biblatex, backref.

Cross-references:

Emulated, with hyperlinks. hyperref, cleveref, varioref, fancyref, prettyref, titleref, url, breakurl, xurl.

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.

Math:

Supported. 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:

Support for native theorems, plus theorem, amsthm, ntheorem.

Add’l math:

delarray, bm, math fonts via svg images.

Units and fractions:

siunitx, xfrac, nicefrac, units

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.

Tabular

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

Graphics

graphics and graphicx are emulated. \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 and tikz are converted to an svg image. grffile and overpic are supported.

xcolor:

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

Lists:

Standard environments are supported, along with enumitem, enumerate, paralist, hang.

Environments:

Standard environments are supported.

minipage:

Supported with some html5-imposed limitations. Nested minipages are supported.

Quotations:

verse, csquotes, epigraph

Verbatim:

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

Frames:

framed, fancybox, mdframed, boxedminipage2e, shadow.

multicol:

Emulated, with css3. Converted to up to three columns with an optional heading, per browser support. Single-column if unsupported.

Margins:

midpage, hanging, fullwidth.

Todo notes:

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

Direct formatting:

\emph, \textsuperscript, \textbf, etc are supported. \bfseries, etc. are not yet supported. lettrine, ulem, soul, soulutf8, soulpos, cancel, relsize, scalefnt, textfit, and realscripts are supported.

Ordinals:

nth, fmtcount, and engord are supported.

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.

Working as-is:

Various utility, calculation, file, and text-only packags, such as calc, fileerr, somedefs, trace, xspace.