diff options
author | Karl Berry <karl@freefriends.org> | 2018-05-12 21:24:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-05-12 21:24:56 +0000 |
commit | 2d4efc4f55e5a432a6a93be060579b4878c5fd11 (patch) | |
tree | e5b27f31dde871066469b0a8a27d1e491470f704 /Master/texmf-dist/tex/latex/lwarp | |
parent | f3fa6542348613dc0e90fae7be09cd7f9c2f95d2 (diff) |
lwarp (12may18)
git-svn-id: svn://tug.org/texlive/trunk@47695 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/lwarp')
12 files changed, 721 insertions, 133 deletions
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-arydshln.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-arydshln.sty new file mode 100644 index 00000000000..2cd4f89df93 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-arydshln.sty @@ -0,0 +1,72 @@ +%% +%% This is file `lwarp-arydshln.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `arydshln') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. + +\RequirePackage{array} +\LWR@ProvidesPackageDrop{arydshln} +\newdimen\dashlinedash \dashlinedash4pt % +\newdimen\dashlinegap \dashlinegap4pt % +\let\hdashlinewidth\dashlinedash +\let\hdashlinegap\dashlinegap + +\def\ADLnullwide{} +\def\ADLsomewide{} +\def\ADLnullwidehline{} +\def\ADLsomewidehline{} + +\def\ADLactivate{} +\def\ADLinactivate{} +\newcommand*{\ADLdrawingmode}[1]{} +\newcommand*{\ADLnoshorthanded}{} +\newcommand*{\dashgapcolor}[2][]{} +\newcommand*{\nodashgapcolor}{} +\appto\LWR@restoreorigformatting{ +\newcolumntype{:}{|}% +\newcolumntype{;}[1]{|}% +\LetLtxMacro\hdashline\hline% +} +\def\hdashline{ + \adl@hdashline\adl@inactivehdl +} +\def\adl@hdashline#1{\noalign{\ifnum0=`}\fi + \hrule \@height \arrayrulewidth% lwarp + \@ifnextchar[%] + {#1}% + {#1[% + 1pt/1pt + ]}} +\def\adl@inactivehdl[#1/#2]{ + \hrule\@height\arrayrulewidth + \futurelet\@tempa\adl@xhline} +\def\adl@xhline{\ifx\@tempa\hline \adl@ixhline\fi + \ifx\@tempa\hdashline \adl@ixhline\fi + \ifnum0=`{\fi}} +\def\adl@ixhline{\vskip\doublerulesep \adl@hline\relax\doublerulesep} +\def\adl@hline#1#2{% +} + +\def\cdashline#1{\noalign{\ifnum0=`}\fi + \@ifnextchar[%] + {\adl@inactivecdl[#1]}% + {\adl@inactivecdl[#1][\dashlinedash/\dashlinegap]} +} + +\def\adl@inactivecdl[#1-#2][#3]{\ifnum0=`{\fi}\cline{#1-#2}} + +\endinput +%% +%% End of file `lwarp-arydshln.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty index f67fc713f41..8d7469b0057 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty @@ -36,8 +36,7 @@ \SetupFloatingEnvironment{#1}{placement=#2}% } -\newcommand{\floatstyle}[1]{% -} +\newcommand{\floatstyle}[1]{} \NewDocumentCommand{\restylefloat}{s m}{% } diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-check-hyphen.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-check-hyphen.sty new file mode 100644 index 00000000000..d8cad08f9b7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-check-hyphen.sty @@ -0,0 +1,22 @@ +%% +%% This is file `lwarp-lua-check-hyphen.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `lua-check-hyphen') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{lua-check-hyphen} +\newcommand*{\LuaCheckHyphen}[1]{} +\endinput +%% +%% End of file `lwarp-lua-check-hyphen.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty index 76801a34475..201d4e1fa7e 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty @@ -68,7 +68,7 @@ border-radius: \LWR@mdfprintlength{roundcorner} ; \LWR@orignewline {box-shadow: none ;} \LWR@orignewline "} -\LetLtxMacro{\hspace}{\LWR@orighspace}% +\LetLtxMacro\hspace\LWR@orighspace% \LetLtxMacro\rule\LWR@origrule% \LetLtxMacro\makebox\LWR@origmakebox% \LWR@startpars% diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty index f129aebb883..fe5c77919ec 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty @@ -42,6 +42,7 @@ class="td% "% \LWR@tdstartstyles% \LWR@addcmidrulewidth% +\LWR@addcdashline% \LWR@addtabularrulecolors% \LWR@tdendstyles% }% diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty index c80e0226228..069579d0310 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty @@ -17,12 +17,12 @@ %% version 2005/12/01 or later. \LWR@ProvidesPackagePass{paralist} -\AtBeginEnvironment{compactitem}{\LWR@itemizestart} -\AtBeginEnvironment{compactenum}{\LWR@enumeratestart} -\AtBeginEnvironment{compactdesc}{\LWR@descriptionstart} -\AtEndEnvironment{compactitem}{\LWR@listend} -\AtEndEnvironment{compactenum}{\LWR@listend} -\AtEndEnvironment{compactdesc}{\LWR@listend} +\LetLtxMacro\compactitem\itemize +\LetLtxMacro\compactenum\enumerate +\LetLtxMacro\compactdesc\description +\LetLtxMacro\endcompactitem\enditemize +\LetLtxMacro\endcompactenum\endenumerate +\LetLtxMacro\endcompactdesc\enddescription \AtBeginEnvironment{inparaitem}{\LetLtxMacro\item\LWR@origitem} \AtBeginEnvironment{inparaenum}{\LetLtxMacro\item\LWR@origitem} \AtBeginEnvironment{inparadesc}{\LetLtxMacro\item\LWR@origitem} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty new file mode 100644 index 00000000000..32a4c6c240a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty @@ -0,0 +1,63 @@ +%% +%% This is file `lwarp-parnotes.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `parnotes') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackagePass{parnotes} +\long\def\PN@parnote@real#1#2{% + \parnotemark{#1}% + % Unless this is the first parnote in \PN@text, add a separator first + \unless\ifx\PN@text\@empty\g@addto@macro\PN@text{\parnoteintercmd}\fi + % Redefine \@currentlabel to the parnote label, so \label works + \g@addto@macro\PN@text{% + \def\@currentlabel{#1}% + \def\cref@currentlabel{% lwarp + [parnotemark][\arabic{parnotemark}][]\theparnotemark% + }% + }% + \g@addto@macro\PN@text{% + \LWR@textcurrentfont{% lwarp + \parnotemark{#1}\nolinebreak\thinspace#2% + }% + }% +} + +\def\PN@parnotes@real{% + % We call \par later, so this avoids recursion with \PN@parnotes@auto + \PN@inparnotestrue + \unless\ifvmode\par\fi + % Avoid page breaks between a paragraph and its parnotes + \nopagebreak\addvspace{\parnotevskip}% + \LWR@forcenewpage% lwarp + \begin{BlockClass}{footnotes}% lwarp + {\parnotefmt{\PN@text}\par}% + \end{BlockClass}% lwarp + \global\def\PN@text{}% + \addvspace{\parnotevskip}% + % + % These can be enabled or disabled by package options + % + \PN@disable@indent + \PN@reset@optional + \PN@inparnotesfalse +} + +\AtBeginDocument{ +\crefname{parnotemark}{paragraph note}{paragraph notes} +\Crefname{parnotemark}{Paragraph note}{Paragraph notes} +} +\endinput +%% +%% End of file `lwarp-parnotes.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty new file mode 100644 index 00000000000..1e910514fe9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty @@ -0,0 +1,40 @@ +%% +%% This is file `lwarp-quoting.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `quoting') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. + +\LWR@ProvidesPackagePass{quoting} + +\xpatchcmd{\quoting}{\quo@begintext} + {\begin{LWR@blocktextcurrentfont}\quo@begintext} + {} + { + \PackageError{lwarp} + {Unable to patch the quoting package} + {Please contact the author of lwarp.} + } +\xpatchcmd{\endquoting}{\quo@endtext} + {\quo@endtext\end{LWR@blocktextcurrentfont}} + {} + { + \PackageError{lwarp} + {Unable to patch the quoting package} + {Please contact the author of lwarp.} + } + +\endinput +%% +%% End of file `lwarp-quoting.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tocenter.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocenter.sty new file mode 100644 index 00000000000..f3aaa940531 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocenter.sty @@ -0,0 +1,23 @@ +%% +%% This is file `lwarp-tocenter.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `tocenter') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{tocenter} +\NewDocumentCommand{\ToCenter}{s o m m}{} +\NewDocumentCommand{\FromMargins}{s o m m m m}{} +\endinput +%% +%% End of file `lwarp-tocenter.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty index bea41111982..4d15fdcac7c 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty @@ -69,7 +69,7 @@ {% text-decoration:underline;% text-decoration-skip: auto;% - text-decoration-style:dotted% + text-decoration-style: dotted% }% {dotuline}{#1}% } diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-underscore.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-underscore.sty new file mode 100644 index 00000000000..7c718832dac --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-underscore.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-underscore.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `underscore') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{underscore} +\endinput +%% +%% End of file `lwarp-underscore.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty index 2aad9949e19..6d24427a28d 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty @@ -17,7 +17,7 @@ %% version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{lwarp} - [2018/04/26 v0.55 Allows LaTeX to directly produce HTML5 output.] + [2018/05/12 v0.56 Allows LaTeX to directly produce HTML5 output.] @@ -394,6 +394,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{ltcaption} \LWR@loadafter{ltxgrid} \LWR@loadafter{ltxtable} +\LWR@loadafter{lua-check-hyphen} \LWR@loadafter{luacolor} \LWR@loadafter{luatodonotes} \LWR@loadafter{magaz} @@ -429,6 +430,7 @@ For a possible alternative, see package(s) #2.} \LWR@notmemoirloadafter{pagenote} \LWR@loadafter{pagesel} \LWR@loadafter{paralist} +\LWR@loadafter{parnotes} \LWR@notmemoirloadafter{parskip} \LWR@loadafter{pbox} \LWR@loadafter{pdfrender} @@ -441,6 +443,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{prettyref} \LWR@loadafter{preview} \LWR@loadafter{quotchap} +\LWR@loadafter{quoting} \LWR@loadafter{ragged2e} \LWR@loadafter{realscripts} \LWR@loadafter{relsize} @@ -488,6 +491,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{titletoc} \LWR@notmemoirloadafter{titling} \LWR@notmemoirloadafter{tocbibind} +\LWR@loadafter{tocenter} \LWR@notmemoirloadafter{tocloft} \LWR@loadafter{tocstyle} \LWR@loadafter{todo} @@ -496,6 +500,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{trivfloat} \LWR@loadafter{turnthepage} \LWR@loadafter{ulem} +\LWR@loadafter{underscore} \LWR@loadafter{upref} \LWR@loadafter{url} \LWR@loadafter{varioref}% no lwarp package provided @@ -938,6 +943,7 @@ top=1in,bottom=1in,% \LetLtxMacro\LWR@origmakebox\makebox \chardef\LWR@origpound=`\# \let\LWR@origcomma\, +\let\LWR@origthinspace\thinspace \let\LWR@origtilde~ \let\LWR@origenskip\enskip \let\LWR@origquad\quad @@ -1138,6 +1144,7 @@ homehtmlfilename = "\HomeHTMLFilename"% } \immediate\write\LWR@quickfile{htmlfilename = "\HTMLFilename"} \immediate\write\LWR@quickfile{latexmk = "\ifbool{LWR@latexmk}{true}{false}"} +\immediate\write\LWR@quickfile{shellescape = "\ifshellescape true\else false\fi"} \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"} \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"} \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"} @@ -1168,6 +1175,7 @@ homehtmlfilename = "\HomeHTMLFilename"% } \immediate\write\LWR@quickfile{htmlfilename = "\HTMLFilename"} \immediate\write\LWR@quickfile{latexmk = "\ifbool{LWR@latexmk}{true}{false}"} +\immediate\write\LWR@quickfile{shellescape = "\ifshellescape true\else false\fi"} \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"} \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"} \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"} @@ -1237,7 +1245,7 @@ span.indexsubsubitem {margin-left: 4em} div.hidden, span.hidden { display: none ; } -kbd { +kbd, span.texttt { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; @@ -1246,22 +1254,24 @@ kbd { pre { padding: 3pt ; } -span.strong { font-weight: bold; } +span.strong, span.textbf, div.strong, div.textbf { font-weight: bold; } -span.textmd { font-weight: normal; } +span.textit, div.textit { font-style: italic; } -span.textsc { font-variant: small-caps; } +span.textmd, div.textmd { font-weight: normal; } -span.textsl { font-style: oblique; } +span.textsc, div.textsc { font-variant: small-caps; } -span.textup { font-variant: normal; } +span.textsl, div.textsl { font-style: oblique; } -span.textrm { +span.textup, div.textup { font-variant: normal; } + +span.textrm, div.textrm { font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; } -span.textsf { +span.textsf, div.textsf { font-family: "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; } @@ -1540,8 +1550,7 @@ div.titlepage { .footnotes { font-size: .85em ; - margin: 3ex 1em 0ex 1em ; - padding-bottom: 1ex ; + margin: 3ex 2em 0ex 2em ; border-top: 1px solid silver ; } @@ -1583,7 +1592,7 @@ div.marginparblock br { margin-bottom: 2ex ; } section.textbody div.footnotes{ - margin: 3ex 0em 0ex 0em ; + margin: 3ex 2em 0ex 2em ; border-bottom: 2px solid silver ; } @@ -2055,7 +2064,14 @@ table td.tdM { text-align: center ; vertical-align: middle ; } table td.tdB { text-align: center ; vertical-align: top ; } table td.tvertbarl { border-left: 1px solid black } +table td.tvertbarldouble { border-left: 4px double black } table td.tvertbarr { border-right: 1px solid black } +table td.tvertbarrdouble { border-right: 4px double black } + +table td.tvertbarldash { border-left: 1px dashed black } +table td.tvertbarldoubledash { border-left: 2px dashed black } +table td.tvertbarrdash { border-right: 1px dashed black } +table td.tvertbarrdoubledash { border-right: 2px dashed black } /* for cmidrules: */ table td.tdrule { @@ -3103,7 +3119,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX- -- Print the usage of the lwarpmk command: -printversion = "v0.55" +printversion = "v0.56" function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -3126,6 +3142,7 @@ lwarpmk pdftohtml [project]: For use with latexmk or a Makefile: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. +lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. lwarpmk clean [project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl* lwarpmk cleanall [project]: Remove auxiliary files and also project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -3148,13 +3165,14 @@ sourcename = "projectname" (the source-code filename w/o .tex) homehtmlfilename = "index" (or perhaps the project name) htmlfilename = "" (or "projectname" - filename prefix) latexmk = "false" (or "true" to use latexmk to build PDFs) +shellescape = "false" xindylanguge = "english" (use a language supported by xindy) xindycodepage = "utf8" (use a codepage supported by xindy) xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy) pdftotextenc = "UTF-8" (use an encoding supported by pdftotext) -- Filenames must contain only letters, numbers, underscore, or dash. -Values must be in "quotes". +Values must be in upright "quotes". ]] ) ; end @@ -3198,13 +3216,13 @@ function loadconf () local conffile = "lwarpmk.conf" -- Optional configuration filename: if ( arg[2] ~= nil ) then conffile = arg[2]..".lwarpmkconf" end --- Default xindy language: +-- Additional defaults: +opsystem = "Unix" +latexmk = "false" +shellescape = "false" xindylanguage = "english" --- Default xindy codepage: xindycodepage = "utf8" --- Default xindystyle: xindystyle = "lwarp.xdy" --- Default pdftotext encoding: pdftotextenc = "UTF-8" -- Verify the file exists: if (lfs.attributes(conffile,"mode")==nil) then @@ -3260,6 +3278,7 @@ elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue +elseif ( cvarname == "shellescape" ) then shellescape = cvalue elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue @@ -3353,7 +3372,13 @@ end function onetime (fsuffix) print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix) -err = os.execute(latexname .. " " .. sourcename..fsuffix) +local thisshellescape = " " +if ( shellescape == "true" ) then + thisshellescape = " -shell-escape " +else + thisshellescape = " " +end +err = os.execute(latexname .. thisshellescape .. sourcename..fsuffix) if ( err ~= 0 ) then print ("lwarpmk: ===") print ("lwarpmk: Compile error.") @@ -3618,6 +3643,13 @@ end -- function -- Use latexmk to compile source and index: -- fsuffix is "" for print, or "_html" for HTML function compilelatexmk ( fsuffix ) +-- Maybe select the shell-escape option: +local thisshellescape = " " +if ( shellescape == "true" ) then + thisshellescape = " -shell-escape " +else + thisshellescape = " " +end -- The recorder option is required to detect changes in <project>.tex -- while we are loading <project>_html.tex. err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder " @@ -3629,7 +3661,7 @@ err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder " .. " -C " .. xindycodepage .. " -L " .. xindylanguage .. " /" .. opquote - .. " -pdflatex=\"" .. latexname .." %O %S\" " + .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" " .. sourcename..fsuffix ..".tex" ) ; if ( err ~= 0 ) then print ("lwarpmk: ===") @@ -3637,7 +3669,21 @@ if ( err ~= 0 ) then print ("lwarpmk: ===") os.exit(1) end -end +end -- function + +-- Converts PDF files to SVG files. +-- The filenames are arg[2] and up. +-- arg[1] is the command "pdftosvg". +function convertpdftosvg () +for i = 2 , #arg do + if (lfs.attributes(arg[i],"mode")==nil) then + print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") + else + print ("lwarpmk: Converting \"" .. arg[i] .. "\"") + os.execute ( "pdftocairo -svg " .. arg[i] ) + end -- if +end -- do +end --function -- lwarpmk --version : @@ -3843,6 +3889,12 @@ loadconf () os.execute ( rmname .. " lateximages/*" ) print ("lwarpmk: Done.") +-- lwarpmk pdftosvg <list of file names> +-- Convert PDf files to SVG using pdftocairo +elseif arg[1] == "pdftosvg" then +convertpdftosvg () +print ("lwarpmk: Done.") + -- lwarpmk with no argument : elseif (arg[1] == nil) then @@ -4517,6 +4569,8 @@ end -- not --version {}% } +\def\PN@parnotes@auto{}% + \newcommand*{\LWR@openparagraph} {% \ifbool{LWR@doingstartpars}% @@ -4527,6 +4581,7 @@ end -- not --version }% nested par tags? {}% no nested par tags {% yes nest par tags + \PN@parnotes@auto% \LWR@htmltagc{\LWR@tagregularparagraph}% \global\booltrue{LWR@doingapar}% \let\par\LWR@closeparagraph% @@ -4557,6 +4612,7 @@ end -- not --version \LWR@orignewline% \global\boolfalse{LWR@doingapar}% \global\boolfalse{LWR@minipagethispar}% + \PN@parnotes@auto% }% end of yes nest par tags }% end of handling pars {% not handling pars @@ -6034,9 +6090,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@stoppars% \LWR@setlatestname{#1}% \LWR@startnewdepth{\LWR@depthlistitem}{\LWR@printclosedescitem}% -\LetLtxMacro{\hspace}{\LWR@nohspace}% +\LetLtxMacro\hspace\LWR@nohspace% \LWR@origitem[]% -\LetLtxMacro{\hspace}{\LWR@hspace}% +\LetLtxMacro\hspace\LWR@hspace% \LWR@htmltag{dt}#1\LWR@htmltag{/dt}% \LWR@orignewline% \LWR@htmltag{dd}% @@ -6101,9 +6157,12 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \end{warpHTML} - - \begin{warpHTML} +\LetLtxMacro\hdashline\hline +\LetLtxMacro\cdashline\cline +\LetLtxMacro\firsthdashline\hline +\LetLtxMacro\lasthdashline\hline + \newcommand\LWR@mynexttoken\relax @@ -6130,8 +6189,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \newbool{LWR@tabularcelladded} \boolfalse{LWR@tabularcelladded} -\newbool{LWR@doinghline} -\boolfalse{LWR@doinghline} +\newcounter{LWR@hlines} + +\newcounter{LWR@hdashedlines} \newbool{LWR@doingtbrule} \boolfalse{LWR@doingtbrule} @@ -6261,7 +6321,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% not bool {LWR@exitingtabular} or% bool{LWR@doingtbrule} or% bool{LWR@doingcmidrule} or% - bool{LWR@doinghline} or% + test{\ifnumcomp{\value{LWR@hlines}}{>}{0}} or% + test{\ifnumcomp{\value{LWR@hdashedlines}}{>}{0}} or% bool{LWR@startedrow}% }{% \begingroup% @@ -6305,7 +6366,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \@rowc@lors% \global\booltrue{LWR@intabularmetadata}% \global\boolfalse{LWR@startedrow}% -\global\boolfalse{LWR@doinghline}% +\setcounter{LWR@hlines}{0}% +\setcounter{LWR@hdashedlines}{0}% \global\boolfalse{LWR@doingtbrule}% \global\boolfalse{LWR@doingcmidrule}% \LWR@clearmidrules% @@ -6315,13 +6377,24 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@getmynexttoken% } +\newcommand*{\LWR@columnspeclookahead}[1]{% +\setcounter{LWR@tempcountone}{\value{LWR@tablecolspecindex}}% +\addtocounter{LWR@tempcountone}{#1}% +\fullexpandarg% +\StrChar{\LWR@origcolspec}{\arabic{LWR@tempcountone}}[\LWR@strresulttwo]% +\exploregroups% +\StrChar{\LWR@strresulttwo}{1}[\LWR@strresulttwo]% +\noexploregroups% +} + \newcommand*{\LWR@colparameter}{} \newcommand*{\LWR@parseatcolumn}{% \LWR@traceinfo{at column}% \addtocounter{LWR@tablecolspecindex}{1}% \LWR@traceinfo{about to read the next token:}% \expandarg% -\StrChar{\LWR@origcolspec}{\arabic{LWR@tablecolspecindex}}[\LWR@colparameter] +\StrChar{\LWR@origcolspec}% + {\arabic{LWR@tablecolspecindex}}[\LWR@colparameter] \fullexpandarg% \LWR@traceinfo{have now read the next token}% \ifnumcomp{\value{LWR@tabletotalcols}}{=}{0}% @@ -6333,7 +6406,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% }% {% not at the left edge: \LWR@traceinfo{not at the left edge}% - \LWR@setexparray{LWR@colatspec}{\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% + \LWR@setexparray{LWR@colatspec}% + {\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% \LWR@traceinfo{at \arabic{LWR@tabletotalcols}: % \LWR@getexparray{LWR@colatspec}{\arabic{LWR@tabletotalcols}}}% }% @@ -6345,7 +6419,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \addtocounter{LWR@tablecolspecindex}{1}% \LWR@traceinfo{about to read the next token:}% \expandarg% -\StrChar{\LWR@origcolspec}{\arabic{LWR@tablecolspecindex}}[\LWR@colparameter] +\StrChar{\LWR@origcolspec}% + {\arabic{LWR@tablecolspecindex}}[\LWR@colparameter] \fullexpandarg% \LWR@traceinfo{have now read the next token}% \ifnumcomp{\value{LWR@tabletotalcols}}{=}{0}% @@ -6355,7 +6430,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% }% {% not at the left edge: \LWR@traceinfo{not at the left edge}% - \LWR@setexparray{LWR@colbangspec}{\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% + \LWR@setexparray{LWR@colbangspec}% + {\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% \LWR@traceinfo{bang \arabic{LWR@tabletotalcols}: \LWR@colparameter!}% }% \let\LWR@colparameter\relax% @@ -6364,32 +6440,75 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \newcommand*{\LWR@parsebeforecolumn}{% \addtocounter{LWR@tablecolspecindex}{1}% \expandarg% -\StrChar{\LWR@origcolspec}{\arabic{LWR@tablecolspecindex}}[\LWR@colparameter]% +\StrChar{\LWR@origcolspec}% + {\arabic{LWR@tablecolspecindex}}[\LWR@colparameter]% \fullexpandarg% -\LWR@setexparray{LWR@colbeforespec}{\arabic{LWR@tabletotalcolsnext}}{\LWR@colparameter}% +\LWR@setexparray{LWR@colbeforespec}% + {\arabic{LWR@tabletotalcolsnext}}{\LWR@colparameter}% \let\LWR@colparameter\relax% \booltrue{LWR@validtablecol}% } \newcommand*{\LWR@parseaftercolumn}{% \addtocounter{LWR@tablecolspecindex}{1}% \expandarg% -\StrChar{\LWR@origcolspec}{\arabic{LWR@tablecolspecindex}}[\LWR@colparameter]% +\StrChar{\LWR@origcolspec}% + {\arabic{LWR@tablecolspecindex}}[\LWR@colparameter]% \fullexpandarg% -\LWR@setexparray{LWR@colafterspec}{\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% +\LWR@setexparray{LWR@colafterspec}% + {\arabic{LWR@tabletotalcols}}{\LWR@colparameter}% \let\LWR@colparameter\relax% \booltrue{LWR@validtablecol}% } \newcommand*{\LWR@parsebarcolumn}{% -\LWR@traceinfo{bar column}% +\LWR@traceinfo{LWR@parsebarcolumn}% +\ifnumcomp{\value{LWR@tabletotalcols}}{=}{0}% +{% left edge of the table: + \edef\LWR@tempone{\LWR@getexparray{LWR@colbarspec}{leftedge}}% + \ifdefstring{\LWR@tempone}{tvertbarl}% + {\LWR@setexparray{LWR@colbarspec}{leftedge}{tvertbarldouble}}% + {\LWR@setexparray{LWR@colbarspec}{leftedge}{tvertbarl}}% +}% +{% not at the left edge: + \edef\LWR@tempone{% + \LWR@getexparray{LWR@colbarspec}{\arabic{LWR@tabletotalcols}}% + }% + \ifdefstring{\LWR@tempone}{tvertbarr}% + {% + \LWR@setexparray{LWR@colbarspec}% + {\arabic{LWR@tabletotalcols}}{tvertbarrdouble}% + }% + {% + \LWR@setexparray{LWR@colbarspec}% + {\arabic{LWR@tabletotalcols}}{tvertbarr}% + }% +}% +\booltrue{LWR@validtablecol}% +} +\newcommand*{\LWR@parsecoloncolumn}{% +\LWR@traceinfo{LWR@parsecoloncolumn}% \ifnumcomp{\value{LWR@tabletotalcols}}{=}{0}% {% left edge of the table: - \LWR@setexparray{LWR@colbarspec}{leftedge}{tvertbarl}% + \edef\LWR@tempone{\LWR@getexparray{LWR@colbarspec}{leftedge}}% + \ifdefstring{\LWR@tempone}{tvertbarldash}% + {\LWR@setexparray{LWR@colbarspec}{leftedge}{tvertbarldoubledash}}% + {\LWR@setexparray{LWR@colbarspec}{leftedge}{tvertbarldash}}% }% {% not at the left edge: - \LWR@setexparray{LWR@colbarspec}{\arabic{LWR@tabletotalcols}}{tvertbarr}% + \edef\LWR@tempone{% + \LWR@getexparray{LWR@colbarspec}{\arabic{LWR@tabletotalcols}}% + }% + \ifdefstring{\LWR@tempone}{tvertbarrdash}% + {\LWR@setexparray{LWR@colbarspec}% + {\arabic{LWR@tabletotalcols}}{tvertbarrdoubledash}}% + {\LWR@setexparray{LWR@colbarspec}% + {\arabic{LWR@tabletotalcols}}{tvertbarrdash}}% }% \booltrue{LWR@validtablecol}% } +\newcommand*{\LWR@parsesemicoloncolumn}{% +\LWR@parsecoloncolumn% +\addtocounter{LWR@tablecolspecindex}{1}% +} \newcommand*{\LWR@parsenormalcolumn}[1]{% \appto\LWR@tablecolspec{#1}% \addtocounter{LWR@tabletotalcols}{1}% @@ -6408,6 +6527,12 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \addtocounter{LWR@tablecolspecindex}{1}% } +\newcommand*{\LWR@parsewcolumn}{% +\LWR@columnspeclookahead{1}% +\expandafter\LWR@parsenormalcolumn\expandafter{\LWR@strresulttwo}% +\addtocounter{LWR@tablecolspecindex}{2}% +} + \newcommand*{\LWR@parseDcolumn}[1]{% \LWR@parsenormalcolumn{#1}% \addtocounter{LWR@tablecolspecindex}{3}% @@ -6451,7 +6576,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \boolfalse{LWR@opttablecol}% \whileboolexpr{% not test{% - \ifnumcomp{\value{LWR@tablecolspecindex}}{>}{\value{LWR@tablecolspecwidth}}% + \ifnumcomp{\value{LWR@tablecolspecindex}}{>}% + {\value{LWR@tablecolspecwidth}}% }% }% {% @@ -6471,15 +6597,20 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{C}{\LWR@parsenormalcolumn{c}}{}% \IfStrEq{\LWR@strresult}{R}{\LWR@parsenormalcolumn{r}}{}% \IfStrEq{\LWR@strresult}{J}{\LWR@parsenormalcolumn{l}}{}% -\IfStrEq{\LWR@strresult}{S}{\LWR@parsenormalcolumn{r}}{}% +\IfStrEq{\LWR@strresult}{S}{\LWR@parsenormalcolumn{c}}{}% +\IfStrEq{\LWR@strresult}{s}{\LWR@parsenormalcolumn{c}}{}% \IfStrEq{\LWR@strresult}{\detokenize{@}}{\LWR@parseatcolumn}{}% \IfStrEq{\LWR@strresult}{!}{\LWR@parsebangcolumn}{}% \IfStrEq{\LWR@strresult}{>}{\LWR@parsebeforecolumn}{}% \IfStrEq{\LWR@strresult}{<}{\LWR@parseaftercolumn}{}% \IfStrEq{\LWR@strresult}{|}{\LWR@parsebarcolumn}{}% +\IfStrEq{\LWR@strresult}{:}{\LWR@parsecoloncolumn}{}% +\IfStrEq{\LWR@strresult}{;}{\LWR@parsesemicoloncolumn}{}% \IfStrEq{\LWR@strresult}{p}{\LWR@parsepcolumn{p}}{}% \IfStrEq{\LWR@strresult}{m}{\LWR@parsepcolumn{m}}{}% \IfStrEq{\LWR@strresult}{b}{\LWR@parsepcolumn{b}}{}% +\IfStrEq{\LWR@strresult}{w}{\LWR@parsewcolumn}{}% +\IfStrEq{\LWR@strresult}{W}{\LWR@parsewcolumn}{}% \IfStrEq{\LWR@strresult}{D}{\LWR@parseDcolumn{c}}{}% \IfStrEq{\LWR@strresult}{X}{\LWR@parsenormalcolumn{X}}{}% \IfStrEq{\LWR@strresult}{P}{\LWR@parsepcolumn{P}}{}% @@ -6493,7 +6624,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{]}{\boolfalse{LWR@opttablecol}}{}% \addtocounter{LWR@tablecolspecindex}{1}% }% whiledo -\LWR@traceinfo{LWR@parsetablecols: done}% +\LWR@traceinfo{LWR@parsetablecols: Final table column spec: !\LWR@tablecolspec!}% }% \@ifundefined{rownum}{\newcount\rownum}{} @@ -6526,16 +6657,12 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% {% not started the row \global\booltrue{LWR@startedrow}% \global\booltrue{LWR@intabularmetadata}% - \ifbool{LWR@doinghline}% + \ifboolexpr{% + test{\ifnumcomp{\value{LWR@hlines}}{>}{0}} or% + test{\ifnumcomp{\value{LWR@hdashedlines}}{>}{0}}% + }% {% - \ifdefvoid{\LWR@ruleHTMLcolor}{% - \LWR@htmltag{tr class="hline" }% - }{% - \LWR@htmltag{% - tr class="hline" % - style="border-top: 1px solid \LWR@origpound\LWR@ruleHTMLcolor "% - }% - }% + \LWR@htmltag{tr class="hline" }% \LWR@orignewline% }% {% not doing hline @@ -6545,8 +6672,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@htmltag{tr class="tbrule"}% }{% \LWR@htmltag{% - tr class="tbrule" % - style="border-top: 1px solid \LWR@origpound\LWR@ruleHTMLcolor "% + tr class="tbrule" % space + style="border-top: 1px solid % space + \LWR@origpound\LWR@ruleHTMLcolor "% }% }% \LWR@orignewline% @@ -6582,6 +6710,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% "% \LWR@tdstartstyles% \LWR@addcmidrulewidth% + \LWR@addcdashline% \LWR@addtabularrulecolors% \LWR@tdendstyles% }% @@ -6620,7 +6749,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \ifbool{LWR@exitingtabular}{}% {% not exiting tabular \LWR@tabularleftedge% - \StrChar{\LWR@tablecolspec}{\arabic{LWR@tablecolindex}}[\LWR@strresult]% + \StrChar{\LWR@tablecolspec}% + {\arabic{LWR@tablecolindex}}[\LWR@strresult]% \LWR@traceinfo{LWR@tabledatasinglecolumntag: about to print td tag}% \LWR@htmltag{td class="td% \LWR@strresult% @@ -6630,7 +6760,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% "% \LWR@tdstartstyles% \LWR@addcmidrulewidth% - \StrChar{\LWR@tablecolspec}{\arabic{LWR@tablecolindex}}[\LWR@thiscolspec]% + \LWR@addcdashline% + \StrChar{\LWR@tablecolspec}% + {\arabic{LWR@tablecolindex}}[\LWR@thiscolspec]% \LWR@addformatwpalignment{\LWR@thiscolspec}% \LWR@addtabularrowcolor% \LWR@addtabularrulecolors% @@ -6667,6 +6799,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% + \newcounter{LWR@midrulecounter} \newlength{\LWR@heavyrulewidth} @@ -6686,7 +6819,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \setcounter{LWR@midrulecounter}{1}% \whileboolexpr{% not test{% - \ifnumcomp{\value{LWR@midrulecounter}}{>}{\value{LWR@tablecolspecwidth}}% + \ifnumcomp{\value{LWR@midrulecounter}}{>}% + {\value{LWR@tablecolspecwidth}}% }% }% {% @@ -6694,6 +6828,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \setlength{\LWR@thiscmidrulewidth}{\LWR@cmidrulewidth}% \LWR@setexparray{LWR@trimlrules}{\arabic{LWR@midrulecounter}}{}% \LWR@setexparray{LWR@trimrrules}{\arabic{LWR@midrulecounter}}{}% +\LWR@setexparray{LWR@cdashlines}{\arabic{LWR@midrulecounter}}{N}% \addtocounter{LWR@midrulecounter}{1}% }% } @@ -6714,12 +6849,34 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \booltrue{LWR@doingcmidrule}% } -\NewDocumentCommand{\LWR@docmidrule}{O{\LWR@cmidrulewidth} D(){} >{\SplitArgument{1}{-}}m}% -{\LWR@subcmidrule{#1}{#2}#3} +\NewDocumentCommand{\LWR@docmidrule} + {O{\LWR@cmidrulewidth} D(){} >{\SplitArgument{1}{-}}m} + {\LWR@subcmidrule{#1}{#2}#3} + +\newcommand*{\LWR@subcdashline}[2]{% +\setcounter{LWR@midrulecounter}{#1}% +\whileboolexpr{% + not test {% + \ifnumcomp{\value{LWR@midrulecounter}}{>}{#2}% + }% +}% +{% + \LWR@setexparray{LWR@cdashlines}{\arabic{LWR@midrulecounter}}{Y}% + \addtocounter{LWR@midrulecounter}{1}% +}% whiledo +\booltrue{LWR@doingcmidrule}% +} + +\NewDocumentCommand{\LWR@docdashline} + {>{\SplitArgument{1}{-}}m}% + {% + \LWR@subcdashline#1% + } -\newlength{\LWR@templengthone}% -\newlength{\LWR@templengthtwo}% -\newlength{\LWR@templengththree}% +\newlength{\LWR@templengthone} +\newlength{\LWR@templengthtwo} +\newlength{\LWR@templengththree} +\newcounter{LWR@tempcountone} \newboolean{LWR@tdhavecellstyle} @@ -6790,6 +6947,19 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@addrulewidth{\LWR@thiscmidrulewidth}{\LWR@cmidrulewidth}% } +\newcommand{\LWR@addcdashline}{% +\edef\LWR@tempone{% + \LWR@getexparray{LWR@cdashlines}{\arabic{LWR@tablecolindex}}% +}% +\ifdefstring{\LWR@tempone}{Y}{% + \LWR@tdaddstyle% + border-top: 1pt dashed % + \ifdefvoid{\LWR@ruleHTMLcolor}% + {black}% + {\LWR@origpound\LWR@ruleHTMLcolor}% +}{}% +} + \newcommand*{\LWR@WPcell}[2]{% \LWR@tdaddstyle% \LWR@origmbox{text-align:#1}; \LWR@origmbox{vertical-align:#2}% @@ -6827,15 +6997,49 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% } \newcommand*{\LWR@addtabularhrulecolor}{% -\ifboolexpr { - bool{LWR@doinghline} or - bool{LWR@doingtbrule} +\ifboolexpr{% + test{\ifnumcomp{\value{LWR@hlines}}{>}{0}} or% + test{\ifnumcomp{\value{LWR@hdashedlines}}{>}{0}} or% + bool{LWR@doingtbrule}% }{% - \ifdefvoid{\LWR@ruleHTMLcolor}{}% + \ifdefvoid{\LWR@ruleHTMLcolor}% {% - \LWR@tdaddstyle% - border-top: 1px solid \LWR@origpound\LWR@ruleHTMLcolor% - }{}% + \ifnumcomp{\value{LWR@hlines}}{>}{1}% + {% + \LWR@tdaddstyle% + border-top: 4px double% + }{% else + \ifnumcomp{\value{LWR@hdashedlines}}{>}{1}% + {% + \LWR@tdaddstyle% + border-top: 2px dashed% + }{% else + \ifnumcomp{\value{LWR@hdashedlines}}{=}{1}% + {% + \LWR@tdaddstyle% + border-top: 1px dashed% + }{}}}% + }% + {% + \ifnumcomp{\value{LWR@hlines}}{>}{1}% + {% + \LWR@tdaddstyle% + border-top: 4px double \LWR@origpound\LWR@ruleHTMLcolor% + }{% else + \ifnumcomp{\value{LWR@hdashedlines}}{>}{1}% + {% + \LWR@tdaddstyle% + border-top: 2px dashed \LWR@origpound\LWR@ruleHTMLcolor% + }{% else + \ifnumcomp{\value{LWR@hdashedlines}}{=}{1}% + {% + \LWR@tdaddstyle% + border-top: 1px dashed \LWR@origpound\LWR@ruleHTMLcolor% + }{% else + \LWR@tdaddstyle% + border-top: 1px solid \LWR@origpound\LWR@ruleHTMLcolor% + }}}% + }% }{}% } @@ -6846,14 +7050,44 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \edef\LWR@tempone{\LWR@getexparray{LWR@colbarspec}{leftedge}}% \ifdefstring{\LWR@tempone}{tvertbarl}{% \LWR@tdaddstyle% - border-left: 1px solid \LWR@origpound\LWR@vertruleHTMLcolor% + border-left: 1px solid % space + \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifdefstring{\LWR@tempone}{tvertbarldouble}{% + \LWR@tdaddstyle% + border-left: 4px double % space + \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifdefstring{\LWR@tempone}{tvertbarldash}{% + \LWR@tdaddstyle% + border-left: 1px dashed % space + \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifdefstring{\LWR@tempone}{tvertbarldoubledash}{% + \LWR@tdaddstyle% + border-left: 2px dashed % space + \LWR@origpound\LWR@vertruleHTMLcolor% }{}% }{}% - \edef\LWR@tempone{\LWR@getexparray{LWR@colbarspec}{\arabic{LWR@tablecolindex}}}% + \edef\LWR@tempone{% + \LWR@getexparray{LWR@colbarspec}{\arabic{LWR@tablecolindex}}% + }% \ifdefstring{\LWR@tempone}{tvertbarr}{% \LWR@tdaddstyle% border-right: 1px solid \LWR@origpound\LWR@vertruleHTMLcolor% }{}% + \ifdefstring{\LWR@tempone}{tvertbarrdouble}{% + \LWR@tdaddstyle% + border-right: 4px double \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifdefstring{\LWR@tempone}{tvertbarrdash}{% + \LWR@tdaddstyle% + border-right: 1px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifdefstring{\LWR@tempone}{tvertbarrdoubledash}{% + \LWR@tdaddstyle% + border-right: 2px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% }% } @@ -6889,8 +7123,11 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \newcounter{LWR@tablemulticolswidth} \newcounter{LWR@tablemulticolspos} -\newbool{LWR@mcolvertbarl} -\newbool{LWR@mcolvertbarr} +\newcounter{LWR@mcolvertbarsl} +\newcounter{LWR@mcolvertbarsr} +\newcounter{LWR@mcolvertbarsldash} +\newcounter{LWR@mcolvertbarsrdash} +\newboolean{LWR@mcolvertbaronleft}% \newcommand*{\LWR@printmccoltype}[1]{% \LWR@traceinfo{lwr@printmccoltype -#1-}% @@ -6904,19 +7141,41 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{P}{P}{}% \IfStrEq{\LWR@strresult}{M}{M}{}% \IfStrEq{\LWR@strresult}{B}{B}{}% -\IfStrEq{\LWR@strresult}{S}{r}{}% +\IfStrEq{\LWR@strresult}{w}{w}{}% +\IfStrEq{\LWR@strresult}{W}{W}{}% +\IfStrEq{\LWR@strresult}{S}{c}{}% +\IfStrEq{\LWR@strresult}{s}{c}{}% \IfStrEq{\LWR@strresult}{X}{p}{}% -\IfStrEq{\LWR@strresult}{|}{% - \ifnumcomp{\value{LWR@tablemulticolspos}}{=}{1}% left edge? - {\booltrue{LWR@mcolvertbarl}}% left edge - {\booltrue{LWR@mcolvertbarr}}% not left edge -}{}% +\IfStrEq{\LWR@strresult}{|}% +{% + \ifbool{LWR@mcolvertbaronleft}% + {\addtocounter{LWR@mcolvertbarsl}{1}}% left edge + {\addtocounter{LWR@mcolvertbarsr}{1}}% not left edge +}% +{% + \IfStrEq{\LWR@strresult}{:}% + {% + \ifbool{LWR@mcolvertbaronleft}% + {\addtocounter{LWR@mcolvertbarsldash}{1}}% left edge + {\addtocounter{LWR@mcolvertbarsrdash}{1}}% not left edge + }% + {% + \IfStrEq{\LWR@strresult}{;}% + {% + \ifbool{LWR@mcolvertbaronleft}% + {\addtocounter{LWR@mcolvertbarsldash}{1}}% left edge + {\addtocounter{LWR@mcolvertbarsrdash}{1}}% not left edge + }% + {\setboolean{LWR@mcolvertbaronleft}{false}}% + }% +}% \LWR@traceinfo{lwr@printmccoltype done}% } -\newcommand*{\LWR@multicolpartext}{% +\newcommand*{\LWR@multicolpartext}[1]{% \LWR@startpars% \LWR@multicoltext% +\addtocounter{LWR@tablemulticolspos}{#1}% \LWR@stoppars% } @@ -6942,15 +7201,23 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \addtocounter{LWR@tablemulticolspos}{3}% skip parameters \LWR@multicoltext% }{}% -\IfStrEq{\LWR@strresult}{p}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{m}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{b}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{P}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{M}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{B}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{S}{\LWR@multicolpartext}{}% -\IfStrEq{\LWR@strresult}{X}{\LWR@multicolpartext}{}% +\IfStrEq{\LWR@strresult}{p}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{m}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{b}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{P}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{M}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{B}{\LWR@multicolpartext{0}}{}% +\IfStrEq{\LWR@strresult}{w}{\LWR@multicolpartext{3}}{}% +\IfStrEq{\LWR@strresult}{W}{\LWR@multicolpartext{3}}{}% +\IfStrEq{\LWR@strresult}{S}{\LWR@multicoltext}{}% +\IfStrEq{\LWR@strresult}{s}{\LWR@multicoltext}{}% +\IfStrEq{\LWR@strresult}{X}{\LWR@multicolpartext{0}}{}% \IfStrEq{\LWR@strresult}{|}{\LWR@multicolskip}{}% +\IfStrEq{\LWR@strresult}{:}{\LWR@multicolskip}{}% +\IfStrEq{\LWR@strresult}{;}{% + \LWR@multicolskip% + \addtocounter{LWR@tablemulticolspos}{1}% skip parameter +}{}% \IfStrEq{\LWR@strresult}{\detokenize{@}}{\LWR@multicolother{#1}}{}% \IfStrEq{\LWR@strresult}{\detokenize{!}}{\LWR@multicolother{#1}}{}% \IfStrEq{\LWR@strresult}{\detokenize{>}}{\LWR@multicolother{#1}}{}% @@ -6965,8 +7232,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \setcounter{LWR@tablemulticolswidth}{\LWR@strresult}% \whileboolexpr{% not test {% - \ifnumcomp{\value{LWR@tablemulticolspos}}{>}{\value{LWR@tablemulticolswidth}}% - } + \ifnumcomp{\value{LWR@tablemulticolspos}}{>}% + {\value{LWR@tablemulticolswidth}}% + }% }% {% #2{#1}% @@ -6977,14 +7245,38 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \newcommand*{\LWR@addmulticolvertrulecolor}{% \ifbool{LWR@tabularmutemods}{}{% - \ifbool{LWR@mcolvertbarl}{% + \ifnumcomp{\value{LWR@mcolvertbarsl}}{=}{1}{% \LWR@tdaddstyle% border-left: 1px solid \LWR@origpound\LWR@vertruleHTMLcolor% }{}% - \ifbool{LWR@mcolvertbarr}{% + \ifnumcomp{\value{LWR@mcolvertbarsl}}{>}{1}{% + \LWR@tdaddstyle% + border-left: 4px double \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifnumcomp{\value{LWR@mcolvertbarsldash}}{=}{1}{% + \LWR@tdaddstyle% + border-left: 1px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifnumcomp{\value{LWR@mcolvertbarsldash}}{>}{1}{% + \LWR@tdaddstyle% + border-left: 2px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifnumcomp{\value{LWR@mcolvertbarsr}}{=}{1}{% \LWR@tdaddstyle% border-right: 1px solid \LWR@origpound\LWR@vertruleHTMLcolor% }{}% + \ifnumcomp{\value{LWR@mcolvertbarsr}}{>}{1}{% + \LWR@tdaddstyle% + border-right: 4px double \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifnumcomp{\value{LWR@mcolvertbarsrdash}}{=}{1}{% + \LWR@tdaddstyle% + border-right: 1px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% + \ifnumcomp{\value{LWR@mcolvertbarsrdash}}{>}{1}{% + \LWR@tdaddstyle% + border-right: 2px dashed \LWR@origpound\LWR@vertruleHTMLcolor% + }{}% }% } @@ -7011,18 +7303,28 @@ rowspan="#2" % }% vpos? }% rows? class="td% -\boolfalse{LWR@mcolvertbarl}% -\boolfalse{LWR@mcolvertbarr}% +\setcounter{LWR@mcolvertbarsl}{0}% +\setcounter{LWR@mcolvertbarsr}{0}% +\setcounter{LWR@mcolvertbarsldash}{0}% +\setcounter{LWR@mcolvertbarsrdash}{0}% +\setboolean{LWR@mcolvertbaronleft}{true}% \LWR@parsemulticolumnalignment{#5}{\LWR@printmccoltype}% \LWR@subaddcmidruletrim% {\LWR@getexparray{LWR@trimlrules}{\arabic{LWR@tablecolindex}}}% {\LWR@getexparray{LWR@trimrrules}{\arabic{LWR@lastmulticolumn}}}% -\ifbool{LWR@mcolvertbarl}{ tvertbarl}{}% -\ifbool{LWR@mcolvertbarr}{ tvertbarr}{}% -"% +\ifnumcomp{\value{LWR@mcolvertbarsl}}{=}{1}{ tvertbarl}{}% +\ifnumcomp{\value{LWR@mcolvertbarsl}}{>}{1}{ tvertbarldouble}{}% +\ifnumcomp{\value{LWR@mcolvertbarsr}}{=}{1}{ tvertbarr}{}% +\ifnumcomp{\value{LWR@mcolvertbarsr}}{>}{1}{ tvertbarrdouble}{}% +\ifnumcomp{\value{LWR@mcolvertbarsldash}}{=}{1}{ tvertbarldash}{}% +\ifnumcomp{\value{LWR@mcolvertbarsldash}}{>}{1}{ tvertbarldoubledash}{}% +\ifnumcomp{\value{LWR@mcolvertbarsrdash}}{=}{1}{ tvertbarrdash}{}% +\ifnumcomp{\value{LWR@mcolvertbarsrdash}}{>}{1}{ tvertbarrdoubledash}{}% +"% NOT A TYPO \LWR@tdstartstyles% \LWR@addtabularrowcolor% \LWR@addcmidrulewidth% +\LWR@addcdashline% \LWR@addtabularhrulecolor% \LWR@addmulticolvertrulecolor% \LWR@addformatwpalignment{#5}% @@ -7054,7 +7356,9 @@ rowspan="#2" % }% optional given {\LWR@setlatestname{#3}}% no optional \LWR@tabularhtmlcolumns{1}{\arabic{LWR@tabletotalcols}} -\LWR@domulticolumn{\arabic{LWR@tabletotalcols}}{\arabic{LWR@tabhtmlcoltotal}}{P}% +\LWR@domulticolumn{\arabic{LWR@tabletotalcols}}% + {\arabic{LWR@tabhtmlcoltotal}}% + {P}% {% \LWR@domulticolumn \IfBooleanTF{#1}% star? {% yes star @@ -7243,6 +7547,8 @@ rowspan="#2" % {\let\mynext\LWR@donothing}{}% \ifdefequal{\LWR@mynexttoken}{\cmidrule}% {\let\mynext\LWR@donothing}{}% +\ifdefequal{\LWR@mynexttoken}{\morecmidrules}% + {\let\mynext\LWR@donothing}{}% \ifdefequal{\LWR@mynexttoken}{\specialrule}% {\let\mynext\LWR@donothing}{}% \ifdefequal{\LWR@mynexttoken}{\cline}% @@ -7263,6 +7569,14 @@ rowspan="#2" % {\let\mynext\LWR@donothing}{}% \ifdefequal{\LWR@mynexttoken}{\rdelim}% {\let\mynext\LWR@donothing}{}% +\ifdefequal{\LWR@mynexttoken}{\hdashline}% + {\let\mynext\LWR@donothing}{}% +\ifdefequal{\LWR@mynexttoken}{\cdashline}% + {\let\mynext\LWR@donothing}{}% +\ifdefequal{\LWR@mynexttoken}{\firsthdashline}% + {\let\mynext\LWR@donothing}{}% +\ifdefequal{\LWR@mynexttoken}{\lasthdashline}% + {\let\mynext\LWR@donothing}{}% \ifdefequal{\LWR@mynexttoken}{\par}% {\let\mynext\LWR@donothing}{}% \LWR@traceinfo{LWR@tabledatacolumntag: about to do mynext}% @@ -7311,14 +7625,14 @@ rowspan="#2" % \newcommand*{\LWR@HTMLhline}[1][]{% \ifbool{FormatWP}% {\LWR@docmidrule{1-\arabic{LWR@tabletotalcols}}}% - {\booltrue{LWR@doinghline}}% + {\addtocounter{LWR@hlines}{1}}% \LWR@getmynexttoken}% } { \newcommand*{\LWR@HTMLhline}{% \ifbool{FormatWP}% {\LWR@docmidrule{1-\arabic{LWR@tabletotalcols}}}% - {\booltrue{LWR@doinghline}}% + {\addtocounter{LWR@hlines}{1}}% \LWR@getmynexttoken}% } }% AtBeginDocument @@ -7347,7 +7661,8 @@ rowspan="#2" % \LWR@traceinfo{LWR@tabular started}% \addtocounter{LWR@tabulardepth}{1}% \global\boolfalse{LWR@startedrow}% -\global\boolfalse{LWR@doinghline}% +\setcounter{LWR@hlines}{0}% +\setcounter{LWR@hdashedlines}{0}% \global\boolfalse{LWR@doingtbrule}% \global\boolfalse{LWR@doingcmidrule}% \LWR@nullifyNoAutoSpacing% @@ -7395,25 +7710,48 @@ rowspan="#2" % {% \ifbool{FormatWP}% {\LWR@docmidrule[##1](){1-\arabic{LWR@tabletotalcols}}}% - {\booltrue{LWR@doinghline}}% + {\addtocounter{LWR@hlines}{1}}% }% \LWR@getmynexttoken}% -\DeclareDocumentCommand{\cmidrule}{O{\LWR@cmidrulewidth} d() m}% -{\LWR@docmidrule[##1](##2){##3}\LWR@getmynexttoken}% -\DeclareDocumentCommand{\bottomrule}{o d()}% - {% - \IfValueTF{##1}% +\DeclareDocumentCommand{\cmidrule}{O{\LWR@cmidrulewidth} d() m}{% + \LWR@docmidrule[##1](##2){##3}% + \LWR@getmynexttoken% +}% +\DeclareDocumentCommand{\bottomrule}{o d()}{% + \IfValueTF{##1}% + {\LWR@docmidrule[##1](){1-\arabic{LWR@tabletotalcols}}}% + {% + \ifbool{FormatWP}% {\LWR@docmidrule[##1](){1-\arabic{LWR@tabletotalcols}}}% - {% - \ifbool{FormatWP}% - {\LWR@docmidrule[##1](){1-\arabic{LWR@tabletotalcols}}}% - {\booltrue{LWR@doingtbrule}}% - }% - \LWR@getmynexttoken}% + {\booltrue{LWR@doingtbrule}}% + }% + \LWR@getmynexttoken% +}% \DeclareDocumentCommand{\addlinespace}{o}{}% \DeclareDocumentCommand{\morecmidrules}{}{}% \DeclareDocumentCommand{\specialrule}{m m m d()}% {\LWR@docmidrule[##1](){1-\arabic{LWR@tabletotalcols}}\LWR@getmynexttoken}% +\DeclareDocumentCommand{\hdashline}{o}{% + \ifbool{FormatWP}% + {\LWR@docdashline{1-\arabic{LWR@tabletotalcols}}}% + {\addtocounter{LWR@hdashedlines}{1}}% + \LWR@getmynexttoken% +}% +\DeclareDocumentCommand{\cdashline}{m}{% + \LWR@docdashline{##1}\LWR@getmynexttoken% +}% +\DeclareDocumentCommand{\firsthdashline}{o}{% + \ifbool{FormatWP}% + {\LWR@docdashline{1-\arabic{LWR@tabletotalcols}}}% + {\addtocounter{LWR@hdashedlines}{1}}% + \LWR@getmynexttoken% +}% +\DeclareDocumentCommand{\lasthdashline}{o}{% + \ifbool{FormatWP}% + {\LWR@docdashline{1-\arabic{LWR@tabletotalcols}}}% + {\addtocounter{LWR@hdashedlines}{1}}% + \LWR@getmynexttoken% +}% \renewcommand{\multicolumn}{\LWR@htmlmulticolumn}% \renewcommand*{\mrowcell}{% \LWR@maybenewtablerow% @@ -8250,7 +8588,7 @@ autopage-\theLWR@currentautosec% \RenewDocumentCommand{\InlineClass}{o m +m}{##3}% \RenewDocumentEnvironment{BlockClass}{o m}{}{}% \renewcommand{\BlockClassSingle}[2]{##2}% -\LetLtxMacro{\hspace}{\LWR@orighspace}% +\LetLtxMacro\hspace\LWR@orighspace% \LetLtxMacro\hfill\LWR@orighfill% \LetLtxMacro\hfil\LWR@orighfil% \LetLtxMacro\rule\LWR@origrule% @@ -8265,6 +8603,7 @@ autopage-\theLWR@currentautosec% \let\raggedleft\LWR@origraggedleft% \let\centering\LWR@origcentering% \let\,\LWR@origcomma% disable HTML short unbreakable space +\let\thinspace\LWR@origthinspace% disable HTML short unbreakable space \let\textellipsis\LWR@origtextellipsis% \let\textless\LWR@origtextless% \let\textgreater\LWR@origtextgreater% @@ -8321,7 +8660,7 @@ autopage-\theLWR@currentautosec% \LetLtxMacro\resizebox\LWR@origresizebox% \let\framebox\LWR@origframebox% \LetLtxMacro\mbox\LWR@origmbox% -\let\makebox\LWR@origmakebox% +\LetLtxMacro\makebox\LWR@origmakebox% \let\fbox\LWRprint@fbox% \let\fboxBlock\LWRprint@fbox% \LetLtxMacro\fminipage\LWRprint@fminipage% @@ -10145,15 +10484,22 @@ width:\LWR@printlength{\LWR@tempwidth}% \newcommand*{\LWR@f@shape}{up} \newcommand*{\LWR@textcurrentfont}[1]{% -\csuse{text\LWR@f@family}{% -\csuse{text\LWR@f@series}{% -\csuse{text\LWR@f@shape}{% -#1% -}% -}% -}% +\InlineClass{% + text\LWR@f@family\LWR@origtilde{}% + text\LWR@f@series\LWR@origtilde{}% + text\LWR@f@shape% + }% + {#1}% } +\newenvironment*{LWR@blocktextcurrentfont}{% +\BlockClass{% + text\LWR@f@family\LWR@origtilde{}% + text\LWR@f@series\LWR@origtilde{}% + text\LWR@f@shape% + }% +}{\endBlockClass} + \renewrobustcmd*{\mdseries}{\renewcommand*{\LWR@f@series}{md}} \renewrobustcmd*{\bfseries}{\renewcommand*{\LWR@f@series}{bf}} @@ -10224,6 +10570,7 @@ width:\LWR@printlength{\LWR@tempwidth}% \renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space +\renewrobustcmd*{\thinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space \renewrobustcmd*{~}{\HTMLentity{nbsp}} @@ -10321,7 +10668,7 @@ width:\LWR@printlength{\LWR@tempwidth}% } \NewDocumentCommand{\LWR@nohspace}{s m}{} -\LetLtxMacro{\hspace}{\LWR@hspace} +\LetLtxMacro\hspace\LWR@hspace \NewDocumentCommand{\LWR@vspace}{s m}{} \LetLtxMacro\vspace\LWR@vspace |