From ab1383854b03b3c08a7575e33c84d2bafb533642 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 8 Feb 2019 22:56:29 +0000 Subject: lwarp (8feb19) git-svn-id: svn://tug.org/texlive/trunk@49976 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/lwarp/README.txt | 4 +- Master/texmf-dist/doc/latex/lwarp/lwarp.pdf | Bin 2544151 -> 2303112 bytes Master/texmf-dist/scripts/lwarp/lwarpmk.lua | 59 +- Master/texmf-dist/source/latex/lwarp/lwarp.dtx | 3488 ++++++++++++-------- Master/texmf-dist/source/latex/lwarp/lwarp.ins | 12 +- Master/texmf-dist/tex/latex/lwarp/lwarp-CJK.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-CJKutf8.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-a4.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-a4wide.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-abstract.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-acronym.sty | 33 +- .../tex/latex/lwarp/lwarp-adjmulticol.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty | 2 +- .../tex/latex/lwarp/lwarp-algorithm2e.sty | 2 +- .../tex/latex/lwarp/lwarp-algorithmicx.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-anonchap.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-anysize.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-appendix.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-ar.sty | 60 + .../tex/latex/lwarp/lwarp-arabicfront.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-array.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-arydshln.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty | 2 +- .../tex/latex/lwarp/lwarp-attachfile.sty | 2 +- .../tex/latex/lwarp/lwarp-attachfile2.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-authblk.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-axodraw2.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-backref.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-balance.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bibunits.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bigdelim.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bigstrut.sty | 2 +- .../tex/latex/lwarp/lwarp-bitpattern.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-blowup.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bookmark.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bophook.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bounddvi.sty | 2 +- .../tex/latex/lwarp/lwarp-boxedminipage2e.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty | 2 +- .../tex/latex/lwarp/lwarp-bxpapersize.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-bytefield.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty | 2 +- .../tex/latex/lwarp/lwarp-canoniclayout.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-caption.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-cases.sty | 2 +- .../tex/latex/lwarp/lwarp-changepage.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-chappg.sty | 2 +- .../tex/latex/lwarp/lwarp-chapterbib.sty | 2 +- .../tex/latex/lwarp/lwarp-chemmacros.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-chemnum.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-chngpage.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-cite.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-clrdblpg.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-color.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-continue.sty | 2 +- .../tex/latex/lwarp/lwarp-copyrightbox.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-cuted.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-cutwin.sty | 2 +- .../tex/latex/lwarp/lwarp-dblfloatfix.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-dblfnote.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-dcolumn.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-diagbox.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty | 2 +- .../tex/latex/lwarp/lwarp-draftwatermark.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty | 38 + .../texmf-dist/tex/latex/lwarp/lwarp-ellipsis.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-emptypage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-endfloat.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-endheads.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-enumerate.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-eso-pic.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-everypage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty | 2 +- .../tex/latex/lwarp/lwarp-extramarks.sty | 5 +- .../texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty | 4 +- .../texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty | 6 +- .../texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fancytabs.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty | 4 +- .../texmf-dist/tex/latex/lwarp/lwarp-figcaps.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-figsize.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fix2col.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty | 2 +- .../tex/latex/lwarp/lwarp-fixmetodonotes.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-flafter.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fltrace.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-flushend.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fncychap.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fnlineno.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-fnpos.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fontenc.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-footmisc.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-footnote.sty | 2 +- .../tex/latex/lwarp/lwarp-footnotehyper.sty | 2 +- .../tex/latex/lwarp/lwarp-footnoterange.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-framed.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ftnright.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-fullwidth.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-gentombow.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-geometry.sty | 2 +- .../tex/latex/lwarp/lwarp-glossaries.sty | 4 +- .../tex/latex/lwarp/lwarp-gmeometric.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-graphics.sty | 69 +- .../texmf-dist/tex/latex/lwarp/lwarp-grffile.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-grid.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-hanging.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-hypcap.sty | 2 +- .../tex/latex/lwarp/lwarp-hypdestopt.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-hypernat.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-hyphenat.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ifoddpage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty | 2 +- .../tex/latex/lwarp/lwarp-indentfirst.sty | 25 - Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-layout.sty | 2 +- .../tex/latex/lwarp/lwarp-letterspace.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-lips.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-listings.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-lltjext.sty | 4 +- .../texmf-dist/tex/latex/lwarp/lwarp-longtable.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-lscape.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ltablex.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ltcaption.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ltxgrid.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ltxtable.sty | 2 +- .../tex/latex/lwarp/lwarp-lua-check-hyphen.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-luacolor.sty | 2 +- .../tex/latex/lwarp/lwarp-luatodonotes.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-magaz.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-marginfix.sty | 2 +- .../tex/latex/lwarp/lwarp-marginnote.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-mcaption.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-memhfixc.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-metalogo.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-microtype.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-midfloat.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-midpage.sty | 2 +- .../tex/latex/lwarp/lwarp-morefloats.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-mparhack.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-multicol.sty | 11 +- .../tex/latex/lwarp/lwarp-multicolrule.sty | 3 +- .../texmf-dist/tex/latex/lwarp/lwarp-multirow.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-multitoc.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-nameauth.sty | 85 + Master/texmf-dist/tex/latex/lwarp/lwarp-natbib.sty | 2 +- .../tex/latex/lwarp/lwarp-nccfancyhdr.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-needspace.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-nextpage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-nonfloat.sty | 2 +- .../tex/latex/lwarp/lwarp-nonumonpart.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-nopageno.sty | 2 +- .../tex/latex/lwarp/lwarp-notespages.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-overpic.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pagegrid.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pagenote.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pagesel.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-paralist.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-parskip.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-pbox.sty | 4 +- .../texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pdfpages.sty | 2 +- .../tex/latex/lwarp/lwarp-pdfprivacy.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-pdfx.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-pfnote.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-phfqit.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-placeins.sty | 2 +- .../tex/latex/lwarp/lwarp-plarydshln.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-plext.sty | 2 +- .../tex/latex/lwarp/lwarp-plextarydshln.sty | 2 +- .../tex/latex/lwarp/lwarp-plextcolorbl.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-prettyref.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty | 2 +- .../tex/latex/lwarp/lwarp-pxatbegshi.sty | 2 +- .../tex/latex/lwarp/lwarp-pxeveryshi.sty | 2 +- .../tex/latex/lwarp/lwarp-pxftnright.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-pxjahyper.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-quotchap.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-quoting.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-ragged2e.sty | 2 +- .../tex/latex/lwarp/lwarp-realscripts.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-register.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-relsize.sty | 2 +- .../tex/latex/lwarp/lwarp-resizegather.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-rmpage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-romanbar.sty | 2 +- .../tex/latex/lwarp/lwarp-romanbarpagenumber.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-rotating.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-schemata.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-scrhack.sty | 2 +- .../tex/latex/lwarp/lwarp-scrlayer-notecolumn.sty | 2 +- .../tex/latex/lwarp/lwarp-scrlayer-scrpage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-scrlayer.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-scrpage2.sty | 2 +- .../tex/latex/lwarp/lwarp-sectionbreak.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-sectsty.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-setspace.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-showkeys.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-sidecap.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-soulpos.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-soulutf8.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-stabular.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-stfloats.sty | 2 +- .../tex/latex/lwarp/lwarp-subcaption.sty | 34 + Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-subfigure.sty | 2 +- .../tex/latex/lwarp/lwarp-supertabular.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tabulary.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tascmac.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-textarea.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-textfit.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-textpos.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-theorem.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty | 2 +- .../tex/latex/lwarp/lwarp-threeparttable.sty | 6 +- Master/texmf-dist/tex/latex/lwarp/lwarp-thumb.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-thumbs.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-titleps.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-titleref.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-titletoc.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-titling.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tocbasic.sty | 3 +- .../texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tocenter.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-tocstyle.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-todo.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-tram.sty | 2 +- .../tex/latex/lwarp/lwarp-transparent.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-trimclip.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-truncate.sty | 23 + .../tex/latex/lwarp/lwarp-turnthepage.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-typearea.sty | 2 +- .../tex/latex/lwarp/lwarp-underscore.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-upref.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty | 2 +- .../tex/latex/lwarp/lwarp-versonotes.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-vertbars.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-vmargin.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-vowel.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-vwcol.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-wallpaper.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-watermark.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-xellipsis.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-xltabular.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-xltxtra.sty | 2 +- .../texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-xurl.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp-xy.sty | 2 +- .../tex/latex/lwarp/lwarp-zwpagelayout.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp.sty | 679 ++-- 310 files changed, 3238 insertions(+), 1995 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-ar.sty create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty delete mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-indentfirst.sty create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-nameauth.sty create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-truncate.sty (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt index 3a07e25a376..cf0b9cb4954 100644 --- a/Master/texmf-dist/doc/latex/lwarp/README.txt +++ b/Master/texmf-dist/doc/latex/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.65 README.txt +LaTeX lwarp package v0.66 README.txt Files included are: @@ -41,7 +41,7 @@ and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. -Copyright 2016-2018 Brian Dunn +Copyright 2016-2019 Brian Dunn Homepage: http://BDTechConcepts.com Email: bd@BDTechConcepts.com diff --git a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf index 0f56931497c..619ca013f26 100644 Binary files a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf and b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf differ diff --git a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua index aa7b01c66e9..33677933677 100755 --- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua +++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua @@ -2,8 +2,8 @@ -- Copyright 2016-2018 Brian Dunn -printversion = "v0.65" -requiredconfversion = "1" -- also at *lwarpmk.conf +printversion = "v0.66" +requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -103,6 +103,8 @@ end -- Additional defaults: confversion = "0" opsystem = "Unix" +imagesdirectory = "lateximages" +imagesname = "image-" latexmk = "false" printlatexcmd = "" HTMLlatexcmd = "" @@ -164,6 +166,8 @@ elseif ( cvarname == "opsystem" ) then elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue +elseif ( cvarname == "imagesdirectory" ) then imagesdirectory = cvalue +elseif ( cvarname == "imagesname" ) then imagesname = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue @@ -379,34 +383,33 @@ end -- checkhtmlpdfexists function warnlimages () -- --- Warning of a missing lateximages.txt file: --- +-- Warning of a missing -images.txt file: print ("lwarpmk: ===") - print ("lwarpmk: \"lateximages.txt\" does not exist.") + print ("lwarpmk: \"" .. sourcename .. "-images.txt\" does not exist.") print ("lwarpmk: Your project does not use SVG math or other lateximages,") print ("lwarpmk: or the file has been deleted somehow.") print ("lwarpmk: Use \"lwarpmk html\" to recompile your project") - print ("lwarpmk: and recreate \"lateximages.txt\".") + print ("lwarpmk: and recreate \"" .. sourcename .. "-images.txt\".") print ("lwarpmk: If your project does not use SVG math or other lateximages,") - print ("lwarpmk: then \"lateximages.txt\" will never exist, and") + print ("lwarpmk: then \"" .. sourcename .. "-images.txt\" will never exist, and") print ("lwarpmk: \"lwarpmk limages\" will not be necessary.") print ("lwarpmk: ===") end -- warnlimages function checklimages () -- --- Check lateximages.txt to see if need to recompile first. +-- Check .txt to see if need to recompile first. -- If any entry has a page number of zero, then there were incorrect images. -- -print ("lwarpmk: Checking for a valid lateximages.txt file.") -local limagesfile = io.open("lateximages.txt", "r") +print ("lwarpmk: Checking for a valid " .. sourcename .. "-images.txt file.") +local limagesfile = io.open(sourcename .. "-images.txt", "r") if ( limagesfile == nil ) then warnlimages () os.exit(1) end -- Track warning to recompile if find a page 0 local pagezerowarning = false --- Scan lateximages.txt +-- Scan .txt for line in limagesfile:lines() do -- lwimgpage is the page number in the PDF which has the image -- lwimghash is true if this filename is a hash @@ -439,20 +442,20 @@ executecheckerror ( cmdgroupopenname .. "pdfseparate -f " .. lwimgpage .. " -l " .. lwimgpage .. " " .. sourcename .."_html.pdf " .. - "lateximages" .. dirslash .."lateximagetemp-%d" .. ".pdf" .. + imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" .. seqname .. -- Crop the image: - "pdfcrop --hires lateximages" .. dirslash .. "lateximagetemp-" .. + "pdfcrop --hires " .. imagesdirectory .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf " .. - "lateximages" .. dirslash .. lwimgname .. ".pdf" .. + imagesdirectory .. dirslash .. lwimgname .. ".pdf" .. seqname .. -- Convert the image to svg: - "pdftocairo -svg -noshrink lateximages" .. dirslash .. lwimgname .. ".pdf " .. - "lateximages" .. dirslash .. lwimgname ..".svg" .. + "pdftocairo -svg -noshrink " .. imagesdirectory .. dirslash .. lwimgname .. ".pdf " .. + imagesdirectory .. dirslash .. lwimgname ..".svg" .. seqname .. -- Remove the temporary files: - rmname .. " lateximages" .. dirslash .. lwimgname .. ".pdf" .. seqname .. - rmname .. " lateximages" .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf" .. + rmname .. " " .. imagesdirectory .. dirslash .. lwimgname .. ".pdf" .. seqname .. + rmname .. " " .. imagesdirectory .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf" .. cmdgroupclosename .. " >/dev/null " .. bgname , "File error trying to convert " .. lwimgfullname @@ -495,7 +498,7 @@ end -- createwindowsimage function createonelateximage ( line ) -- --- Given the next line of lateximages.txt, convert a single image. +-- Given the next line of .txt, convert a single image. -- -- lwimgpage is the page number in the PDF which has the image -- lwimghash is true if this filename is a hash @@ -508,7 +511,7 @@ if ( (i~=nil) ) then pagezerowarning = true else -- Skip is this image is hashed and already exists: - local lwimgfullname = "lateximages" .. dirslash .. lwimgname .. ".svg" + local lwimgfullname = imagesdirectory .. dirslash .. lwimgname .. ".svg" if ( (lwimghash ~= "true") or (lfs.attributes(lwimgfullname,"mode")==nil) -- file not exists @@ -534,7 +537,7 @@ end -- createonelateximage function createlateximages () -- --- Create lateximages based on lateximages.txt: +-- Create lateximages based on .txt: -- -- See if the document must be recompiled first: checklimages () @@ -542,13 +545,13 @@ checklimages () checkhtmlpdfexists () -- Attempt to create the lateximages: print ("lwarpmk: Creating lateximages.") -local limagesfile = io.open("lateximages.txt", "r") +local limagesfile = io.open(sourcename .. "-images.txt", "r") if ( limagesfile == nil ) then - warnlateximages () + warnlimages () os.exit(1) end -- Create the lateximages directory, ignore error if already exists -err = os.execute("mkdir lateximages") +err = os.execute("mkdir " .. imagesdirectory) -- For Windows, create lwarp_one_limage.cmd from lwarp_one_limage.txt: if opsystem=="Windows" then executecheckerror ( @@ -560,7 +563,7 @@ end -- create lwarp_one_limage.cmd numimageprocesses = 0 -- Track warning to recompile if find a page 0 pagezerowarning = false --- Scan lateximages.txt +-- Scan .txt for line in limagesfile:lines() do createonelateximage ( line ) end -- do @@ -758,7 +761,7 @@ os.execute(glossarycmd .. " " .. sourcename .. "_html") updateanddone () -- lwarpmk limages: --- Scan the lateximages.txt file to create lateximages. +-- Scan the .txt file to create lateximages. elseif arg[1] == "limages" then loadconf () @@ -796,11 +799,11 @@ os.execute ( rmname .. " " .. print ("lwarpmk: Done.") -- lwarpmk cleanlimages --- Remove images from the lateximages directory. +-- Remove images from the imagesdirectory. elseif arg[1] == "cleanlimages" then loadconf () -os.execute ( rmname .. " lateximages/*" ) +os.execute ( rmname .. " " .. imagesdirectory .. dirslash .. "*" ) print ("lwarpmk: Done.") -- lwarpmk epstopdf diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index 67e54f5c022..e49d34f4402 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -1,7 +1,7 @@ % % \iffalse meta-comment % -% Copyright 2016-2018 Brian Dunn +% Copyright 2016-2019 Brian Dunn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,7 +16,7 @@ % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{lwarp} -% [2018/12/22 v0.65 Allows LaTeX to directly produce HTML5 output.] +% [2019/02/08 v0.66 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -24,10 +24,11 @@ \usepackage{lmodern} % \usepackage{libertine} \usepackage[space]{erewhon} -% \usepackage[varqu,varl]{inconsolata} % typewriter -% \usepackage{roboto} +\usepackage[varqu,varl]{inconsolata} % typewriter +\usepackage{roboto} +% \usepackage{sourcesanspro} % \usepackage{cabin} -\usepackage[tabular,semibold]{sourcesanspro} +% \usepackage[tabular,semibold]{sourcesanspro} \usepackage[T1]{fontenc} @@ -130,11 +131,21 @@ \definecolor{codecolor}{rgb}{0,.4,.2} \definecolor{overviewcolor}{rgb}{0,.2,.4} +\usepackage[ + left=2in, + right=1.5in, + top=1.5in, + bottom=1in +]{geometry} \usepackage{graphicx} \graphicspath{{images/}} + \usepackage{metalogo} + +\makeatletter +\@ifpackageloaded{erewhon}{ % for erewhon: \setlogokern{Te}{-.08em} \setlogokern{eX}{-0.04em} @@ -143,6 +154,9 @@ \setlogokern{Xe}{-.04em} \setlogokern{eL}{-.06em} \setlogodrop{0.27ex} +}{} +\makeatother + \usepackage{enumitem} @@ -182,70 +196,7 @@ \pagestyle{pageheadfoot} - - -\usepackage{dtxdescribe} - - -\DeclareRobustCommand{\thinskip}{\hskip 0.16667em\relax} -\def\endash{–} -\def\emdash{—} -% \def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces} -% \def\dash{\d@sh\nobreak\endash} -% \def\Dash{\d@sh\nobreak\emdash} -\newcommand{\thinbrspace}{\hspace{.16667em}\penalty\exhyphenpenalty\hspace{0pt}} -\newrobustcmd{\Dash}{\unskip\thinspace\textemdash\thinbrspace} -\newrobustcmd{\dash}{\unskip\thinspace\mbox{--}\thinbrspace} -\newrobustcmd{\Slash}{\unskip\thinspace/\thinbrspace} - - -\newcommand{\ItemDescribeMacro}[1]{% -\item[\cmd{#1}:]% -\setlength{\parskip}{1.5ex}% -\DescribeMacro{#1}% -} - -\newcommand{\ItemDescribeEnv}[1]{% -\item[\env{#1}:]% -\setlength{\parskip}{1.5ex}% -\DescribeEnv{#1}% -} - -\newcommand{\ItemDescribeOption}[1]{% -\item[\texttt{#1}:]% -\setlength{\parskip}{1.5ex}% -\DescribeOption{#1}% -} - -\newcommand{\ItemDescribeCounter}[1]{% -\item[\texttt{#1}:]% -\setlength{\parskip}{1.5ex}% -\DescribeCounter{#1}% -} - -\newcommand{\ItemDescribeBoolean}[1]{% -\item[\texttt{#1}:]% -\setlength{\parskip}{1.5ex}% -\DescribeBoolean{#1}% -} - -% A macro which is not indexed: -\makeatletter -\newenvironment{noindmacro}[1] -{ -\setlength{\parskip}{\marginparpush} -\leavevmode\par\DTXD@margintag{}{\cmd{#1}}{}} -{\unskip} -\makeatother - -% An environment which is not indexed: -\makeatletter -\newenvironment{noindenvironment}[1] -{ -\setlength{\parskip}{\marginparpush} -\leavevmode\par\DTXD@margintag{}{#1}{Env}} -{\unskip} -\makeatother +\usepackage{dtxdescribe}[2019/01/11] \usepackage{splitidx} @@ -281,24 +232,6 @@ Keywords={LaTeX, HTML, conversion}% }} -\pdfstringdefDisableCommands{ -\def\quad{ } -\def\\{ } -\def\pkg#1{#1} -\def\cs#1{\textbackslash#1} -\def\env#1{#1} -\def\,{ } -\def\prog#1{#1} -\def\LuaLaTeX{LuaLaTeX} -\def\XeLaTeX{XeLaTeX} -\def\TeX{TeX} -\def\LaTeX{LaTeX} -\def\Dash{ --- } -\def\dash{ -- } -\def\element#1{#1} -\def\attribute#1{#1} -} - \usepackage{cleveref} @@ -306,55 +239,19 @@ Keywords={LaTeX, HTML, conversion}% \renewcommand{\partname}{Package} \renewcommand*{\thepart}{\arabic{part}} - -\providerobustcmd*{\lmacro}[1]{\textbackslash#1} -\providerobustcmd*{\cmds}[1]{\mbox{\texttt{\textbf{\textsl{#1}}}}} -\providerobustcmd*{\env}[1]{\mbox{\texttt{#1}}} -\providerobustcmd*{\ctr}[1]{\mbox{\texttt{#1}}} -\providerobustcmd*{\bool}[1]{\mbox{\texttt{#1}}} - -% \providerobustcmd*{\pkg}[1]{\mbox{\textbf{\textsf{#1}}}} -% \providerobustcmd*{\prog}[1]{\mbox{\textbf{\textsf{#1}}}} -\providerobustcmd*{\pkg}[1]{\mbox{\textsf{#1}}} -\providerobustcmd*{\prog}[1]{\mbox{\textsf{\textsl{#1}}}} - -\providerobustcmd*{\progcode}[1]{\mbox{\texttt{#1}}} -\providerobustcmd*{\optn}[1]{\mbox{\texttt{#1}}} -\providerobustcmd*{\filenm}[1]{\mbox{\texttt{#1}}} - -\providerobustcmd*{\brand}[1]{\textsc{#1}} - -\newrobustcmd{\acro}[1]{\textsc{\lowercase{#1}}} -\newrobustcmd{\element}[1]{\texttt{<#1>}} -\newrobustcmd{\attribute}[1]{\mbox{\texttt{#1}}} -\newrobustcmd{\UI}[1]{\textbf{\textsf{#1}}} - -\newrobustcmd{\supregistered}{\textsuperscript{\textregistered}} - -\newrobustcmd{\TOC}{\acro{TOC}} -\newrobustcmd{\LOF}{\acro{LOF}} -\newrobustcmd{\LOT}{\acro{LOT}} - -\newrobustcmd{\HTML}{\acro{HTML}} -\newrobustcmd{\HTMLfive}{\HTML\textsc{5}} -\newrobustcmd{\CSS}{\acro{CSS}} -\newrobustcmd{\CSSthree}{\CSS\textsc{3}} -\newrobustcmd{\EPUB}{\acro{EPUB}} -\newrobustcmd{\ODT}{\acro{ODT}} -\newrobustcmd{\SVG}{\acro{SVG}} -\newrobustcmd{\PNG}{\acro{PNG}} -\newrobustcmd{\GIF}{\acro{GIF}} -\newrobustcmd{\JPG}{\acro{JPG}} -\newrobustcmd{\EPS}{\acro{EPS}} -\newrobustcmd{\PDF}{\acro{PDF}} -\newrobustcmd{\DVI}{\acro{DVI}} -\newrobustcmd{\tikz}{Ti\textit{k}z} -\newrobustcmd{\MathML}{Math\acro{ML}} -\newrobustcmd{\CTAN}{\acro{CTAN}} -\newrobustcmd{\TDS}{\acro{TDS}} -\newrobustcmd{\UTF}{\acro{UTF}} - -\newcommand{\spslash}{\unskip\kern.085em/\hspace{.085em}\penalty\exhyphenpenalty\hspace{0pt}} +\renewenvironment{abstract} + { + \addvspace{\bigskipamount} + \begin{center} + \textbf{\abstractname} + \end{center} +% \small + \setlength{\parindent}{2em} + \setlength{\parskip}{0ex} + } + { + \addvspace{\bigskipamount} + } \makeatletter \newcommand*{\rulebreak}{% @@ -362,8 +259,6 @@ Keywords={LaTeX, HTML, conversion}% } \makeatother -\newcommand{\DescribeDefault}[1]{\margintag{\footnotesize \textgreen{Default: \texttt{#1}}}} - \newcommand{\goesto}{$\Rightarrow$} \newcommand{\credits}[1]{{\footnotesize(\textit{Emulates or patches code by} \textsc{#1}.)}} @@ -375,78 +270,15 @@ Keywords={LaTeX, HTML, conversion}% \newcommand*{\testthis}{\textcolor{blue}{Please send bug reports!}\watchout[Not fully tested!]} -\newcommand*{\fquad}{\hspace*{1em}} -\newcommand*{\fqquad}{\hspace*{2em}} -\newcommand*{\fqqquad}{\hspace*{3em}} - \newcommand{\textred}[1]{\textcolor{red}{#1}} \newcommand{\textgreen}[1]{\textcolor{green!50!black}{#1}} \newcommand{\textblue}[1]{\textcolor{blue!70!black}{#1}} -\newcommand{\userentry}[1]{% -\par -\fqquad\begin{minipage}{\linewidth-2em} -{\footnotesize Enter~$\Rightarrow$}\quad\texttt{#1} -\end{minipage} -\par -} - -\newenvironment{sourcedisplay} -{ -\leavevmode -\par -\fqquad\minipage{\linewidth-2em} -\ttfamily -} -{% -\endminipage -\par -} - -\newenvironment{UIdisplay} -{ -\leavevmode -\par -\fqquad\minipage{\linewidth-2em} -\sffamily\bfseries -} -{ -\endminipage -\par -} - -\newenvironment{docsidebar}[1][] -{% -\ifblank{#1}{}{\medskip}% -\hfill\minipage{.9\linewidth}% -\setlength{\parskip}{1.5ex}% -\ifblank{#1}{}{\textit{#1}}% -\leavevmode\smallskip\hrule% -} -{\smallskip\hrule\endminipage\hspace*{\fill}\bigskip} - \newcommand{\pdflatexonly}{ \textred{Only pre-loaded if \prog{pdflatex} is being used.} \marginpar{\raggedleft\textblue{\prog{pdflatex} only:}} } -% From package dtxdescribe: -% \makeatletter -% \renewcommand{\watchout}[1][]{% -% \@ifundefined{@captype}{% not float? -% % \@bsphack% -% \marginpar{\raggedleft% -% \textcolor{red!50!black}{\warningsign\normalsize\quad#1}}% -% % \@esphack% -% \ignorespaces% -% }{}% not float? -% } -% \makeatother - -% \newcommand{\margintag}[1]{% -% \marginpar{\raggedleft\textblue{#1}}% -% } - % \trouble[watchout phrase]{index entry} \newcommand*{\trouble}[2][]{% @@ -469,6 +301,7 @@ the \nameref{sec:indextrb} if something doesn't work. The \nameref{sec:indexidx} contains automated entries for each package, macro, environment, counter, boolean, and other objects; individually and also sorted by category. A \nameref{sec:troubleshooting} section is also available. +\smallskip \hrule \end{minipage}\margintag{Need help?} } @@ -567,7 +400,7 @@ but does not require that \pkg{hyperref} be loaded by the document. Do not place a comment with a \texttt{\%} character between arguments \trouble[comments between arguments]{hyperref=\pkg{hyperref}>comments between arguments} -for \cs{hyperref}, etc., as it is neutralized for inclusion in \HTML\ \acro{URL}s. +for \cs{hyperref}, etc., as it is neutralized for inclusion in \HTML\ \URL{}s. \pkg{lwarp} can also load \pkg{url}, but \pkg{url} should not be used at the same time as \pkg{hyperref}, since they both define the \cs{url} command. @@ -583,7 +416,7 @@ automatically load \pkg{backref}, so \pkg{backref} must be loaded explicitly. \newcommand{\limitsabstract}{% If using the \optn{number} option with file splits, -\trouble[missing \acro{TOC}]{abstract>missing \acro{TOC}} +\trouble[missing \TOC]{abstract>missing \TOC} be sure to place the table of contents before the abstract. The \optn{number} option causes a section break which may cause a file split, which would put a table of contents out @@ -607,28 +440,12 @@ See \cref{sec:publishedsubtitle}. \newcommand{\limitsappendix}{% During \HTML\ conversion, the option \optn{toc} without -\trouble[incorrect \acro{TOC} link]{appendix>incorrect \acro{TOC} link} -the option \optn{page} results in a \acro{TOC} link to +\trouble[incorrect \TOC\ link]{appendix>incorrect \TOC\ link} +the option \optn{page} results in a \TOC\ link to whichever section was before the \texttt{appendices} environment. It is recommended to use both \texttt{toc} and also \texttt{page} at the same time. } -\newcommand{\limitsxindylanguage}{% -The \pkg{lwarp} package option -\DescribeOption{xindyLanguage} -\DescribeDefault{english} -\optn{xindyLanguage} sets the language used by \prog{xindy}. -This is passed to \prog{xindy} using its \optn{-L} option -when using \cmds{lwarpmk printindex} and \cmds{lwarpmk htmlindex}. - -The option -\DescribeOption{xindyCodepage} -\DescribeDefault{utf8} -\optn{xindycodepage} sets the codepage used by \prog{xindy}. -This is passed to \prog{xindy} using its \optn{-C} option -when using \cmds{lwarpmk printindex} and \cmds{lwarpmk htmlindex}. -} - \newcommand{\limitspdftotextenc}{% The option \DescribeOption{pdftotextEnc} @@ -664,14 +481,14 @@ To do so, add to the start of the \filenm{.bib} file the following: \DescribeOption[lwarpmk]{htmlglossary} \prog{lwarpmk} has the commands \texttt{lwarpmk printglossary} and \texttt{lwarpmk htmlglossary}, which process the glossaries created by the -\pkg{glossaries} package using that package's \cmds{makeglossaries} command. +\pkg{glossaries} package using that package's \prog{makeglossaries} program. The shell command to execute is set by the \pkg{lwarp} option \optn{GlossaryCmd}, which defaults to \cmds{makeglossaries}. The print or \HTML\ glossary filename is appended to this command. In some situations it may be required to modify the default command, -\trouble[\cmds{makeglossaries} not found]{makeglossaries=\prog{makeglossaries}>not found} +\trouble[\prog{makeglossaries} not found]{makeglossaries=\prog{makeglossaries}>not found} \trouble{glossaries=\pkg{glossaries}>makeglossaries=\prog{makeglossaries} not found} such as to add the \cmds{perl} command in front: \begin{sourcedisplay} @@ -687,11 +504,11 @@ To set the language to use for processing glossaries with \prog{xindy}: \fquad\ GlossaryCmd=\{makeglossaries \textred{-L english}\}, \\ ] \{lwarp\} \end{sourcedisplay} -Other options for \cmds{makeglossaries} may be set as well. +Other options for \prog{makeglossaries} may be set as well. The glossaries may be placed in a numbered or unnumbered section, given -\margintag{placement and \acro{TOC} options} -a \acro{TOC} entry, and placed inline or on their own \HTML\ page: +\margintag{placement and \TOC\ options} +a \TOC\ entry, and placed inline or on their own \HTML\ page: \begin{description} \item [Numbered section, on its own \HTML\ page:] @@ -736,8 +553,8 @@ though the page number is currently ignored. \newcommand{\limitstocbibind}{% An index may be placed inline with other \HTML\ text, or on its own \HTML\ page: -\margintag{placement and \acro{TOC} options} -\gindex{index>placement and \acro{TOC} options} +\margintag{placement and \TOC\ options} +\gindex{index>placement and \TOC\ options} \gindex{index>table of contents} \begin{description} @@ -771,7 +588,7 @@ An index may be placed inline with other \HTML\ text, or on its own \HTML\ page: \DescribePackage{tocbibind} The \pkg{tocbibind} - package may be used to automatically place an entry in the \acro{TOC}. + package may be used to automatically place an entry in the \TOC. \begin{sourcedisplay} \cs{usepackage}[nottoc]\{tocbibind\} \\ \dots \\ @@ -854,7 +671,7 @@ allowing other packages to work with it. } \newcommand*{\limitsendnotes}{% -To place the endnotes in the \acro{TOC}, use: +To place the endnotes in the \TOC, use: \margintag{table of contents} \begin{sourcedisplay} \cs{usepackage}\{endnotes\} \\ @@ -1062,6 +879,16 @@ loading \pkg{lwarp}: \cs{usepackage\{package\_name\}} \end{sourcedisplay} +\pkg{memoir} emulates a number of packages, and declares a version date for each +\trouble[version numbers]{memoir=\pkg{memoir}>version clash} +\trouble{package>version numbers with \pkg{memoir}} +\trouble{version numbers>with \pkg{memoir}} +which often does not match the date of the corresponding freestanding package. +This can cause warnings about incorrect version numbers. +Since \pkg{lwarp} is intended to support the freestanding packages, +which are often newer than the date declared by \pkg{memoir}, it is hoped that +\pkg{memoir} will update and change its emulated version numbers to match. + \cs{verbfootnote} is not supported. \cs{newfootnoteseries}, etc. are not supported. @@ -1091,16 +918,11 @@ but it will only work for print output. \pkg{lwarp} provides \cs{attribution}, which works for both print and \HTML\ output. To combine the two so that \cs{attrib} is used for print and \cs{attribution} is used for \HTML: - -\begin{docsidebar} -\raggedright -\ttfamily -\cs{begin}\{warpHTML\} - -\cs{let}\cs{attrib}\cs{attribution} - +\begin{sourcedisplay} +\cs{begin}\{warpHTML\} \\ +\cs{let}\cs{attrib}\cs{attribution} \\ \cs{end}\{warpHTML\} -\end{docsidebar} +\end{sourcedisplay} \DescribeLength{\vleftskip} \DescribeLength{\vleftmargini} @@ -1149,6 +971,10 @@ which defaults to: \newcommand{\limitsmath}{% + +\subsubsection{Math in section names} +\limitsmathinsectionnames + \subsubsection{Rendering tradeoffs} Math may be rendered @@ -1381,6 +1207,20 @@ Examples: %\end{sourcedisplay} %} +\newcommand*{\limitsmathinsectionnames}{ +if using named files, in section names use paren math \texttt{\textbackslash(x+y\textbackslash)} +\trouble[math in section names]{filename>math in} +\trouble{sectioning>math in name} +\trouble{math>section name} +\trouble{math>file name} +instead of dollar math \texttt{\$x+y\$}. +(Dollar math works, but appears in the filename.) +Or, use a short name for the \TOC\ entry without the math, or use +\begin{sourcedisplay} +\cs{section}\{\cs{texorpdfstring}\{\$1+2=3\$\}\{text description\}\} +\end{sourcedisplay} +} + \newcommand{\limitschemfig}{% If using \cs{polymerdelim} to add delimiters to a \cs{chemfig}, wrap both inside a single \env{lateximage}: @@ -1429,6 +1269,8 @@ It is recommended to use \pkg{cleveref} instead of \pkg{ntheorem}'s } \newcommand{\limitsgraphics}{% +\limitsincludegraphicsscale + For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files, \gindex{graphics>formats} \gindex{includegraphics=\cs{includegraphics}>using} @@ -1514,7 +1356,7 @@ enclose them inside \env{warpHTML} environments. For font-proportional image sizes, use \texttt{ex} or \texttt{em}. For fixed-sized images, use \texttt{cm}, \texttt{mm}, \texttt{in}, \texttt{pt}, or \texttt{pc}. -Use the keys \optn{width=.5\lmacro{linewidth}}, +Use the keys \optn{width=.5\cs{linewidth}}, or similar for \cs{textwidth} or \cs{textheight} to give fixed-sized images proportional to a 6 by 9 inch text area. Do not use the \optn{scale} option, since it is not well supported by \HTML\ browsers. @@ -1547,6 +1389,19 @@ unlike \LaTeX{}, so expect some ugly results for scaling and rotating. } +\newcommand*{\limitsincludegraphicsscale}{ +Avoid using the \cs{includegraphics} \optn{scale} option. Change: +\trouble[\optn{scale}]{scale=\optn{scale} (\cs{includegraphics} option)} +\trouble{includegraphics=\cs{includegraphics}>scale=\optn{scale}} +\trouble{graphics>scale=\optn{scale} option} +\begin{sourcedisplay} +\cs{includegraphics}[scale=]\{\,\dots\} +\end{sourcedisplay} to: +\begin{sourcedisplay} +\cs{includegraphics}[width=\textbackslash{linewidth}]\{\,\dots\} +\end{sourcedisplay} +} + \newcommand{\limitssvgimages}{% When a math expression, \env{picture}, or \tikz\ environment is added or \trouble[adding/removing]{SVG image>out of order} @@ -1744,7 +1599,7 @@ following, especially if working with environments, macros inside tabulars, multirows, \texttt{*} column specifiers, \pkg{siunitx} \texttt{S} columns, or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xtab}. \begin{description} -\item [Defining environments:] \ +\item [Defining macros and environments:] \ \begin{itemize} \item When defining environments or macros which include \env{tabular} and \trouble[Misplaced alignment tab character \&]% @@ -1984,7 +1839,7 @@ Keep the \cs{endfirsthead} row, which is still relevent to \HTML\ output. \begin{sourcedisplay} \cs{begin}\{warpprint\} \ldots\ \cs{end}\{warpprint\} \end{sourcedisplay} -or place it inside \cs{warpingprintonly}. +or place it inside \cs{warpprintonly}. \pkg{longtable} is not supported inside a \env{lateximage}.% \watchout[lateximage] @@ -2081,57 +1936,73 @@ the page will be corrupted. } \newcommand{\limitsminipage}{% -A line of text with an inline minipage +A line of text with an inline \env{minipage} \trouble[inline]{minipage>inline} -or parbox will have the minipage or parbox placed onto its own line, +or \cs{parbox} will have the \env{minipage} or \cs{parbox} placed onto its own line, because a paragraph is a block element and cannot be made \attribute{inline-block}. -Minipages and parboxes will be placed side-by-side in \HTML\ +\env{minipage}s and \cs{parbox}es will be placed side-by-side in \HTML\ \margintag{placement} unless you place a \cs{newline} between them. -Side-by-side minipages may be separated by \cs{quad}, \cs{qquad}, \cs{enskip}, +Side-by-side \env{minipage}s may be separated by \cs{quad}, \cs{qquad}, \cs{enskip}, \margintag{side-by-side} \cs{hspace}, \cs{hfill}, or a \cs{rule}. When inside a \env{center} environment, the result is similar in print and \HTML. Paragraph tags are suppressed between -side-by-side minipages and these spacing commands, but not at the start or end +side-by-side \env{minipage}s and these spacing commands, but not at the start or end of the paragraph. -There is limited support for minipages inside an \HTML\ \element{span}. -\margintag{in a span} -\trouble{minipage>in a span} +There is limited support for \env{minipage}s inside an \HTML\ \element{span}. +\trouble[minipage in a span]{minipage>in a span} An \HTML\ \element{div} cannot appear inside a \element{span}. -While in a \element{span}, minipages, and parboxes, and any enclosed lists +While in a \element{span}, \env{minipage}s, and \cs{parbox}es, and any enclosed lists have limited \HTML\ tags, resulting in an ``inline'' format, without markup except for \HTML\ breaks. Use \cs{newline} or \cs{par} for an \HTML\ break. When using \cs{linewidth}, \cs{textwidth}, and \cs{textheight}, -\margintag{size} -widths and heights are scaled proportionally to a 6\texttimes{}9 inch text area. +\trouble[minipage size]{minipage>size} +widths and heights in \HTML\ are scaled proportionally to a 6\texttimes{}9 inch text area, +and inside a \env{multicols} \cs{linewidth} is divided by the specified number +of columns. -A minipage of width exactly \cs{linewidth} is automatically -given no \HTML\ width. -\margintag{no-width minipages} +If a \env{minipage} or \cs{parbox} is assigned a width of exactly \cs{linewidth}, +\margintag{if width is \cs{linewidth}} +in \HTML\ it is automatically given no \HTML\ width, +thus allowed to fill the line as needed, similar to how it appears in print output. A new macro \cs{minipagefullwidth} requests -\margintag{full-width minipages} -that the next minipage be generated +\margintag{full-width if \HTML} +that, during \HTML\ output, the next single \env{minipage} or \cs{parbox} be generated without an \HTML\ \attribute{width} attribute, allowing it to be the full width of -the display rather than the fixed width given. - -Nested minipages adopt their parent's text alignment in \HTML, -whereas in regular \LaTeX{} \PDF\ output they do not. +the display rather than the declared print-output width. This may be useful where +the printed version's width makes no sense in \HTML. + +Inside a \env{tabular} or \env{multicols} environment, +\trouble[\env{tabular}, \env{multicols}]{minipage>tabular=\env{tabular}, width in} +\trouble{minipage>multicols=\env{multicols}, width in} +where the width depends on the browser window, +\cs{minipagefullwidth} is effectively used by default for +every \env{minipage} or \cs{parbox} inside the environment. +\DescribeMacro{\UseMinipageWidths} +\DescribeMacro{\IgnoreMinipageWidths} +\cs{UseMinipageWidths} may be used to tell \pkg{lwarp} to honor the specified +widths of all following \env{minipage}s and \cs{parboxes} until the end +of the local scope, and \cs{IgnoreMinipageWidths} may be used to tell \pkg{lwarp} to +ignore the specified widths. + +Nested \env{minipage}s adopt their parent's text alignment in \HTML, \trouble[text alignment]{minipage>alignment} -Use a \env{flushleft} or similar environment in the child minipage +whereas in regular \LaTeX{} \PDF\ output they do not. +Use a \env{flushleft} or similar environment in the child \env{minipage} to force a text alignment. } \newcommand{\limitsfancybox}{% \pkg{fancybox}'s documentation has an example \env{FramedEqn} environment \margintag{framed equation example} -which combines math, \cs{Sbox}, a minipage, and an \cs{fbox}. +which combines math, \cs{Sbox}, a \env{minipage}, and an \cs{fbox}. This combination requires that the entire environment be enclosed inside a \env{lateximage}, which is done by adding \cs{lateximage} at the very start of \env{FramedEqn}'s beginning code, and @@ -2242,7 +2113,7 @@ and likewise for subsubtitles. \newcommand{\limitscaption}{% To pass options to caption, select the options before loading \pkg{lwarp}: -\trouble[options]{caption>options} +\trouble[options]{caption=\pkg{caption}>options} \begin{sourcedisplay} \cs{documentclass}\{article\} \\ \dots \\ @@ -2255,13 +2126,17 @@ To pass options to caption, select the options before loading \pkg{lwarp}: To ensure proper float numbering, set caption positions such as: -\trouble[numbering]{caption>numbering} +\trouble[numbering]{caption=\pkg{caption}>numbering} +\trouble{subcaption=\pkg{subcaption}>numbering} \begin{sourcedisplay} +\cs{captionsetup}[figure]\{position=bottom\} \\ +\cs{captionsetup}[subfigure]\{position=bottom\} \\ \cs{captionsetup}[table]\{position=top\} \\ -\cs{captionsetup}[figure]\{position=bottom\} +\cs{captionsetup}[subtable]\{position=top\} \end{sourcedisplay} -Similarly for \pkg{subtable}, \pkg{subfigure}, -and \pkg{longtable}. +Similarly for \pkg{longtable}. +These positions depend on where the user places the \cs{caption} command +inside each float. } \newcommand{\limitscombiningfloats}{% @@ -2432,15 +2307,14 @@ the \HTML\ version should work as well using \pkg{lwarp}. \pkg{newclude} modifies \cs{label} in a non-adaptive way, so \pkg{newclude} must be loaded before \pkg{lwarp} is loaded: \trouble[loading]{newclude=\pkg{newclude}} - -\begin{docsidebar} +\begin{sourcedisplay} \raggedright \cs{documentclass\{article\}} \\ \ldots \\ \cs{usepackage\{newclude\}} \\ \cs{usepackage[warpHTML]\{lwarp\}} \\ \ldots -\end{docsidebar} +\end{sourcedisplay} } \newcommand{\limitstodonotes}{% @@ -2567,7 +2441,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{27403} +% \CheckSum{27831} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -2614,7 +2488,7 @@ This boolean may be tested by the user for later use. % \changes{v0.18}{2016/04/23}{File: lwarp.css: Improved \TOC\ outline display.} % \changes{v0.18}{2016/05/13}{Test Suite: Verse package} % \changes{v0.19}{2016/06/08}{\ 2016/06/08} -% \changes{v0.19}{2016/05/25}{File: \filenm{lwarp\_mathjax.txt} added.} +% \changes{v0.19}{2016/05/25}{File: \filenm{lwarp_mathjax.txt} added.} % \changes{v0.19}{2016/06/01}{File: \filenm{lwarp.css}: \attribute{tnoteitemheader} added.} % \changes{v0.20}{2017/02/09}{\ 2017/02/09} % \changes{v0.20}{2016/06/27}{Test Suite: \HTML\ meta descriptions.} @@ -2675,6 +2549,7 @@ This boolean may be tested by the user for later use. % \changes{v0.63}{2018/12/03}{\ 2018/12/03} % \changes{v0.64}{2018/12/08}{\ 2018/12/08} % \changes{v0.65}{2018/12/22}{\ 2018/12/22} +% \changes{v0.66}{2019/02/08}{\ 2019/02/08} @@ -2687,85 +2562,105 @@ This boolean may be tested by the user for later use. % % % \thispagestyle{empty} +% \newgeometry{margin=1in} % % \begin{center} % \includegraphics[width=.3\linewidth]{lwarp_logo.pdf} % -% \bigskip -% -% {\Huge The \textbf{lwarp} package} -% -% \smallskip +% {\Huge The \pkg{lwarp} package} % -% {\Large \textup{\LaTeX{} to HTML}} -% -% \bigskip +% {\Large \LaTeX\ to \HTML} % % \fileversion{} \Dash \filedate % -% \bigskip -% -% {\small\textcopyright{} 2016--2018} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} +% {\small\textcopyright{} 2016--2019} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} % -% -% ^^A % \title{The \pkg{lwarp} package\thanks{This document -% ^^A % corresponds to \pkg{lwarp}~\fileversion, -% ^^A % dated \filedate.}} -% ^^A % \author{{\small\textcopyright{} 2016--2018} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}} -% ^^A % \published{} -% ^^A % \subtitle{\textup{\LaTeX{} to HTML5}} -% ^^A % -% ^^A % \maketitle -% -% \vfill +% \end{center} % % \begin{abstract} % \noindent -% The \pkg{lwarp} package allows \LaTeX\ to directly produce \HTMLfive\ output, -% using external utility programs only for the final conversion of text and images. -% Math may be represented by \SVG\ files or \brand{MathJax}. +% The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the +% user's document and directly generate \HTML\ tags. External utility programs are only +% used for the final conversion of text and images. Math may be represented +% by \SVG\ images or MathJax. Hundreds of \LaTeX\ packages are supported. +% +% Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX; +% by several CJK engines, classes, and packages; +% or by customized systems such as \pkg{perltex} and \pkg{pythontex}. +% A \prog{texlua} script automates compilation, index, +% glossary, and batch image processing, and also supports \prog{latexmk}. +% Configuration is semi-automatic at the first manual compile. Support files +% are self-generated. Print and \HTML\ versions of each document may coexist. +% +% Assistance is provided for \HTML\ import into \EPUB\ conversion software and +% word processors. +% +% Requirements include the commonly-available \brand{Poppler} utilities +% (included with \brand{MiKTeX}) and \brand{Perl}. +% Detailed installation instructions are included for each of the +% major operating systems and \TeX\ distributions. +% +% A quick-start tutorial is provided, as well as extensive documentation +% for special cases, a general index, and a troubleshooting index. +% Automatic testing of package load order and image generation offers +% useful advice for resolving errors. +% +% \SVG\ math and many other generated images +% include \LaTeX\ expressions in the \attribute{alt} tags. +% \brand{MathJax} may be used with advanced equation numbering +% under the direct control of \pkg{lwarp}. +% +% Complicated tables are supported, which copy/paste well into \brand{LibreOffice Writer}. +% +% Supported classes and packages include \pkg{memoir} and \pkg{koma-script}, +% \pkg{cleveref}, \pkg{caption}, \pkg{mdframed}, \pkg{siunitx}, +% and many popular packages for tabulars, floats, graphics, theorems, the title page, +% bibliography, indexing, footnotes, and editorial work. +% +% \TeX\ is a self-modifying tokenized macro-expansion language. +% Since \pkg{lwarp} is written directly in \LaTeX, it is able to interpret the document's +% meaning at a deeper level than external conversions which merely approximate \TeX. +% \HTML5 and \CSS3 are leveraged to provide advanced features such as +% \pkg{booktabs} trim, multicolumns, side-by-side minipages, and +% \brand{JavaScript}-free navigation. +% +% ^^A The \pkg{lwarp} package allows \LaTeX\ to directly produce \HTMLfive\ output, +% ^^A using external utility programs only for the final conversion of text and images. +% ^^A Math may be represented by \SVG\ files or \brand{MathJax}. % -% Documents may be produced by pdf\LaTeX, \LuaLaTeX, or \XeLaTeX. -% A \prog{texlua} script removes the need for system utilities such as \prog{make} and \prog{gawk}, -% and also supports \prog{xindy} and \prog{latexmk}. Configuration is automatic at the -% first manual compile. +% ^^A Documents may be produced by pdf\LaTeX, \LuaLaTeX, or \XeLaTeX. +% ^^A A \prog{texlua} script removes the need for system utilities such as \prog{make} and \prog{gawk}, +% ^^A and also supports \prog{xindy} and \prog{latexmk}. Configuration is automatic at the +% ^^A first manual compile. % -% Print and \HTML\ versions of each document may coexist, each with its own -% set of auxiliary files. Support files are self-generated on request. -% Assistance is provided for import into \EPUB\ conversion software and word processors. +% ^^A Print and \HTML\ versions of each document may coexist, each with its own +% ^^A set of auxiliary files. Support files are self-generated on request. +% ^^A Assistance is provided for import into \EPUB\ conversion software and word processors. % -% A modular package-loading system uses the \pkg{lwarp} version of a package for -% \HTML\ when available. -% More than 300 \LaTeX\ packages are supported with these -% high-level source-compatibility replacements, and many others work as-is. +% ^^A A modular package-loading system uses the \pkg{lwarp} version of a package for +% ^^A \HTML\ when available. +% ^^A More than 300 \LaTeX\ packages are supported with these +% ^^A high-level source-compatibility replacements, and many others work as-is. % -% A tutorial is provided to quickly introduce the user to the major components -% of the package. +% ^^A A tutorial is provided to quickly introduce the user to the major components +% ^^A of the package. % -% \bigskip +% \end{abstract} % % \begin{center} +% \setlength{\parskip}{1ex} % \color{blue} -% To update existing projects, see \cref{sec:updates}: \nameref{sec:updates}. -% -% \bigskip -% % For a list of supported features, see \cref{tab:supported}: \nameref{tab:supported}. -% \end{center} % -% \bigskip +% To update existing projects, see \cref{sec:updates}: \nameref{sec:updates}. % -% \noindent -% \textcolor{red!30!black}{\bfseries -% Note that this is still a ``beta'' version of \pkg{lwarp}, -% and some things may change in response to user feedback and -% further project development. -% } +% \color{red!30!black}\bfseries +% \pkg{Lwarp} is still in development. Changes are likely. % -% \bigskip +% \end{center} % -% \footnotesize % \begin{description} +% \footnotesize % \item[License:] \ % % This work may be distributed and/or modified under the @@ -2778,17 +2673,12 @@ This boolean may be tested by the user for later use. % \end{description} % % -% \end{abstract} % -% \vspace*{\fill} -% \vspace*{\fill} -% \vspace*{\fill} +% \clearpage % -% \end{center} +% \restoregeometry % -% \clearpage -% -% \section{Supporting \protect\TeX\ development} +% \section{Support \protect\TeX\ development} % \label{sec:supportinglatex} % \changes{v0.42}{2017/10/30}{Docs: Added support page.} % @@ -2874,7 +2764,76 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} -% \item[v0.65:] \CSS\ layout, \attribute{alt} tags, Japanese. PENDING +% \item[v0.66:] \pkg{xr}, multiple projects, image names/directory, \HTML\ formatting +% \begin{itemize} +% \item \newlwarpmkconf +% \item Adds options \optn{ImagesDirectory} and \optn{ImagesName} +% \margintag{\env{lateximage}} +% to assign directory and name prefixes for \env{lateximage} images. +% The new defaults include the jobname, allowing the image directories for +% multiple projects to coexist. +% \item To reuse existing \filenm{lateximage} directories, add \pkg{lwarp} options +% \watchout[existing projects] +% \begin{sourceverb} +% \usepackage[ +% ImagesDirectory={lateximages}, +% ImagesName={lateximage-} +% ]{lwarp} +% \end{sourceverb} +% If not reused, the existing \filenm{lateximages} directory and +% \filenm{lateximages.txt} file may be removed. +% \item Added \cs{FilenameLimit} to control the maximum length of the +% \margintag{filenames} +% filenames generated by \pkg{lwarp}. +% \item Improved filename generation +% \watchout[Possible filename changes] +% when special characters or macros are used in section names. +% \item Fix for \cmds{lwarpmk cleanlimages} with \brand{Windows}. +% \margintag{\brand{Windows}} +% \item Fixes for floats in the home page. +% \margintag{floats} +% \item Improved \CSS\ for definition lists, table notes. +% \margintag{lists, table notes} +% \item \env{tabular}: Fixes for \cs{par} in column specifier, +% minipage inside \env{tabular}. +% \margintag{\env{tabular}} +% \item Indexing: Fix for a long line of multiple entries. +% \margintag{indexing} +% \item \cs{minipagefullwidth}: Fix for global changes. +% \margintag{\env{minipage}} +% \item Added \cs{UseMinipageWidths} and \cs{IgnoreMinipageWidths}. +% See \cref{sec:minipages}. +% \item Improved \cs{fbox}, \cs{fboxBlock}, \cs{fminipage} to use current text color. +% \margintag{colors} +% \item Improved \HTML\ output formatting. +% \margintag{\HTML} +% \item Added discussion regarding invalid \HTML. See \cref{sec:invalidhtml}. +% \margintag{docs} +% \item Added discussion regarding math in section names, +% \cs{imagegraphics} \optn{scale} option. See \cref{sec:convertexisting}. +% \item Added discussion regarding international languages in section names. +% See \cref{sec:international}. +% \item \pkg{caption}: Fix for options clash. +% \margintag{packages} +% \item \pkg{xr}, \pkg{xr-hyper}: Now compatible. +% \item \pkg{subcaption}: Improved horizontal spacing. +% \item \pkg{multicol}: Fix for minipage inside \env{multicols}. +% \item \pkg{multicolrule}: Updated for v1.2. +% \item \pkg{tocbasic}: Minor update. +% \item \pkg{acronym}: Fix for acronym in float caption. +% \item \pkg{kotexutf}: Patch with \prog{pdflatex} and new +% \pkg{lwarp} labels. +% \item \pkg{extramarks}, \pkg{fancyhdr}: Updated for v3.10. +% \item \pkg{memoir}: Added docs regarding version numbers. See \cref{sec:limitsmemoir}. +% \item \pkg{zref}: No longer required. +% \item Added \pkg{ar}, \pkg{ed}, \pkg{indentfirst}, \pkg{nameauth}, \pkg{truncate}. +% \item Verified to work as-is with \pkg{changelog}. +% \item Prevented \pkg{colortab}, \pkg{epsf}, \pkg{hyper}, +% \pkg{picinpar}, \pkg{picins}, +% \pkg{sistyle}, \pkg{ucs}. +% \end{itemize} +% \needspace{2\baselineskip} +% \item[v0.65:] \CSS\ layout, \attribute{alt} tags, Japanese. % \begin{itemize} % \item Moved the side\TOC\ to the left side, % \margintag{page layout} @@ -3264,10 +3223,10 @@ This boolean may be tested by the user for later use. % \margintag{floats with \cs{centering}, etc.} % and their \pkg{ragged2e} equivalents, % when placed directly after: -% \begin{sourcedisplay} -% \cs{begin}\{floattype\} \\ -% \cs{centering} -% \end{sourcedisplay} +% \begin{sourceverb} +% \begin{floattype} +% \centering +% \end{sourceverb} % \item \pkg{tikz}: \cs{pgfpicture}, fit, align, font. % \margintag{misc. fixes} % \item \pkg{ragged2e}: \cs{centering} etc. @@ -3297,7 +3256,7 @@ This boolean may be tested by the user for later use. % \needspace{2\baselineskip} % \item[v0.52:] Improved footnotes, \SVG\ math. % \begin{itemize} -% \item Improved install instructions regarding \filenm{lwarp\_baseline\_marker.png}. +% \item Improved install instructions regarding \filenm{lwarp_baseline_marker.png}. % \margintag{documentation} % \item Added documentation regarding footnotes in section headings, % and footnotes with \cs{VerbatimFootnotes} @@ -3309,7 +3268,7 @@ This boolean may be tested by the user for later use. % \margintag{SVG math} % when generating \env{lateximage}s. % \item Added user-adjustable \SVG\ math font scaling. See \cref{sec:mathfontscale}. -% \item Added warnings if \filenm{lwarp\_baseline\_marker.png} is not present, or +% \item Added warnings if \filenm{lwarp_baseline_marker.png} is not present, or % if \pkg{graphicx} or \pkg{graphics} is not loaded. % \item Improved \cs{ensuremath} hashing expansion. % \item Fix: \env{equation*} with \env{split}. @@ -3326,7 +3285,7 @@ This boolean may be tested by the user for later use. % \item Fix: \cs{FileDepth}, misc. others, when input encoding is not \optn{utf8}. % \item Fix: \cs{texorpdfstring} in a section name. % \item \pkg{hyperref} emulation: Fix for \progcode{\#}, \progcode{\%}, \margintag{packages} -% \progcode{\&}, \progcode{\~}, \progcode{\_} characters in \acro{URL}s. +% \progcode{\&}, \progcode{\~}, \progcode{\_} characters in \URL{}s. % \item \pkg{fancybox}, \pkg{fancyvrb}: Initial support for \cs{VerbatimFootnotes}. % \item \pkg{nicefrac}: Added with fix for \cs{ensuremath}. % \item \pkg{graphicx}: Fix for option defaults. Added v1.1a/b options. @@ -3460,7 +3419,7 @@ This boolean may be tested by the user for later use. % \needspace{2\baselineskip} % \item[v0.45:] \ % \begin{itemize} -% \item Improved \prog{MikTeX} install instructions. +% \item Improved \prog{MiKTeX} install instructions. % \margintag{documentation} % \item Improved graphics and \pkg{epstopdf} instructions. % \item Updates to the \nameref{sec:introduction}. @@ -3498,7 +3457,7 @@ This boolean may be tested by the user for later use. % Fixed web page title if \cs{HTMLTitle} empty and no \cs{title} given and % not using \pkg{titling} package. % \item Fixed web page author if \cs{HTMLauthor} is empty and \cs{author} is not given. -% \item If using \prog{pdflatex}, automatically loads T1 and \acro{UTF}-8 encodings. +% \item If using \prog{pdflatex}, automatically loads T1 and \UTF-8 encodings. % \margintag{encodings} % (Additional \pkg{fontenc} encodings may be loaded after \pkg{lwarp}.) % \item Added \env{list} and \env{trivlist} environments, \pkg{hang}.\margintag{lists} @@ -3559,7 +3518,7 @@ This boolean may be tested by the user for later use. % been renamed |WPMarkFloats|.} % \item New booleans control whether to place additional % marks around minipages, at the table of contents, -% at the \acro{LOF} and \acro{LOT}, and whether to +% at the \LOF\ and \LOT, and whether to % print math as \LaTeX\ source for copy/paste into the % \prog{LibreOffice Writer TeXMaths} extension. % \item Improved formatting for numerous objects. @@ -3676,7 +3635,7 @@ This boolean may be tested by the user for later use. % \item Added \cs{ForceHTMLPage} and \cs{ForceHTMLTOC} to force % \margintag{starred sections} % a starred sectional unit onto its own \HTML\ page -% and with its own \acro{TOC} entry. +% and with its own \TOC\ entry. % See \cref{sec:forcesectionstar}. % \item Modified the tutorial to use the new \cs{ForceHTMLPage} % \margintag{updated tutorial} @@ -3835,9 +3794,9 @@ This boolean may be tested by the user for later use. % have been combined with \pkg{lwarp}. % % To modify existing documents, remove from the document source: -% \begin{sourcedisplay} -% \cs{usepackage}\{lwarp-newproject\} -% \end{sourcedisplay} +% \begin{sourceverb} +% \usepackage{lwarp-newproject} +% \end{sourceverb} % % The \pkg{lwarp} package now produces the configuration files during % print output, and also accepts the option \optn{lwarpmk} if desired. @@ -3872,13 +3831,13 @@ This boolean may be tested by the user for later use. % \needspace{2\baselineskip} % \item Per the above changes, in existing documents, % modify the package load of \pkg{lwarp}, such as: -% \begin{Verbatim}[tabsize=4,gobble=2] +% \begin{sourceverb} % \usepackage[ % HomeHTMLFilename=index, % HTMLFilename={}, % xindyLanguage=english % ]{lwarp} -% \end{Verbatim} +% \end{sourceverb} % % \item The file |lwarp_html.xdy| has been renamed |lwarp.xdy|. % To update each document's project: @@ -4262,9 +4221,7 @@ This boolean may be tested by the user for later use. % ^^A *supported features % % \begin{longtable}{>{\raggedright}p{.3\linewidth}p{.6\linewidth}} -% \caption{\protect\LaTeX--\acro{HTML} generation --- -% \pkg{lwarp} package --- -% Supported features\label{tab:supported}} \endfirsthead +% \caption{\LaTeX\ \pkg{lwarp} package --- Supported features\label{tab:supported}} \endfirsthead % \warpprintonly{\multicolumn{2}{c}{\pkg{lwarp} Supported Functions --- continued} \\ % Category & Status \\ \toprule \endhead} % @@ -4341,7 +4298,7 @@ This boolean may be tested by the user for later use. % Sectioning: & Adds \progcode{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. -% \pkg{anonchap}, \pkg{bsheaders}, \pkg{fncychap}, \pkg{quotchap}, +% \pkg{anonchap}, \pkg{bsheaders}, \pkg{fncychap}, \pkg{indentfirst}, \pkg{quotchap}, % \pkg{section}, \pkg{sectionbreak}, \pkg{sectsty}, \pkg{titlesec}. % % Tested to work as-is: \pkg{secdot}.\\ @@ -4372,7 +4329,7 @@ This boolean may be tested by the user for later use. % Cross-references: & % \pkg{bookmark}, \pkg{breakurl}, \pkg{cleveref}, \pkg{fancyref}, % \pkg{hypdestopt}, \pkg{hyperref}, \pkg{prettyref}, -% \pkg{titleref}, \pkg{url}, \pkg{varioref}, \pkg{xurl}. \\ +% \pkg{titleref}, \pkg{url}, \pkg{varioref}, \pkg{xr}, \pkg{xr-hyper}, \pkg{xurl}. \\ % % \midrule % @@ -4501,7 +4458,7 @@ This boolean may be tested by the user for later use. % \pkg{lua-check-hyphen}, \pkg{luacolor}, % \pkg{magaz}, \pkg{nowidow}, \pkg{pdfrender}, \pkg{realscripts}, \pkg{relsize}, % \pkg{scalefnt}, \pkg{soul}, \pkg{soulpos}, \pkg{soulutf8}, -% \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip}, +% \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip}, \pkg{truncate}, % \pkg{ulem}, \pkg{underscore}, \pkg{uspace}, % \pkg{widows-and-orphans}, \pkg{xellipsis}. \\ % @@ -4542,7 +4499,8 @@ This boolean may be tested by the user for later use. % \midrule % % Science and engineering: & -% \pkg{algorithm2e}, \pkg{algorithmicx}, \pkg{axodraw2}, \pkg{bitpattern}, \pkg{bytefield}, +% \pkg{algorithm2e}, \pkg{algorithmicx}, \pkg{ar}, +% \pkg{axodraw2}, \pkg{bitpattern}, \pkg{bytefield}, % \pkg{chemfig}, \pkg{chemformula}, \pkg{chemgreek}, \pkg{chemmacros}, \pkg{chemnum}, % \pkg{listings}, \pkg{mhchem}, \pkg{phfqit}, \pkg{register}. % @@ -4556,8 +4514,8 @@ This boolean may be tested by the user for later use. % % \midrule % -% Arts and humanities: & \pkg{forest}, \pkg{musicography}, \pkg{octave}, -% \pkg{schemata}, \pkg{semantic-markup}, \pkg{vowel}, \pkg{xpiano}. +% Arts and humanities: & \pkg{forest}, \pkg{musicography}, \pkg{nameauth}, +% \pkg{octave}, \pkg{schemata}, \pkg{semantic-markup}, \pkg{vowel}, \pkg{xpiano}. % % Tested to work as-is: % \pkg{phonrule}, \pkg{piano}, \pkg{tikz-dependency}. \\ @@ -4565,10 +4523,13 @@ This boolean may be tested by the user for later use. % \midrule % % Editorial: & \pkg{changebar}, -% \pkg{easy-todo}, \pkg{errata}, \pkg{fixme}, +% \pkg{easy-todo}, \pkg{ed}, \pkg{errata}, \pkg{fixme}, % \pkg{fixmetodonotes}, % \pkg{pdfcomment}, \pkg{pdfmarginpar}, -% \pkg{todo}, \pkg{todonotes}, \pkg{tram}, \pkg{xechangebar}. \\ +% \pkg{todo}, \pkg{todonotes}, \pkg{tram}, \pkg{xechangebar}. +% +% Tested to work as-is: +% \pkg{changelog} \\ % % \midrule % @@ -4882,8 +4843,8 @@ This boolean may be tested by the user for later use. % \changes{v0.62}{2018/11/03}{Docs: \prog{MiKTeX Console}} % \item For older versions of MiK\TeX, % to install \pkg{lwarp} the first time, -% use the \prog{MikTeX Package Manager (Admin)}. -% To update \pkg{lwarp}, use \prog{MikTeX Update (Admin)}. +% use the \prog{MiKTeX Package Manager (Admin)}. +% To update \pkg{lwarp}, use \prog{MiKTeX Update (Admin)}. % \item Either way, also update the package \pkg{miktex-misc}, which will install and % update the \prog{lwarpmk} executable. % \end{enumerate} @@ -4908,9 +4869,9 @@ This boolean may be tested by the user for later use. % In the \UI{Settings} window, \UI{Roots} tab, look for a local \TDS\ root. % \end{description} % This should be something like: -% \begin{sourcedisplay} -% |/usr/local/texlive/texmf-local/| -% \end{sourcedisplay} +% \begin{sourceverb} +% /usr/local/texlive/texmf-local/ +% \end{sourceverb} % \item Unpack the archive in the \TDS\ local directory. % \item Renew the cache: % \userentry{mktexlsr} \quad —\,or\,— @@ -4939,17 +4900,17 @@ This boolean may be tested by the user for later use. % \end{Verbatim} % \item Copy the |.sty| files somewhere such as the \TeX\ Live local tree % found in the previous \CTAN\ \TDS\ section, under the subdirectory: -% \begin{sourcedisplay} -% |/tex/latex/local/lwarp| -% \end{sourcedisplay} -% \item Copy \filenm{lwarp\_baseline\_marker.png} and \filenm{lwarp\_baseline\_marker.eps} +% \begin{sourceverb} +% /tex/latex/local/lwarp +% \end{sourceverb} +% \item Copy \filenm{lwarp_baseline_marker.png} and \filenm{lwarp_baseline_marker.eps} % to the same place as the \filenm{.sty} files. % \changes{v0.52}{2018/03/24}{Docs: Improved install instructions.} % \item Copy the documentation \filenm{lwarp.pdf} to a \filenm{source} directory in the local tree, % such as: -% \begin{sourcedisplay} -% |/doc/local/lwarp| -% \end{sourcedisplay} +% \begin{sourceverb} +% /doc/local/lwarp +% \end{sourceverb} % \item Renew the cache: % \userentry{mktexlsr} \quad —\,or\,— % \userentry{texhash} @@ -4967,8 +4928,8 @@ This boolean may be tested by the user for later use. % document source files. The resultant |*.sty| and \filenm{lwarpmk.lua} files % may be used as-is, so long as they are in the same directory % as the document source. -% The files \filenm{lwarp\_baseline\_marker.png} and -% \filenm{lwarp\_baseline\_marker.eps} must also be copied as well. +% The files \filenm{lwarp_baseline_marker.png} and +% \filenm{lwarp_baseline_marker.eps} must also be copied as well. % \changes{v0.52}{2018/03/24}{Docs: Improved install instructions.} % This approach is especially useful if % you would like to temporarily test\margintag{Just testing!}\ @@ -5014,14 +4975,14 @@ This boolean may be tested by the user for later use. % \item Locate the \TeX\ Live binaries: % \userentry{kpsewhich -var-value TEXMFROOT} % This will be something like: -% \begin{sourcedisplay} -% |/usr/local/texlive/| -% \end{sourcedisplay} +% \begin{sourceverb} +% /usr/local/texlive/ +% \end{sourceverb} % The binaries are then located in the |bin/| directory % under the root: -% \begin{sourcedisplay} -% |/usr/local/texlive//bin//| -% \end{sourcedisplay} +% \begin{sourceverb} +% /usr/local/texlive//bin// +% \end{sourceverb} % In this directory you will find programs % such as \prog{pdflatex} and \prog{makeindex}. % \item In the binaries directory, @@ -5041,16 +5002,15 @@ This boolean may be tested by the user for later use. % \item [\brand{Windows} MiK\TeX:] Create a new |lwarpmk.bat| file: % \begin{enumerate} % \item Locate the MiK\TeX\ binaries. These will be in a directory such as: -% \begin{sourcedisplay} -% |C:\Program Files\MiKTeX 2.9\miktex\bin\x64| -% \end{sourcedisplay} +% \begin{sourceverb} +% C:\Program Files\MiKTeX 2.9\miktex\bin\x64 +% \end{sourceverb} % In this directory you will find programs % such as |pdflatex.exe| and |makeindex.exe|. % \item Create a new file named |lwarpmk.bat| containing: -% \begin{sourcedisplay} -% {\footnotesize -% |texlua "C:\Program Files\MiKTeX 2.9\scripts\lwarp\lwarp.texlua" %*|} -% \end{sourcedisplay} +% \begin{sourceverb} +% texlua "C:\Program Files\MiKTeX 2.9\scripts\lwarp\lwarp.texlua" %* +% \end{sourceverb} % This will call the copy of \filenm{lwarpmk.lua} % which is in the |scripts| directory of the distribution. % \end{enumerate} @@ -5063,9 +5023,9 @@ This boolean may be tested by the user for later use. % \begin{enumerate} % \item When compiling the tutorial in \cref{sec:tutorial}, % use the \optn{lwarpmk} option for the \pkg{lwarp} package: -% \begin{sourcedisplay} -% |\usepackage[lwarpmk]{lwarp}| -% \end{sourcedisplay} +% \begin{sourceverb} +% \usepackage[lwarpmk]{lwarp} +% \end{sourceverb} % \item When the tutorial is compiled with \prog{pdflatex}, the file \filenm{lwarpmk.lua} % will be generated along with the other configuration files. % \item \filenm{lwarpmk.lua} may be used for this project: @@ -5117,7 +5077,7 @@ This boolean may be tested by the user for later use. % \item [To install \prog{xindy}, \prog{latexmk}, and \prog{pdfcrop}:] \ % % The \TeX\ utilities \prog{xindy}, \prog{latexmk}, and \prog{pdfcrop} may be installed -% in \prog{TexLive} with \prog{tlmgr}, installed by \prog{MikTeX}, provided by +% in \prog{TexLive} with \prog{tlmgr}, installed by \prog{MiKTeX}, provided by % your operating system's package manager, or downloaded from the \prog{CTAN} archive: % \changes{v0.45}{2017/11/30}{Docs: Improved install instructions.} % \begin{sourcedisplay} @@ -5204,7 +5164,7 @@ This boolean may be tested by the user for later use. % % \subsection{Starting a new project} % -% \changes{v0.21}{2017/02/23}{File: \filenm{lwarp\_tutorial.txt} added.} +% \changes{v0.21}{2017/02/23}{File: \filenm{lwarp_tutorial.txt} added.} % % \begin{enumerate} % @@ -5781,6 +5741,7 @@ This boolean may be tested by the user for later use. % % \changes{v0.48}{2018/02/05}{Docs: Converting an existing document.} % \changes{v0.51}{2018/03/04}{Docs: Updated Converting an existing document.} +% \changes{v0.66}{2019/02/07}{Docs: Updated Converting an existing document.} % % To convert an existing document for use with \pkg{lwarp}: % \begin{enumerate} @@ -5802,13 +5763,8 @@ This boolean may be tested by the user for later use. % ^^A \cs{includegraphics}\{filename\} % ^^A \end{sourcedisplay} % ^^A Other image formats may have a file extension. -% \item Avoid the \optn{scale} option. Change: -% \begin{sourcedisplay} -% \cs{includegraphics}[scale=] -% \end{sourcedisplay} to: -% \begin{sourcedisplay} -% \cs{includegraphics}[width=\textbackslash{linewidth}] -% \end{sourcedisplay} +% \item \limitsmathinsectionnames +% \item \limitsincludegraphicsscale % \item Possible changes to \env{tabular} environments include % |*| columns, \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, \pkg{xtab}, % \pkg{bigdelim}. See \cref{sec:limitstabular}. @@ -6097,6 +6053,7 @@ This boolean may be tested by the user for later use. % \DescribePackage{lwarp} % \gindex{lwarp=\pkg{lwarp}>loading} % \gindex{lwarp=\pkg{lwarp}>options} +% \pkg{lwarp} package options are as follows: % % \begin{description} % @@ -6229,7 +6186,7 @@ This boolean may be tested by the user for later use. % \trouble[xindy]{xindy=\pkg{xindy}>options>PrintIndexCmd=\optn{PrintIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the -% \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not +% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not % used for the \optn{PrintIndexCmd} option when it is set manually. % % This option is stored in the configuration files \filenm{lwarpmk.conf} @@ -6269,7 +6226,7 @@ This boolean may be tested by the user for later use. % \trouble[xindy]{xindy=\pkg{xindy}>options>HTMLIndexCmd=\optn{HTMLIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the -% \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not +% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not % used for the \optn{HTMLIndexCmd} option when it is set manually. % % As with \optn{PrintIndexCmd}, to generate complicated indexes it may be @@ -6304,7 +6261,7 @@ This boolean may be tested by the user for later use. % \trouble[xindy]{xindy=\pkg{xindy}>options>LatexmkIndexCmd=\optn{LatexmkIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the -% \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not +% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not % used for the \optn{LatexmkIndexCmd} option when it is set manually. % % @@ -6392,6 +6349,7 @@ This boolean may be tested by the user for later use. % FileDepth & Sectioning depth of the file splits. \\ % CombineHigherDepths & Combine higher section levels. \\ % FileSectionNames & Use section names for file names, else use numbers. \\ +% \cs{FilenameLimit} & Maximum length of the generated filenames. \\ % \midrule % FootnoteDepth & Sectioning depth of footnotes. \\ % \midrule @@ -6598,6 +6556,12 @@ This boolean may be tested by the user for later use. % so the rest of the filename must be sufficiently unique to avoid name collisions. % \gindex{file>unique names} % +% \ItemDescribeMacro{\FilenameLimit} \DescribeDefault{80} +% \gindex{file>name length} +% The maximum length of the filenames generated by \pkg{lwarp}. +% ``\filenm{.html}'' is added to this length. +% Redefine with \cs{newcommand}. +% % \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{3} % Determines where to place pending footnotes. % |3| places footnotes before each break down to the \cs{subsubsection} level. @@ -6847,7 +6811,7 @@ This boolean may be tested by the user for later use. % Note that |sample_project.css| is overwritten whenever \pkg{lwarp} % is loaded in print mode. % It is therefore important to rename the file -% \trouble[Rename it!]{sample=\filenm{sample\_projects.css}>overwritten} +% \trouble[Rename it!]{sample=\filenm{sample_projects.css}>overwritten} % to something like |.css| before % using it, so that your own changes are not overwritten. % @@ -7143,6 +7107,19 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % \end{description} % +% +% \subsubsection{Invalid \HTML} +% \label{sec:invalidhtml} +% +% \trouble{HTML>invalid} +% \trouble{HTML>validation} +% Additionally, some objects are valid \LaTeX, but invalid \HTML. +% An example is a tabular inside \cs{textbf}, since \HTML\ does not allow a table +% inside a span. \pkg{lwarp} will create the table, and the browser may support it, +% but the result is technically invalid. +% +% +% % \subsection{Formatting} % % \subsubsection{Text formatting} @@ -7192,7 +7169,7 @@ This boolean may be tested by the user for later use. % \trouble{list>empty item} % % -% \subsubsection{Filenames and \acro{URL}s in lists or footnotes} +% \subsubsection{Filenames and \URL{}s in lists or footnotes} % % \gindex{underscore>filename}\gindex{file>underscore in name} % \gindex{list>filename} @@ -7425,41 +7402,41 @@ This boolean may be tested by the user for later use. % bibliographies, and the index. % See the following sections where applicable. % Continue here if interested in the reason for adding these commands to \pkg{lwarp}. -% \trouble{endnotes>\HTML\ page and \TOC} -% \trouble{glossaries=\pkg{glossaries}>\HTML\ page and \TOC} -% \trouble{bibliography>\HTML\ page and \TOC} -% \trouble{index>\HTML\ page and \TOC} -% \gindex{endnotes>\HTML\ page and \TOC} -% \gindex{glossaries=\pkg{glossaries}>\HTML\ page and \TOC} -% \gindex{bibliography>\HTML\ page and \TOC} -% \gindex{index>\HTML\ page and \TOC} +% \trouble{endnotes>HTML=\HTML\ page and \TOC} +% \trouble{glossaries=\pkg{glossaries}>HTML=\HTML\ page and \TOC} +% \trouble{bibliography>HTML=\HTML\ page and \TOC} +% \trouble{index>HTML=\HTML\ page and \TOC} +% \gindex{endnotes>HTML=\HTML\ page and \TOC} +% \gindex{glossaries=\pkg{glossaries}>HTML=\HTML\ page and \TOC} +% \gindex{bibliography>HTML=\HTML\ page and \TOC} +% \gindex{index>HTML=\HTML\ page and \TOC} % % Some packages use \cs{chapter*} or \cs{section*} to introduce reference % material such as notes or lists, often to be placed in the back matter of a book. % These starred sections are placed inline instead of on their own \HTML\ pages, -% and they are not given \acro{TOC} entries. +% and they are not given \TOC\ entries. % % \pkg{lwarp} provides a method to cause a starred section to be on its own \HTML\ page, % subject to \texttt{FileDepth}, and also a method to cause the starred section -% to have its own \acro{TOC} entry during \HTML\ output. +% to have its own \TOC\ entry during \HTML\ output. % % \DescribeMacro{\ForceHTMLPage} % To place a starred section on its own \HTML\ page, use \cs{ForceHTMLPage} just before % the \cs{chapter*} or \cs{section*}. \pkg{lwarp} will create a new page for the % starred sectional unit. % -% A starred sectional unit does not have a \acro{TOC} entry unless one is placed +% A starred sectional unit does not have a \TOC\ entry unless one is placed % manually. The typical method using \cs{phantomsection} and \cs{addcontentsline} % works for inline text but fails when the new starred section is given its own -% webpage after the \acro{TOC} entry is created, or when creating an \EPUB\ where -% the \acro{TOC} entry will point to the page before the starred section. -% If the starred section has its own \HTML\ page but no correct \acro{TOC} entry +% webpage after the \TOC\ entry is created, or when creating an \EPUB\ where +% the \TOC\ entry will point to the page before the starred section. +% If the starred section has its own \HTML\ page but no correct \TOC\ entry % \trouble[inaccessible \HTML\ page]{HTML>inaccessible pages>starred section} % \trouble{sectioning>starred section} % pointing to that page, the page will be inaccessible unless some other link is created. % % \DescribeMacro{\ForceHTMLTOC} -% To automatically force the \HTML\ version of the document to have a \acro{TOC} entry +% To automatically force the \HTML\ version of the document to have a \TOC\ entry % for a starred section, use \cs{ForceHTMLTOC} just before % the \cs{chapter*} or \cs{section*}, % and place \cs{phantomsection} and \cs{addcontentsline} inside a \env{warpprint} @@ -7515,6 +7492,7 @@ This boolean may be tested by the user for later use. % \limitsbibtex % % +% \needspace{10\baselineskip} % \subsubsection{\pkg{glossaries} package} % \label{sec:glossaries} % @@ -7548,7 +7526,7 @@ This boolean may be tested by the user for later use. % \margintag{manual processing} % without the use of \prog{lwarpmk}, but adjustments will be required to % process \HTML\ indexes as well. In general, \filenm{*.idx} and \filenm{*.ind} files -% will be accompanied by \filenm{*\_html.idx} and \filenm{*\_html.ind} files. +% will be accompanied by \filenm{*_html.idx} and \filenm{*_html.ind} files. % % If using a custom indexing style file, % \margintag{custom index style} @@ -7593,7 +7571,7 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % The usual \filenm{.idx} and \filenm{.ind} files will be used, % along with the new \filenm{lwarp.ist} style file. -% When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended +% When creating the \HTML\ index, ``\filenm{_html}'' is automatically appended % to each of the names. % % \prog{lwarpmk} will use \prog{latexmk} if specified, in which case @@ -7657,7 +7635,7 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % \emph{For \brand{Windows}, replace the two ``;'' characters with ``\&''.}\watchout[\brand{Windows}] % -% When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended +% When creating the \HTML\ index, ``\filenm{_html}'' is automatically appended % to the index filenames. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} @@ -7698,7 +7676,7 @@ This boolean may be tested by the user for later use. % \cs{makeindex} \\ % \cs{newindex}[Second Index]\{secondname\} \\ % \end{sourcedisplay} -% When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended +% When creating the \HTML\ index, ``\filenm{_html}'' is automatically appended % to each of the names. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} @@ -7723,7 +7701,7 @@ This boolean may be tested by the user for later use. % \cs{makeindex} \\ % \cs{newindex}[Second Index]\{secondname\} \\ % \end{sourcedisplay} -% When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended +% When creating the \HTML\ index, ``\filenm{_html}'' is automatically appended % to each of the names. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} @@ -7804,9 +7782,9 @@ This boolean may be tested by the user for later use. % For the first compile, use % \watchout[enable shell escape] % \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex} -% \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}} +% \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MiKTeX)}} % or similar with \prog{xelatex} or \prog{lualatex}. -% \prog{lwarp} will remember that shell escape was used. +% \pkg{lwarp} will remember that shell escape was used. % % \prog{imakeidx} will automatically execute \prog{splitindex}, % and will also use \prog{makeindex} to compile the indexes. @@ -7839,9 +7817,9 @@ This boolean may be tested by the user for later use. % For the first compile, use % \watchout[enable shell escape] % \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex} -% \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}} +% \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MiKTeX)}} % or similar with \prog{xelatex} or \prog{lualatex}. -% \prog{lwarp} will remember that shell escape was used. +% \pkg{lwarp} will remember that shell escape was used. % % \prog{imakeidx} will automatically execute \prog{splitindex} if selected, % and will also use \prog{xindy} to compile the indexes. @@ -7900,7 +7878,7 @@ This boolean may be tested by the user for later use. % % \texttt{} is the \cs{jobname}: % if compiling ``\filenm{name.tex}'', use the filenames \filenm{name.idx} and -% \filenm{name\_html.idx}. +% \filenm{name_html.idx}. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} % to compile the indexes. @@ -7967,7 +7945,7 @@ This boolean may be tested by the user for later use. % % \texttt{} is the \cs{jobname}: % if compiling ``\filenm{name.tex}'', use the filenames \filenm{name.idx} and -% \filenm{name\_html.idx}. +% \filenm{name_html.idx}. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} % to compile the indexes. @@ -8045,7 +8023,7 @@ This boolean may be tested by the user for later use. % % \texttt{} is the \cs{jobname}: % if compiling ``\filenm{name.tex}'', use the filenames \filenm{name.idx} and -% \filenm{name\_html.idx}. +% \filenm{name_html.idx}. % % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex} % to compile the indexes. @@ -8178,7 +8156,7 @@ This boolean may be tested by the user for later use. % see \filenm{lwarp.xdy} for \cs{textbf} and \cs{textit} as examples. % % -% \subsubsection{Index positions, \acro{TOC}, \pkg{tocbibind}} +% \subsubsection{Index positions, \TOC, \pkg{tocbibind}} % \limitstocbibind % % \limitstocloft @@ -8189,6 +8167,7 @@ This boolean may be tested by the user for later use. % % \changes{v0.42}{2017/10/30}{Docs: Reorganized math limitations} % \label{sec:limitsmath} +% % \limitsmath % % \subsubsection{Catcode changes} @@ -8209,7 +8188,7 @@ This boolean may be tested by the user for later use. % \gindex{math>display with complicated objects} % \gindex{math>dynamic} % \gindex{dynamic math} -% \trouble{math>\tikz} +% \trouble{math>tikz=\tikz} % \trouble{tikz>in math} % \trouble{MathJax=\brand{MathJax}>errors} % \trouble{HTML>alt tags} @@ -8402,10 +8381,33 @@ This boolean may be tested by the user for later use. % \subsection{\brand{Memoir} class} % \label{sec:limitsmemoir} % +% \changes{v0.66}{2019/02/06}{\pkg{memoir}: Docs re: version numbers.} +% % \DescribeClass{memoir} % \limitsmemoir % % +% \subsection{International languages} +% \label{sec:international} +% +% If using \prog{pdflatex} with the setting |\booltrue{FileSectionNames}|, +% \trouble[section and file names]{sectioning>international language} +% \trouble{filename>corrupted} +% \trouble{filename>international, \UTF-8} +% \gindex{international>section names} +% \gindex{foreign>section names} +% \gindex{section>international languages} +% \gindex{file>international languages} +% non-\acro{ASCII} text in section names can result in corrupted \HTML\ file names. +% \prog{pdflatex} may be used if setting |\boolfalse{FileSectionNames}|, in which case +% \HTML\ file numbers will be generated. +% +% For correct \HTML\ file names, use \prog{xelatex}, \prog{lualatex}, +% or dedicated document classes \Slash engines. +% +% (As of this writing, this warning is only relevent to the \pkg{kotex} package.) +% +% % \subsection{Miscellaneous packages} % % \subsubsection{\pkg{verse} and \pkg{memoir}} @@ -8428,7 +8430,6 @@ This boolean may be tested by the user for later use. % % \DescribePackage{babel} % ^^A \limitsbabelone -% % \limitsbabeltwo % % @@ -8469,7 +8470,7 @@ This boolean may be tested by the user for later use. % See \cref{sec:mhchem}. % % -% \subsubsection{xparse} +% \subsubsection{\pkg{xparse} package} % % \changes{v0.45}{2017/12/09}{Docs: \pkg{xparse} warnings.} % \DescribePackage{xparse} @@ -8477,6 +8478,13 @@ This boolean may be tested by the user for later use. % \gindex{xparse=\pkg{xparse}>warnings} % % +% \subsubsection{\pkg{kotex} package} +% +% \DescribePackage{kotex} +% See \cref{sec:international} regarding \prog{pdflatex} and +% Korean section names. +% \trouble[Korean section names]{filename>Korean} +% % % \clearpage % @@ -8504,9 +8512,9 @@ This boolean may be tested by the user for later use. % \begin{description} % \item [\optn{PrintLatexCmd}] should be set to shell commands which take \filenm{project.tex} % and generate \filenm{project.pdf}. -% \item[\optn{HTMLLatexCmd}] should be set to take \filenm{project\_html.tex} and -% generate \filenm{project\_html.pdf}. -% \prog{lwarpmk} will then take \filenm{project\_html.pdf} and +% \item[\optn{HTMLLatexCmd}] should be set to take \filenm{project_html.tex} and +% generate \filenm{project_html.pdf}. +% \prog{lwarpmk} will then take \filenm{project_html.pdf} and % automatically convert it and generate \filenm{project.html}. % \end{description} % @@ -8582,10 +8590,10 @@ This boolean may be tested by the user for later use. % using it. % \begin{description} % \item[\cmds{latexmk project.tex}] would create \filenm{project.pdf} as normal. -% \item[\cmds{latexmk project\_html.tex}] would create \filenm{project\_html.pdf}, +% \item[\cmds{latexmk project\_html.tex}] would create \filenm{project_html.pdf}, % then % \item [\cmds{lwarpmk pdftohtml project\_html.pdf}] would take -% \filenm{project\_html.pdf} and convert it to \filenm{project.html}. +% \filenm{project_html.pdf} and convert it to \filenm{project.html}. % \end{description} % % \prog{latexmk} may simplify the use of packages such as \pkg{sagetex}. @@ -8670,15 +8678,15 @@ This boolean may be tested by the user for later use. % |\usepackage{lwarp}| must be used, and it generates \filenm{lwarpmk.conf} % when the print version is created. % -% To generate \HTML, first have \filenm{project\_html.tex} be compiled to -% generate \filenm{project\_html.pdf}. +% To generate \HTML, first have \filenm{project_html.tex} be compiled to +% generate \filenm{project_html.pdf}. % This must be in \PDF\ format. -% Finally, have \filenm{project\_html.pdf} be converted to \HTML\ using +% Finally, have \filenm{project_html.pdf} be converted to \HTML\ using % \cmds{lwarpmk pdftohtml project\_html.pdf}, % and convert \SVG\ math with \cmds{lwarpmk limages}. % % -% \subsection{\acro{UTF}-8 locale} +% \subsection{\UTF-8 locale} % \label{sec:utf8locale} % \gindex{locale} % \gindex{UTF-8>locale} @@ -8736,8 +8744,8 @@ This boolean may be tested by the user for later use. % A special boolean is provided to simplify the process of % converting \pkg{lwarp} \HTML\ output to \EPUB: % +% \begin{docsidebar}[\bool{FormatEPUB}] % \DescribeBoolean{FormatEPUB} \DescribeDefault{false} -% \begin{docsidebar}[\texttt{FormatEPUB}] % \raggedright % |FormatEPUB| changes \HTML\ output for easy \EPUB\ conversion % via an external program. Removes per-file headers, footers, and nav. @@ -8776,7 +8784,7 @@ This boolean may be tested by the user for later use. % do a breadth-first search of the files. % For \prog{Calibre}, this option is found in % \begin{UIdisplay} -% \textsf{Preferences $\to$ Plugins $\to$ File type plugins $\to$ \HTML\ to Zip} +% Preferences $\to$ Plugins $\to$ File type plugins $\to$ \HTML\ to Zip % \end{UIdisplay} % Check the box \textsf{Add linked files in breadth first order.} % Set the document encoding as |utf-8|\trouble[encoding]{EPUB>encoding}, @@ -8793,8 +8801,8 @@ This boolean may be tested by the user for later use. % which is \HTML\ heading level \element{h3}. % For \prog{Calibre}, this option is found in % \begin{UIdisplay} -% \textsf{Preferences $\to$ Conversion (Common Options) $\to$ -% Structure Detection $\to$ Detect chapters at (XPath expression)} +% Preferences $\to$ Conversion (Common Options) $\to$ +% Structure Detection $\to$ Detect chapters at (XPath expression) % \end{UIdisplay} % Select the ``magic wand'' to the right of this entry box, and set % the first entry @@ -8804,7 +8812,7 @@ This boolean may be tested by the user for later use. % to ``h4''. (Or ``h3'' for document classes with \cs{chapter}s.) % The \textsf{Detect chapters at} field should then show % \begin{UIdisplay} -% //h:h4 \qquad \textrm{---\,or\,---} \qquad //h:h3 +% //h:h4 \qquad \textmd{\textrm{---\,or\,---}} \qquad //h:h3 % \end{UIdisplay} % % This option is also available on the main tool bar at the \textsf{Convert books} @@ -8857,9 +8865,8 @@ This boolean may be tested by the user for later use. % % A special boolean is provided to simplify the process of % converting \pkg{lwarp} \HTML\ output to \EPUB: -% +% \begin{docsidebar}[\bool{FormatWP}] % \DescribeBoolean{FormatWP} \DescribeDefault{false} -% \begin{docsidebar}[\texttt{FormatWP}] % \raggedright % Changes \HTML\ output for easier conversion % by a word processor. @@ -8953,8 +8960,8 @@ This boolean may be tested by the user for later use. % to word-processor frames and captions. % } % +% \begin{docsidebar}[\bool{WPMarkFloats}] % \DescribeBoolean{WPMarkFloats} \DescribeDefault{false} -% \begin{docsidebar}[\texttt{WPMarkFloats}] % \raggedright % \describeWPMarkFloats % \end{docsidebar} @@ -8972,8 +8979,8 @@ This boolean may be tested by the user for later use. % to word-processor frames. % } % +% \begin{docsidebar}[\bool{WPMarkMinipages}] % \DescribeBoolean{WPMarkMinipages} \DescribeDefault{false} -% \begin{docsidebar}[\texttt{WPMarkMinipages}] % \raggedright % \describeWPMarkMinipages % \end{docsidebar} @@ -8985,13 +8992,13 @@ This boolean may be tested by the user for later use. % === table of contents === \\ % \end{sourcedisplay} % where the Table of Contents would have been. -% This helps identify where to insert the actual \acro{TOC}. +% This helps identify where to insert the actual \TOC. % -% \emph{If set |false|, the actual \acro{TOC} is printed instead.} +% \emph{If set |false|, the actual \TOC\ is printed instead.} % } % +% \begin{docsidebar}[\bool{WPMarkTOC}] % \DescribeBoolean{WPMarkTOC} \DescribeDefault{true} -% \begin{docsidebar}[\texttt{WPMarkTOC}] % \raggedright % \describeWPMarkTOC % \end{docsidebar} @@ -9009,8 +9016,8 @@ This boolean may be tested by the user for later use. % \emph{If set |false|, the actual lists are printed instead.} % } % +% \begin{docsidebar}[\bool{WPMarkLOFT}] % \DescribeBoolean{WPMarkLOFT} \DescribeDefault{false} -% \begin{docsidebar}[\texttt{WPMarkLOFT}] % \raggedright % \describeWPMarkLOFT % \end{docsidebar} @@ -9022,12 +9029,12 @@ This boolean may be tested by the user for later use. % This is useful for cut/paste into the \prog{LibreOffice Writer TeXMaths} extension. % } % -% \DescribeBoolean{WPMarkMath} \DescribeDefault{false} -% \DescribeProgram{TeXMaths} +% \begin{docsidebar}[\bool{WPMarkMath}] % \trouble{TeXMaths} % \trouble{siunitx>with TeXMaths} % \margintag{siunitx} -% \begin{docsidebar}[\texttt{WPMarkMath}] +% \DescribeBoolean{WPMarkMath} \DescribeDefault{false} +% \DescribeProgram{TeXMaths} % \raggedright % \describeWPMarkMath % @@ -9053,9 +9060,9 @@ This boolean may be tested by the user for later use. % See \cref{tab:WPsectionheadings} on \cpageref{tab:WPsectionheadings}. % } % +% \begin{docsidebar}[\bool{WPTitleHeading}] % \DescribeBoolean{WPTitleHeading} \DescribeDefault{false} % \margintag{section headings} -% \begin{docsidebar}[\texttt{WPTitleHeading}] % \raggedright % \describeWPTitleHeading % \end{docsidebar} @@ -9109,7 +9116,7 @@ This boolean may be tested by the user for later use. % \item Set |\booltrue{WPMarkTOC}| and |\boolfalse{WPMarkLOFT}| % \item Use \pkg{lwarp} to generate the \HTML\ document. % \item Copy/paste from the \HTML\ document into an empty \prog{LibreOffice Writer} document. -% \item Manually insert a \brand{LibreOffice} \acro{TOC} in the \brand{LibreOffice} document. +% \item Manually insert a \brand{LibreOffice} \TOC\ in the \brand{LibreOffice} document. % \item Manually add frames around each float, adding a caption which is cut/pasted from % each float's simulated caption. % \item Manually create cross references. @@ -9137,7 +9144,7 @@ This boolean may be tested by the user for later use. % Cross references are not actual \brand{LibreOffice} linked cross references. % % The List of Figures and List of Tables are not linked. -% The pasted pseudo \acro{LOF} and \acro{LOT} match the numbering +% The pasted pseudo \LOF\ and \LOT\ match the numbering % of the \LaTeX\ and \HTML\ versions. % % Equation numbering is not automatic, but the equation numbers in \SVG\ math @@ -9631,7 +9638,7 @@ This boolean may be tested by the user for later use. % \trouble{cross reference>incorrect link} % \trouble{reference>\% character between arguments} % arguments of \cs{hyperref}, etc., as this character is among those which -% is neutralized for inclusion in \HTML\ \acro{URL}s. +% is neutralized for inclusion in \HTML\ \URL{}s. % % \item [Em-dashes or En-dashes in listing captions and titles:] \ % @@ -9715,8 +9722,8 @@ This boolean may be tested by the user for later use. % \subsection{Compiling the \filenm{lwarp.dtx} file} % % \begin{description} -% \item [\filenm{lwarp\_tutorial.tex}:] Copy or link \filenm{lwarp\_tutorial.txt} -% from the \acro{TDS} |doc| directory to the |source| directory, +% \item [\filenm{lwarp_tutorial.tex}:] Copy or link \filenm{lwarp_tutorial.txt} +% from the \TDS\ |doc| directory to the |source| directory, % or wherever you wish to compile the documentation. % This file is included verbatim in the documentation, but is in the \filenm{doc} % directory so that it may be found by \prog{texdoc} and copied by the user. @@ -9997,7 +10004,7 @@ This boolean may be tested by the user for later use. % % \clearpage % -% \section{Detecting the \TeX\ Engine — \prog{pdflatex}, \prog{lualatex}, \prog{xelatex}} +% \section{Detecting the \TeX\ engine — \prog{pdflatex}, \prog{lualatex}, \prog{xelatex}} % % \changes{v0.16}{2016/04/07}{Added XeLaTeX, LuaLaTeX support.} % See: \url{http://tex.stackexchange.com/a/47579}. @@ -10270,6 +10277,8 @@ For a possible alternative, see class(es) #2.} % \changes{v0.54}{2018/09/26}{Never load \pkg{aecompl}.} % \changes{v0.62}{2018/11/18}{Added early checks for \pkg{CJK}, \pkg{CJKutf8}.} % \changes{v0.65}{2018/12/15}{Added early checks for \pkg{jarticle}, \pkg{tarticle}, and related.} +% \changes{v0.66}{2019/01/04}{Added early checks for \pkg{colortab}, \pkg{epsf}, \pkg{hyper}, +% \pkg{picinpar}, \pkg{picins}, \pkg{sistyle}, \pkg{ucs}.} % % \begin{macrocode} \LWR@earlyclassloadnever{jarticle}{ujarticle} @@ -10302,9 +10311,16 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} % Others: % \begin{macrocode} +\LWR@earlyloadnever{colortab}{colortbl} +\LWR@earlyloadnever{epsf}{graphicx} \LWR@earlyloadnever{fancyheadings}{fancyhdr} \LWR@earlyloadnever{glossary}{glossaries} +\LWR@earlyloadnever{hyper}{hyperref} +\LWR@earlyloadnever{picinpar}{floatflt, wrapfig} +\LWR@earlyloadnever{picins}{floatflt, wrapfig} +\LWR@earlyloadnever{sistyle}{siunitx} \LWR@earlyloadnever{t1enc}{fontenc, inputenc, inputenx} +\LWR@earlyloadnever{ucs}{inputenc, inputencx} \LWR@earlyloadnever{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} % \end{macrocode} % @@ -10344,6 +10360,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{anonchap} \LWR@loadafter{anysize} \LWR@notmemoirloadafter{appendix} +\LWR@loadafter{ar} \LWR@loadafter{arabicfront} \LWR@notmemoirloadafter{array} \LWR@loadafter{arydshln} @@ -10409,6 +10426,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{draftwatermark} \LWR@loadafter{easy-todo} \LWR@loadafter{ebook} +\LWR@loadafter{ed} \LWR@loadafter{ellipsis} \LWR@loadafter{embrac} \LWR@loadafter{emptypage} @@ -10485,7 +10503,6 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{idxlayout} \LWR@loadafter{ifoddpage} \LWR@loadafter{imakeidx} -\LWR@loadafter{indentfirst} \LWR@notmemoirloadafter{index} % inputenc must be loaded before lwarp % inputenx must be loaded before lwarp @@ -10531,6 +10548,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{multirow} \LWR@loadafter{multitoc} \LWR@loadafter{musicography} +\LWR@loadafter{nameauth} \LWR@loadafter{nameref} \LWR@loadafter{natbib} \LWR@notmemoirloadafter{nccfancyhdr} @@ -10629,6 +10647,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{srctex} \LWR@loadafter{stabular} \LWR@notltjloadafter{stfloats} +\LWR@loadafter{subcaption} \LWR@loadafter{subfig} \LWR@loadafter{subfigure} \LWR@loadafter{supertabular} @@ -10663,6 +10682,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{transparent} \LWR@loadafter{trimclip} \LWR@loadafter{trivfloat} +\LWR@loadafter{truncate} \LWR@loadafter{turnthepage} \LWR@loadafter{twoup} % \end{macrocode} @@ -10747,16 +10767,16 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} % % -% \section{pdf\LaTeX\ T1 and \acro{UTF}-8 encoding} +% \section{pdf\LaTeX\ T1 and \UTF-8 encoding} % -% When using pdf\LaTeX, \pkg{lwarp} requires T1 encoding, and recommends \acro{UTF}-8 encoding. +% When using pdf\LaTeX, \pkg{lwarp} requires T1 encoding, and recommends \UTF-8 encoding. % % If some other input encoding is already defined, \pkg{lwarp} will % try to use it instead, and hope for the best. % -% \XeLaTeX\ and Lua\LaTeX\ are both \acro{UTF}-8 by nature. +% \XeLaTeX\ and Lua\LaTeX\ are both \UTF-8 by nature. % -% \changes{v0.44}{2017/11/16}{If pdfLaTeX, require T1 and \acro{UTF}-8 encoding.} +% \changes{v0.44}{2017/11/16}{If pdfLaTeX, require T1 and \UTF-8 encoding.} % \changes{v0.52}{2018/03/26}{If pdfLaTeX, allow other input encoding.} % \changes{v0.63}{2018/11/25}{p\TeX: Encoding.} % @@ -10904,6 +10924,25 @@ For a possible alternative, see class(es) #2.} % \end{macro} % % +% \begin{macro}{\LWR@firstoffour} \marg{first} \marg{second} \marg{third} \marg{fourth} +% \changes{v0.63}{2019/01/25}{Added.} +% \begin{macro}{\LWR@secondoffour} \marg{first} \marg{second} \marg{third} \marg{fourth} +% \begin{macro}{\LWR@thirdoffour} \marg{first} \marg{second} \marg{third} \marg{fourth} +% \begin{macro}{\LWR@fourthoffour} \marg{first} \marg{second} \marg{third} \marg{fourth} +% +% Expands to the nth of the four arguments. +% Used for extra cross referencing. +% +% \begin{macrocode} +\long\def\LWR@firstoffour#1#2#3#4{#1} +\long\def\LWR@secondoffour#1#2#3#4{#2} +\long\def\LWR@thirdoffour#1#2#3#4{#3} +\long\def\LWR@fourthoffour#1#2#3#4{#4} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % % \section{Operating-System portability} @@ -10953,6 +10992,30 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} % % +% The literal |{| character. +% The ampersand is temporarily set to the begin group character during the +% definition of the leftbrace macro. +% \begin{macrocode} +\catcode`\&=1 +\catcode`\{=12 +\def\LWRleftbrace&{} +\catcode`\{=1 +\catcode`\&=4 +% \end{macrocode} +% +% +% The literal |}| character. +% The ampersand is temporarily set to the end group character during the +% definition of the leftbrace macro. +% \begin{macrocode} +\catcode`\&=2 +\catcode`\}=12 +\def\LWRrightbrace{}& +\catcode`\}=2 +\catcode`\&=4 +% \end{macrocode} +% +% % The literal |#| character: % \begin{macrocode} \catcode`\#=12 @@ -11130,8 +11193,8 @@ For a possible alternative, see class(es) #2.} % \changes{v0.19}{2016/05/25}{Options: mathsvg and mathjax} % \DescribeOption{mathsvg} % Option \optn{mathsvg} selects \SVG\ math display: -% \gindex{math>\optn{mathsvg} option} -% \gindex{SVG>\optn{mathsvg} option} +% \gindex{math>mathsvg=\optn{mathsvg} option} +% \gindex{SVG>mathsvg=\optn{mathsvg} option} % If the \optn{mathsvg} option is given, boolean |mathjax| is false, % and may be used for \cs{ifbool} tests. % \begin{macrocode} @@ -11149,7 +11212,7 @@ For a possible alternative, see class(es) #2.} % % \DescribeOption{mathjax} % Option \optn{mathjax} selects \brand{MathJax} math display: -% \gindex{math>\optn{mathjax} option} +% \gindex{math>mathjax=\optn{mathjax} option} % \gindex{MathJax=\brand{MathJax}>mathjax=\optn{mathjax} option} % If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests. % \begin{macrocode} @@ -11167,7 +11230,7 @@ For a possible alternative, see class(es) #2.} % ^^A \DescribeOption{mathKaTeX} % ^^A Option \optn{mathKaTeX} selects Ka\TeX\ math display: -% ^^A \gindex{math>\optn{mathKaTeX} option} +% ^^A \gindex{math>mathKaTeX=\optn{mathKaTeX} option} % ^^A \gindex{KaTeX=Ka\TeX>mathKaTeX=\optn{mathKaTeX} option} % ^^A If the \optn{mathKaTeX} option is given, boolean |mathKaTeX| is true, % ^^A may be used for \cs{ifbool} tests. @@ -11185,6 +11248,7 @@ For a possible alternative, see class(es) #2.} % \DescribeOption{BaseJobname} +% \DescribeDefault{\cs{jobname}} % Option \optn{BaseJobname} sets the \cs{BaseJobname} for this document. % % This is the \cs{jobname} of the printed version, even if currently @@ -11196,8 +11260,30 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} +% \DescribeOption{ImagesDirectory} +% \DescribeDefault{\cs{jobname}-images} +% Option \optn{ImagesDirectory} sets the name of the directory +% to use for the \env{lateximages}. +% +% \changes{v0.66}{2019/01/27}{Added option \optn{ImagesDirectory}.} +% \begin{macrocode} +\DeclareStringOption[\BaseJobname-images]{ImagesDirectory} +% \end{macrocode} + + +% \DescribeOption{ImagesName} +% \DescribeDefault{image-} +% Option \optn{ImagesName} sets the prefix +% to use for the \env{lateximages}. +% +% \changes{v0.66}{2019/01/27}{Added option \optn{ImagesName}.} +% \begin{macrocode} +\DeclareStringOption[image-]{ImagesName} +% \end{macrocode} + + % \DescribeOption{makeindexStyle} Selects a custom |.ist| file. -% The default is |lwarp.ist|. +% \DescribeDefault{lwarp.ist} % A customized file should be based on |lwarp.ist|, and must retain % the lines related to \cs{hyperindexref}. % @@ -11209,7 +11295,7 @@ For a possible alternative, see class(es) #2.} % \DescribeOption{xindyStyle} Selects a custom |.xdy| file. -% The default is |lwarp.xdy|. +% \DescribeDefault{lwarp.xdy} % A customized file should be based on |lwarp.xdy|, and must retain % the line % \begin{Verbatim}[gobble=2] @@ -11225,6 +11311,7 @@ For a possible alternative, see class(es) #2.} % \DescribeOption{xindyLanguage} Sets the \pkg{xindy} language to be assigned +% \DescribeDefault{english} % in \prog{lwarpmk}'s configuration files. This is then used by \prog{lwarpmk} while % processing the index and glossary. % @@ -11238,6 +11325,7 @@ For a possible alternative, see class(es) #2.} % \DescribeOption{xindyCodepage} Sets the \pkg{xindy} codepage to be assigned +% \DescribeDefault{utf8} % in \prog{lwarpmk}'s configuration files. This is then used by \prog{lwarpmk} while % processing the index. % ^^A and glossary. @@ -11295,7 +11383,7 @@ For a possible alternative, see class(es) #2.} -% \DescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{\BaseJobname}} +% \DescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{BaseJobname}} % The filename of the homepage. % The default is the jobname. % This option is stored into \cs{LWR@HomeHTMLFilename}, @@ -11443,6 +11531,11 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} + + +% \subsection{Additional options support} + + % Assign the \cs{BaseJobname} if the user hasn't provided one: % \begin{macrocode} \providecommand*{\BaseJobname}{\LWR@BaseJobname} @@ -11452,15 +11545,52 @@ For a possible alternative, see class(es) #2.} % Defaults unless already over-ridden by the user: % \begin{macrocode} \ifcsempty{LWR@HomeHTMLFilename}{ -\newcommand*{\HomeHTMLFilename}{\BaseJobname} + \newcommand*{\HomeHTMLFilename}{\BaseJobname} }{ -\csedef{HomeHTMLFilename}{\LWR@HomeHTMLFilename} + \csedef{HomeHTMLFilename}{\LWR@HomeHTMLFilename} } \csedef{HTMLFilename}{\LWR@HTMLFilename} % \end{macrocode} % % +% Special handling for underscores in labels and filenames. +% +% \begin{macro}{\LWR@sanitized} The sanitized version of what was given +% to \cs{LWR@sanitize}. +% Characters are set to their detokenized versions. +% Required for underscores in labels and filenames. +% \begin{macrocode} +\newcommand*{\LWR@sanitized}{} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LWR@sanitize} \marg{text} +% +% Sanitizes the text and returns the result in \cs{LWR@sanitized}. +% \begin{macrocode} +\newcommand*{\LWR@sanitize}[1]{% +\edef\LWR@sanitized{#1}% +\edef\LWR@sanitized{\detokenize\expandafter{\LWR@sanitized}}% +} +% \end{macrocode} +% \end{macro} + + +% Sanitize some string options to neutralize underscores. +% \changes{v0.66}{2019/01/28}{Sanitize filenames.} +% \begin{macrocode} +\LWR@sanitize{\LWR@BaseJobname} +\edef\LWR@BaseJobname{\LWR@sanitized} + +\LWR@sanitize{\LWR@ImagesDirectory} +\edef\LWR@ImagesDirectory{\LWR@sanitized} + +\LWR@sanitize{\LWR@ImagesName} +\edef\LWR@ImagesName{\LWR@sanitized} +% \end{macrocode} +% +% % % \cs{LWR@PrintIndexCmd} and \cs{LWR@HTMLIndexCmd} are tested to see if they are empty. % If so, they are set to a reasonable defaults for a single index using \prog{makeindex}, @@ -12007,8 +12137,13 @@ For a possible alternative, see class(es) #2.} % \DescribePackage{xstring} +% There was a short-term bug in \pkg{xstring} regarding \cs{IfInteger} which affected +% \pkg{lwarp}'s index generation. The updated version is requested here. +% \trouble[index]{index>xstring=\pkg{xstring} bug} +% \trouble{index>numbers, not links} +% \trouble{xstring=\pkg{xstring}} % \begin{macrocode} -\RequirePackage{xstring} +\RequirePackage{xstring}[2019/02/01] % \end{macrocode} @@ -12030,14 +12165,8 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} -% \DescribePackage{zref} -% Used for cross-references. -% \begin{macrocode} -\RequirePackage{zref} -% \end{macrocode} - - -% \changes{v0.40}{2017/09/07}{No longer preloads \pkg{xfrac}.} +% \changes{v0.40}{2017/09/07}{\pkg{xfrac}: No longer preloaded.} +% \changes{v0.66}{2019/01/27}{\pkg{zref}: No longer used.} % \DescribePackage{printlen} @@ -12130,6 +12259,8 @@ For a possible alternative, see class(es) #2.} % \changes{v0.63}{2018/12/02}{Added to reduce number of \filenm{lwarp-*} files.} % \changes{v0.64}{2018/12/07}{Prevented \pkg{bitfield}, \pkg{doublespace}, % \pkg{newthm}, \pkg{rplain}, \pkg{si}.} +% \changes{v0.66}{2019/01/04}{Prevented \pkg{colortab}, \pkg{epsf}, \pkg{hyper}, \pkg{picinpar}, +% \pkg{picins}, \pkg{sistyle}, \pkg{ucs}.} % % The following should never be loaded: % \begin{macrocode} @@ -12140,13 +12271,20 @@ For a possible alternative, see class(es) #2.} \LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e} \LWR@checkloadnever{#1}{caption2}{caption} \LWR@checkloadnever{#1}{ccaption}{caption} +\LWR@checkloadnever{#1}{colortab}{colortbl} \LWR@checkloadnever{#1}{doublespace}{setspace} +\LWR@checkloadnever{#1}{epsf}{graphicx} \LWR@checkloadnever{#1}{fancyheadings}{fancyhdr} \LWR@checkloadnever{#1}{glossary}{glossaries} +\LWR@checkloadnever{#1}{hyper}{hyperref} \LWR@checkloadnever{#1}{newthm}{ntheorem} +\LWR@checkloadnever{#1}{picinpar}{floatflt, wrapfig} +\LWR@checkloadnever{#1}{picins}{floatflt, wrapfig} \LWR@checkloadnever{#1}{rplain}{fancyhdr} \LWR@checkloadnever{#1}{si}{siunitx} +\LWR@checkloadnever{#1}{sistyle}{siunitx} \LWR@checkloadnever{#1}{t1enc}{fontenc, inputenc, inputenx} +\LWR@checkloadnever{#1}{ucs}{inputenc, inputencx} \LWR@checkloadnever{#1}{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} % \end{macrocode} % @@ -12212,7 +12350,7 @@ For a possible alternative, see class(es) #2.} {% yes filename was found % \end{macrocode} % Check if the package should be loaded before \pkg{lwarp}, -% or never at all: +% or never at all: % \begin{macrocode} \LWR@checkloadfilename{\LWR@strresulttwo}% % \end{macrocode} @@ -12374,8 +12512,10 @@ For a possible alternative, see class(es) #2.} % \DescribePackage{caption} % \changes{v0.47}{2018/01/29}{\pkg{caption}: Also loads \pkg{lwarp-caption}.} +% \changes{v0.66}{2018/12/29}{\pkg{caption}: Fix for options clash.} % \begin{macrocode} -\RequirePackage{caption}% +\LWR@origRequirePackage{caption} +\AtBeginDocument{\RequirePackage{lwarp-caption}}% % \end{macrocode} % \begin{macrocode} @@ -13115,6 +13255,9 @@ For a possible alternative, see class(es) #2.} \let\LWR@origllap\llap \let\LWR@origrlap\rlap \let\LWR@orighfilneg\hfilneg +\let\LWR@orighspace\hspace + +\let\LWR@origrule\rule \let\LWR@origmedskip\medskip \let\LWR@origbigskip\bigskip @@ -13291,7 +13434,7 @@ For a possible alternative, see class(es) #2.} -% \section{Configuration Files} +% \section{Configuration files} % \changes{v0.20}{2016/12/20}{\pkg{lwarp-newproject}: Added.} % \changes{v0.30}{2017/04/27}{\pkg{lwarp-newproject} removed, and combined with \pkg{lwarp}.} @@ -13331,7 +13474,7 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} -% \subsection{\filenm{project\_html.tex}} +% \subsection{\filenm{project_html.tex}} % % \DescribeFile{project_html.tex} Used to allow an \HTML\ version of the % document to exist alongside the print version. @@ -13367,7 +13510,7 @@ For a possible alternative, see class(es) #2.} % Incremented by one each time the configuration file format changes. % (This is NOT the same as the \pkg{lwarp} version number.) % \begin{macrocode} -\newcommand*{\LWR@lwarpconfversion}{1}% also in lwarpmk.lua +\newcommand*{\LWR@lwarpconfversion}{2}% also in lwarpmk.lua % \end{macrocode} % \end{macro} % @@ -13392,7 +13535,7 @@ For a possible alternative, see class(es) #2.} % Used to form the basic compilation command for a document, adding % the optional shell escape. % -% Engine is \prog{pdflatex}, etc. Suffix is empty or \filenm{\_html} +% Engine is \prog{pdflatex}, etc. Suffix is empty or \filenm{_html} % \begin{macrocode} \newcommand*{\LWR@compilecmd}[2]{% #1 \LWR@shellescapecmd \jobname#2% @@ -13405,7 +13548,7 @@ For a possible alternative, see class(es) #2.} % % Adds to the compilation command. % -% Cmd is \prog{dvipdfmx}, etc. Suffix is empty or \filenm{\_html} +% Cmd is \prog{dvipdfmx}, etc. Suffix is empty or \filenm{_html} % \changes{v0.61}{2018/10/06}{Removed spaces.} % \begin{macrocode} \newcommand*{\LWR@addcompilecmd}[2]{% @@ -13422,7 +13565,7 @@ For a possible alternative, see class(es) #2.} \newcommand*{\LWR@unknownengine}{% \PackageError{lwarp} {Unknown LaTeX engine.} - {Lwarp only knows about pdflatex, dvi latex, xelatex, and lualatex.} + {Lwarp only knows about pdflatex, dvi latex, xelatex, lualatex, and upLateX.} } % \end{macrocode} % \end{macro} @@ -13696,6 +13839,7 @@ For a possible alternative, see class(es) #2.} % % \changes{v0.59}{2018/08/21}{Compilation commands now preassigned by \pkg{lwarp} instead % of being computed by \prog{lwarpmk}.} +% \changes{v0.66}{2019/01/27}{Added \optn{ImagesDirectory} and \optn{ImagesName}.} % \begin{macrocode} \newcommand{\LWR@writeconf}[1]{ \ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} @@ -13709,6 +13853,8 @@ For a possible alternative, see class(es) #2.} \immediate\write\LWR@quickfile{sourcename = [[\jobname]]} \immediate\write\LWR@quickfile{homehtmlfilename = [[\HomeHTMLFilename]]} \immediate\write\LWR@quickfile{htmlfilename = [[\HTMLFilename]]} +\immediate\write\LWR@quickfile{imagesdirectory = [[\LWR@ImagesDirectory]]} +\immediate\write\LWR@quickfile{imagesname = [[\LWR@ImagesName]]} \immediate\write\LWR@quickfile{latexmk = [[\ifbool{LWR@latexmk}{true}{false}]]} \immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@PrintLatexCmd]]} \immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLLatexCmd]]} @@ -13821,6 +13967,7 @@ For a possible alternative, see class(es) #2.} % \changes{v0.65}{2018/12/09}{\filenm{lwarp.css}: Side\TOC to left for improved \cs{marginpar}s.} % \changes{v0.65}{2018/12/09}{\filenm{lwarp.css}: Added \cs{sishape}, \cs{textsi}.} % \changes{v0.65}{2018/12/18}{\filenm{lwarp.css}: Improved \CSS\ for page layout.} +% \changes{v0.66}{2019/01/02}{\filenm{lwarp.css}: Improved \CSS\ for definition lists.} % % ^^A *lwarp.css % @@ -14294,12 +14441,12 @@ div.titlepage div.mpfootnotes { -ol { +ul, ol { margin: 1ex 1em 1ex 0em; line-height: 1.2; } -ul, body dir, body menu { +body dir, body menu { margin: 3ex 1em 3ex 0em; line-height: 1.2; } @@ -14522,7 +14669,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;} .mdframed p { padding: 0ex .5em 0ex .5em ; } -.mdframed dl { padding: 0ex .5em 0ex .5em ; } +.mdframed dl { padding: 1ex .5em 0ex .5em ; } .mdframedtitle { padding: .5ex 0pt 0pt 0pt ; @@ -14591,13 +14738,20 @@ dl { } dl dt { - margin-top: 1ex; - margin-left: 1em ; + display: block ; + float:left ; font-weight: bold; + padding-right: 1em ; } +dl dd { display: block ; } + +dl dd:after { content: "" ; display: block ; clear: both } + dl dd p { margin-top: 0em; } +dd ul, dd ol, dd dl { clear: both ; padding-top: 1ex } + nav { font-family: "URW Classico", Optima, "Linux Biolinum O", @@ -14834,7 +14988,7 @@ td.tdb , td.tdbrule , td.tdB , td.tdBrule .tnotes { margin: 0ex 5% 1ex 5% ; padding: 0.5ex 1em 0.5ex 1em; - font-size:.85em; + font-size:.80em; text-align: left ; } @@ -15311,7 +15465,7 @@ span.sidetocthetitle { display: none } -% \subsection{\filenm{lwarp\_sagebrush.css}} +% \subsection{\filenm{lwarp_sagebrush.css}} % \DescribeFile{lwarp_sagebrush.css} % An optional \CSS\ which may be used for @@ -15320,7 +15474,7 @@ span.sidetocthetitle { display: none } % If used, this must be present both when compiling the project % and also when distributing the \HTML\ files. % -% \changes{v0.65}{2018/12/09}{\filenm{lwarp\_sagebrush.css}: Side\TOC to left for improved \cs{marginpar}s.} +% \changes{v0.65}{2018/12/09}{\filenm{lwarp_sagebrush.css}: Side\TOC to left for improved \cs{marginpar}s.} % % ^^A *lwarp_sagebrush.css % @@ -15579,7 +15733,7 @@ nav.sidetoc a:hover { -% \subsection{\filenm{lwarp\_formal.css}} +% \subsection{\filenm{lwarp_formal.css}} % \DescribeFile{lwarp_formal.css} % An optional \CSS\ which may be used for @@ -15588,8 +15742,9 @@ nav.sidetoc a:hover { % If used, this must be present both when compiling the project % and also when distributing the \HTML\ files. % -% \changes{v0.62}{2018/11/10}{\filenm{lwarp\_formal.css}: Fix: Font for verse.} -% \changes{v0.65}{2018/12/09}{\filenm{lwarp\_formal.css}: Side\TOC to left for improved \cs{marginpar}s.} +% \changes{v0.62}{2018/11/10}{\filenm{lwarp_formal.css}: Fix: Font for verse.} +% \changes{v0.65}{2018/12/09}{\filenm{lwarp_formal.css}: Side\TOC to left for improved \cs{marginpar}s.} +% \changes{v0.66}{2019/01/02}{\filenm{lwarp_formal.css}: Improved \CSS\ for table notes.} % % ^^A *lwarp_formal.css % @@ -15739,6 +15894,8 @@ div.figurecaption , .lstlisting { .tnotes { background: #fffcf5 ; + border-top: 1px solid silver ; + border-bottom: 1px solid silver ; } .theorem { @@ -15798,7 +15955,7 @@ nav.botnavigation { -% \subsection{\filenm{sample\_project.css}} +% \subsection{\filenm{sample_project.css}} % \DescribeFile{sample_project.css} % The project-specific \CSS\ file. Use with \cs{CSSFilename}. @@ -15841,7 +15998,7 @@ nav.botnavigation { % % The page compositor line is for \pkg{memoir}'s \cs{specialindex}. % -% \changes{v0.58}{2018/06/17}{\filenm{lwarp\_html.ist}: Added.} +% \changes{v0.58}{2018/06/17}{\filenm{lwarp_html.ist}: Added.} % % ^^A *lwarp.ist % @@ -15888,7 +16045,7 @@ page_compositor "." % \href{https://tex.stackexchange.com/questions/80300/how-can-i-convince-hyperref-and-xindy-to-play-together-nicely} % {https://tex.stackexchange.com/questions/80300/ \\ \fqquad\ how-can-i-convince-hyperref-and-xindy-to-play-together-nicely} % -% \changes{v0.30}{2017/04/28}{File: \filenm{lwarp\_html.xdy} renamed to \filenm{lwarp.xdy}.} +% \changes{v0.30}{2017/04/28}{File: \filenm{lwarp_html.xdy} renamed to \filenm{lwarp.xdy}.} % \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp.xdy} only written in print mode.} % \changes{v0.58}{2018/06/19}{\filenm{lwarp.xdy}: Requires \filenm{makeindex.xdy}.} % \changes{v0.58}{2018/06/21}{\filenm{lwarp.xdy}: Supports bold, italic.} @@ -15925,7 +16082,7 @@ page_compositor "." % \end{macrocode} -% \subsection{\filenm{lwarp\_one\_limage.cmd}} +% \subsection{\filenm{lwarp_one_limage.cmd}} % % \DescribeFile{lwarp_one_limage.cmd} % Used by \pkg{lwarp} to help make \env{lateximage}s when using \brand{Windows}. @@ -15937,34 +16094,47 @@ page_compositor "." % The arguments are each of the three fields from \filenm{lateximages.txt}, % and also the base name of the source file. % -% \prog{MikTeX} does not allow file \filenm{lwarp\_one\_limage.cmd} to be -% created directly by \prog{lwarpmk}, so \filenm{lwarp\_one\_limage.txt} is created instead, -% then copied to \filenm{lwarp\_one\_limage.cmd} by \prog{lwarpmk}. +% \prog{MiKTeX} does not allow file \filenm{lwarp_one_limage.cmd} to be +% created directly by \prog{lwarpmk}, so \filenm{lwarp_one_limage.txt} is created instead, +% then copied to \filenm{lwarp_one_limage.cmd} by \prog{lwarpmk}. % This occurs each time \prog{lwarpmk} used to create \env{lateximage}s. % -% \changes{v0.50}{2018/02/27}{\filenm{lwarp\_one\_limage.txt}: Added.} -% \changes{v0.51}{2018/03/16}{\filenm{lwarp\_one\_limage.txt}: \prog{pdftocairo} \optn{-noshrink} added.} +% \changes{v0.50}{2018/02/27}{\filenm{lwarp_one_limage.txt}: Added.} +% \changes{v0.51}{2018/03/16}{\filenm{lwarp_one_limage.txt}: \prog{pdftocairo} \optn{-noshrink} added.} +% \changes{v0.66}{2019/01/30}{\filenm{lwarp_one_limage.txt}: Image directory and prefix.} % % ^^A *lwarp_one_limage.txt % % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp_one_limage.txt} -@echo off -pdfseparate -f %1 -l %1 %4_html.pdf lateximages\lateximagetemp-%%d.pdf -pdfcrop --hires lateximages\lateximagetemp-%1.pdf lateximages\%3.pdf -pdftocairo -svg -noshrink lateximages\%3.pdf lateximages\%3.svg -del lateximages\%3.pdf -del lateximages\lateximagetemp-%1.pdf -exit -\end{filecontents*} +\immediate\openout\LWR@quickfile=lwarp_one_limage.txt +\immediate\write\LWR@quickfile{% + pdfseparate -f \LWRpercent 1 -l \LWRpercent 1 \LWRpercent 4_html.pdf % + \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent\LWRpercent d.pdf% +} +\immediate\write\LWR@quickfile{% + pdfcrop --hires \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf % + \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf% +} +\immediate\write\LWR@quickfile{% + pdftocairo -svg -noshrink \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf % + \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.svg% +} +\immediate\write\LWR@quickfile{% + del \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf% +} +\immediate\write\LWR@quickfile{% + del \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf% +} +\immediate\write\LWR@quickfile{exit} +\immediate\closeout\LWR@quickfile \end{LWRwriteconf} % \end{macrocode} -% \subsection{\filenm{lwarp\_mathjax.txt}} +% \subsection{\filenm{lwarp_mathjax.txt}} % \DescribeFile{lwarp_mathjax.txt} % Used by \pkg{lwarp} when using \brand{MathJax}. @@ -15973,15 +16143,15 @@ exit % but does not need to be present when distributing % the resulting \HTML\ files. % -% \changes{v0.28}{2017/04/11}{File: \filenm{lwarp\_mathjax.txt}: Updated \protect\acro{CDN} repository.} -% \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp\_mathjax.txt}: Only written in print mode.} -% \changes{v0.34}{2017/07/27}{File: \filenm{lwarp\_mathjax.txt}: Version change.} -% \changes{v0.42}{2017/10/16}{File: \filenm{lwarp\_mathjax.txt}: Updated \pkg{siunitx} script.} -% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.} -% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.} -% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp\_mathjax.txt}: Updated to MathJax v2.7.4.} -% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp\_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.} -% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp\_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.} +% \changes{v0.28}{2017/04/11}{File: \filenm{lwarp_mathjax.txt}: Updated \protect\acro{CDN} repository.} +% \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp_mathjax.txt}: Only written in print mode.} +% \changes{v0.34}{2017/07/27}{File: \filenm{lwarp_mathjax.txt}: Version change.} +% \changes{v0.42}{2017/10/16}{File: \filenm{lwarp_mathjax.txt}: Updated \pkg{siunitx} script.} +% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.} +% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.} +% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.4.} +% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.} +% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.} % % % ^^A *lwarp_mathjax.txt @@ -16104,7 +16274,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -% ^^A \subsection{\filenm{lwarp\_KaTeX.txt}} +% ^^A \subsection{\filenm{lwarp_KaTeX.txt}} % ^^A \DescribeFile{lwarp_KaTeX.txt} % ^^A Used by \pkg{lwarp} when using Ka\TeX. @@ -16113,7 +16283,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- % ^^A but does not need to be present when distributing % ^^A the resulting \HTML\ files. % -% ^^A \changes{v0.59}{2018/11/03}{File: \filenm{lwarp\_KaTeX.txt}: Added.} +% ^^A \changes{v0.59}{2018/11/03}{File: \filenm{lwarp_KaTeX.txt}: Added.} % % % ^^A ^^A *lwarp_KaTeX.txt @@ -16204,6 +16374,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- % \changes{v0.59}{2018/08/05}{\prog{lwarpmk}: Double insead of single-dashed \optn{-\/-shell-escape} option.} % \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.} % \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.} +% \changes{v0.66}{2019/01/27}{\prog{lwarpmk}: Added \optn{ImagesDirectory} and \optn{ImagesName}.} +% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.}% % % The following is only generated if the \optn{lwarpmk} option % was given to \pkg{lwarp}. @@ -16219,8 +16391,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.65" -requiredconfversion = "1" -- also at *lwarpmk.conf +printversion = "v0.66" +requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -16324,6 +16496,8 @@ end -- Additional defaults: confversion = "0" opsystem = "Unix" +imagesdirectory = "lateximages" +imagesname = "image-" latexmk = "false" printlatexcmd = "" HTMLlatexcmd = "" @@ -16385,6 +16559,8 @@ elseif ( cvarname == "opsystem" ) then elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue +elseif ( cvarname == "imagesdirectory" ) then imagesdirectory = cvalue +elseif ( cvarname == "imagesname" ) then imagesname = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue @@ -16612,16 +16788,15 @@ end -- checkhtmlpdfexists function warnlimages () -- --- Warning of a missing lateximages.txt file: --- +-- Warning of a missing -images.txt file: print ("lwarpmk: ===") - print ("lwarpmk: \"lateximages.txt\" does not exist.") + print ("lwarpmk: \"" .. sourcename .. "-images.txt\" does not exist.") print ("lwarpmk: Your project does not use SVG math or other lateximages,") print ("lwarpmk: or the file has been deleted somehow.") print ("lwarpmk: Use \"lwarpmk html\" to recompile your project") - print ("lwarpmk: and recreate \"lateximages.txt\".") + print ("lwarpmk: and recreate \"" .. sourcename .. "-images.txt\".") print ("lwarpmk: If your project does not use SVG math or other lateximages,") - print ("lwarpmk: then \"lateximages.txt\" will never exist, and") + print ("lwarpmk: then \"" .. sourcename .. "-images.txt\" will never exist, and") print ("lwarpmk: \"lwarpmk limages\" will not be necessary.") print ("lwarpmk: ===") end -- warnlimages @@ -16629,18 +16804,18 @@ end -- warnlimages function checklimages () -- --- Check lateximages.txt to see if need to recompile first. +-- Check .txt to see if need to recompile first. -- If any entry has a page number of zero, then there were incorrect images. -- -print ("lwarpmk: Checking for a valid lateximages.txt file.") -local limagesfile = io.open("lateximages.txt", "r") +print ("lwarpmk: Checking for a valid " .. sourcename .. "-images.txt file.") +local limagesfile = io.open(sourcename .. "-images.txt", "r") if ( limagesfile == nil ) then warnlimages () os.exit(1) end -- Track warning to recompile if find a page 0 local pagezerowarning = false --- Scan lateximages.txt +-- Scan .txt for line in limagesfile:lines() do -- lwimgpage is the page number in the PDF which has the image -- lwimghash is true if this filename is a hash @@ -16674,20 +16849,20 @@ executecheckerror ( cmdgroupopenname .. "pdfseparate -f " .. lwimgpage .. " -l " .. lwimgpage .. " " .. sourcename .."_html.pdf " .. - "lateximages" .. dirslash .."lateximagetemp-%d" .. ".pdf" .. + imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" .. seqname .. -- Crop the image: - "pdfcrop --hires lateximages" .. dirslash .. "lateximagetemp-" .. + "pdfcrop --hires " .. imagesdirectory .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf " .. - "lateximages" .. dirslash .. lwimgname .. ".pdf" .. + imagesdirectory .. dirslash .. lwimgname .. ".pdf" .. seqname .. -- Convert the image to svg: - "pdftocairo -svg -noshrink lateximages" .. dirslash .. lwimgname .. ".pdf " .. - "lateximages" .. dirslash .. lwimgname ..".svg" .. + "pdftocairo -svg -noshrink " .. imagesdirectory .. dirslash .. lwimgname .. ".pdf " .. + imagesdirectory .. dirslash .. lwimgname ..".svg" .. seqname .. -- Remove the temporary files: - rmname .. " lateximages" .. dirslash .. lwimgname .. ".pdf" .. seqname .. - rmname .. " lateximages" .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf" .. + rmname .. " " .. imagesdirectory .. dirslash .. lwimgname .. ".pdf" .. seqname .. + rmname .. " " .. imagesdirectory .. dirslash .. "lateximagetemp-" .. lwimgpage .. ".pdf" .. cmdgroupclosename .. " >/dev/null " .. bgname , "File error trying to convert " .. lwimgfullname @@ -16732,7 +16907,7 @@ end -- createwindowsimage function createonelateximage ( line ) -- --- Given the next line of lateximages.txt, convert a single image. +-- Given the next line of .txt, convert a single image. -- -- lwimgpage is the page number in the PDF which has the image -- lwimghash is true if this filename is a hash @@ -16745,7 +16920,7 @@ if ( (i~=nil) ) then pagezerowarning = true else -- Skip is this image is hashed and already exists: - local lwimgfullname = "lateximages" .. dirslash .. lwimgname .. ".svg" + local lwimgfullname = imagesdirectory .. dirslash .. lwimgname .. ".svg" if ( (lwimghash ~= "true") or (lfs.attributes(lwimgfullname,"mode")==nil) -- file not exists @@ -16772,7 +16947,7 @@ end -- createonelateximage function createlateximages () -- --- Create lateximages based on lateximages.txt: +-- Create lateximages based on .txt: -- -- See if the document must be recompiled first: checklimages () @@ -16780,13 +16955,13 @@ checklimages () checkhtmlpdfexists () -- Attempt to create the lateximages: print ("lwarpmk: Creating lateximages.") -local limagesfile = io.open("lateximages.txt", "r") +local limagesfile = io.open(sourcename .. "-images.txt", "r") if ( limagesfile == nil ) then - warnlateximages () + warnlimages () os.exit(1) end -- Create the lateximages directory, ignore error if already exists -err = os.execute("mkdir lateximages") +err = os.execute("mkdir " .. imagesdirectory) -- For Windows, create lwarp_one_limage.cmd from lwarp_one_limage.txt: if opsystem=="Windows" then executecheckerror ( @@ -16798,7 +16973,7 @@ end -- create lwarp_one_limage.cmd numimageprocesses = 0 -- Track warning to recompile if find a page 0 pagezerowarning = false --- Scan lateximages.txt +-- Scan .txt for line in limagesfile:lines() do createonelateximage ( line ) end -- do @@ -17012,7 +17187,7 @@ updateanddone () -- lwarpmk limages: --- Scan the lateximages.txt file to create lateximages. +-- Scan the .txt file to create lateximages. elseif arg[1] == "limages" then loadconf () @@ -17054,11 +17229,11 @@ print ("lwarpmk: Done.") -- lwarpmk cleanlimages --- Remove images from the lateximages directory. +-- Remove images from the imagesdirectory. elseif arg[1] == "cleanlimages" then loadconf () -os.execute ( rmname .. " lateximages/*" ) +os.execute ( rmname .. " " .. imagesdirectory .. dirslash .. "*" ) print ("lwarpmk: Done.") -- lwarpmk epstopdf @@ -17186,8 +17361,9 @@ end -- not --version % % Note that nested \LaTeX\ structures may push depths which are non-sequential. % \watchout - +% % \begin{docsidebar}[Ex:] +% \vspace*{-2\baselineskip} % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4] % \begin{itemize} % \item{A} @@ -17196,6 +17372,7 @@ end -- not --version % \end{description} % \end{itemize} % \end{Verbatim} +% \vspace{-\baselineskip} % \end{docsidebar} % \begin{macrocode} @@ -17314,12 +17491,16 @@ end -- not --version % \end{macrocode} % % \begin{macro}{\LWR@setexparray} \marg{name} \marg{index} \marg{contents} +% \changes{v0.66}{2018/12/31}{Fix with \cs{par}.} % \begin{macrocode} \NewDocumentCommand{\LWR@setexparray}{m m m}{% + \begingroup% + \let\par\relax% \xdef\LWR@thisexparrayname{#1#2}% \ifstrempty{#3}% {\csgdef{\LWR@thisexparrayname}{}}% {\csxdef{\LWR@thisexparrayname}{#3}}% + \endgroup% } % \end{macrocode} % \end{macro} @@ -17488,43 +17669,6 @@ end -- not --version -% \section{Sanitizing labels and filenames} -% -% Special handling for underscores in labels and filenames. - -% \codehtml -% \begin{macrocode} -\begin{warpHTML} -% \end{macrocode} - -% \begin{macro}{\LWR@sanitized} The sanitized version of what was given -% to \cs{LWR@sanitize}. -% Characters are set to their detokenized versions. -% Required for underscores in labels and filenames. -% \begin{macrocode} -\newcommand*{\LWR@sanitized}{} -% \end{macrocode} -% \end{macro} - -% \begin{macro}{\LWR@sanitize} \marg{text} -% -% Sanitizes the text and returns the result in \cs{LWR@sanitized}. -% \begin{macrocode} -\newcommand*{\LWR@sanitize}[1]{% -\LWR@traceinfo{LWR@sanitize: !#1!}% -\edef\LWR@sanitized{#1}% -\LWR@traceinfo{LWR@sanitize expanded: !\LWR@sanitized!}% -\edef\LWR@sanitized{\detokenize\expandafter{\LWR@sanitized}}% -\LWR@traceinfo{LWR@sanitize result: !\LWR@sanitized!}% -} -% \end{macrocode} -% \end{macro} - -% \begin{macrocode} -\end{warpHTML} -% \end{macrocode} - - % \section{\HTML\ entities} @@ -17561,16 +17705,20 @@ end -- not --version % \end{macrocode} % \begin{macro}{\textless} -% \begin{macro}{\textgreater} +% \changes{v0.66}{2019/02/07}{Made robust.} % \begin{macrocode} \let\LWR@origtextless\textless -\renewcommand*{\textless}{\HTMLentity{lt}} +\renewrobustcmd*{\textless}{\HTMLentity{lt}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\textgreater} +% \changes{v0.66}{2019/02/07}{Made robust.} +% \begin{macrocode} \let\LWR@origtextgreater\textgreater -\renewcommand*{\textgreater}{\HTMLentity{gt}} +\renewrobustcmd*{\textgreater}{\HTMLentity{gt}} % \end{macrocode} % \end{macro} -% \end{macro} % \begin{macrocode} \end{warpHTML} @@ -17678,6 +17826,7 @@ end -- not --version % \changes{v0.20}{2016/09/11}{HTMLFilename: removed additional trailing '-', and may be empty.} % \changes{v0.20}{2016/09/11}{Sections called ``Index'' or ``index'' have an underscore % prepended to their filenames if no prefix.} +% \changes{v0.66}{2019/01/30}{Sanitize underscores.} % % Prints the filename for a given section: |\HTMLFilename{}filenumber/name.html| % \begin{macrocode} @@ -17688,16 +17837,16 @@ end -- not --version % The filename must be detokenized for underscores. % \begin{macrocode} % \LWR@traceinfo{about to assign temp}% -\edef\LWR@tempone{#1}% +\LWR@sanitize{#1}% \LWR@traceinfo{about to compare with ??}% -\ifthenelse{\equal{\LWR@tempone}{??}}% +\ifthenelse{\equal{\LWR@sanitized}{??}}% {\LWR@traceinfo{found ??}}% {\LWR@traceinfo{not found ??}}% \LWR@traceinfo{about to compare with zero or empty}% \ifthenelse{% - \equal{\LWR@tempone}{0}% - \OR \equal{\LWR@tempone}{}% - \OR \equal{\LWR@tempone}{??}% + \equal{\LWR@sanitized}{0}% + \OR \equal{\LWR@sanitized}{}% + \OR \equal{\LWR@sanitized}{??}% }% {% \LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}% @@ -17708,20 +17857,22 @@ end -- not --version % with a leading underscore to avoid colliding with the \HTML\ filename |index.html|: % \begin{macrocode} {% - \LWR@traceinfo{LWR@htmlsectionfilename C \LWR@tempone}% + \LWR@traceinfo{LWR@htmlsectionfilename C \LWR@sanitized}% \ifthenelse{% \equal{\HTMLFilename}{} \AND - \equal{\LWR@tempone}{Index} \OR - \equal{\LWR@tempone}{index}% + \equal{\LWR@sanitized}{Index} \OR + \equal{\LWR@sanitized}{index}% }% {% \LWR@traceinfo{Prefixing the index name with an underscore.}% - \_#1.html% + \_\LWR@sanitized.html% }% % \end{macrocode} % Otherwise, create a filename with the chosen prefix: % \begin{macrocode} - {\HTMLFilename\LWR@isolate{#1}.html}% + {% + \HTMLFilename\LWR@isolate{\LWR@sanitized}.html% + }% }% \LWR@traceinfo{LWR@htmlsectionfilename Z}% } @@ -17806,17 +17957,26 @@ end -- not --version % For print output, if \pkg{hyperref} is available a hyperlink to the first page % is used, named by \cs{linkhomename}. % If \pkg{hyperref} is not available, a pageref is used instead. +% +% \cs{BaseJobname} is included in the link label in case multiple +% documents are cross-referenced. +% % \changes{v0.63}{2018/11/29}{Fix: Print version.} +% \changes{v0.66}{2019/01/23}{Fix: Document cross-references.} % \begin{macrocode} \AtBeginDocument{ \@ifundefined{hyperref}{ - \newcommand*{\LinkHome}{\linkhomename\ --- page \pageref{page-LWRfirstpage}} + \newcommand*{\LinkHome}{% + \linkhomename\ --- page \pageref{\BaseJobname-page-LWRfirstpage}% + } }{ - \newcommand*{\LinkHome}{\hyperref[page-LWRfirstpage]{\linkhomename}} + \newcommand*{\LinkHome}{% + \hyperref[\BaseJobname-page-LWRfirstpage]{\linkhomename}% + } } } -\AfterEndPreamble{\label{page-LWRfirstpage}} +\AfterEndPreamble{\label{\BaseJobname-page-LWRfirstpage}} % \end{macrocode} % \end{macro} @@ -18164,6 +18324,20 @@ end -- not --version % \end{macrocode} +% \subsection{\HTML\ output formatting} +% +% Helps format the output \HTML\ code for human readability. +% +% \begin{macro}{\LWR@indentHTML} Newline and indent the output \HTML\ code. +% \changes{v0.66}{2019/02/01}{Added.} +% \begin{macrocode} +\newcommand*{\LWR@indentHTML}{% + \LWR@orignewline\LWR@origrule{2em}{0pt}% +} +% \end{macrocode} +% \end{macro} + + % \subsection{\HTML\ tags} % \begin{macro}{\LWR@htmltagc} \marg{tag} @@ -18180,7 +18354,6 @@ end -- not --version \LWR@isolate{#1}% \protect\LWR@origtextgreater% \endgroup% -% \LWR@traceinfo{LWR@htmltagc: done}% } % \end{macrocode} % \end{macro} @@ -18377,19 +18550,23 @@ end -- not --version % \changes{v0.20}{2017/01/17}{Factored code.} % \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.} % \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.} +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % % \begin{macrocode} \NewDocumentCommand{\LWR@subhtmlelementclass}{m O{} m}{% \LWR@traceinfo{LWR@subhtmlelementclass !#1!#2!#3!}% \ifblank{#2}% {% empty option - \LWR@htmltag{#1 class=\textquotedbl#3\textquotedbl}% -}% -{% non-empty option \LWR@htmltag{% #1 % space class=\textquotedbl#3\textquotedbl\ % space - style=\textquotedbl#2\textquotedbl% + }% +}% +{% non-empty option + \LWR@htmltag{% + #1\LWR@indentHTML% + class=\textquotedbl#3\textquotedbl\LWR@indentHTML% + style=\textquotedbl#2\textquotedbl\LWR@orignewline% }% }% \LWR@traceinfo{LWR@subhtmlelementclass done}% @@ -18819,8 +18996,9 @@ end -- not --version \PN@parnotes@auto% % \end{macrocode} % The opening paragraph tag: +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} - \LWR@htmltagc{\LWR@tagregularparagraph}% + \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline% % \end{macrocode} % Now have started a paragraph. % \begin{macrocode} @@ -18840,6 +19018,26 @@ end -- not --version % \end{macro} +% \begin{macro}{\LWR@closeparagraph@br} +% +% Add an \HTML\ break if in a span, and not in a \env{lateximage}, +% and not in tabular metadata. Factored from \cs{LWR@closeparagraph}. +% +% \changes{v0.66}{2019/01/01}{Factored.} +% \begin{macrocode} +\newcommand*{\LWR@closeparagraph@br} +{% + \ifboolexpr{ + test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}} and + test {\ifnumcomp{\value{LWR@lateximagedepth}}{=}{0}} and + not bool {LWR@intabularmetadata} + }% + {\unskip\LWR@htmltagc{br /}}% + {}% +} +% \end{macrocode} +% \end{macro} + % \begin{macro}{\LWR@closeparagraph} % \changes{v0.20}{2017/01/17}{No break tags in the start/end of a tabular.} @@ -18865,16 +19063,11 @@ end -- not --version test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}} }% % \end{macrocode} -% Do nothing if already started a \env{lateximage} or a \element{span}, -% but add a parbreak if in a span but not a \env{lateximage}. +% Add a parbreak if in a span, not in a lateximage, +% and not in table metadata. % \begin{macrocode} {% no nested par tags - \ifboolexpr{ - test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}} and - test {\ifnumcomp{\value{LWR@lateximagedepth}}{=}{0}} - }% - {\ifbool{LWR@intabularmetadata}{}{\unskip\LWR@htmltagc{br /}}}% - {}% + \LWR@closeparagraph@br% }% no nested par tags % \end{macrocode} % If have not already started a \env{lateximage} or a \element{span}: @@ -18882,8 +19075,9 @@ end -- not --version {% yes nest par tags % \end{macrocode} % Print a closing tag and some extra vertical space. +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} - \unskip% + \leavevmode\LWR@orignewline% \LWR@htmltagc{/\LWR@tagregularparagraph}% \LWR@orignewline% % \end{macrocode} @@ -18904,13 +19098,12 @@ end -- not --version }% end of yes nest par tags }% end of handling pars % \end{macrocode} -% Add a parbreak if in a span, -% but not in a table outside a row: +% Add a parbreak if in a span, not in a lateximage, +% and not in table metadata. +% \changes{v0.66}{2019/01/01}{Fix: Combined span, \env{tabular}, and \env{lateximage}.} % \begin{macrocode} {% not handling pars - \ifnumcomp{\value{LWR@spandepth}}{>}{0}% - {\ifbool{LWR@intabularmetadata}{}{\unskip\LWR@htmltagc{br /}}}% - {}% + \LWR@closeparagraph@br% }% not handling pars % \end{macrocode} % In most cases, finish with a \LaTeX\ \cs{par}, but in the case @@ -19033,8 +19226,9 @@ end -- not --version {% % \end{macrocode} % Print a closing tag: +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} - \unskip% + \leavevmode\LWR@orignewline% \LWR@htmltagc{/\LWR@tagregularparagraph}% \LWR@orignewline% % \end{macrocode} @@ -19083,6 +19277,34 @@ end -- not --version +% \section{Indentfirst} +% +% \DescribePackage{indentfirst} +% \pkg{indentfirst} redefines \cs{@afterindentfalse} to be \cs{@afterindenttrue}. +% This is reversed \cs{AtBeginDocument} here. +% +% \changes{v0.66}{2019/02/04}{Added support for \pkg{indentfirst}.} +% +% \codehtml +% \begin{macrocode} +\begin{warpHTML} +% \end{macrocode} + +% \begin{macrocode} +\AtBeginDocument{ +\def\@afterindentfalse{\let\if@afterindent\iffalse} +\@afterindentfalse +} +\let\LWR@afterindent@syntaxhighlight\fi% syntax highlighting +% \end{macrocode} + + + +% \begin{macrocode} +\end{warpHTML} +% \end{macrocode} + + % \section{Page headers and footers} % \codeall @@ -19430,13 +19652,14 @@ end -- not --version \renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{##1}}% % \end{macrocode} % Use paragraph tags if in a tabular data cell or a \env{lateximage}: +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} \ifthenelse{% \boolean{LWR@doingstartpars} \AND% \cnttest{\value{LWR@lateximagedepth}}{=}{0}% }% {}% - {\LWR@htmltagc{\LWR@tagregularparagraph}}% + {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}% % \end{macrocode} % Append the footnote to the list: % \begin{macrocode} @@ -19500,13 +19723,14 @@ end -- not --version \color@begingroup% % \end{macrocode} % Use paragraph tags if in a tabular data cell or a \env{lateximage}: +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} \ifthenelse{% \boolean{LWR@doingstartpars} \AND% \cnttest{\value{LWR@lateximagedepth}}{=}{0}% }% {}% - {\LWR@htmltagc{\LWR@tagregularparagraph}}% + {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}% % \end{macrocode} % \begin{macrocode} \@makefntext{% @@ -19743,6 +19967,15 @@ end -- not --version \booltrue{CombineHigherDepths} % \end{macrocode} + +% \begin{macro}{\FilenameLimit} +% Maximum length of the generated filenames. +% \begin{macrocode} +\newcommand*{\FilenameLimit}{80} +% \end{macrocode} +% \end{macro} + + % \begin{macrocode} \end{warpall} % \end{macrocode} @@ -19755,8 +19988,13 @@ end -- not --version % \begin{macro}{\LWR@thisfilename} % The currently-active filename or number. +% At first, this is the homepage. % \begin{macrocode} -\newcommand*{\LWR@thisfilename}{} +\AtBeginDocument{ +\ifbool{FileSectionNames}% + {\newcommand*{\LWR@thisfilename}{\HomeHTMLFilename}} + {\newcommand*{\LWR@thisfilename}{0}} +} % \end{macrocode} % \end{macro} @@ -19769,6 +20007,27 @@ end -- not --version % \end{macro} +% \begin{macro}{\LWR@simplifyname} * \marg{expression} \qquad Simplify \cs{LWR@thisnewfilename}. +% +% If starred, detokenizes the input expression. +% If found, changes the expression to a single detokenized dash. +% +% \begin{macrocode} +\NewDocumentCommand{\LWR@simplifyname}{s m}{% +\IfBooleanTF{#1}{% + \StrSubstitute{\LWR@thisnewfilename}% + {\detokenize{#2}}% + {\detokenize{-}}[\LWR@thisnewfilename]% +}{% + \StrSubstitute{\LWR@thisnewfilename}% + {#2}% + {\detokenize{-}}[\LWR@thisnewfilename]% +} +} +% \end{macrocode} +% \end{macro} + + % \begin{macro}{\LWR@filenamenoblanks} \marg{filename} % % Convert blanks into dashes, removes short words, @@ -19781,6 +20040,9 @@ end -- not --version % Use the optional \TOC\ caption entry parameter for formatting. % Remember to \cs{protect} \LaTeX\ commands which appear in % section names and \TOC\ captions. +% +% \changes{v0.66}{2019/02/07}{Improved file name generation.} +% % \begin{macrocode} \newcommand*{\LWR@filenamenoblanks}[1]{% \begingroup @@ -19793,102 +20055,127 @@ end -- not --version \renewcommand*{\LWR@htmltagc}[1]{}% % \end{macrocode} % -% Replaces common symbols and short words with hyphens: % \begin{macrocode} \edef\LWR@thisnewfilename{#1}% +% \end{macrocode} +% Replaces common macros with hyphens. +% (\cs{\&} is done by \cs{LWR@nullfonts}.) +% \begin{macrocode} +\RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}% +\LWR@simplifyname{\_} +\LWR@simplifyname{\#} +\LWR@simplifyname{\textbackslash} +\LWR@simplifyname{\protect} +\LWR@simplifyname{\ } +\LWR@simplifyname{<} +\LWR@simplifyname{>} +\LWR@simplifyname{\textless} +\LWR@simplifyname{\textgreater} +% \end{macrocode} +% \changes{v0.66}{2019/02/06}{Fix: Section names detokenized.} +% \begin{macrocode} +\edef\LWR@thisnewfilename{\detokenize\expandafter{\LWR@thisnewfilename}}% +% \end{macrocode} +% \begin{macrocode} \LWR@traceinfo{LWR@filenamenoblanks edef: !\LWR@thisnewfilename!}% \fullexpandarg% % \end{macrocode} -% % Convert spaces into hyphens: -% -% \changes{v0.45}{2017/12/29}{Fix: Section names with \cs{\ }.} % \begin{macrocode} -\StrSubstitute{\LWR@thisnewfilename}{\ }{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{ }{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{ } % \end{macrocode} % Convert punctutation into hyphens: -% ^^A \StrSubstitute{\LWR@thisnewfilename}{é}{e}[\LWR@thisnewfilename] -% \begin{macrocode} -\StrSubstitute{\LWR@thisnewfilename}{,}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{'}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}% - {\LWR@origampersand}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{+}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{,}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{/}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{:}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{;}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{=}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{?}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{@}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{"}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}% - {\textless}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}% - {\textgreater}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{\LWR@origpound}{-}[\LWR@thisnewfilename] -% \end{macrocode} -% \changes{v0.45}{2017/12/29}{Fix: Section names with underscores.} -% \begin{macrocode} -\StrSubstitute{\LWR@thisnewfilename}{\_}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{\%}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{\{}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{\}}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{|}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}% - {\textbackslash}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{^}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{~}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{~{}}{-}[\LWR@thisnewfilename] -% "~{}" for babel -\StrSubstitute{\LWR@thisnewfilename}{[}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{]}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{`}{-}[\LWR@thisnewfilename] +% \begin{macrocode} +\LWR@simplifyname*{!} +\LWR@simplifyname*{,} +\LWR@simplifyname*{'} +\LWR@simplifyname*{+} +\LWR@simplifyname*{,} +\LWR@simplifyname*{/} +\LWR@simplifyname*{:} +\LWR@simplifyname*{;} +\LWR@simplifyname*{=} +\LWR@simplifyname*{?} +\LWR@simplifyname*{@} +\LWR@simplifyname*{^} +\LWR@simplifyname*{&} +\LWR@simplifyname*{"} +\LWR@simplifyname*{<} +\LWR@simplifyname*{>} +% \end{macrocode} +% \changes{v0.66}{2019/02/06}{Fix: Section names with macros.} +% \begin{macrocode} +\LWR@simplifyname{\LWRbackslash} +\LWR@simplifyname{\LWRleftbrace} +\LWR@simplifyname{\LWRrightbrace} +% \end{macrocode} +% \changes{v0.66}{2019/02/06}{Fix: Section names with percent.} +% \begin{macrocode} +\LWR@simplifyname{\LWRpercent} +\LWR@simplifyname{\LWRdollar} +% \end{macrocode} +% \begin{macrocode} +\LWR@simplifyname*{|} +\LWR@simplifyname*{^} +\LWR@simplifyname*{~} +\LWR@simplifyname*{[} +\LWR@simplifyname*{]} +\LWR@simplifyname*{`} % \end{macrocode} % Convert short words: % \begin{macrocode} -\StrSubstitute{\LWR@thisnewfilename}{-s-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-S-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-a-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-A-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-an-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-AN-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-to-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-TO-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-by-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-BY-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-of-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-OF-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-and-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-AND-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-for-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-FOR-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-the-}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{-THE-}{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{-s-} +\LWR@simplifyname*{-S-} +\LWR@simplifyname*{-a-} +\LWR@simplifyname*{-A-} +\LWR@simplifyname*{-an-} +\LWR@simplifyname*{-AN-} +\LWR@simplifyname*{-to-} +\LWR@simplifyname*{-TO-} +\LWR@simplifyname*{-by-} +\LWR@simplifyname*{-BY-} +\LWR@simplifyname*{-of-} +\LWR@simplifyname*{-OF-} +\LWR@simplifyname*{-and-} +\LWR@simplifyname*{-AND-} +\LWR@simplifyname*{-for-} +\LWR@simplifyname*{-FOR-} +\LWR@simplifyname*{-the-} +\LWR@simplifyname*{-THE-} % \end{macrocode} % Convert multiple hyphens: % \begin{macrocode} -\StrSubstitute{\LWR@thisnewfilename}{-----}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{----}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{---}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{--}{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{-----} +\LWR@simplifyname*{----} +\LWR@simplifyname*{---} +\LWR@simplifyname*{--} % \end{macrocode} % If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash: % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.} % \begin{macrocode} \ifPDFTeX% pdflatex or dvi latex \ifdefstring{\inputencodingname}{utf8}{% -\StrSubstitute{\LWR@thisnewfilename}{—}{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{—} % emdash -\StrSubstitute{\LWR@thisnewfilename}{–}{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{–} % endash }{}% \else% not PDFTeX -\StrSubstitute{\LWR@thisnewfilename}{—}{-}[\LWR@thisnewfilename] -\StrSubstitute{\LWR@thisnewfilename}{–}{-}[\LWR@thisnewfilename] +\LWR@simplifyname*{—} +\LWR@simplifyname*{–} \fi% % \end{macrocode} +% If ends with a dash, remove the trailing dash: +% \begin{macrocode} +\IfEndWith{\LWR@thisnewfilename}{\detokenize{-}}{% + \StrGobbleRight{\LWR@thisnewfilename}{1}[\LWR@thisnewfilename]% +}{}% +% \end{macrocode} +% Limits the length of the filename: +% \changes{v0.66}{2019/02/07}{Limits filename length.} +% \begin{macrocode} +\StrLeft{\LWR@thisnewfilename}{\FilenameLimit}[\LWR@thisnewfilename]% +% \end{macrocode} % Return the global result: % \begin{macrocode} \global\let\LWR@thisfilename\LWR@thisnewfilename% @@ -19907,6 +20194,13 @@ end -- not --version % \end{macrocode} +% \DescribeFile{*_html.aux} +% A new entry in the \filenm{*_html.aux} file is used to help +% cross-references: +% \begin{sourceverb} +% \newlabel{autopage-}{{}{}} +% \end{sourceverb} +% % \begin{macro}{\LWR@newautopagelabel} \marg{pagenumber counter} % \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.} % \begin{macrocode} @@ -20076,9 +20370,9 @@ end -- not --version \newcommand*{\LWR@newhtmlfile}[1]{ \LWR@traceinfo{LWR@newhtmlfile} % \end{macrocode} - +% % At the bottom of the ending file: - +% % \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.} % \begin{macrocode} \LWR@htmlelementclassend{section}{textbody} @@ -20141,7 +20435,7 @@ end -- not --version % \begin{macrocode} \LWR@filenamenoblanks{#1}% % \end{macrocode} -% Create a macro name from the MD5 hash of the file name. +% Create a macro name from the MD5 hash of the file name, to detect duplicates: % \begin{macrocode} \edef\LWR@hashedname{\LWR@mdfive{\LWR@thisfilename}}% % \end{macrocode} @@ -20161,13 +20455,12 @@ end -- not --version { Section name ``#1'', at the line number listed below, generates the filename ``\LWR@thisfilename'', - which appears to be a duplicate% + which appears to be a duplicate. + There is a previous section with an identical or similar name.% } { - Look for another section of the same type with a similar - or identical name. - (Lwarp sanitizes most symbols and common short words - when generating file names, and this may cause a conflict.) + Lwarp sanitizes most symbols and a few common short words + when generating file names, and this may cause a conflict. } } } @@ -20375,7 +20668,7 @@ end -- not --version % \begin{macro}{\ForceHTMLTOC} % For \HTML\ output, forces the next section to have a \TOC\ entry, even if starred. % For use with \cs{printindex} and others which generate a starred section -% which should be in the \acro{TOC} so that it may be accessed via \HTML. +% which should be in the \TOC\ so that it may be accessed via \HTML. % Not necessary if used with \pkg{tocbibind}. Also see \cs{ForceHTMLPage}. % % For print output, no effect. @@ -20598,9 +20891,11 @@ end -- not --version % was created. If a math expression is included in the section name, % and SVG math is used, the corresponding \env{lateximage} will cause the % page number to change by the time the following autosec label is created. -% \changes{v0.43}{2017/11/01}{\progcode{LWR@currentautosec}: Added.} +% \changes{v0.43}{2017/11/01}{\ctr{LWR@currentautosec}: Added.} +% \changes{v0.66}{2019/01/28}{\ctr{LWR@currentautosec}: Fix for \LOF, \LOT float in home page.} % \begin{macrocode} \newcounter{LWR@currentautosec} +\setcounter{LWR@currentautosec}{1} % \end{macrocode} % % @@ -20706,7 +21001,6 @@ end -- not --version % \changes{v0.52}{2018/03/28}{Fix: Footnote numbering: Use short \TOC\ entry % for HTMLDebug comments.} % \begin{macrocode} - \ifbool{HTMLDebugComments}{% \begingroup% \LWR@nullfonts% @@ -20716,10 +21010,9 @@ end -- not --version \IfNoValueTF{#2}% short TOC {\LWR@htmlcomment{Opening #4 ``#3''}}% {\LWR@htmlcomment{Opening #4 ``#2''}}% - } + }\LWR@orignewline% \endgroup% -}{}% - +}{} % \end{macrocode} % For inline sections paragraph and subparagraph, start a new paragraph now: % \begin{macrocode} @@ -20851,16 +21144,21 @@ end -- not --version \LWR@isolate{#3}% % \end{macrocode} % Close the heading tag, such as /H2: +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} \LWR@traceinfo{LWR@section: about to close the heading tag}% \LWR@htmltag{\@nameuse{LWR@tag#4end}}% +\LWR@orignewline% % \end{macrocode} % Generate a \LaTeX{} label: % \changes{v0.43}{2017/11/01}{Fix: Math in section name.} % \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.} +% \changes{v0.66}{2019/01/28}{Fix: \TOC, \LOF, \LOT\ links.} +% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.} % \begin{macrocode} \LWR@traceinfo{LWR@section: about to create the LaTeX label}% -\LWR@newautopagelabel{LWR@currentautosec}% +\setcounter{LWR@latestautopage}{\value{page}}% +\LWR@newautopagelabel{LWR@currentautosec}\LWR@orignewline% % \end{macrocode} % Start paragraph handing unless is an inline paragraph or subparagraph: % \begin{macrocode} @@ -21451,9 +21749,9 @@ end -- not --version \setlength{\parskip}{2ex} % \end{macrocode} % -% For the |lateximages| record file: +% For the \env{lateximages} record file: % \begin{macrocode} -\immediate\openout\LWR@lateximagesfile=lateximages.txt +\immediate\openout\LWR@lateximagesfile=\BaseJobname-images.txt % \end{macrocode} % % Removes space around the caption in the \HTML: @@ -21564,6 +21862,14 @@ end -- not --version % ^^A \LWR@customizeKaTeX % ^^A % \end{macrocode} % +% +% First autopage label in case a figure occurs early. +% \changes{v0.66}{2019/01/28}{Fix: \TOC, \LOF, \LOT\ links.} +% \begin{macrocode} +\setcounter{LWR@latestautopage}{\value{page}}% +\LWR@newautopagelabel{LWR@currentautosec}% +% \end{macrocode} +% % \begin{macrocode} \LWR@traceinfo{LWR@lwarpStart: done} } @@ -24441,6 +24747,7 @@ end -- not --version % \begin{Verbatim}[tabsize=4,gobble=2] % \newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} % \end{Verbatim} +% \vspace{-\baselineskip} % \end{docsidebar} % \begin{macrocode} \IfStrEq{\LWR@strresult}{P}{\LWR@parsepcolumn{P}}{}% @@ -26863,6 +27170,11 @@ rowspan="#2" % \StartDefiningTabulars% \protected\gdef&{\LWR@tabularampersand}% % \end{macrocode} +% Locally force any minipages to be fullwidth, until the end of the \env{tabular}: +% \changes{v0.66}{2018/12/31}{Fix: Minipages inside \env{tabular}.} +% \begin{macrocode} +\booltrue{LWR@forceminipagefullwidth} +% \end{macrocode} % Nest one level deeper of tabular paragraph handling: % \changes{v0.46}{2018/01/18}{Fix: Tabular empty lines.} % \begin{macrocode} @@ -26957,8 +27269,13 @@ rowspan="#2" % % commands are custom-written for them. % Emulating both avoids several layers of patches. % -% The \pkg{zref} package is used to remember section name, file, and -% lateximage depth and number for each label. +% \DescribeFile{*_html.aux} +% A new entry in \filenm{*_html.aux} is used to remember section name, file, and +% lateximage depth and number for each label: +% \begin{sourceverb} +% \newlabel{@lwarp}{{
}{} +% {}{}} +% \end{sourceverb} % % \Cref{tab:crossrefdata} shows the data structures related to cross-referencing. % @@ -26986,12 +27303,14 @@ rowspan="#2" % % \item [Added by \pkg{lwarp}:] \hfill (\HTML\ only) % \begin{description} % \item [\cs{label}:] Adds \HTML\ tags (\cref{sec:labels}), -% plus \cs{splabel} data (\cref{sec:zrefsetup}): +% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}). +% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@