texlive[45722] trunk: lwarp (9nov17)
commits+karl at tug.org
commits+karl at tug.org
Thu Nov 9 02:32:04 CET 2017
Revision: 45722
http://tug.org/svn/texlive?view=revision&revision=45722
Author: karl
Date: 2017-11-09 02:32:04 +0100 (Thu, 09 Nov 2017)
Log Message:
-----------
lwarp (9nov17)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
Added Paths:
-----------
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua 2017-11-09 01:32:04 UTC (rev 45722)
@@ -4,7 +4,7 @@
-- Print the usage of the lwarpmk command:
-printversion = "v0.42"
+printversion = "v0.43"
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl 2017-11-09 01:32:04 UTC (rev 45722)
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 45623 2017-10-27 14:41:58Z preining $
+# $Id: tlmgr.pl 45719 2017-11-08 12:19:02Z preining $
#
# Copyright 2008-2017 Norbert Preining
# This file is licensed under the GNU General Public License version 2
@@ -6,8 +6,8 @@
# or any later version.
#
-my $svnrev = '$Revision: 45623 $';
-my $datrev = '$Date: 2017-10-27 16:41:58 +0200 (Fri, 27 Oct 2017) $';
+my $svnrev = '$Revision: 45719 $';
+my $datrev = '$Date: 2017-11-08 13:19:02 +0100 (Wed, 08 Nov 2017) $';
my $tlmgrrevision;
my $prg;
if ($svnrev =~ m/: ([0-9]+) /) {
@@ -1491,7 +1491,7 @@
if ($opts{'data'}) {
@adds = @datafields;
}
- print "[\n" if ($fmt eq "json");
+ print "[" if ($fmt eq "json");
my $first = 1;
foreach my $ppp (@whattolist) {
next if ($ppp =~ m/^00texlive\./);
@@ -3638,7 +3638,7 @@
my $is_available = (defined($remtlp) ? 1 : 0);
if (!($is_installed || $is_available)) {
# output proper JSON for unavailable packages
- print "{ \"name\":\"$p\", \"available\":false }\n";
+ print "{ \"name\":\"$p\", \"available\":false }";
#tlwarn("$prg: package $p not found neither locally nor remote!\n");
#return($F_WARNING);
return($F_OK);
@@ -3652,7 +3652,7 @@
lrev => ($is_installed ? $loctlp->revision : 0),
rrev => ($is_available ? $remtlp->revision : 0),
revision => undef);
- print $str, "\n";
+ print $str;
return($F_OK);
}
@@ -8554,6 +8554,13 @@
C<(not verified)>. Either way, by default the installation and/or
updates proceed normally.
+If a program C<gpg> is available (that is, it is found in the C<PATH>),
+cryptographic signatures will be checked. In this case we require that
+the main repository is signed. This is not required for additional r
+repositories. If C<gpg> is not available, signatures are not checked
+and no verification is carried out, but C<tlmgr> proceeds normally.
+This is the behavior of C<tlmgr> up to TeX Live 2016.
+
The attempted verification can be suppressed by specifying
C<--no-verify-downloads> on the command line, or the entry
C<verify-downloads = 0> in a C<tlmgr> config file (described in
@@ -8561,6 +8568,9 @@
I<require> verification by specifying C<--require-verification> on the
command line, or C<require-verification = 1> in a C<tlmgr> config file;
in this case, if verification is not possible, the program quits.
+Note that as mentioned above, if C<gpg> is available, the main repository
+is always required to have a signature. Using the C<--require-verification>
+switch, C<tlmgr> also requires signatures from additional repositories.
Cryptographic verification requires checksum checking (described just
above) to succeed, and a working GnuPG (C<gpg>) program (see below for
@@ -9146,7 +9156,7 @@
distribution (L<http://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 45623 2017-10-27 14:41:58Z preining $
+$Id: tlmgr.pl 45719 2017-11-08 12:19:02Z preining $
=cut
# to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html
Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt 2017-11-09 01:32:04 UTC (rev 45722)
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.42 README.txt
+LaTeX lwarp package v0.43 README.txt
Files included are:
Modified: trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua 2017-11-09 01:32:04 UTC (rev 45722)
@@ -4,7 +4,7 @@
-- Print the usage of the lwarpmk command:
-printversion = "v0.42"
+printversion = "v0.43"
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx 2017-11-09 01:32:04 UTC (rev 45722)
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2017/10/30 v0.42 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2017/11/08 v0.43 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -266,6 +266,8 @@
\newrobustcmd{\CTAN}{\acro{CTAN}}
\newrobustcmd{\TDS}{\acro{TDS}}
+\newcommand{\DescribeDefault}[1]{\margintag{\footnotesize \textcolor{green!50!black}{Default: \texttt{#1}}}}
+
\newcommand{\goesto}{$\Rightarrow$}
\newcommand{\credits}[1]{{\footnotesize(\textit{Based on original code by} \textsc{#1}.)}}
@@ -642,7 +644,14 @@
}
\newcommand{\limitsreferences}{%
+Labels with special characters may be a problem.
+\margintag{labels}
+It is best to stick with alpha-numeric, hyphen, and perhaps the colon (if not French).
+The underscore currently does not yet work when generating math for MathJax.
+\watchout[underscores]
+
\cs{nameref} refers to the most recently-used section where the \cs{label}
+\margintag{\cs{nameref}}
was defined.
If no section has been defined before the \cs{label},
\watchout[empty link]
@@ -1615,6 +1624,18 @@
\end{docsidebar}
}
+\newcommand{\limitstodonotes}{%
+\pkg{todonotes} and \pkg{luatodonotes} are only emulated as if they were loaded
+with the \texttt{disable} option.
+All functions are disabled, but source compatibility is provided
+with the print version.
+
+\pkg{todonotes} and \pkg{luatodonotes} use \pkg{xkeyval}, so if the user's
+\watchout[\pkg{xkeyvalue}]
+document uses \cs{presetkeys} then \pkg{xkeyval} will have
+to be loaded explictly by the user's document.
+}
+
\newcommand{\limitsnewtxmath}{%
The proper load order is:
\watchout[loading sequence]
@@ -1672,7 +1693,7 @@
%<*package>
% \fi
%
-% \CheckSum{14824}
+% \CheckSum{14970}
%
% \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
@@ -1756,6 +1777,7 @@
% \changes{v0.40}{2017/09/25}{\ 2017/09/25}
% \changes{v0.41}{2017/10/07}{\ 2017/10/07}
% \changes{v0.42}{2017/10/30}{\ 2017/10/30}
+% \changes{v0.43}{2017/11/08}{\ 2017/11/08}
@@ -1940,8 +1962,35 @@
% For a detailed list of changes, see the Change History on page \pageref{sec:changehistory}.
%
% \begin{description}
+% \item[v0.43:] \
+% \begin{itemize}
+% \item Docs: Reorganized \HTML\ customization, added an \HTML\ settings table.
+% See \cref{sec:htmlsettings}.
+% \item Added |FootnoteDepth| to control the placement
+% \margintag{footnotes}
+% of pending footnotes before section breaks.
+% By default, pending footnotes are printed before
+% each \cs{subparagraph} or higher.
+% \item Fix: Expansion in section name. \margintag{sectioning}
+% \item Fix: Ignore spaces in tabular column specification.
+% \margintag{\env{tabular}}
+% \item Fix: Tabular rules at bottom or when finishing incomplete rows.
+% \item Fix: \cs{multicolumn} at/bang/before/after specifications, trim,
+% and vertical rules.
+% \item Fix: \pkg{supertabular} and \pkg{xtab} column misalignment.
+% \item Fix: \env{equation*}.
+% \margintag{math}
+% \item Fix: \SVG\ math in a section name.
+% \item Fix: \cs{ref} and \cs{eqref} in \SVG\ math.
+% \item Added \pkg{todonotes} and \pkg{luatodonotes} (but only |disabled|).
+% \margintag{packages}
+% \item Added \pkg{breakurl}.
+% \item \pkg{hyperref}: Fix: Several macros were made robust, \cs{Gauge} added.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.42:] \
% \begin{itemize}
+% \item Added \TeX\ development support page.\margintag{Support \TeX!}
% \item Improved assitance for word-processor conversions when
% \margintag{word-processor conversion}
% boolean |FormatWP| is set |true|.
@@ -2625,7 +2674,7 @@
% \midrule
%
% Cross-references: & Emulated, with hyperlinks.
-% \pkg{hyperref}, \pkg{cleveref}, \pkg{varioref}, \pkg{url}. \\
+% \pkg{hyperref}, \pkg{cleveref}, \pkg{varioref}, \pkg{url}, \pkg{breakurl}. \\
%
% Languages: & \pkg{babel}. (\pkg{polyglossia} is untested.) \\
%
@@ -2633,7 +2682,8 @@
%
% Margin notes: & \pkg{marginfit}, \pkg{marginfix}. \\
%
-% Footnotes: & \pkg{footnote}, \pkg{footmisc},
+% Footnotes: & Adds \cmds{FootnoteDepth} to print footnotes at section breaks.
+% \pkg{footnote}, \pkg{footmisc},
% \pkg{marginnote}, \pkg{sidenote}, \pkg{pagenote}, \pkg{endnotes}. \\
%
% \midrule
@@ -3660,335 +3710,34 @@
% \clearpage
% \subsection{Changing the CSS style}
%
-% \DescribeMacro{\CSSFilename}
-% \cs{CSSFilename} may be used to choose which |.css| file is used to display
-% each section of the web page. Use \cs{CSSFilename} before |\begin{document}|
-% to assign the style of the home page.
-% If different parts of the website should have different styles,
-% call \cs{CSSFilename} again before each section heading which creates a new file.
+% For a formal \CSS\ style, add to the preamble:
+% \begin{sourcedisplay}
+% \cs{usepackage}\{lwarp\} \\
+% \dots \\
+% \textcolor{red}{\cs{CSSFilename}\{lwarp\_formal.css\}} \\
+% \dots \\
+% \cs{begin}\{document\} \\
+% \end{sourcedisplay}
%
-% The styles provided by \pkg{lwarp} include:
-% \begin{description}
-% \item[|lwarp.css|:] A default style if \cs{CSSFilename} is not used. This
-% style is comparable to a plain \LaTeX\ document.
-% To set this style, you may use |\CSSFilename{lwarp.css}|, or no \cs{CSSFilename} call at all.
-% \item[|lwarp\_formal.css|:] A formal style with a serif fonts and a traditional
-% look.
-% \item[|lwarp\_sagebrush.css|:] A style with muted colors, gradient backgrounds,
-% additional borders, and rounded corners.
-% \end{description}
+% For a modern \CSS\ style, |lwarp_sagebrush.css| is also provided:
+% \begin{sourcedisplay}
+% \cs{CSSFilename}\{lwarp\_sagebrush.css\}
+% \end{sourcedisplay}
%
-% To see each style in use, change the \cs{CSSFilename} entry in the tutorial,
-% |lwarpmk html| again, and then reload the webpage.
+% See \cref{sec:csscustomization} for more information about modifying the CSS styling
+% of the document.
%
-% A customized style may also be created.
-% \margintag{Custom \CSS}
-% For each new project a file
-% called |sample_project.css| is generated. This may be renamed to
-% |<project>.css| then used by assigning |\CSSFilename{<project>.css}|.
%
-% Note that |sample_project.css| is overwritten whenever \pkg{lwarp}
-% is loaded in print mode.
-% It is therefore important to rename the file \watchout[Rename it!]
-% to something like |<project>.css| before
-% using it, so that your own changes are not overwritten.
%
-% |<project>.css| has an entry which loads |lwarp.css|, and this
-% entry may be changed to load |lwarp_formal.css| or |lwarp_sagebrush.css| if
-% desired. Additional changes to the \CSS\ may be made by making entries
-% later in the |<project>.css| file.
-%
-%
-%
-% \clearpage
-%
% \subsection{Customizing the HTML output}
-% \label{sec:htmlsettings}
-% \index{settings>HTML conversion}
-% \index{HTML>conversion settings}
%
-% Several settings may be used to customize the \HTML\ output.
-% Watch for the correct placement of each!\watchout[Placement!]
+% A number of settings may be made to control the \HTML\ output, including
+% filename generation, automatic compilation, math output, document splitting,
+% meta data, and page headers and footers.
%
-% Note that if changes are made,
-% \watchout[Changes!]
-% it is best to first:
-% \begin{enumerate}
-% \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk clearall}
-% \item Recompile the print version in order to recreate
-% the configuration files for |lwarpmk|: \userentry{lwarpmk print}
-% \item Finally, recompile the \HTML\ version with the new settings: \userentry{lwarpmk html}
-% \end{enumerate}
+% See \cref{sec:htmlsettings} for more information.
%
-% \begin{description}[style=unboxed]
%
-% \item[Options for the \pkg{lwarp} package:] \ \newline
-% Use the following as options for |\usepackage[<options>]{lwarp}|:
-%
-% \begin{description}
-%
-% \ItemDescribeOption{HomeHTMLFilename} Filename of the homepage, without
-% the ``|.html|'' suffix.
-% Defaults to the \cs{BaseJobname}. A common setting is:
-% \begin{sourcedisplay}
-% |HomeHTMLFilename=index|
-% \end{sourcedisplay}
-% causing the
-% homepage to be the file |index.html|. Underscores are allowed in
-% \margintag{filename underscores}
-% |HomeHTMLFilename| and |HTMLFilename| options, but may need to be escaped
-% elsewhere, such as when appearing in a list:
-% \index{underscore>filename}\index{file>underscore}
-% \changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
-% \begin{sourcedisplay}
-% \cs{item} [\cs{href}\{file\textcolor{red}{\textbackslash\_}name.pdf\}\{text\}] \textbackslash
-% \end{sourcedisplay}
-%
-% \ItemDescribeOption{HTMLFilename} A filename prefix for the rest of the \HTML\ web pages.
-% Useful for numbered web pages with a common prefix. May be empty.
-%
-% \ItemDescribeOption{latexmk} Controls whether
-% \pkg{lwarp} uses |latexmk| to
-% compile the document. This setting is written to |lwarpmk|'s configuration
-% files. Defaults to false.
-%
-% \ItemDescribeOption{mathsvg} Selects \SVG\ display for math output. (The default.)
-%
-% \ItemDescribeOption{mathjax} Selects MathJax for math output.
-%
-% \end{description}
-%
-% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
-%
-% \begin{description}
-%
-% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
-% See \cref{sec:stackdepths} for a list of \LaTeX{} stack depths.
-%
-% \ItemDescribeCounter{SideTOCDepth} Sectioning depth of the side\TOC.
-% Defaults to 1, causing the side\TOC\ to show sections but not subsections.
-%
-% Each subpage of the website has its own small table of contents
-% \margintag{side\TOC}
-% on the side (the ``side\TOC''). Its depth is set by |SideTOCDepth|.
-% This side\TOC\ is only shown if the web page is wide enough.
-% When using a narrow web browser window,
-% ``responsive web design'' is used to show the side\TOC\ at the top of the
-% page and a link back to ``Home'' at the bottom.
-%
-% \label{sec:filedepth}
-% It is recommended to set:
-% \begin{sourcedisplay}
-% |SideTOCDepth|\,=\,|FileDepth|
-% \end{sourcedisplay}
-% or
-% \begin{sourcedisplay}
-% |SideTOCDepth|\,=\,|FileDepth|+1
-% \end{sourcedisplay}
-%
-% If |SideTOCDepth|\,<\,|FileDepth|, web pages will be inaccessible via the
-% side\TOC. \watchout
-% \index{file>inaccessible}
-% \index{page>inacessible}
-% \index{missing sections}
-% \index{section>missing}
-%
-% \ItemDescribeCounter{FileDepth} Sectioning depth of file splits.
-% Defaults to -5, causing the entire \HTML\ website to be one single file.
-% \begin{itemize}
-% \item To place the entire file into one \HTML\ page, use:
-% \begin{sourcedisplay}
-% \cs{setcounter}\{FileDepth\}\{-5\}
-% \end{sourcedisplay}
-% \item To split the \HTML\ file at \cs{section} depth, use:
-% \begin{sourcedisplay}
-% \cs{setcounter}\{FileDepth\}\{1\}
-% \end{sourcedisplay}
-% \item To ensure that the \HTML\ pages/files are accessible:
-% \watchout\\
-% Place a \cs{tableofcontents} somewhere before the first section
-% break (therefore in the ``home page''), and set
-% \begin{sourcedisplay}
-% tocdepth\,>=\,FileDepth
-% \end{sourcedisplay}
-% \index{file>inaccessible}
-% \index{page>inacessible}
-% \index{missing sections}
-% \index{section>missing}
-% \end{itemize}
-%
-% \ItemDescribeBoolean{CombineHigherDepths} Combine a higher section with
-% its first lower subsections, down to the |FileDepth|.
-% Defaults to true. Set to false to simulate the concept of a chapter
-% opening on its own page, for example.
-%
-% The file splits are controlled by the counter |FileDepth| and
-% the boolean |CombineHigherDepths|.
-% Setting |FileDepth| to 0 splits the file
-% at chapters, 1 at sections, etc. |CombineHigherDepths| controls whether
-% to combine pages at levels higher than the chosen |FileDepth|, such as
-% in this tutorial where the page which opens the chapter also contains the
-% first section.
-% Be careful to set |tocdepth| and |SideTOCDepth| to allow
-% \watchout[Inaccesible pages!]
-% access to each page of the website. Set |tocdepth| and |SideTOCDepth| to be
-% greater than or equal to |FileDepth|.
-%
-% When making changes to the file structure,
-% \watchout[Lost in an old page!]
-% it is possible to end up
-% with the web browser pointing to an old file which is no longer in use.
-% When this occurs, changes to the web site will not appear in the browser,
-% even if reloading the page, because that page is no longer in use.
-% It is best to return to the home page, clean the files (|lwarpmk cleanall|),
-% change |FileDepth| and/or |CombineHigherDepths|, then finally recompile and
-% renavigate to the desired page using the new file structure.
-%
-% \ItemDescribeBoolean{FileSectionNames} If true, web page filenames are
-% derived from a sanitized version of the section names. If false, web pages
-% are numbered. Either way, the |HTMLFilename| option is used as a prefix.
-%
-% Example \HTML\ filenames:
-% \changes{v0.20}{2016/09/11}{Docs: Examples for generating \HTML\ file names.}
-% \label{sec:filenameexamples}
-% \margintag{HTML filenames}
-% \index{HTML>filename generation}
-% \begin{description}
-% \item[Numbered \HTML\ nodes:] \
-%
-% Example: Homepage |index.html|, and |node-1|, |node-2|.
-% \footnote{See \cs{SetHTMLFileNumber} to number grouped by chapter, for example.}
-% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
-% \usepackage[
-% HomeHTMLFilename=index,
-% HTMLFilename={node-}
-% ]{lwarp}
-% \boolfalse{FileSectionNames}
-% \end{Verbatim}
-%
-% \item[Named \HTML\ sections, no prefix:] \
-%
-% Example: |index.html|, and |About.html|, |Products.html|
-% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
-% \usepackage[
-% HomeHTMLFilename=index,
-% HTMLFilename={}
-% ]{lwarp}
-% \booltrue{FileSectionNames}
-% \end{Verbatim}
-%
-% \item[Named \HTML\ sections, with prefix:] \
-%
-% Example: Homepage |mywebsite.html|, and additional pages such
-% as |mywebsite-About.html|, etc.
-% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
-% \usepackage[
-% HomeHTMLFilename=mywebsite,
-% HTMLFilename={mywebsite-}
-% ]{lwarp}
-% \booltrue{FileSectionNames}
-% \end{Verbatim}
-% \end{description}
-%
-% \ItemDescribeMacro{\abstractname} The name of the abstract.
-% This may also be over-written
-% by the \pkg{babel} package. Defaults to ``Abstract''.
-%
-% \end{description}
-%
-%
-% \item[Placed before \texttt{\cs{begin}\{document\}},
-% or before any sectioning command which causes a file break:] \
-%
-% \begin{description}
-% \ItemDescribeMacro{\CSSFilename} \marg{filename.css} \quad
-% Sets the \CSS\ file to use for the following
-% files. May be changed before each each sectioning command which would
-% cause a file split.
-%
-% The \CSS\ styles of the web pages are set by the \cs{CSSFilename} command.
-% If \cs{CSSFilename} is not used, a default plain style is used to mimic printed
-% \LaTeX\ output. |lwarp_sagebrush.css| is a semi-fancy colored style as shown
-% in this tutorial. Change it to |lwarp_formal.css| for a more formal look,
-% or comment out the \cs{CSSFilename} command to see the default.
-% \cs{CSSFilename} may be used before each file break to set the \CSS\ for
-% individual pagess of the website.
-%
-% \ItemDescribeMacro{\HTMLLanguage} The \HTML\ file's |html lang| tag.
-% Defaults to |en-US|.
-%
-% \ItemDescribeMacro{\HTMLAuthor} The \HTML\ header's meta author.
-% Defaults to \cs{theauthor}.
-%
-% \ItemDescribeMacro{\HTMLDescription} \marg{description} \quad
-% Sets the \HTML\ \attribute{description} tag for
-% the following files. May be changed before each each sectioning command which would
-% cause a file split.
-%
-% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \quad
-% A user-definable custom action applied
-% to the top of the home page. Useful for logos, etc.
-% Defaults empty.
-% Ignored in print output.
-%
-% \ItemDescribeMacro{\HTMLPageTop} \marg{contents} \quad
-% A user-definable custom action applied to
-% the top of pages other than the home page. Useful for logos, etc.
-% Defaults empty.
-% |\LinkHome| may be used to place a link back to the homepage.
-% Ignored in print output.
-%
-% \ItemDescribeMacro{\HTMLPageBottom} \marg{contents} \quad
-% A user-definable custom action applied to the
-% bottom of each web page.
-% Useful for authors, copyright notices, contact information, etc.
-% Defaults empty.
-% |\LinkHome| may be used to place a link back to the homepage.
-% Ignored in print output.
-%
-% \end{description}
-%
-%
-% \needspace{2\baselineskip}
-% \item[Placed in the home page before the first sectioning command which causes a file break:] \
-%
-% \begin{description}
-% \ItemDescribeMacro{\tableofcontents}
-% Used to place a table of contents on the home page.
-% This command must be used before the first file split,
-% \watchout[TOC on the homepage!]
-% so that a way is available to navigate to other files from the homepage.
-%
-% Links to each chapter/section are provided, as selected by |tocdepth|.
-% \end{description}
-%
-%
-% \needspace{2\baselineskip}
-% \item[Placed in the document wherever necessary:] \
-%
-% \begin{description}
-% \ItemDescribeEnv{warpprint} An environment which is only used
-% while generating print output. Place here anything which does not
-% apply to \HTML\ and which may cause problems with \pkg{lwarp}.
-% If \pkg{lwarp} knows about and emulates or supports
-% a package then its related macros, lengths, counters, etc. probably won't have
-% to be placed inside a \env{warpprint} environment, but unknown packages
-% may cause problems which may be isolated from \pkg{lwarp} using this environment.
-%
-% \ItemDescribeEnv{warpHTML} An environment which is only used
-% while generating \HTML\ output. This is useful for website logos and
-% other items which have no purpose in printed output.
-%
-% \ItemDescribeMacro{\warpprintonly} \marg{contents} \quad
-% A macro version of the \env{warpprint} environment.
-%
-% \ItemDescribeMacro{\warpHTMLonly} \marg{contents} \quad
-% A macro version of the \env{warpHTML} environment.
-% \end{description}
-%
-% \end{description}
-%
-%
% \clearpage
%
% \subsection{Using \texttt{latexmk}}
@@ -4265,12 +4014,35 @@
% See \cref{sec:modifylwarpmk}.
%
%
+% \clearpage
%
-%
% \subsection{\protect\pkg{lwarp} package loading and options}
% \label{sec:loading}
% \index{settings>lwarp package options}
%
+% \begin{table}
+% \caption{Package options\label{tab:options}}
+% \centering
+% \begin{tabular}{>{\ttfamily}lp{3.25in}}
+% Option & Description \\ \midrule
+% warpprint & Generate print output, and also generate configuration files. \\
+% warpHTML & Generate \HTML\ output. \\
+% mathsvg & Show math using \SVG\ images. \\
+% mathjax & Show math using MathJax. \\
+% OSWindows & Force compatibility with MS-Windows. \\
+% BaseJobname & The \cs{jobname} to use.
+% Set to the \cs{jobname} of the printed version even while generating \HTML. \\
+% HomeHTMLFilename & The filename of the home page. \\
+% HTMLFilename & A prefix for the filenames of the remaining web pages. \\
+% IndexLanguage & The |xindy| language option used for index and glossary generation. \\
+% latexmk & Boolean for |lwarpmk| to use |latexmk| for compiling documents. \\
+% lwarpmk & Generate a local copy of |lwarpmk.lua|. \\
+% xdyFilename & Set a custom filename for |xindy|. \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+%
% \pkg{lwarp} supports |book|, |report|, and |article| classes.
%
% Load the \pkg{lwarp} package immediately after the font and UTF-8 setup commands.
@@ -4281,6 +4053,7 @@
%
% \DescribeOption{warpprint}
% \DescribeOption{warpHTML}
+% Usually controlled by |lwarpmk|, and not set in the document.
% Select the |warpprint| option to generate print output (default),
% or the |warpHTML| option to generate \HTMLfive{} output.
% The default is print output, so the print version may be
@@ -4296,33 +4069,439 @@
% For math display, select |mathsvg| (default), or |mathjax|.
% For more information about the math options, see \cref{sec:limitsmath}.
%
-% See \cref{tab:options} for the full list of options.
+% \DescribeOption{OSWindows} See \cref{sec:OSportabilityusage} if using Windows.
%
+% \DescribeOption{BaseJobname} Not intended for the user.
+% Used internally by \pkg{lwarp} when
+% creating the |*_html.tex| file used to compile the \HTML\ version.
+% See \cref{sec:handlingpackageoptions}.
%
+% \DescribeOption{HomeHTMLFilename} See \cref{sec:htmlsettings}.
+%
+% \DescribeOption{HTMLFilename} See \cref{sec:htmlsettings}.
+%
+% \DescribeOption{IndexLanguage} If using an index or glossary,
+% see \cref{sec:handlingpackageoptions}.
+%
+% \DescribeOption{latexmk} Has |lwarpmk| use |latexmk| to recompile the
+% document several times if necessary.
+% Otherwise, |lwarpmk| attempts to determing for itself whether to recompile.
+% See \cref{sec:htmlsettings}.
+%
+% \DescribeOption{lwarpmk} If you wish to have \pkg{lwarp} generate a local
+% copy of |lwarpmk.lua| for archival or local-installation purposes,
+% compile the print version with the |lwarpmk| option set.
+% See \cref{sec:handlingpackageoptions}.
+%
+% \DescribeOption{xdyFilename} The default |xindy| filename is |lwarp.xdy|.
+% If you wish to use a custom |.xdy| file for
+% index generation, see \cref{sec:handlingpackageoptions}.
+%
+%
+%
+% \clearpage
+%
+% \subsection{Customizing the HTML output}
+% \label{sec:htmlsettings}
+% \index{settings>HTML conversion}
+% \index{HTML>conversion settings}
+%
+% \changes{v0.43}{2017/11/04}{Docs: HTML settings table.}
+% \changes{v0.43}{2017/11/06}{Docs: Reorganized HTML customization.}
% \begin{table}
-% \caption{Package options\label{tab:options}}
-% \centering
-% \begin{tabular}{>{\ttfamily}lp{3.25in}}
-% Option & Description \\ \hline
-% warpprint & Generate print output, and also generate configuration files. \\
-% warpHTML & Generate \HTML\ output. \\
-% mathsvg & Show math using \SVG\ images. \\
-% mathjax & Show math using MathJax. \\
-% OSWindows & Force compatibility with MS-Windows. \\
-% BaseJobname & The \cs{jobname} to use.
-% Set to the \cs{jobname} of the printed version even while generating \HTML. \\
-% HomeHTMLFilename & The filename of the home page. \\
-% HTMLFilename & A prefix for the filenames of the remaining web pages. \\
-% IndexLanguage & The |xindy| language option used for index and glossary generation. \\
-% latexmk & Boolean for |lwarpmk| to use |latexmk| for compiling documents.
-% Otherwise, |lwarpmk| attempts to recompile several times by itself. \\
-% lwarpmk & Generate a local copy of |lwarpmk.lua|. \\
-% xdyFilename & Tells |lwarpmk| to use a custom filename for |xindy|, instead of |lwarp.xdy|. \\
+% \caption{HTML settings}
+% \begin{tabular}{>{\ttfamily}lp{3in}}
+% \toprule
+% Option & Description \\ \midrule
+% SideTOCDepth & Sectioning depth of the side\TOC. \\
+% FileDepth & Sectioning depth of the file splits. \\
+% CombineHigherDepths & Combine higher section levels. \\
+% FileSectionNames & Use section names for file names, else use numbers. \\
+% FootnoteDepth & Sectioning depth of footnotes. \\
+% \cs{abstractname} & The name of the abstract. \\
+% \cs{CSSFilename} & The \CSS\ for the following files. \\
+% \cs{HTMLLanguage} & The |html lang| tag. \\
+% \cs{HTMLAuthor} & The \HTML\ |author| meta tag. \\
+% \cs{HTMLDescription} & The \HTML\ |description| meta tag. \\
+% \cs{HTMLFirstPageTop} & Heading for the home page. \\
+% \cs{HTMLPageTop} & Heading for the other pages. \\
+% \cs{HTMLPageBottom} & Footing for all pages. \\
+% \bottomrule
% \end{tabular}
% \end{table}
%
+% Several settings may be used to customize the \HTML\ output.
+% Watch for the correct placement of each!\watchout[Placement!]
%
+% Note that if changes are made,
+% \watchout[Changes!]
+% it is best to first:
+% \begin{enumerate}
+% \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk clearall}
+% \item Recompile the print version in order to recreate
+% the configuration files for |lwarpmk|: \userentry{lwarpmk print}
+% \item Finally, recompile the \HTML\ version with the new settings: \userentry{lwarpmk html}
+% \end{enumerate}
+%
+% \begin{description}[style=unboxed]
+%
+% \item[Options for the \pkg{lwarp} package:] \ \newline
+% Use the following as options for |\usepackage[<options>]{lwarp}|:
+%
+% \begin{description}
+%
+% \ItemDescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{BaseJobname}}
+% Filename of the homepage, without
+% the ``|.html|'' suffix.
+% Defaults to the \cs{BaseJobname}. A common setting is:
+% \begin{sourcedisplay}
+% |HomeHTMLFilename=index|
+% \end{sourcedisplay}
+% causing the
+% homepage to be the file |index.html|. Underscores are allowed in
+% \margintag{filename underscores}
+% |HomeHTMLFilename| and |HTMLFilename| options, but may need to be escaped
+% elsewhere, such as when appearing in a list:
+% \index{underscore>filename}\index{file>underscore}
+% \changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
+% \begin{sourcedisplay}
+% \cs{item} [\cs{href}\{file\textcolor{red}{\textbackslash\_}name.pdf\}\{text\}] \textbackslash
+% \end{sourcedisplay}
+% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
+%
+% \ItemDescribeOption{HTMLFilename} \DescribeDefault{<empty>}
+% A filename prefix for the rest of the \HTML\ web pages.
+% Useful for numbered web pages with a common prefix. May be empty.
+% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
+%
+% \ItemDescribeOption{latexmk} \DescribeDefault{false}
+% Controls whether \pkg{lwarp} uses |latexmk| to
+% compile the document. This setting is written to |lwarpmk|'s configuration
+% files.
+%
+% \ItemDescribeOption{mathsvg} \DescribeDefault{true}
+% Selects \SVG\ display for math output. (The default.)
+%
+% \ItemDescribeOption{mathjax} \DescribeDefault{false}
+% Selects MathJax for math output.
+%
+% \end{description} \bigskip
+%
+% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
+%
+% \begin{description}
+%
+% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
+% See \cref{sec:stackdepths} for a list of \LaTeX{} stack depths.
+%
+% \ItemDescribeCounter{SideTOCDepth} \DescribeDefault{1}
+% Sectioning depth of the side\TOC.
+% Defaults to 1, causing the side\TOC\ to show sections but not subsections.
+%
+% Each subpage of the website has its own small table of contents
+% \margintag{side\TOC}
+% on the side (the ``side\TOC''). Its depth is set by |SideTOCDepth|.
+% This side\TOC\ is only shown if the web page is wide enough.
+% When using a narrow web browser window,
+% ``responsive web design'' is used to show the side\TOC\ at the top of the
+% page and a link back to ``Home'' at the bottom.
+%
+% \label{sec:filedepth}
+% It is recommended to set:
+% \begin{sourcedisplay}
+% |SideTOCDepth|\,=\,|FileDepth|
+% \end{sourcedisplay}
+% or
+% \begin{sourcedisplay}
+% |SideTOCDepth|\,=\,|FileDepth|+1
+% \end{sourcedisplay}
+%
+% If |SideTOCDepth|\,<\,|FileDepth|,
+% \watchout[inaccessible pages]
+% web pages will be inaccessible via the side\TOC.
+% \index{file>inaccessible}
+% \index{page>inacessible}
+% \index{missing sections}
+% \index{section>missing}
+%
+% \ItemDescribeCounter{FileDepth} \DescribeDefault{-5}
+% Sectioning depth of file splits.
+% Defaults to -5, causing the entire \HTML\ website to be one single file.
+% \begin{itemize}
+% \item To place the entire file into one \HTML\ page, use:
+% \begin{sourcedisplay}
+% \cs{setcounter}\{FileDepth\}\{-5\}
+% \end{sourcedisplay}
+% \item To split the \HTML\ file at \cs{section} depth, use:
+% \begin{sourcedisplay}
+% \cs{setcounter}\{FileDepth\}\{1\}
+% \end{sourcedisplay}
+% \item To ensure that the \HTML\ pages/files are accessible:
+% \watchout\\
+% Place a \cs{tableofcontents} somewhere before the first section
+% break (therefore in the ``home page''), and set
+% \begin{sourcedisplay}
+% tocdepth\,>=\,FileDepth
+% \end{sourcedisplay}
+% \index{file>inaccessible}
+% \index{page>inacessible}
+% \index{missing sections}
+% \index{section>missing}
+% \end{itemize}
+%
+% \ItemDescribeBoolean{CombineHigherDepths} \DescribeDefault{true}
+% Combine a higher section with
+% its first lower subsections, down to the |FileDepth|.
+% Defaults to true. Set to false to simulate the concept of a chapter
+% opening on its own page, for example.
+%
+% The file splits are controlled by the counter |FileDepth| and
+% the boolean |CombineHigherDepths|.
+% Setting |FileDepth| to 0 splits the file
+% at chapters, 1 at sections, etc. |CombineHigherDepths| controls whether
+% to combine pages at levels higher than the chosen |FileDepth|, such as
+% in this tutorial where the page which opens the chapter also contains the
+% first section.
+% Be careful to set |tocdepth| and |SideTOCDepth| to allow
+% \watchout[Inaccesible pages!]
+% access to each page of the website. Set |tocdepth| and |SideTOCDepth| to be
+% greater than or equal to |FileDepth|.
+%
+% When making changes to the file structure,
+% \watchout[Lost in an old page!]
+% it is possible to end up
+% with the web browser pointing to an old file which is no longer in use.
+% When this occurs, changes to the web site will not appear in the browser,
+% even if reloading the page, because that page is no longer in use.
+% It is best to return to the home page, clean the files (|lwarpmk cleanall|),
+% change |FileDepth| and/or |CombineHigherDepths|, then finally recompile and
+% renavigate to the desired page using the new file structure.
+%
+% \ItemDescribeBoolean{FileSectionNames} \DescribeDefault{true}
+% If true, web page filenames are derived from a sanitized version
+% of the section names. If false, web pages are numbered.
+% Either way, the |HTMLFilename| option is used as a prefix.
+% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
+%
+% \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{5}
+% Determines where to place pending footnotes.
+% |5| places footnotes before each break down to the \cs{subparagraph} level.
+% |1| places footnotes before each \cs{section} break.
+% Any pending footnotes are also placed at the bottom of each page
+% before each file break.
+%
+% \ItemDescribeMacro{\abstractname} \DescribeDefault{Abstract}
+% The name of the abstract.
+% This may also be over-written
+% by the \pkg{babel} package. Defaults to ``Abstract''.
+%
+% \end{description}
+%
+%
+% \item[Placed before \texttt{\cs{begin}\{document\}},
+% or before any sectioning command which causes a file break:] \
+%
+% \begin{description}
+% \ItemDescribeMacro{\CSSFilename} \marg{filename.css} \DescribeDefault{lwarp.css} \quad
+% Sets the \CSS\ file to use for the following
+% files. May be changed before each each sectioning command which would
+% cause a file split.
+%
+% The \CSS\ styles of the web pages are set by the \cs{CSSFilename} command.
+% If \cs{CSSFilename} is not used, a default plain style is used to mimic printed
+% \LaTeX\ output. |lwarp_sagebrush.css| is a semi-fancy colored style as shown
+% in this tutorial. Change it to |lwarp_formal.css| for a more formal look,
+% or comment out the \cs{CSSFilename} command to see the default.
+% \cs{CSSFilename} may be used before each file break to set the \CSS\ for
+% individual pagess of the website.
+%
+% \ItemDescribeMacro{\HTMLLanguage} \marg{langauge} \DescribeDefault{en-US} \quad
+% The \HTML\ file's |html lang| meta tag.
+% Defaults to |en-US|.
+%
+% \ItemDescribeMacro{\HTMLAuthor} \marg{author} \DescribeDefault{\cs{theauthor}} \quad
+% The \HTML\ header's meta author.
+% Defaults to \cs{theauthor}.
+%
+% \ItemDescribeMacro{\HTMLDescription} \marg{description} \DescribeDefault{<empty>} \quad
+% Sets the \HTML\ \attribute{description} tag for
+% the following files. May be changed before each each sectioning command which would
+% cause a file split.
+%
+% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied
+% to the top of the home page. Useful for logos, etc.
+% Defaults empty.
+% Ignored in print output.
+%
+% \ItemDescribeMacro{\HTMLPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied to
+% the top of pages other than the home page. Useful for logos, etc.
+% Defaults empty.
+% |\LinkHome| may be used to place a link back to the homepage.
+% Ignored in print output.
+%
+% \ItemDescribeMacro{\HTMLPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied to the
+% bottom of each web page.
+% Useful for authors, copyright notices, contact information, etc.
+% Defaults empty.
+% |\LinkHome| may be used to place a link back to the homepage.
+% Ignored in print output.
+%
+% \end{description}
+%
+%
+% \needspace{2\baselineskip}
+% \item[Placed in the home page before the first sectioning command which causes a file break:] \
+%
+% \begin{description}
+% \ItemDescribeMacro{\tableofcontents}
+% Used to place a table of contents on the home page.
+% This command must be used before the first file split,
+% \watchout[TOC on the homepage!]
+% so that a way is available to navigate to other files from the homepage.
+%
+% Links to each chapter/section are provided, as selected by |tocdepth|.
+% \end{description}
+%
+%
+% \needspace{2\baselineskip}
+% \item[Placed in the document wherever necessary:] \
+%
+% \begin{description}
+% \ItemDescribeEnv{warpprint} An environment which is only used
+% while generating print output. Place here anything which does not
+% apply to \HTML\ and which may cause problems with \pkg{lwarp}.
+% If \pkg{lwarp} knows about and emulates or supports
+% a package then its related macros, lengths, counters, etc. probably won't have
+% to be placed inside a \env{warpprint} environment, but unknown packages
+% may cause problems which may be isolated from \pkg{lwarp} using this environment.
+%
+% \ItemDescribeEnv{warpHTML} An environment which is only used
+% while generating \HTML\ output. This is useful for website logos and
+% other items which have no purpose in printed output.
+%
+% \ItemDescribeMacro{\warpprintonly} \marg{contents} \quad
+% A macro version of the \env{warpprint} environment.
+%
+% \ItemDescribeMacro{\warpHTMLonly} \marg{contents} \quad
+% A macro version of the \env{warpHTML} environment.
+% \end{description}
+%
+% \end{description}
+%
+%
+% \subsubsection{Example HTML file naming}
+% \label{sec:filenameexamples}
+% \index{HTML>filename generation}
+% \changes{v0.20}{2016/09/11}{Docs: Examples for generating \HTML\ file names.}
+%
+% Examples of ways to name or number \HTML\ files:
+% \begin{description}
+% \item[Numbered \HTML\ nodes:] \
+%
+% Example: Homepage |index.html|, and |node-1|, |node-2|.
+% \footnote{See \cs{SetHTMLFileNumber} to number in groups by chapter, for example.}
+% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
+% \usepackage[
+% HomeHTMLFilename=index,
+% HTMLFilename={node-}
+% ]{lwarp}
+% \boolfalse{FileSectionNames}
+% \end{Verbatim}
+%
+% \item[Named \HTML\ sections, no prefix:] \
+%
+% Example: |index.html|, and |About.html|, |Products.html|
+% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
+% \usepackage[
+% HomeHTMLFilename=index,
+% HTMLFilename={}
+% ]{lwarp}
+% \booltrue{FileSectionNames}
+% \end{Verbatim}
+%
+% \item[Named \HTML\ sections, with prefix:] \
+%
+% Example: Homepage |mywebsite.html|, and additional pages such
+% as \\
+% |mywebsite-About.html|, |mywebsite-Products|, etc.
+% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
+% \usepackage[
+% HomeHTMLFilename=mywebsite,
+% HTMLFilename={mywebsite-}
+% ]{lwarp}
+% \booltrue{FileSectionNames}
+% \end{Verbatim}
+% \end{description}
+%
+%
+% \subsection{Customizing the CSS}
+% \label{sec:csscustomization}
+%
+% \DescribeMacro{\CSSFilename} \DescribeDefault{lwarp.css}
+% \cs{CSSFilename} may be used to choose which |.css| file is used to display
+% each page of the web site. Use \cs{CSSFilename} before |\begin{document}|
+% to assign the style of the home page.
+% If different parts of the website should have different styles,
+% call \cs{CSSFilename} again before each section heading which creates a new file.
+% This may be changed numerous times throughout the file, resulting in
+% different \HTML\ pages having different \CSS\ files assigned:
+% \begin{Verbatim}[gobble=2,tabsize=4]
+% ...
+% \newCSS{myCSS.css}
+% \chapter{Another Chapter}
+% ...
+% \end{Verbatim}
+% \index{CSS>file selection}
+% \index{CSS>per HTML page}
+% \index{settings>CSS selection}
+%
+% The styles provided by \pkg{lwarp} include:
+% \begin{description}
+% \item[|lwarp.css|:] A default style if \cs{CSSFilename} is not used. This
+% style is comparable to a plain \LaTeX\ document.
+% To set this style, you may use |\CSSFilename{lwarp.css}|, or no \cs{CSSFilename} call at all.
+% \item[|lwarp\_formal.css|:] A formal style with a serif fonts and a traditional
+% look.
+% \item[|lwarp\_sagebrush.css|:] A style with muted colors, gradient backgrounds,
+% additional borders, and rounded corners.
+% \end{description}
+%
+% To see each style in use, change the \cs{CSSFilename} entry in the tutorial,
+% |lwarpmk html| again, and then reload the tutorial webpage.
+%
+% A customized style may also be created.
+% \margintag{Custom \CSS}
+% For each new project a file
+% called |sample_project.css| is generated. This may be renamed to
+% |<project>.css| then used by assigning |\CSSFilename{<project>.css}|.
+%
+% Note that |sample_project.css| is overwritten whenever \pkg{lwarp}
+% is loaded in print mode.
+% It is therefore important to rename the file \watchout[Rename it!]
+% to something like |<project>.css| before
+% using it, so that your own changes are not overwritten.
+%
+% |<project>.css| has an entry which loads |lwarp.css|, and this
+% entry may be changed to load |lwarp_formal.css| or |lwarp_sagebrush.css| if
+% desired. Additional changes to the \CSS\ may be made by making entries
+% later in the |<project>.css| file.
+%
+% \label{sec:projectcss}
+% \DescribeFile{lwarp.css}\DescribeFile{project.css}\DescribeFile{sample_project.css}\label{sec:lwarpcss}
+% It is best to make a local project-specific \CSS\ file such as |project.css|, containing only
+% things which are different from |lwarp.css|.
+% The file |project.css| should refer to |lwarp.css| as follows:
+% \index{CSS>project-specific changes}\index{CSS>lwarp.css}
+% \index{settings>\CSS\ project-specific}
+% \vspace{-2ex}
+% \VerbatimInput[frame=lines]{sample_project.css}
+%
+% Finally use |\CSSFilename{<project>.css}| in the document to activate the custom \CSS.
%
+%
% \subsection{Selecting the operating system}
% \label{sec:OSportabilityusage}
% \changes{v0.11}{2016/03/11}{Added section: Selecting the operating system.}
@@ -4516,38 +4695,6 @@
% May be set empty to cancel the meta author tag.
%
%
-% \subsection{CSS}
-%
-% \label{sec:projectcss}
-% \DescribeFile{lwarp.css}\DescribeFile{project.css}\DescribeFile{sample_project.css}\label{sec:lwarpcss}It is best
-% to make a local project-specific \CSS\ file such as |project.css|, containing only
-% things which are different from |lwarp.css|.
-% |project.css| should refer to |lwarp.css| as follows:
-% \index{CSS>project-specific changes}\index{CSS>lwarp.css}
-% \index{settings>\CSS\ project-specific}
-% \vspace{-2ex}
-% \VerbatimInput[frame=lines]{sample_project.css}
-%
-% An example file called |sample_project.css| is provided, and may be renamed |project.css|.
-%
-% \label{sec:setcss}
-%
-% \DescribeMacro{\CSSFilename}
-% For each section at which \HTML\ files are split,
-% |\CSSFilename| may be used before the sectioning command to select a \CSS\ file for that and all
-% following sections. This may be changed numerous times throughout the file, resulting in
-% different \HTML\ pages having different \CSS\ files assigned:
-% \begin{Verbatim}[gobble=2,tabsize=4]
-% ...
-% \newCSS{myCSS.css}
-% \chapter{Another Chapter}
-% ...
-% \end{Verbatim}
-% \index{CSS>file selection}
-% \index{CSS>per HTML page}
-% \index{settings>CSS selection}
-%
-%
% \subsection{Modifying \protect\texttt{xindy} index processing}
% \label{sec:modifyxindy}
%
@@ -4773,6 +4920,8 @@
%
% \subsection{Cross-references}
%
+% \index{math>labels --- valid characters}
+% \index{label>valid characters}
% \limitsreferences
%
% \subsubsection{Page references} The printed page does not translate
@@ -5043,12 +5192,17 @@
% \limitsbabeltwo
%
%
+% \needspace{5\baselineskip}
%
+% \subsubsection{\pkg{todonotes} package}
%
+% \DescribePackage{todonotes}
+% \limitstodonotes
%
%
%
%
+%
% \clearpage
%
% \section{EPUB conversion}
@@ -5070,10 +5224,9 @@
% A special boolean is provided to simplify the process of
% converting \pkg{lwarp} \HTML\ output to \EPUB:
%
-% \DescribeBoolean{FormatEPUB}
+% \DescribeBoolean{FormatEPUB} \DescribeDefault{false}
% \begin{docsidebar}[\texttt{FormatEPUB}]
% \raggedright
-% Default false.
% |FormatEPUB| changes \HTML\ output for easy \EPUB\ conversion
% via an external program. Removes per-file headers, footers, and nav.
% Adds footnotes per chapter/section.
@@ -5095,7 +5248,7 @@
% Several changes are then made to the \HTML\ output:
% \begin{itemize}
% \item Headers, footers, and navigation are removed at file splits.
-% \item Any accumulated footnotes are printed at the bottom of each file split.
+% \item Any accumulated footnotes are printed at the bottom of each section.
% \end{itemize}
%
% The resulting files will be ready to be loaded into an \EPUB\ conversion
@@ -5185,10 +5338,9 @@
% A special boolean is provided to simplify the process of
% converting \pkg{lwarp} \HTML\ output to \EPUB:
%
-% \DescribeBoolean{FormatWP}
+% \DescribeBoolean{FormatWP} \DescribeDefault{false}
% \begin{docsidebar}[\texttt{FormatWP}]
% \raggedright
-% Default false.
% Changes \HTML\ output for easier conversion
% by a word processor.
% Removes headers and nav, prints footnotes per section,
@@ -5214,11 +5366,7 @@
% section headings will import as \UI{Heading~1} for the title, \UI{Heading~2}
% for \cs{section}, etc.
% \item Headers, footers, and navigation are removed at file splits.
-% \item Any accumulated footnotes are printed at the bottom of each file split.
-% These will have to be manually moved to their proper place in
-% the document. \pkg{lwarp} does not know where the page breaks
-% will be in the word processor's document, so the footnotes are
-% simply moved to the end of each sectional break.
+% \item Any accumulated footnotes are printed at the bottom of each section.
% \item Forces single-file output.
% \item Turns off \HTML\ debugging comments.
% These are comments appearing inside the \HTML\ code,
@@ -5268,7 +5416,6 @@
% \subsection{Additional modifications}
%
% \newcommand{\describeWPMarkFloats}{
-% Default |false|.
% Adds
% \begin{sourcedisplay}
% === begin table === \\
@@ -5286,7 +5433,7 @@
% to word-processor frames and captions.
% }
%
-% \DescribeBoolean{WPMarkFloats}
+% \DescribeBoolean{WPMarkFloats} \DescribeDefault{false}
% \begin{docsidebar}[\texttt{WPMarkFloats}]
% \raggedright
% \describeWPMarkFloats
@@ -5294,7 +5441,6 @@
%
%
% \newcommand{\describeWPMarkMinipages}{
-% Default |false|.
% Adds
% \begin{sourcedisplay}
% === begin minipage === \\
@@ -5306,7 +5452,7 @@
% to word-processor frames.
% }
%
-% \DescribeBoolean{WPMarkMinipages}
+% \DescribeBoolean{WPMarkMinipages} \DescribeDefault{false}
% \begin{docsidebar}[\texttt{WPMarkMinipages}]
% \raggedright
% \describeWPMarkMinipages
@@ -5314,7 +5460,6 @@
%
%
% \newcommand{\describeWPMarkTOC}{
-% Default |true|.
% While formatting for word processors, adds
% \begin{sourcedisplay}
% === table of contents === \\
@@ -5325,7 +5470,7 @@
% \emph{If set |false|, the actual \acro{TOC} is printed instead.}
% }
%
-% \DescribeBoolean{WPMarkTOC}
+% \DescribeBoolean{WPMarkTOC} \DescribeDefault{true}
% \begin{docsidebar}[\texttt{WPMarkTOC}]
% \raggedright
% \describeWPMarkTOC
@@ -5333,7 +5478,6 @@
%
%
% \newcommand{\describeWPMarkLOFT}{
-% Default |false|.
% While formatting for word processors, adds
% \begin{sourcedisplay}
% === list of figures === \quad \textrm{\textit{and\,/\,or}} \\
@@ -5345,7 +5489,7 @@
% \emph{If set |false|, the actual lists are printed instead.}
% }
%
-% \DescribeBoolean{WPMarkLOFT}
+% \DescribeBoolean{WPMarkLOFT} \DescribeDefault{false}
% \begin{docsidebar}[\texttt{WPMarkLOFT}]
% \raggedright
% \describeWPMarkLOFT
@@ -5353,13 +5497,12 @@
%
%
% \newcommand{\describeWPMarkMath}{
-% Default |false|.
% While formatting for word processors,
% prints math as \LaTeX\ code instead of creating \SVG\ images or MathJax.
% This is useful for cut/paste into the LibreOffice Writer TeXMaths extension.
% }
%
-% \DescribeBoolean{WPMarkMath}
+% \DescribeBoolean{WPMarkMath} \DescribeDefault{false}
% \DescribeProgram{TeXMaths}
% \margintag{siunitx}
% \begin{docsidebar}[\texttt{WPMarkMath}]
@@ -5378,7 +5521,6 @@
%
%
% \newcommand*{\describeWPTitleHeading}{
-% Default |false|.
% While formatting for word processors,
% |true| sets the document title to \element{h1}, which is expected for \HTML\ documents,
% but also causes the lower-level section headings to start at \UI{Heading 2} when
@@ -5389,7 +5531,7 @@
% See \cref{tab:WPsectionheadings} on \cpageref{tab:WPsectionheadings}.
% }
%
-% \DescribeBoolean{WPTitleHeading}
+% \DescribeBoolean{WPTitleHeading} \DescribeDefault{false}
% \margintag{section headings}
% \begin{docsidebar}[\texttt{WPTitleHeading}]
% \raggedright
@@ -6278,7 +6420,7 @@
-% \DescribeOption{HomeHTMLFilename}
+% \DescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{\BaseJobname}}
% The filename of the homepage.
% The default is the jobname.
% This option is stored into \cs{LWR at HomeHTMLFilename},
@@ -6292,7 +6434,7 @@
% \end{macrocode}
-% \DescribeOption{HTMLFilename}
+% \DescribeOption{HTMLFilename} \DescribeDefault{<empty>}
% The filename prefix of web pages after the homepage.
% The default is empty, no prefix.
% This option is stored into \cs{LWR at HTMLFilename},
@@ -6552,6 +6694,7 @@
\LWR at loadafter{booktabs}
\LWR at loadafter{boxedminipage}
\LWR at loadafter{boxedminipage2e}
+\LWR at loadafter{breakurl}
\LWR at loadafter{ccaption}
\LWR at loadafter{changepage}
\LWR at loadafter{chngpage}
@@ -6609,6 +6752,7 @@
\LWR at loadafter{longtable}
\LWR at loadafter{lscape}
\LWR at loadafter{ltcaption}
+\LWR at loadafter{luatodonotes}
\LWR at loadafter{marginfit}
\LWR at loadafter{marginfix}
\LWR at loadafter{marginnote}
@@ -6678,6 +6822,7 @@
\LWR at loadafter{titling}
\LWR at loadafter{tocbibind}
\LWR at loadafter{tocloft}
+\LWR at loadafter{todonotes}
\LWR at loadafter{transparent}
\LWR at loadafter{trivfloat}
\LWR at loadafter{typearea}
@@ -7520,7 +7665,7 @@
% \end{macro}
-% \DescribeBoolean{HTMLDebugComments} Default false.
+% \DescribeBoolean{HTMLDebugComments} \DescribeDefault{false}
% Add comments in \HTML\
% about closing \element{div}s, sections, etc.
% \index{HTML>conversion settings>debug comments}
@@ -7566,7 +7711,7 @@
%
% \subsection{User-level controls}
%
-% \DescribeBoolean{FormatEPUB} Default false.
+% \DescribeBoolean{FormatEPUB} \DescribeDefault{false}
% Changes \HTML\ output for easy \EPUB\ conversion
% via an external program. Removes per-file headers, footers, and nav.
% Adds footnotes per chapter/section.
@@ -7581,7 +7726,7 @@
% \end{macrocode}
%
%
-% \DescribeBoolean{FormatWP} Default false.
+% \DescribeBoolean{FormatWP} \DescribeDefault{false}
% Changes \HTML\ output for easier conversion
% by a word processor.
% Removes headers and nav, prints footnotes per section,
@@ -7598,7 +7743,7 @@
% \end{macrocode}
%
%
-% \DescribeBoolean{WPMarkFloats}
+% \DescribeBoolean{WPMarkFloats} \DescribeDefault{false}
% \describeWPMarkFloats
% \footnote{Perhaps some day word processors will have \HTML\ import options
% for identifying \element{figure} and \element{figcaption} tags
@@ -7614,7 +7759,7 @@
\boolfalse{WPMarkFloats}
% \end{macrocode}
-% \DescribeBoolean{WPMarkMinipages}
+% \DescribeBoolean{WPMarkMinipages} \DescribeDefault{false}
% \changes{v0.42}{2017/10/18}{Added boolean \protect\texttt{WPMarkMinipages}.}
% \describeWPMarkMinipages
% \begin{macrocode}
@@ -7622,7 +7767,7 @@
\boolfalse{WPMarkMinipages}
% \end{macrocode}
-% \DescribeBoolean{WPMarkTOC}
+% \DescribeBoolean{WPMarkTOC} \DescribeDefault{true}
% \changes{v0.42}{2017/10/18}{Added boolean \protect\texttt{WPMarkTOC}.}
% \describeWPMarkTOC
% \begin{macrocode}
@@ -7631,7 +7776,7 @@
% \end{macrocode}
-% \DescribeBoolean{WPMarkLOFT}
+% \DescribeBoolean{WPMarkLOFT} \DescribeDefault{false}
% \changes{v0.42}{2017/10/19}{Added boolean \protect\texttt{WPMarkLOFT}.}
% \describeWPMarkLOFT
% \begin{macrocode}
@@ -7640,7 +7785,7 @@
% \end{macrocode}
-% \DescribeBoolean{WPMarkMath}
+% \DescribeBoolean{WPMarkMath} \DescribeDefault{false}
% \changes{v0.42}{2017/10/19}{Added boolean \protect\texttt{WPMarkMath}.}
% \describeWPMarkMath
% \begin{macrocode}
@@ -7649,7 +7794,7 @@
% \end{macrocode}
-% \DescribeBoolean{WPTitleHeading}
+% \DescribeBoolean{WPTitleHeading} \DescribeDefault{false}
% \changes{v0.42}{2017/10/19}{Added boolean \protect\texttt{WPTitleHeading}.}
% \describeWPTitleHeading
% \begin{macrocode}
@@ -9889,7 +10034,7 @@
\begin{warpprint}
\begin{filecontents*}{sample_project.css}
/* ( --- Start of project.css --- ) */
-/* A sample project-specific CSS file for lwarp --- ) */
+/* ( --- A sample project-specific CSS file for lwarp --- ) */
/* Load default lwarp settings: */
@import url("lwarp.css") ;
@@ -10087,7 +10232,7 @@
-- Print the usage of the lwarpmk command:
-printversion = "v0.42"
+printversion = "v0.43"
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -12254,7 +12399,7 @@
\begin{warpall}
% \end{macrocode}
-% In the following, catcode is manually changes back and forth
+% In the following, catcode is manually changed back and forth
% without groups, since new macros are being defined which must
% not be contained within the groups.
% \begin{macrocode}
@@ -12472,6 +12617,28 @@
% \subsection{Regular page footnote implementation}
% \label{sec:footnotesregular}
%
+%
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \DescribeCounter{FootnoteDepth} \DescribeDefault{5} Determines how deeply
+% to place footnotes in the \HTML\ files, similar to |tocdepth|.
+% The default of |5| places footnotes before each \cs{subparagraph} or higher.
+% See \cref{tab:depthsheadings} for a table of \LaTeX\ section headings.
+% \changes{v0.43}{2017/11/08}{Added \protect\texttt{FootnoteDepth}.}
+% \begin{macrocode}
+\newcounter{FootnoteDepth}
+\setcounter{FootnoteDepth}{5}
+% \end{macrocode}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
+
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -12642,11 +12809,16 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\LWR at epubprintpendingfootnotes}
+% \begin{macro}{\LWR at maybeprintpendingfootnotes} \marg{depth}
% Used to print footnotes before sections only if formatting for an \EPUB\ or word processor:
+% \changes{v0.43}{2017/11/08}{Added \protect\texttt{FootnoteDepth}.}
% \begin{macrocode}
-\newcommand*{\LWR at epubprintpendingfootnotes}{%
-\ifthenelse{\boolean{FormatEPUB}\OR\boolean{FormatWP}}%
+\newcommand*{\LWR at maybeprintpendingfootnotes}[1]{%
+\ifboolexpr{
+ not test{\ifnumcomp{#1}{>}{\value{FootnoteDepth}}} or
+ bool{FormatEPUB} or
+ bool{FormatWP}
+}%
{\LWR at printpendingfootnotes}%
{}%
}
@@ -12915,7 +13087,7 @@
% \begin{macrocode}
\ifbool{FileSectionNames}%
{\LWR at filenamenoblanks{#1}}
-{\renewcommand*{\LWR at thisfilename}{\theLWR at htmlfilenumber}}
+{\renewcommand*{\LWR at thisfilename}{\arabic{LWR at htmlfilenumber}}}
% \end{macrocode}
% Include an \HTML\ comment to instruct lwarpmk
@@ -13248,7 +13420,17 @@
% \end{macro}
%
%
+% \DescribeCounter{LWR at currentautosec} Records the page number when the section
+% 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}{\protect\texttt{LWR at currentautosec}: Added.}
+% \begin{macrocode}
+\newcounter{LWR at currentautosec}
+% \end{macrocode}
%
+%
+%
% \begin{macro}{\LWR at section} * \oarg{TOC name} \marg{name} \marg{sectiontype}
%
% \changes{v0.20}{2017/01/09}{Combined higher-level sections together into files.}
@@ -13260,14 +13442,6 @@
% \begin{macrocode}
\DeclareDocumentCommand{\LWR at section}{m m m m}{%
\LWR at traceinfo{LWR at section |#2| |#3|}%
-% \ifthenelse{%
-% % \equal{#2}{\-NoValue-}\AND%
-% \isempty{#3}%
-% }%
-% {% empty section name
-% \LWR at traceinfo{LWR at section: empty section}%
-% }% empty section name
-% {% not an empty section name
\LWR at traceinfo{LWR at section: not an empty section}%
\LWR at stoppars%
% \end{macrocode}
@@ -13299,7 +13473,10 @@
\cnttest{\csuse{LWR at depth#4}}{<=}{\value{LWR at prevFileDepth}}%
\)%
\AND%
- \NOT\equal{#3}{}% phantomsection
+% \end{macrocode}
+% \changes{v0.43}{2017/10/31}{Fix: Expansion in comparison.}
+% \begin{macrocode}
+ \NOT\isempty{#3}% phantomsection
}%
% \end{macrocode}
% If so: start a new \HTML\ file:
@@ -13340,10 +13517,14 @@
% \end{macrocode}
% Print an opening comment with the level and the name;
% ex: ``section'' ``Introduction''
+% \changes{v0.43}{2017/10/31}{Fix: Nullify fonts inside HTML comment.}
% \begin{macrocode}
\ifbool{HTMLDebugComments}{%
+ \begingroup%
+ \LWR at nullfonts%
\LWR at htmlcomment{Opening #4 ``#3''{}}%
+ \endgroup%
}{}%
% \end{macrocode}
@@ -13359,6 +13540,10 @@
% \begin{macrocode}
\LWR at createautosec{\csuse{LWR at tag#4}}%
% \end{macrocode}
+% \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
+% \begin{macrocode}
+\setcounter{LWR at currentautosec}{\value{page}}
+% \end{macrocode}
% Check if starred:
% \begin{macrocode}
\IfBooleanTF{#1}%
@@ -13454,8 +13639,9 @@
\LWR at htmltag{\csuse{LWR at tag#4end}}%
% \end{macrocode}
% Generate a \LaTeX{} label:
+% \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
% \begin{macrocode}
-\label{autopage-\thepage}%
+\label{autopage-\theLWR at currentautosec}%
% \end{macrocode}
% Start paragraph handing unless is an inline paragraph or subparagraph:
% \begin{macrocode}
@@ -13496,7 +13682,6 @@
\global\boolfalse{LWR at forcinghtmltoc}%
}%
%
-% }% not an empty section name
\LWR at traceinfo{LWR at section: done}%
}
% \end{macrocode}
@@ -13512,7 +13697,7 @@
%
% \begin{macrocode}
\DeclareDocumentCommand{\part}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthpart}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthpart}{\LWR at printclosepart}%
@@ -13535,7 +13720,7 @@
{%
\DeclareDocumentCommand{\chapter}{s o m}{%
\LWR at traceinfo{chapter #3}%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthchapter}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthchapter}{\LWR at printclosechapter}%
@@ -13551,7 +13736,7 @@
% \begin{macro}{\section} * \oarg{TOC name} \marg{name}
% \begin{macrocode}
\DeclareDocumentCommand{\section}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsection}{\LWR at printclosesection}%
@@ -13566,7 +13751,7 @@
% \begin{macro}{\subsection} * \oarg{TOC name} \marg{name}
% \begin{macrocode}
\DeclareDocumentCommand{\subsection}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubsection}{\LWR at printclosesubsection}%
@@ -13581,7 +13766,7 @@
% \begin{macro}{\subsubsection} * \oarg{TOC name} \marg{name}
% \begin{macrocode}
\DeclareDocumentCommand{\subsubsection}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubsubsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubsubsection}%
@@ -13598,7 +13783,7 @@
% \begin{macro}{\paragraph} * \oarg{TOC name} \marg{name}
% \begin{macrocode}
\DeclareDocumentCommand{\paragraph}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthparagraph}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthparagraph}{\LWR at printcloseparagraph}%
@@ -13613,7 +13798,7 @@
% \begin{macro}{\subparagraph} * \oarg{TOC name} \marg{name}
% \begin{macrocode}
\DeclareDocumentCommand{\subparagraph}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubparagraph}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubparagraph}{\LWR at printclosesubparagraph}%
@@ -15322,6 +15507,13 @@
\boolfalse{LWR at startedrow}
% \end{macrocode}
+% \DescribeBoolean{LWR at tabularcelladded}
+% True if have added a data cell for this position.
+% \begin{macrocode}
+\newbool{LWR at tabularcelladded}
+\boolfalse{LWR at tabularcelladded}
+% \end{macrocode}
+
% \DescribeBoolean{LWR at doinghline}
% True if the next row will have an hline or midrule above it.
% Also used for \cs{midrule}.
@@ -15410,8 +15602,8 @@
\ifbool{LWR at skipatbang}%
{}%
{%
- \LWR at printatbang{at}{\theLWR at tablecolspos}%
- \LWR at printatbang{bang}{\theLWR at tablecolspos}%
+ \LWR at printatbang{at}{\arabic{LWR at tablecolindex}}%
+ \LWR at printatbang{bang}{\arabic{LWR at tablecolindex}}%
}%
}
% \end{macrocode}
@@ -15454,7 +15646,7 @@
bool{LWR at emptyatbang}
}%
{}%
- {\LWR at getexparray{LWR at colafterspec}{\theLWR at tablecolspos}}%
+ {\LWR at getexparray{LWR at colafterspec}{\arabic{LWR at tablecolindex}}}%
% \end{macrocode}
% Close paragraphs:
% \begin{macrocode}
@@ -15465,6 +15657,7 @@
% Skip the |@| and |!| cells if are closing a multicolumn cell.
% \begin{macrocode}
\leavevmode\unskip\LWR at htmltag{/td}\LWR at orignewline%
+ \global\booltrue{LWR at tabularcelladded}%
\LWR at insertatbangcols%
}% not skipping mrowcell
}% not exiting tabular
@@ -15569,8 +15762,12 @@
% \end{macrocode}
% Move to the next column.
% \begin{macrocode}
- \addtocounter{LWR at tablecolspos}{1}%
+ \addtocounter{LWR at tablecolindex}{1}%
% \end{macrocode}
+% Have not yet added data in this column:
+% \begin{macrocode}
+\boolfalse{LWR at tabularcelladded}%
+% \end{macrocode}
% Look at the next token to decide multi or single column data tag.
% \begin{macrocode}
\LWR at getmynexttoken%
@@ -15632,29 +15829,37 @@
% \end{macrocode}
% Reenable the table data tags until finished with the final row:
% \begin{macrocode}
-\boolfalse{LWR at exitingtabular}%
+\global\boolfalse{LWR at exitingtabular}%
% \end{macrocode}
% Generate table data tags and ampersands until the right edge:
% \begin{macrocode}
-\whiledo{\value{LWR at tablecolspos}<\value{LWR at tabletotalcols}}{%
-\LWR at tabledatasinglecolumntag%
+\whiledo{%
+ \(%
+ \boolean{LWR at intabularmetadata} \AND%
+ \NOT\boolean{LWR at tabularcelladded} \AND%
+ \cnttest{\value{LWR at tablecolindex}}{=}{\value{LWR at tabletotalcols}}%
+ \) \OR%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+}{%
+ \LWR at tabledatasinglecolumntag%
% \end{macrocode}
% The following is essentially \cs{LWR at tabularampersand} with
% |LWR at emptyatbang| added to empty the following cells:
% \begin{macrocode}
\LWR at closetabledatacell%
- \addtocounter{LWR at tablecolspos}{1}%
+ \addtocounter{LWR at tablecolindex}{1}%
+ \boolfalse{LWR at tabularcelladded}%
\global\booltrue{LWR at emptyatbang}%
% \end{macrocode}
% Starts the next cell:
% \begin{macrocode}
- \LWR at getmynexttoken%
+ \ifthenelse{%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+ }%
+ {\LWR at getmynexttoken}%
+ {}%
}%
% \end{macrocode}
-% Required to close the final cell:
-% \begin{macrocode}
-\LWR at closetabledatacell%
-% \end{macrocode}
% Reenable the original |LWR at exitingtabular| to close the entire table:
% \begin{macrocode}
\endgroup%
@@ -15677,7 +15882,7 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at tabularendofline}{s o}
{%
-\ifthenelse{\value{LWR at tablecolspos}<\value{LWR at tabletotalcols}}{%
+\ifthenelse{\value{LWR at tablecolindex}<\value{LWR at tabletotalcols}}{%
\LWR at tabularfinishrow%
}%
{%
@@ -15700,8 +15905,12 @@
% \end{macrocode}
% Start at first column:
% \begin{macrocode}
-\setcounter{LWR at tablecolspos}{1}
+\setcounter{LWR at tablecolindex}{1}%
% \end{macrocode}
+% Have not yet added data in this column:
+% \begin{macrocode}
+\boolfalse{LWR at tabularcelladded}%
+% \end{macrocode}
% Look at the next token to decide between single column data tag
% or a special case:
% \begin{macrocode}
@@ -15744,35 +15953,50 @@
% \end{macro}
-% \DescribeCounter{LWR at tablecolswidth}
-% Holds the width of the table columns specification.
+% \DescribeCounter{LWR at tablecolspecwidth}
+% Holds the number of tokens in the table columns specification.
%
-% This is the number of tokens, including one for each |@| etc. column, and also
-% one each for the parameters of |p|, |@|, etc. columns, and three for each |D| column.
+% This is includes one for each |@|, |!|, |<|, |>| column,
+% and also one for each of the parameters of |p|, |@|, |!|, |<|, |>| columns,
+% and three for each |D| column.
%
% (This is not the total \# of \LaTeX\ columns in the table.)
% \begin{macrocode}
-\newcounter{LWR at tablecolswidth}
+\newcounter{LWR at tablecolspecwidth}
% \end{macrocode}
+% \DescribeCounter{LWR at tablecolspecindex}
+% While parsing the \LaTeX\ table column specification,
+% starts at 1 and is incremented per token of the specification.
+% While producing the table, resets to 1 at the start of the table and
+% also at each end of line, and is incremented by 1 by each ampersand.
+% \begin{macrocode}
+\newcounter{LWR at tablecolspecindex}
+% \end{macrocode}
-% \DescribeCounter{LWR at tablecolspos}
-% Where are currently looking into the table column specification.
-% Index starts at 1.
+% \DescribeCounter{LWR at tablecolindex}
+% While parsing the \LaTeX\ table column specification,
+% starts at 1 and is incremented per token of the specification.
+% While producing the table, resets to 1 at the start of the table and
+% also at each end of line, and is incremented by 1 by each ampersand.
% \begin{macrocode}
-\newcounter{LWR at tablecolspos}
+\newcounter{LWR at tablecolindex}
% \end{macrocode}
% \DescribeCounter{LWR at tabletotalcols}
-% Holds the final number of table columns, not counting |@| and |!| columns.
-% This is equal to the number of cells in each row.
+% While parsing a table column specification,
+% begins at 0 and increments by 1 per \LaTeX\ table column.
+% Eventually holds the final number of \LaTeX\ table columns in each row,
+% not counting |@| and |!| columns.
+% (In \HTML, |@| and |!| cells become their own columns, but are not included in
+% |LWR at tabletotalcols|.)
% \begin{macrocode}
\newcounter{LWR at tabletotalcols}
% \end{macrocode}
% \DescribeCounter{LWR at tabletotalcolsnext}
-% Holds the next column while parsing.
-% Is one more than |LWR at tabletotalcols|.
+% Holds the next \LaTeX\ table column index while parsing,
+% equal to one more than |LWR at tabletotalcols|.
% \begin{macrocode}
\newcounter{LWR at tabletotalcolsnext}
% \end{macrocode}
@@ -15812,16 +16036,16 @@
% Move to the next token after the '@':
% \begin{macrocode}
\LWR at traceinfo{at column}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
% \end{macrocode}
-% Read the next token into \cs{LWR at strresult}, expanding once:
+% Read the next token into \cs{LWR at colparameter}, expanding once:
% \begin{macrocode}
\LWR at traceinfo{about to read the next token:}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]
\fullexpandarg%
% \end{macrocode}
-% Store the result into a data array, expanding once out of \cs{LWR at strresult}:
+% Store the result into a data array, expanding once out of \cs{LWR at colparameter}:
% \begin{macrocode}
\LWR at traceinfo{have now read the next token}%
\ifthenelse{\cnttest{\value{LWR at tabletotalcols}}=0}
@@ -15833,9 +16057,9 @@
}%
{% not at the left edge:
\LWR at traceinfo{not at the left edge}%
- \LWR at setexparray{LWR at colatspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
- \LWR at traceinfo{at \theLWR at tabletotalcols: %
- \LWR at getexparray{LWR at colatspec}{\theLWR at tabletotalcols}}%
+ \LWR at setexparray{LWR at colatspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
+ \LWR at traceinfo{at \arabic{LWR at tabletotalcols}: %
+ \LWR at getexparray{LWR at colatspec}{\arabic{LWR at tabletotalcols}}}%
}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
@@ -15855,16 +16079,16 @@
% Move to the next token after the '!':
% \begin{macrocode}
\LWR at traceinfo{bang column}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
% \end{macrocode}
-% Read the next token into \cs{LWR at strresult}, expanding once:
+% Read the next token into \cs{LWR at colparameter}, expanding once:
% \begin{macrocode}
\LWR at traceinfo{about to read the next token:}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]
\fullexpandarg%
% \end{macrocode}
-% Store the result into a data array, expanding once out of \cs{LWR at strresult}:
+% Store the result into a data array, expanding once out of \cs{LWR at colparameter}:
% \begin{macrocode}
\LWR at traceinfo{have now read the next token}%
\ifthenelse{\cnttest{\value{LWR at tabletotalcols}}=0}
@@ -15874,8 +16098,8 @@
}%
{% not at the left edge:
\LWR at traceinfo{not at the left edge}%
- \LWR at setexparray{LWR at colbangspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
- \LWR at traceinfo{bang \theLWR at tabletotalcols: \LWR at colparameter!}%
+ \LWR at setexparray{LWR at colbangspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
+ \LWR at traceinfo{bang \arabic{LWR at tabletotalcols}: \LWR at colparameter!}%
}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
@@ -15894,17 +16118,17 @@
% \end{macrocode}
% Move to the next token after the '>':
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
% \end{macrocode}
-% Read the next token, expanding once into \cs{LWR at strresult}:
+% Read the next token, expanding once into \cs{LWR at colparameter}:
% \begin{macrocode}
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]%
\fullexpandarg%
% \end{macrocode}
-% Store the result into a data array, expanding once out of \cs{LWR at strresult}:
+% Store the result into a data array, expanding once out of \cs{LWR at colparameter}:
% \begin{macrocode}
-\LWR at setexparray{LWR at colbeforespec}{\theLWR at tabletotalcolsnext}{\LWR at colparameter}%
+\LWR at setexparray{LWR at colbeforespec}{\arabic{LWR at tabletotalcolsnext}}{\LWR at colparameter}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
}
@@ -15920,18 +16144,17 @@
% \end{macrocode}
% Move to the next token after the '<':
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
% \end{macrocode}
-% Read the next token, expanding once into \cs{LWR at strresult}:
+% Read the next token, expanding once into \cs{LWR at colparameter}:
% \begin{macrocode}
-% \StrChar{#1}{\theLWR at tablecolspos}[\LWR at colparameter]
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]%
\fullexpandarg%
% \end{macrocode}
-% Store the result into a data array, expanding once out of \cs{LWR at strresult}:
+% Store the result into a data array, expanding once out of \cs{LWR at colparameter}:
% \begin{macrocode}
-\LWR at setexparray{LWR at colafterspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
+\LWR at setexparray{LWR at colafterspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
}
@@ -15954,7 +16177,7 @@
\LWR at setexparray{LWR at colbarspec}{leftedge}{tvertbarl}%
}%
{% not at the left edge:
- \LWR at setexparray{LWR at colbarspec}{\theLWR at tabletotalcols}{tvertbarr}%
+ \LWR at setexparray{LWR at colbarspec}{\arabic{LWR at tabletotalcols}}{tvertbarr}%
}%
\booltrue{LWR at validtablecol}%
}
@@ -15973,12 +16196,12 @@
\appto\LWR at tablecolspec{#1}%
\addtocounter{LWR at tabletotalcols}{1}%
\addtocounter{LWR at tabletotalcolsnext}{1}%
-\LWR at traceinfo{normal column \theLWR at tabletotalcols: #1}%
-\LWR at setexparray{LWR at colatspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbangspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbeforespec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colafterspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbarspec}{\theLWR at tabletotalcolsnext}{}%
+\LWR at traceinfo{normal column \arabic{LWR at tabletotalcols}: #1}%
+\LWR at setexparray{LWR at colatspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbangspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbeforespec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colafterspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbarspec}{\arabic{LWR at tabletotalcolsnext}}{}%
\booltrue{LWR at validtablecol}%
}
% \end{macrocode}
@@ -15998,7 +16221,7 @@
% \end{macrocode}
% Skips the following width token:
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
}
% \end{macrocode}
% \end{macro}
@@ -16022,7 +16245,7 @@
% \end{macrocode}
% Skips the following three parameters.
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{3}%
+\addtocounter{LWR at tablecolspecindex}{3}%
}
% \end{macrocode}
% \end{macro}
@@ -16127,6 +16350,12 @@
% \begin{macrocode}
\renewcommand*{\LWR at origcolspec}{#1}%
% \end{macrocode}
+% Remove spaces:
+% \changes{v0.43}{2017/11/01}{Ignore spaces in col spec.}
+% \begin{macrocode}
+\expandarg%
+\StrSubstitute{\LWR at origcolspec}{ }{}[\LWR at origcolspec]%
+% \end{macrocode}
% Clear the parsed resulting column spec:
% \begin{macrocode}
\renewcommand*{\LWR at tablecolspec}{}%
@@ -16157,27 +16386,27 @@
% \end{macrocode}
% Starting at the first column specification:
% \begin{macrocode}
-\setcounter{LWR at tablecolspos}{1}%
+\setcounter{LWR at tablecolspecindex}{1}%
% \end{macrocode}
% Place the colspecs string length into \cs{LWR at strresult},
% and remember the number of characters in the column specification:
% \begin{macrocode}
\LWR at traceinfo{about to StrLen}%
-\noexpandarg%
-\StrLen{#1}[\LWR at strresult]%
+\expandarg%
+\StrLen{\LWR at origcolspec}[\LWR at strresult]%
\fullexpandarg%
\LWR at traceinfo{finished StrLen}%
-\setcounter{LWR at tablecolswidth}{\LWR at strresult}%
+\setcounter{LWR at tablecolspecwidth}{\LWR at strresult}%
% \end{macrocode}
% Scan through the column specifications:
% \begin{macrocode}
-\whiledo{\not\value{LWR at tablecolspos}>\value{LWR at tablecolswidth}}{%
+\whiledo{\not\value{LWR at tablecolspecindex}>\value{LWR at tablecolspecwidth}}{%
% \end{macrocode}
% Place the next single-character column type into \cs{LWR at strresult}:
% \begin{macrocode}
-\noexpandarg%
-\StrChar{#1}{\theLWR at tablecolspos}[\LWR at strresult]%
-\LWR at traceinfo{position \arabic{LWR at tablecolspos}: \LWR at strresult}%
+\expandarg%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at strresult]%
+\LWR at traceinfo{position \arabic{LWR at tablecolspecindex}: \LWR at strresult}%
\fullexpandarg%
% \end{macrocode}
% Not yet found a valid column type
@@ -16229,9 +16458,9 @@
\LWR at traceinfo{invalid column type: \LWR at strresult}%
\LWR at parsenormalcolumn{l}%
}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
+}% whiledo
}%
-}%
% \end{macrocode}
% \end{macro}
@@ -16333,6 +16562,7 @@
{\LWR at atbangspec}%
%
\LWR at htmltag{/td}\LWR at orignewline%
+ \global\booltrue{LWR at tabularcelladded}%
}% not empty
}%
% \end{macrocode}
@@ -16342,7 +16572,7 @@
% \begin{macro}{\LWR at addleftmostbartag}
% \begin{macrocode}
\newcommand*{\LWR at addleftmostbartag}{%
-\ifnumcomp{\value{LWR at tablecolspos}}{=}{1}{%
+\ifnumcomp{\value{LWR at tablecolindex}}{=}{1}{%
\LWR at printbartag{leftedge}%
}{}%
}
@@ -16353,7 +16583,7 @@
% \begin{macro}{\LWR at tabularleftedge}
% \begin{macrocode}
\newcommand*{\LWR at tabularleftedge}{%
-\ifthenelse{\cnttest{\value{LWR at tablecolspos}}=1}%
+\ifthenelse{\cnttest{\value{LWR at tablecolindex}}=1}%
{%
\LWR at printatbang{at}{leftedge}%
\LWR at printatbang{bang}{leftedge}%
@@ -16395,7 +16625,7 @@
% \end{macrocode}
% Fetch the current column's alignment character into |\LWR at strresult|:
% \begin{macrocode}
- \StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}[\LWR at strresult]%
+ \StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}[\LWR at strresult]%
% \end{macrocode}
% print the start of a new table data cell:
% \begin{macrocode}
@@ -16410,7 +16640,7 @@
% \begin{macrocode}
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
- \LWR at printbartag{\theLWR at tablecolspos}%
+ \LWR at printbartag{\arabic{LWR at tablecolindex}}%
"%
% \end{macrocode}
% \changes{v0.42}{2017/10/26}{If \protect\texttt{FormatWP} add cell alignment.}
@@ -16442,7 +16672,9 @@
% \begin{macrocode}
\ifboolexpr{bool{LWR at tabularmutemods} or bool{LWR at emptyatbang}}%
{}%
- {\LWR at getexparray{LWR at colbeforespec}{\theLWR at tablecolspos}}%
+ {%
+ \LWR at getexparray{LWR at colbeforespec}{\arabic{LWR at tablecolindex}}%
+ }%
\global\boolfalse{LWR at intabularmetadata}%
}% not exiting tabular
}{}% in tabular metadata
@@ -16522,13 +16754,13 @@
{%
\setcounter{LWR at midrulecounter}{1}%
\whiledo{%
-\cnttest{\value{LWR at midrulecounter}}{<=}{\value{LWR at tablecolswidth}}%
+\cnttest{\value{LWR at midrulecounter}}{<=}{\value{LWR at tablecolspecwidth}}%
}%
{%
-\LWR at setexparray{LWR at midrules}{\theLWR at midrulecounter}{0pt}%
+\LWR at setexparray{LWR at midrules}{\arabic{LWR at midrulecounter}}{0pt}%
\setlength{\LWR at thiscmidrulewidth}{\LWR at cmidrulewidth}%
-\LWR at setexparray{LWR at trimlrules}{\theLWR at midrulecounter}{}%
-\LWR at setexparray{LWR at trimrrules}{\theLWR at midrulecounter}{}%
+\LWR at setexparray{LWR at trimlrules}{\arabic{LWR at midrulecounter}}{}%
+\LWR at setexparray{LWR at trimrrules}{\arabic{LWR at midrulecounter}}{}%
\addtocounter{LWR at midrulecounter}{1}%
}%
}
@@ -16552,7 +16784,7 @@
\setcounter{LWR at midrulecounter}{#3}%
\whiledo{\cnttest{\value{LWR at midrulecounter}}{<=}{#4}}%
{%
-\LWR at setexparray{LWR at midrules}{\theLWR at midrulecounter}{#1}%
+\LWR at setexparray{LWR at midrules}{\arabic{LWR at midrulecounter}}{#1}%
\addtocounter{LWR at midrulecounter}{1}%
}% whiledo
\IfSubStr{#2}{l}{\LWR at setexparray{LWR at trimlrules}{#3}{l}}{}%
@@ -16629,7 +16861,7 @@
%
% \begin{macrocode}
\newcommand*{\LWR at subaddcmidruletrim}[2]{%
-\setlength{\LWR at templengthone}{\LWR at getexparray{LWR at midrules}{\theLWR at tablecolspos}}%
+\setlength{\LWR at templengthone}{\LWR at getexparray{LWR at midrules}{\arabic{LWR at tablecolindex}}}%
\ifdimcomp{\LWR at templengthone}{>}{0pt}%
{%
% \end{macrocode}
@@ -16657,8 +16889,8 @@
% \begin{macrocode}
\newcommand*{\LWR at addcmidruletrim}{%
\LWR at subaddcmidruletrim%
-{\LWR at getexparray{LWR at trimlrules}{\theLWR at tablecolspos}}%
-{\LWR at getexparray{LWR at trimrrules}{\theLWR at tablecolspos}}%
+{\LWR at getexparray{LWR at trimlrules}{\arabic{LWR at tablecolindex}}}%
+{\LWR at getexparray{LWR at trimrrules}{\arabic{LWR at tablecolindex}}}%
}
% \end{macrocode}
% \end{macro}
@@ -16745,7 +16977,7 @@
% \begin{macrocode}
\newcommand*{\LWR at addformatwpalignment}{%
\ifbool{FormatWP}{%
-\StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}[\LWR at strresult]%
+\StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}[\LWR at strresult]%
\ifdefstring{\LWR at strresult}{l}{\LWR at WPcell{left}{middle}}{}%
\ifdefstring{\LWR at strresult}{c}{\LWR at WPcell{center}{middle}}{}%
\ifdefstring{\LWR at strresult}{r}{\LWR at WPcell{right}{middle}}{}%
@@ -16774,8 +17006,12 @@
\newcounter{LWR at tablemulticolspos}
% \end{macrocode}
+% Remembers multicolumn vertical rules if found in the column spec.
+% \begin{macrocode}
+\newbool{LWR at mcolvertbarl}
+\newbool{LWR at mcolvertbarr}
+% \end{macrocode}
-
% \begin{macro}{\LWR at printmccoltype} \marg{colspec}
% Print any valid column type found. Does not print |@|, |!|, |>|, or |<| columns
% or their associated tokens.
@@ -16787,7 +17023,7 @@
% \end{macrocode}
% Get one token of the column spec:
% \begin{macrocode}
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
% \end{macrocode}
% Add to the \HTML\ tag depending on which column type is found:
% \begin{macrocode}
@@ -16802,6 +17038,14 @@
\IfStrEq{\LWR at strresult}{B}{B}{}%
\IfStrEq{\LWR at strresult}{S}{r}{}%
\IfStrEq{\LWR at strresult}{X}{p}{}%
+% \end{macrocode}
+% \changes{v0.43}{2017/11/07}{Added vertical rules.}
+% \begin{macrocode}
+\IfStrEq{\LWR at strresult}{|}{%
+ \ifthenelse{\value{LWR at tablemulticolspos}=1}%
+ {\booltrue{LWR at mcolvertbarl}}%
+ {\booltrue{LWR at mcolvertbarr}}%
+}{}%
\LWR at traceinfo{lwr at printmccoltype done}%
}
% \end{macrocode}
@@ -16823,7 +17067,7 @@
% \begin{macrocode}
\newcommand*{\LWR at multicolother}[1]{%
\addtocounter{LWR at tablemulticolspos}{1}%
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
\LWR at strresult%
% \end{macrocode}
% A valid column data type was found:
@@ -16863,7 +17107,7 @@
% \end{macrocode}
% Get one token of the column spec:
% \begin{macrocode}
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
% \end{macrocode}
% Print the text depending on which column type is found.
% Also handles |@|, |>|, |<| as it comes to them.
@@ -16920,7 +17164,7 @@
% Scan across the tokens in the column spec:
% \begin{macrocode}
\whiledo{%
-\not\value{LWR at tablemulticolspos}>\value{LWR at tablemulticolswidth}%
+ \NOT\value{LWR at tablemulticolspos}>\value{LWR at tablemulticolswidth}%
}%
{%
% \end{macrocode}
@@ -16945,33 +17189,47 @@
\newcommand{\LWR at multicoltext}{}
% \end{macrocode}
+% To find multicolumn right trim:
+% \begin{macrocode}
+\newcounter{LWR at lastmulticolumn}
+% \end{macrocode}
+
% \begin{macro}{\LWR at domulticolumn}
-% \oarg{1: vpos} \oarg{2: \#rows} \marg{3: numcols} \marg{4: colspec} \marg{5: text}
+% \oarg{1: vpos} \oarg{2: \#rows}
+% \marg{3: numLaTeXcols} \marg{4: numHTMLcols}
+% \marg{5: colspec} \marg{6: text}
%
% \changes{v0.39}{2017/08/30}{Add: Optional \protect\texttt{vpos} and \# rows.}
% \changes{v0.41}{2017/09/28}{Add: \cs{cmidrule} trims.}
%
% \begin{macrocode}
-\NewDocumentCommand{\LWR at domulticolumn}{o o m m +m}{%
-\LWR at traceinfo{lwr at domulticolumn -#1- -#2- -#3- -#4-}%
+\NewDocumentCommand{\LWR at domulticolumn}{o o m m m +m}{%
+\LWR at traceinfo{LWR at domulticolumn -#1- -#2- -#4- -#5-}%
% \end{macrocode}
% Remember the text to be inserted, and
% remember that a valid column type was found:
% \begin{macrocode}
\renewcommand{\LWR at multicoltext}{%
-#5%
+#6%
\booltrue{LWR at validtablecol}%
}%
% \end{macrocode}
+% Compute the rightmost column to be included.
+% This is used to create the right trim.
+% \changes{v0.43}{2017/11/07}{Fix: Multicolumn trim.}
+% \begin{macrocode}
+\setcounter{LWR at lastmulticolumn}{\value{LWR at tablecolindex}}%
+\addtocounter{LWR at lastmulticolumn}{#3}%
+\addtocounter{LWR at lastmulticolumn}{-1}%
+% \end{macrocode}
% Row processing:
% \begin{macrocode}
\LWR at maybenewtablerow%
-\LWR at tabularleftedge%
% \end{macrocode}
% Begin the opening table data tag:
% \begin{macrocode}
-\LWR at htmltag{td colspan="#3" %
+\LWR at htmltag{td colspan="#4" %
% \end{macrocode}
%
% \begin{macrocode}
@@ -16990,19 +17248,27 @@
% \begin{macrocode}
class="td%
% \end{macrocode}
-% Print the column type:
+% Print the column type and vertical bars:
% \begin{macrocode}
-\LWR at parsemulticolumnalignment{#4}{\LWR at printmccoltype}%
+\boolfalse{LWR at mcolvertbarl}%
+\boolfalse{LWR at mcolvertbarr}%
+\LWR at parsemulticolumnalignment{#5}{\LWR at printmccoltype}%
% \end{macrocode}
% If this column has a cmidrule, add ``rule'' to the end of the \HTML\ class tag.
%
-% If this position had a ``Y'' then add ``rule''.
+% If this position had a ``Y'' then add ``rule'' for a horizontal rule:
+% \changes{v0.43}{2017/11/07}{Fix: Multicolumn trim.}
+% \begin{macrocode}
+\LWR at subaddcmidruletrim%
+{\LWR at getexparray{LWR at trimlrules}{\arabic{LWR at tablecolindex}}}%
+{\LWR at getexparray{LWR at trimrrules}{\arabic{LWR at lastmulticolumn}}}%
+% \end{macrocode}
% Also add vertical bar class.
% \changes{v0.41}{2017/10/07}{Added vertical rules.}
+% \changes{v0.43}{2017/11/07}{Fix for vertical rules.}
% \begin{macrocode}
-\LWR at addcmidruletrim%
-\LWR at addleftmostbartag%
-\LWR at printbartag{\theLWR at tablecolspos}%
+\ifbool{LWR at mcolvertbarl}{ tvertbarl}{}%
+\ifbool{LWR at mcolvertbarr}{ tvertbarr}{}%
% \end{macrocode}
% Close the class tag's opening quote:
% \begin{macrocode}
@@ -17016,7 +17282,7 @@
\LWR at tdendstyles%
}% end of the opening table data tag
\global\boolfalse{LWR at intabularmetadata}%
-\LWR at parsemulticolumnalignment{#4}{\LWR at printmccoldata}%
+\LWR at parsemulticolumnalignment{#5}{\LWR at printmccoldata}%
}
% \end{macrocode}
% \end{macro}
@@ -17031,16 +17297,16 @@
% \end{macrocode}
% Figure out how many extra \HTML\ columns to add for |@| and |!| columns:
% \begin{macrocode}
-\LWR at tabularhtmlcolumns{\theLWR at tablecolspos}{#1}
+\LWR at tabularhtmlcolumns{\arabic{LWR at tablecolindex}}{#1}
% \end{macrocode}
% Create the multicolumn tag:
% \begin{macrocode}
-\LWR at domulticolumn{\theLWR at tabhtmlcoltotal}{#2}{#3}%
+\LWR at domulticolumn{#1}{\arabic{LWR at tabhtmlcoltotal}}{#2}{#3}%
% \end{macrocode}
% Move to the next \LaTeX\ column:
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{#1}%
-\addtocounter{LWR at tablecolspos}{-1}%
+\addtocounter{LWR at tablecolindex}{#1}%
+\addtocounter{LWR at tablecolindex}{-1}%
% \end{macrocode}
% Skip any trailing |@| or |!| columns for this cell:
% \begin{macrocode}
@@ -17093,11 +17359,12 @@
% Figure out how many extra \HTML\ columns to add for |@| and |!| columns
% found between the first and the last column:
% \begin{macrocode}
-\LWR at tabularhtmlcolumns{1}{\theLWR at tabletotalcols}
+\LWR at tabularhtmlcolumns{1}{\arabic{LWR at tabletotalcols}}
% \end{macrocode}
% Create the multicolumn tag:
% \begin{macrocode}
-\LWR at domulticolumn{\theLWR at tabhtmlcoltotal}{P}{% \LWR at domulticolumn
+\LWR at domulticolumn{\arabic{LWR at tabletotalcols}}{\arabic{LWR at tabhtmlcoltotal}}{P}%
+{% \LWR at domulticolumn
\IfBooleanTF{#1}% star?
% \end{macrocode}
% Star version, show a caption but do not make a LOT entry:
@@ -17176,8 +17443,8 @@
\booltrue{LWR at skipatbang}%
}% end of \LWR at domulticolumn
-\addtocounter{LWR at tablecolspos}{\theLWR at tabletotalcols}
-\addtocounter{LWR at tablecolspos}{-1}
+\addtocounter{LWR at tablecolindex}{\arabic{LWR at tabletotalcols}}
+\addtocounter{LWR at tablecolindex}{-1}
}
% \end{macrocode}
@@ -17204,6 +17471,33 @@
\newcounter{LWR at tabhtmlcoltotal}
% \end{macrocode}
+
+% \begin{macro}{\LWR at subtabularhtmlcolumns} \marg{index}
+%
+% Factored from \cs{LWr at tabularhtmlcolumns}, which follows.
+% \begin{macrocode}
+\newcommand*{\LWR at subtabularhtmlcolumns}[1]{%
+% \end{macrocode}
+% Temporarily define a macro equal to the |@| specification for this column:
+% \begin{macrocode}
+ \edef\LWR at atbangspec{\LWR at getexparray{LWR at colatspec}{#1}}%
+% \end{macrocode}
+% If the |@| specification is not empty, add to the count:
+% \begin{macrocode}
+ \ifdefempty{\LWR at atbangspec}%
+ {}%
+ {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
+% \end{macrocode}
+% Likewise for the |!| columns:
+% \begin{macrocode}
+ \edef\LWR at atbangspec{\LWR at getexparray{LWR at colbangspec}{#1}}%
+ \ifdefempty{\LWR at atbangspec}%
+ {}%
+ {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\LWR at tabularhtmlcolumns}
% \marg{starting \LaTeX\ column} \marg{number \LaTeX\ columns}
%
@@ -17223,31 +17517,16 @@
\setcounter{LWR at tabhtmlcolend}{#1}%
\addtocounter{LWR at tabhtmlcolend}{#2}%
% \end{macrocode}
+% If at the left edge, add the at/bang columns for the left edge:
+% \begin{macrocode}
+\ifthenelse{\value{LWR at tabhtmlcolindex}=1}{%
+ \LWR at subtabularhtmlcolumns{leftedge}%
+}{}%
+% \end{macrocode}
% Walk across the \LaTeX\ columns looking for |@| and |!| columns:
% \begin{macrocode}
\whiledo{\value{LWR at tabhtmlcolindex}<\value{LWR at tabhtmlcolend}}{%
-% \end{macrocode}
-% Temporarily define a macro equal to the |@| specification for this column:
-% \begin{macrocode}
- \edef\LWR at atbangspec{\LWR at getexparray{LWR at colatspec}%
- {\theLWR at tabhtmlcolindex}}%
-% \end{macrocode}
-% If the |@| specification is not empty, add to the count:
-% \begin{macrocode}
- \ifdefempty{\LWR at atbangspec}%
- {}%
- {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
-% \end{macrocode}
-% Likewise for the |!| columns:
-% \begin{macrocode}
- \edef\LWR at atbangspec{\LWR at getexparray{LWR at colbangspec}%
- {\theLWR at tabhtmlcolindex}}%
- \ifdefempty{\LWR at atbangspec}%
- {}%
- {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
-% \end{macrocode}
-% Move to the next \LaTeX\ column:
-% \begin{macrocode}
+ \LWR at subtabularhtmlcolumns{\arabic{LWR at tabhtmlcolindex}}%
\addtocounter{LWR at tabhtmlcolindex}{1}%
}% whiledo
}
@@ -17384,9 +17663,9 @@
% See \cref{sec:limitstabular}.
%
% \changes{v0.39}{2017/08/29}{Added.}
-%
+% \changes{v0.43}{2017/11/07}{\cs{newcommand} instead of \cs{relax} to fix \pkg{supertabular} and \pkg{xtab}.}
% \begin{macrocode}
-\let\TabularMacro\relax
+\newcommand*{\TabularMacro}{}
% \end{macrocode}
% \end{macro}
@@ -17488,7 +17767,7 @@
% If exiting the tabular:
% \begin{macrocode}
\ifdefequal{\LWR at mynexttoken}{\end}%
- {\booltrue{LWR at exitingtabular}}{}%
+ {\global\booltrue{LWR at exitingtabular}}{}%
% \end{macrocode}
% \env{longtable} can have a caption in a cell
% \begin{macrocode}
@@ -17650,7 +17929,7 @@
{
\newcommand*{\LWR at hline}[1][]{%
\ifbool{FormatWP}%
- {\LWR at docmidrule{1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule{1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
\LWR at getmynexttoken}%
}
@@ -17657,7 +17936,7 @@
{
\newcommand*{\LWR at hline}{%
\ifbool{FormatWP}%
- {\LWR at docmidrule{1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule{1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
\LWR at getmynexttoken}%
}
@@ -17731,8 +18010,8 @@
% Have not yet found the end of tabular command.
% Unmute the |@| and |!| columns.
% \begin{macrocode}
-\boolfalse{LWR at exitingtabular}%
-\boolfalse{LWR at tabularmutemods}%
+\global\boolfalse{LWR at exitingtabular}%
+\global\boolfalse{LWR at tabularmutemods}%
% \end{macrocode}
% Create the |table| tag:
% \begin{macrocode}
@@ -17750,10 +18029,14 @@
% \begin{macrocode}
\LWR at stoppars%
% \end{macrocode}
-% Track column \# for setting text-align:
+% Track column \#:
% \begin{macrocode}
-\setcounter{LWR at tablecolspos}{1}%
+\setcounter{LWR at tablecolindex}{1}%
% \end{macrocode}
+% Have not yet added data in this column:
+% \begin{macrocode}
+\boolfalse{LWR at tabularcelladded}%
+% \end{macrocode}
% Start looking for midrules:
% \begin{macrocode}
\LWR at clearmidrules%
@@ -17780,10 +18063,10 @@
\DeclareDocumentCommand{\toprule}{o d()}
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doingtbrule}}%
}%
\LWR at getmynexttoken}%
@@ -17791,10 +18074,10 @@
\DeclareDocumentCommand{\midrule}{o d()}%
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
}%
\LWR at getmynexttoken}%
@@ -17805,10 +18088,10 @@
\DeclareDocumentCommand{\bottomrule}{o d()}
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doingtbrule}}%
}%
\LWR at getmynexttoken}%
@@ -17816,7 +18099,7 @@
\DeclareDocumentCommand{\addlinespace}{o}{}%
\DeclareDocumentCommand{\morecmidrules}{}{}%
\DeclareDocumentCommand{\specialrule}{m m m d()}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}\LWR at getmynexttoken}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}\LWR at getmynexttoken}%
% \end{macrocode}
% The following create data cells and will have no more data in this cell,
% so we do not want to look ahead for a possible data cell,
@@ -17830,7 +18113,6 @@
}%
\renewcommand*{\mcolrowcell}{%
\LWR at maybenewtablerow%
- \LWR at tabularleftedge%
\global\booltrue{LWR at skippingmcolrowcell}%
}%
\LetLtxMacro{\caption}{\LWR at longtabledatacaptiontag}%
@@ -17858,7 +18140,14 @@
% \begin{macrocode}
{%
\LWR at traceinfo{LWR at tabular ending}%
-\ifthenelse{\value{LWR at tablecolspos}<\value{LWR at tablecolswidth}}{%
+\ifthenelse{%
+ \(%
+ \boolean{LWR at intabularmetadata} \AND%
+ \NOT\boolean{LWR at tabularcelladded} \AND%
+ \cnttest{\value{LWR at tablecolindex}}{=}{\value{LWR at tabletotalcols}}%
+ \) \OR%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+}{%
\LWR at tabularfinishrow%
}%
{%
@@ -18056,7 +18345,7 @@
% Define a new property which has either a filename or a file number:
% \begin{macrocode}
\zref at newprop{zLWR at htmlfilenumber}{%
-\ifbool{FileSectionNames}{\LWR at thisfilename}{\theLWR at htmlfilenumber}%
+\ifbool{FileSectionNames}{\LWR at thisfilename}{\arabic{LWR at htmlfilenumber}}%
}%
% \end{macrocode}
% Additional properties for lateximages:
@@ -18188,7 +18477,7 @@
% \begin{macrocode}
\LWR at traceinfo{LWR at newlabel: filesectionnames is \ifbool{FileSectionNames}{true}{false}}%
\LWR at traceinfo{LWR at newlabel: LWR at thisfilename is !\LWR at thisfilename!}%
-\LWR at traceinfo{LWR at newlabel: LWR at htmlfilenumber is \theLWR at htmlfilenumber}%
+\LWR at traceinfo{LWR at newlabel: LWR at htmlfilenumber is \arabic{LWR at htmlfilenumber}}%
\LWR at splabel{#1}%
\LWR at subsublabel{#1}%
% \@esphack%
@@ -18324,8 +18613,10 @@
% \begin{macro}{\nameref} \marg{label}
+%
+% \changes{v0.43}{2017/10/31}{Made robust.}
% \begin{macrocode}
-\newcommand*{\nameref}[1]{%
+\DeclareRobustCommand*{\nameref}[1]{%
\LWR at traceinfo{nameref A}%
\LWR at startref{#1}%
\LWR at traceinfo{nameref B}%
@@ -18396,6 +18687,8 @@
% \begin{macro}{\href} \oarg{options} \marg{URL} \marg{text}
%
% Create a link with accompanying text:
+%
+% \changes{v0.43}{2017/10/31}{Made robust.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at hrefb}{O{} m +m}{%
\LWR at subhyperref{#2}{#3}%
@@ -18403,7 +18696,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\href}{%
+\DeclareRobustCommand*{\href}{%
\LWR at ensuredoingapar%
\begingroup%
\catcode`\_=12
@@ -18415,10 +18708,11 @@
% \begin{macro}{\nolinkurl} \marg{URL}
%
% Print the name of the link without creating the link:
+% \changes{v0.43}{2017/10/31}{Made robust.}
% \begin{macrocode}
\newcommand*{\LWR at nolinkurlb}[1]{#1\endgroup\LWR at ensuredoingapar}
-\newcommand{\nolinkurl}{%
+\DeclareRobustCommand*{\nolinkurl}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at nolinkurlb%
@@ -18432,6 +18726,8 @@
% Create a link whose text name is the address of the link.
% The \pkg{url} package may redefine \cs{url}, so it is \cs{let} to \cs{LWR at urla}here
% and also redefined by \pkg{lwarp-url}.
+%
+% \changes{v0.43}{2017/10/31}{Made robust.}
% \begin{macrocode}
\newcommand*{\LWR at urlb}[1]{%
\href{#1}{#1}%
@@ -18439,7 +18735,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\LWR at urla}{%
+\DeclareRobustCommand*{\LWR at urla}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at urlb%
@@ -19485,12 +19781,15 @@
% \changes{v0.40}{2017/09/09}{Improved symbols inside a \env{lateximage}.}
% \changes{v0.40}{2017/09/09}{Improved \protect\LaTeX\ logos inside a \env{lateximage}.}
% \changes{v0.40}{2017/09/09}{Nullified \cs{InlineClass}, etc. inside a \env{lateximage}.}
-% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
%
% \begin{macrocode}
\newcommand*{\LWR at restoreorigformatting}{%
\LWR at traceinfo{LWR at restoreorigformatting}%
\linespread{1}%
+% \end{macrocode}
+% \changes{v0.43}{2017/10/31}{Fix: \cs{ref} in math or lateximage.}
+% \begin{macrocode}
+\LetLtxMacro\ref\LWR at origref%{} syntax highlighting
\RenewDocumentCommand{\InlineClass}{o m +m}{##3}%
\RenewDocumentEnvironment{BlockClass}{o m}{}{}%
\renewcommand{\BlockClassSingle}[2]{##2}%
@@ -19562,7 +19861,15 @@
\let\LaTeX\LWR at origLaTeX%
\let\LaTeXe\LWR at origLaTeXe%
\renewcommand*{\Xe}{X\textsubscript{E}}%
+% \end{macrocode}
+% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
+% \begin{macrocode}
\LetLtxMacro\@ensuredmath\LWR at origensuredmath%
+% \end{macrocode}
+% \changes{v0.43}{2017/10/31}{Fix: Improved math inside lateximages.}
+% \begin{macrocode}
+\csletcs{equation*}{LWR at origequationstar}%
+\csletcs{endequation*}{LWR at origendequationstar}%
%
\LWR at restoreorigaccents%
%
@@ -19652,7 +19959,7 @@
%
% Redefine the double dollar sign to place math inside a \env{lateximage}, or use MathJax:
% \begin{macrocode}
-\gdef\LWR at doubledollar$#1$${
+\protected\gdef\LWR at doubledollar$#1$${
% \end{macrocode}
% If MathJax or formatting for a word processor, print the \LaTeX\ expression:
% \changes{v0.42}{2017/10/26}{If \protect\texttt{FormatWP} print LaTeX expression.}
@@ -19693,7 +20000,7 @@
%
% \changes{v0.42}{2017/10/26}{If \protect\texttt{FormatWP} print LaTeX expression.}
% \begin{macrocode}
-\gdef\LWR at subsingledollar#1{%
+\protected\gdef\LWR at subsingledollar#1{%
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
% \end{macrocode}
% For MathJax, print the math between |\(| and |\)|:
@@ -19712,7 +20019,7 @@
}%
}
-\gdef\LWR at singledollar#1${%
+\protected\gdef\LWR at singledollar#1${%
\LWR at subsingledollar{#1}%
}
% \end{macrocode}
@@ -19723,8 +20030,9 @@
% \begin{macro}{\)}
% Redefine to the above dollar macros.
% \begin{macrocode}
-\gdef\(#1\){$#1$}
-\gdef\[#1\]{$$#1$$}
+\protected\gdef\(#1\){%
+$#1$}
+\protected\gdef\[#1\]{$$#1$$}
\endgroup
@@ -20002,7 +20310,19 @@
% \end{environment}
+% \begin{environment}{equation*}
+% \begin{macrocode}
+\csletcs{LWR at origequationstar}{equation*}
+\csletcs{LWR at origendequationstar}{endequation*}
+\renewenvironment*{equation*}
+{\displaymath}
+{\enddisplaymath}
+% \end{macrocode}
+% \end{environment}
+
+
+
% \subsection{AMS Math environments}
% \changes{v0.19}{2016/05/25}{MathJax support added.}
%
@@ -20853,7 +21173,7 @@
% \end{macrocode}
% Figure out what the next page number will be:
% \begin{macrocode}
- \setcounterpageref{LWR at LIpage}{LWRlateximage\theLWR at lateximagenumber}%
+ \setcounterpageref{LWR at LIpage}{LWRlateximage\arabic{LWR at lateximagenumber}}%
\LWR at traceinfo{lateximage: LWR at LIpage is \arabic{LWR at LIpage}}%
% \end{macrocode}
% Create an \HTML\ span which will hold the comment which contains the |pdftotext| translation
@@ -21496,14 +21816,17 @@
% These will be further encased and patched by other packages later.
%
% \begin{macrocode}
-\let\LWR at origlabel\label
-\let\label\LWR at newlabel
-\let\LWR at origref\ref
-\let\ref\LWR at newref% \end{ syntax highlighting
-\let\LWR at origpageref\pageref
-\let\pageref\LWR at newpageref
+\LetLtxMacro\LWR at origlabel\label
+% \LetLtxMacro\label\LWR at newlabel
+\RenewDocumentCommand{\label}{}{\LWR at newlabel}
+\LetLtxMacro\LWR at origref\ref
+% \LetLtxMacro\ref\LWR at newref
+\RenewDocumentCommand{\ref}{}{\LWR at newref}%
+\LetLtxMacro\LWR at origpageref\pageref
+% \LetLtxMacro\pageref\LWR at newpageref
+\RenewDocumentCommand{\pageref}{}{\LWR at newpageref}
\end{warpHTML}
% \end{macrocode}
@@ -22335,6 +22658,7 @@
% \changes{v0.34}{2017/08/05}{Improved font control.}
% \changes{v0.36}{2017/08/15}{Fix: Filenames while using MathJax.}
% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
+% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
% \begin{macrocode}
\newcommand*{\LWR at nullfonts}{%
\LetLtxMacro{\emph}{\LWR at nullemph}%
@@ -22371,6 +22695,7 @@
\RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
\DeclareExpandableDocumentCommand{\InlineClass}{+o +m +m}{##3}%
\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{##3}%
+\DeclareRobustCommand{\LWR at subsingledollar}[1]{}%
}
% \end{macrocode}
% \end{macro}
@@ -24374,9 +24699,52 @@
%
%
%
+% \iffalse
+%<*breakurl>
+% \fi
%
+% \part{lwarp-breakurl.sty}
%
+% \section{breakurl}
+%
+% \DescribePackage{breakurl}
+% \pkg{breakurl} is emulated.
+%
+% \changes{v0.43}{2017/10/31}{\pkg{breakurl}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{breakurl}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LetLtxMacro\burl\url
+
+\NewDocumentCommand{\LWR at burlaltb}{O{} +m m}{%
+\LWR at subhyperref{#3}{#2}% order reversed from \href
+\endgroup%
+\LWR at ensuredoingapar%
+}
+
+\DeclareRobustCommand*{\burlalt}{%
+\LWR at ensuredoingapar%
+\begingroup%
+\catcode`\_=12
+\LWR at burlaltb%
+}
+\LetLtxMacro\urlalt\burlalt
+% \end{macrocode}
+%
% \iffalse
+%</breakurl>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
%<*caption2>
% \fi
%
@@ -27879,6 +28247,8 @@
% \begin{noindmacro}{\hyperimage} \marg{url} \marg{alt text}
%
% Insert an image with alt text:
+%
+% \changes{v0.43}{2017/10/31}{\pkg{hyperref}: Made robust.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at hyperimageb}{m +m}{%
\LWR at htmltag{img src="#1" alt="#2" class="hyperimage"{}}%
@@ -27886,7 +28256,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\hyperimage}{%
+\DeclareRobustCommand*{\hyperimage}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at hyperimageb%
@@ -27941,8 +28311,9 @@
% \marg{1: URL} \marg{2: category} \marg{3: name} \marg{4: text} \quad ---\,or\,--- \\
% \oarg{1: label} \marg{2: text}
%
+% \changes{v0.43}{2017/10/31}{\pkg{hyperref}: Made robust.}
% \begin{macrocode}
-\newcommand{\hyperref}{%
+\DeclareRobustCommand*{\hyperref}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\@ifnextchar[\LWR at hyperrefc\LWR at hyperrefb%
@@ -28071,9 +28442,10 @@
% \begin{noindmacro}{\TextField} \oarg{parameters} \marg{label}
+% \changes{v0.43}{2017/10/31}{\pkg{hyperref}: Made robust.}
%
% \begin{macrocode}
-\newcommand*{\TextField}[2][]{}
+\DeclareRobustCommand{\TextField}[2][]{}
% \end{macrocode}
% \end{noindmacro}
@@ -28081,7 +28453,7 @@
% \begin{noindmacro}{\CheckBox} \oarg{parameters} \marg{label}
%
% \begin{macrocode}
-\newcommand*{\CheckBox}[2][]{}
+\DeclareRobustCommand{\CheckBox}[2][]{}
% \end{macrocode}
% \end{noindmacro}
@@ -28089,7 +28461,7 @@
% \begin{noindmacro}{\ChoiceMenu} \oarg{parameters} \marg{label} \marg{choices}
%
% \begin{macrocode}
-\newcommand{\ChoiceMenu}[3][]{}
+\DeclareRobustCommand{\ChoiceMenu}[3][]{}
% \end{macrocode}
% \end{noindmacro}
@@ -28097,7 +28469,7 @@
% \begin{noindmacro}{\PushButton} \oarg{parameters} \marg{label}
%
% \begin{macrocode}
-\newcommand*{\PushButton}[2][]{}
+\DeclareRobustCommand{\PushButton}[2][]{}
% \end{macrocode}
% \end{noindmacro}
@@ -28105,7 +28477,7 @@
% \begin{noindmacro}{\Submit} \oarg{parameters} \marg{label}
%
% \begin{macrocode}
-\newcommand*{\Submit}[2][]{}
+\DeclareRobustCommand{\Submit}[2][]{}
% \end{macrocode}
% \end{noindmacro}
@@ -28113,11 +28485,20 @@
% \begin{noindmacro}{\Reset} \oarg{parameters} \marg{label}
%
% \begin{macrocode}
-\newcommand*{\Reset}[2][]{}
+\DeclareRobustCommand{\Reset}[2][]{}
% \end{macrocode}
% \end{noindmacro}
+% \begin{noindmacro}{\Gauge} \oarg{parameters} \marg{label}
+%
+% \changes{v0.43}{2017/10/31}{\pkg{hyperref}: \cs{Gauge} added.}
+% \begin{macrocode}
+\DeclareRobustCommand{\Gauge}[2][]{}
+% \end{macrocode}
+% \end{noindmacro}
+
+
% \begin{noindmacro}{\LayoutTextField} \marg{label} \marg{field}
%
% \begin{macrocode}
@@ -29086,8 +29467,45 @@
%
%
%
+% \iffalse
+%<*luatodonotes>
+% \fi
%
+% \part{lwarp-luatodonotes.sty}
+%
+% \section{luatodonotes}
+%
+% \DescribePackage{luatodonotes}
+% \pkg{luatodonotes} is emulated.
+%
+% \limitstodonotes
+%
+% \changes{v0.43}{2017/10/07}{\pkg{luatodonotes}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{luatodonotes}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\listoftodos}[1][]{}
+\newcommand{\todo}[2][]{}
+\newcommand{\missingfigure}[2][]{}
+\newcommand{\todototoc}{}
+\newcommand{\todoarea}[3][]{}%
+% \end{macrocode}
+%
% \iffalse
+%</luatodonotes>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*marginfit>
% \fi
%
@@ -30226,7 +30644,7 @@
% \end{macrocode}
% Append this column's spec:
% \begin{macrocode}
-\StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}%
+\StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}%
% \end{macrocode}
% If this column has a cmidrule, add ``rule'' to the end of the \HTML\ class tag.
% Also add the vertical bar class.
@@ -30234,7 +30652,7 @@
% \begin{macrocode}
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
-\LWR at printbartag{\theLWR at tablecolspos}%
+\LWR at printbartag{\arabic{LWR at tablecolindex}}%
"%
% \end{macrocode}
% \changes{v0.42}{2017/10/26}{\pkg{multirow}: If \protect\texttt{FormatWP} add cell alignment.}
@@ -30248,7 +30666,7 @@
% \changes{v0.41}{2017/10/05}{Fix: \protect\textless\ spec.}
% The column's |<| spec:
% \begin{macrocode}
-\LWR at getexparray{LWR at colbeforespec}{\theLWR at tablecolspos}%
+\LWR at getexparray{LWR at colbeforespec}{\arabic{LWR at tablecolindex}}%
% \end{macrocode}
% While printing the text, redefine |\\| to generate a new line
% \begin{macrocode}
@@ -30282,18 +30700,19 @@
% \end{macrocode}
% Figure out how many extra \HTML\ columns to add for |@| and |!| columns:
% \begin{macrocode}
-\LWR at tabularhtmlcolumns{\theLWR at tablecolspos}{#1}
+\LWR at tabularhtmlcolumns{\arabic{LWR at tablecolindex}}{#1}
% \end{macrocode}
% Create the multicolumn/multirow tag:
% \begin{macrocode}
-\begingroup\LetLtxMacro{\\}{\LWR at endofline}%
-\LWR at domulticolumn[#3][#4]{\theLWR at tabhtmlcoltotal}{#2}{#8}%
+\begingroup%
+\LetLtxMacro{\\}{\LWR at endofline}%
+\LWR at domulticolumn[#3][#4]{#1}{\arabic{LWR at tabhtmlcoltotal}}{#2}{#8}%
\endgroup%
% \end{macrocode}
% Move to the next \LaTeX\ column:
% \begin{macrocode}
-\addtocounter{LWR at tablecolspos}{#1}%
-\addtocounter{LWR at tablecolspos}{-1}%
+\addtocounter{LWR at tablecolindex}{#1}%
+\addtocounter{LWR at tablecolindex}{-1}%
% \end{macrocode}
% Skip any trailing |@| or |!| columns for this cell:
% \begin{macrocode}
@@ -35217,10 +35636,44 @@
%
%
%
+% \iffalse
+%<*todonotes>
+% \fi
%
+% \part{lwarp-todonotes.sty}
%
+% \section{todonotes}
%
+% \DescribePackage{todonotes}
+% \pkg{todonotes} is emulated.
+%
+% \limitstodonotes
+%
+% \changes{v0.43}{2017/10/07}{\pkg{todonotes}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{todonotes}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\listoftodos}[1][]{}
+\newcommand{\todo}[2][]{}
+\newcommand{\missingfigure}[2][]{}
+\newcommand{\todototoc}{}
+% \end{macrocode}
+%
% \iffalse
+%</todonotes>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*transparent>
% \fi
%
Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins 2017-11-09 01:32:04 UTC (rev 45722)
@@ -55,6 +55,7 @@
\file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
+\file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}
\file{lwarp-ccaption.sty}{\from{lwarp.dtx}{ccaption}}
\file{lwarp-changepage.sty}{\from{lwarp.dtx}{changepage}}
\file{lwarp-chngpage.sty}{\from{lwarp.dtx}{chngpage}}
@@ -117,6 +118,7 @@
\file{lwarp-longtable.sty}{\from{lwarp.dtx}{longtable}}
\file{lwarp-lscape.sty}{\from{lwarp.dtx}{lscape}}
\file{lwarp-ltcaption.sty}{\from{lwarp.dtx}{ltcaption}}
+\file{lwarp-luatodonotes.sty}{\from{lwarp.dtx}{luatodonotes}}
\file{lwarp-marginfit.sty}{\from{lwarp.dtx}{marginfit}}
\file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}}
\file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}}
@@ -187,6 +189,7 @@
\file{lwarp-titling.sty}{\from{lwarp.dtx}{titling}}
\file{lwarp-tocbibind.sty}{\from{lwarp.dtx}{tocbibind}}
\file{lwarp-tocloft.sty}{\from{lwarp.dtx}{tocloft}}
+\file{lwarp-todonotes.sty}{\from{lwarp.dtx}{todonotes}}
\file{lwarp-transparent.sty}{\from{lwarp.dtx}{transparent}}
\file{lwarp-trivfloat.sty}{\from{lwarp.dtx}{trivfloat}}
\file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -0,0 +1,36 @@
+%%
+%% This is file `lwarp-breakurl.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `breakurl')
+%% This is a generated file.
+%% Copyright 2016-2017 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 at ProvidesPackageDrop{breakurl}
+\LetLtxMacro\burl\url
+
+\NewDocumentCommand{\LWR at burlaltb}{O{} +m m}{%
+\LWR at subhyperref{#3}{#2}% order reversed from \href
+\endgroup%
+\LWR at ensuredoingapar%
+}
+
+\DeclareRobustCommand*{\burlalt}{%
+\LWR at ensuredoingapar%
+\begingroup%
+\catcode`\_=12
+\LWR at burlaltb%
+}
+\LetLtxMacro\urlalt\burlalt
+\endinput
+%%
+%% End of file `lwarp-breakurl.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -33,7 +33,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\hyperimage}{%
+\DeclareRobustCommand*{\hyperimage}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at hyperimageb%
@@ -57,7 +57,7 @@
\endgroup%
}
-\newcommand{\hyperref}{%
+\DeclareRobustCommand*{\hyperref}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\@ifnextchar[\LWR at hyperrefc\LWR at hyperrefb%
@@ -97,18 +97,20 @@
\newcommand{\Acrobatmenu}[2]{}
-\newcommand*{\TextField}[2][]{}
+\DeclareRobustCommand{\TextField}[2][]{}
-\newcommand*{\CheckBox}[2][]{}
+\DeclareRobustCommand{\CheckBox}[2][]{}
-\newcommand{\ChoiceMenu}[3][]{}
+\DeclareRobustCommand{\ChoiceMenu}[3][]{}
-\newcommand*{\PushButton}[2][]{}
+\DeclareRobustCommand{\PushButton}[2][]{}
-\newcommand*{\Submit}[2][]{}
+\DeclareRobustCommand{\Submit}[2][]{}
-\newcommand*{\Reset}[2][]{}
+\DeclareRobustCommand{\Reset}[2][]{}
+\DeclareRobustCommand{\Gauge}[2][]{}
+
\newcommand*{\LayoutTextField}[2]{}
\newcommand*{\LayoutChoiceField}[2]{}
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-luatodonotes.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `luatodonotes')
+%% This is a generated file.
+%% Copyright 2016-2017 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 at ProvidesPackageDrop{luatodonotes}
+\newcommand{\listoftodos}[1][]{}
+\newcommand{\todo}[2][]{}
+\newcommand{\missingfigure}[2][]{}
+\newcommand{\todototoc}{}
+\newcommand{\todoarea}[3][]{}%
+\endinput
+%%
+%% End of file `lwarp-luatodonotes.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -35,10 +35,10 @@
padding-\LWR at multirowborder: 2px" %
}%
class="td%
-\StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}%
+\StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}%
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
-\LWR at printbartag{\theLWR at tablecolspos}%
+\LWR at printbartag{\arabic{LWR at tablecolindex}}%
"%
\LWR at tdstartstyles%
\LWR at addcmidrulewidth%
@@ -45,7 +45,7 @@
\LWR at addformatwpalignment%
\LWR at tdendstyles%
}%
-\LWR at getexparray{LWR at colbeforespec}{\theLWR at tablecolspos}%
+\LWR at getexparray{LWR at colbeforespec}{\arabic{LWR at tablecolindex}}%
\begingroup\LetLtxMacro{\\}{\LWR at endofline}#6\endgroup%
\LWR at stoppars%
\global\boolfalse{LWR at intabularmetadata}%
@@ -53,12 +53,13 @@
\LWR at traceinfo{*** multirow done}%
}%
\NewDocumentCommand{\multicolumnrow}{m m O{} m O{} m O{} +m}{%
-\LWR at tabularhtmlcolumns{\theLWR at tablecolspos}{#1}
-\begingroup\LetLtxMacro{\\}{\LWR at endofline}%
-\LWR at domulticolumn[#3][#4]{\theLWR at tabhtmlcoltotal}{#2}{#8}%
+\LWR at tabularhtmlcolumns{\arabic{LWR at tablecolindex}}{#1}
+\begingroup%
+\LetLtxMacro{\\}{\LWR at endofline}%
+\LWR at domulticolumn[#3][#4]{#1}{\arabic{LWR at tabhtmlcoltotal}}{#2}{#8}%
\endgroup%
-\addtocounter{LWR at tablecolspos}{#1}%
-\addtocounter{LWR at tablecolspos}{-1}%
+\addtocounter{LWR at tablecolindex}{#1}%
+\addtocounter{LWR at tablecolindex}{-1}%
\booltrue{LWR at skipatbang}%
}
\appto{\LWR at restoreorigformatting}{%
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -0,0 +1,25 @@
+%%
+%% This is file `lwarp-todonotes.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `todonotes')
+%% This is a generated file.
+%% Copyright 2016-2017 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 at ProvidesPackageDrop{todonotes}
+\newcommand{\listoftodos}[1][]{}
+\newcommand{\todo}[2][]{}
+\newcommand{\missingfigure}[2][]{}
+\newcommand{\todototoc}{}
+\endinput
+%%
+%% End of file `lwarp-todonotes.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty 2017-11-09 01:22:12 UTC (rev 45721)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty 2017-11-09 01:32:04 UTC (rev 45722)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{lwarp}
- [2017/10/30 v0.42 Allows LaTeX to directly produce HTML5 output.]
+ [2017/11/08 v0.43 Allows LaTeX to directly produce HTML5 output.]
@@ -220,6 +220,7 @@
\LWR at loadafter{booktabs}
\LWR at loadafter{boxedminipage}
\LWR at loadafter{boxedminipage2e}
+\LWR at loadafter{breakurl}
\LWR at loadafter{ccaption}
\LWR at loadafter{changepage}
\LWR at loadafter{chngpage}
@@ -272,6 +273,7 @@
\LWR at loadafter{longtable}
\LWR at loadafter{lscape}
\LWR at loadafter{ltcaption}
+\LWR at loadafter{luatodonotes}
\LWR at loadafter{marginfit}
\LWR at loadafter{marginfix}
\LWR at loadafter{marginnote}
@@ -335,6 +337,7 @@
\LWR at loadafter{titling}
\LWR at loadafter{tocbibind}
\LWR at loadafter{tocloft}
+\LWR at loadafter{todonotes}
\LWR at loadafter{transparent}
\LWR at loadafter{trivfloat}
\LWR at loadafter{typearea}
@@ -2603,7 +2606,7 @@
\begin{warpprint}
\begin{filecontents*}{sample_project.css}
/* ( --- Start of project.css --- ) */
-/* A sample project-specific CSS file for lwarp --- ) */
+/* ( --- A sample project-specific CSS file for lwarp --- ) */
/* Load default lwarp settings: */
@import url("lwarp.css") ;
@@ -2739,7 +2742,7 @@
-- Print the usage of the lwarpmk command:
-printversion = "v0.42"
+printversion = "v0.43"
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -4076,6 +4079,13 @@
\end{warpall}
+\begin{warpall}
+
+\newcounter{FootnoteDepth}
+\setcounter{FootnoteDepth}{5}
+
+\end{warpall}
+
\begin{warpHTML}
\newbox\LWR at footnotes
@@ -4147,8 +4157,12 @@
\end{BlockClass}
\fi
}
-\newcommand*{\LWR at epubprintpendingfootnotes}{%
-\ifthenelse{\boolean{FormatEPUB}\OR\boolean{FormatWP}}%
+\newcommand*{\LWR at maybeprintpendingfootnotes}[1]{%
+\ifboolexpr{
+ not test{\ifnumcomp{#1}{>}{\value{FootnoteDepth}}} or
+ bool{FormatEPUB} or
+ bool{FormatWP}
+}%
{\LWR at printpendingfootnotes}%
{}%
}
@@ -4280,7 +4294,7 @@
\ifbool{FileSectionNames}%
{\LWR at filenamenoblanks{#1}}
-{\renewcommand*{\LWR at thisfilename}{\theLWR at htmlfilenumber}}
+{\renewcommand*{\LWR at thisfilename}{\arabic{LWR at htmlfilenumber}}}
\LWR at htmlblockcomment{%
|Start file|%
@@ -4373,6 +4387,7 @@
\def\@seccntformat#1{\csname the#1\endcsname\protect\quad}
\newcommand*{\simplechapterdelim}{}
\let\@chapcntformat\@seccntformat
+\newcounter{LWR at currentautosec}
\DeclareDocumentCommand{\LWR at section}{m m m m}{%
\LWR at traceinfo{LWR at section |#2| |#3|}%
\LWR at traceinfo{LWR at section: not an empty section}%
@@ -4395,7 +4410,7 @@
\cnttest{\csuse{LWR at depth#4}}{<=}{\value{LWR at prevFileDepth}}%
\)%
\AND%
- \NOT\equal{#3}{}% phantomsection
+ \NOT\isempty{#3}% phantomsection
}%
{% new file
\LWR at traceinfo{LWR at section: new HTML file}%
@@ -4414,7 +4429,10 @@
}%
\ifbool{HTMLDebugComments}{%
+ \begingroup%
+ \LWR at nullfonts%
\LWR at htmlcomment{Opening #4 ``#3''{}}%
+ \endgroup%
}{}%
\ifthenelse{%
@@ -4423,6 +4441,7 @@
{\LWR at startpars}%
{}%
\LWR at createautosec{\csuse{LWR at tag#4}}%
+\setcounter{LWR at currentautosec}{\value{page}}
\IfBooleanTF{#1}%
{%
\ifbool{LWR at forcinghtmltoc}%
@@ -4479,7 +4498,7 @@
}% end of not starred
#3%
\LWR at htmltag{\csuse{LWR at tag#4end}}%
-\label{autopage-\thepage}%
+\label{autopage-\theLWR at currentautosec}%
\ifthenelse{%
\cnttest{\csuse{LWR at depth#4}}{<}{\LWR at depthparagraph}%
}%
@@ -4504,7 +4523,7 @@
\DeclareDocumentCommand{\part}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthpart}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthpart}{\LWR at printclosepart}%
@@ -4519,7 +4538,7 @@
{%
\DeclareDocumentCommand{\chapter}{s o m}{%
\LWR at traceinfo{chapter #3}%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthchapter}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthchapter}{\LWR at printclosechapter}%
@@ -4530,7 +4549,7 @@
}
\DeclareDocumentCommand{\section}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsection}{\LWR at printclosesection}%
@@ -4539,7 +4558,7 @@
}
\DeclareDocumentCommand{\subsection}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubsection}{\LWR at printclosesubsection}%
@@ -4548,7 +4567,7 @@
}
\DeclareDocumentCommand{\subsubsection}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubsubsection}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubsubsection}%
@@ -4558,7 +4577,7 @@
}
\DeclareDocumentCommand{\paragraph}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthparagraph}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthparagraph}{\LWR at printcloseparagraph}%
@@ -4567,7 +4586,7 @@
}
\DeclareDocumentCommand{\subparagraph}{s o m}{%
-\LWR at epubprintpendingfootnotes%
+\LWR at maybeprintpendingfootnotes{\LWR at depthsubparagraph}%
\LWR at stoppars%
\LWR at startnewdepth{\LWR at depthsubparagraph}{\LWR at printclosesubparagraph}%
@@ -5198,6 +5217,9 @@
\newbool{LWR at startedrow}
\boolfalse{LWR at startedrow}
+\newbool{LWR at tabularcelladded}
+\boolfalse{LWR at tabularcelladded}
+
\newbool{LWR at doinghline}
\boolfalse{LWR at doinghline}
@@ -5225,8 +5247,8 @@
\ifbool{LWR at skipatbang}%
{}%
{%
- \LWR at printatbang{at}{\theLWR at tablecolspos}%
- \LWR at printatbang{bang}{\theLWR at tablecolspos}%
+ \LWR at printatbang{at}{\arabic{LWR at tablecolindex}}%
+ \LWR at printatbang{bang}{\arabic{LWR at tablecolindex}}%
}%
}
@@ -5248,10 +5270,11 @@
bool{LWR at emptyatbang}
}%
{}%
- {\LWR at getexparray{LWR at colafterspec}{\theLWR at tablecolspos}}%
+ {\LWR at getexparray{LWR at colafterspec}{\arabic{LWR at tablecolindex}}}%
\ifbool{LWR at tableparcell}{\LWR at stoppars}{}%
\global\boolfalse{LWR at tableparcell}%
\leavevmode\unskip\LWR at htmltag{/td}\LWR at orignewline%
+ \global\booltrue{LWR at tabularcelladded}%
\LWR at insertatbangcols%
}% not skipping mrowcell
}% not exiting tabular
@@ -5285,7 +5308,8 @@
{%
\unskip%
\LWR at closetabledatacell%
- \addtocounter{LWR at tablecolspos}{1}%
+ \addtocounter{LWR at tablecolindex}{1}%
+\boolfalse{LWR at tabularcelladded}%
\LWR at getmynexttoken%
}%
{\LWR at origampmacro}%
@@ -5304,15 +5328,26 @@
\ifbool{LWR at exitingtabular}{%
\booltrue{LWR at tabularmutemods}%
}{}%
-\boolfalse{LWR at exitingtabular}%
-\whiledo{\value{LWR at tablecolspos}<\value{LWR at tabletotalcols}}{%
-\LWR at tabledatasinglecolumntag%
+\global\boolfalse{LWR at exitingtabular}%
+\whiledo{%
+ \(%
+ \boolean{LWR at intabularmetadata} \AND%
+ \NOT\boolean{LWR at tabularcelladded} \AND%
+ \cnttest{\value{LWR at tablecolindex}}{=}{\value{LWR at tabletotalcols}}%
+ \) \OR%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+}{%
+ \LWR at tabledatasinglecolumntag%
\LWR at closetabledatacell%
- \addtocounter{LWR at tablecolspos}{1}%
+ \addtocounter{LWR at tablecolindex}{1}%
+ \boolfalse{LWR at tabularcelladded}%
\global\booltrue{LWR at emptyatbang}%
- \LWR at getmynexttoken%
+ \ifthenelse{%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+ }%
+ {\LWR at getmynexttoken}%
+ {}%
}%
-\LWR at closetabledatacell%
\endgroup%
\global\boolfalse{LWR at emptyatbang}%
}{}% ifboolexpr
@@ -5321,7 +5356,7 @@
\NewDocumentCommand{\LWR at tabularendofline}{s o}
{%
-\ifthenelse{\value{LWR at tablecolspos}<\value{LWR at tabletotalcols}}{%
+\ifthenelse{\value{LWR at tablecolindex}<\value{LWR at tabletotalcols}}{%
\LWR at tabularfinishrow%
}%
{%
@@ -5334,7 +5369,8 @@
\global\boolfalse{LWR at doingtbrule}%
\global\boolfalse{LWR at doingcmidrule}%
\LWR at clearmidrules%
-\setcounter{LWR at tablecolspos}{1}
+\setcounter{LWR at tablecolindex}{1}%
+\boolfalse{LWR at tabularcelladded}%
\LWR at getmynexttoken%
}
@@ -5351,10 +5387,12 @@
\newcommand*{\LWR at origcolspec}{}
-\newcounter{LWR at tablecolswidth}
+\newcounter{LWR at tablecolspecwidth}
-\newcounter{LWR at tablecolspos}
+\newcounter{LWR at tablecolspecindex}
+\newcounter{LWR at tablecolindex}
+
\newcounter{LWR at tabletotalcols}
\newcounter{LWR at tabletotalcolsnext}
@@ -5363,10 +5401,10 @@
\newcommand*{\LWR at colparameter}{}
\newcommand*{\LWR at parseatcolumn}{%
\LWR at traceinfo{at column}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
\LWR at traceinfo{about to read the next token:}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]
\fullexpandarg%
\LWR at traceinfo{have now read the next token}%
\ifthenelse{\cnttest{\value{LWR at tabletotalcols}}=0}
@@ -5378,9 +5416,9 @@
}%
{% not at the left edge:
\LWR at traceinfo{not at the left edge}%
- \LWR at setexparray{LWR at colatspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
- \LWR at traceinfo{at \theLWR at tabletotalcols: %
- \LWR at getexparray{LWR at colatspec}{\theLWR at tabletotalcols}}%
+ \LWR at setexparray{LWR at colatspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
+ \LWR at traceinfo{at \arabic{LWR at tabletotalcols}: %
+ \LWR at getexparray{LWR at colatspec}{\arabic{LWR at tabletotalcols}}}%
}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
@@ -5387,10 +5425,10 @@
}
\newcommand*{\LWR at parsebangcolumn}{%
\LWR at traceinfo{bang column}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
\LWR at traceinfo{about to read the next token:}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]
\fullexpandarg%
\LWR at traceinfo{have now read the next token}%
\ifthenelse{\cnttest{\value{LWR at tabletotalcols}}=0}
@@ -5400,27 +5438,27 @@
}%
{% not at the left edge:
\LWR at traceinfo{not at the left edge}%
- \LWR at setexparray{LWR at colbangspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
- \LWR at traceinfo{bang \theLWR at tabletotalcols: \LWR at colparameter!}%
+ \LWR at setexparray{LWR at colbangspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
+ \LWR at traceinfo{bang \arabic{LWR at tabletotalcols}: \LWR at colparameter!}%
}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
}
\newcommand*{\LWR at parsebeforecolumn}{%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]%
\fullexpandarg%
-\LWR at setexparray{LWR at colbeforespec}{\theLWR at tabletotalcolsnext}{\LWR at colparameter}%
+\LWR at setexparray{LWR at colbeforespec}{\arabic{LWR at tabletotalcolsnext}}{\LWR at colparameter}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
}
\newcommand*{\LWR at parseaftercolumn}{%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
\expandarg%
-\StrChar{\LWR at origcolspec}{\theLWR at tablecolspos}[\LWR at colparameter]%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at colparameter]%
\fullexpandarg%
-\LWR at setexparray{LWR at colafterspec}{\theLWR at tabletotalcols}{\LWR at colparameter}%
+\LWR at setexparray{LWR at colafterspec}{\arabic{LWR at tabletotalcols}}{\LWR at colparameter}%
\let\LWR at colparameter\relax%
\booltrue{LWR at validtablecol}%
}
@@ -5431,7 +5469,7 @@
\LWR at setexparray{LWR at colbarspec}{leftedge}{tvertbarl}%
}%
{% not at the left edge:
- \LWR at setexparray{LWR at colbarspec}{\theLWR at tabletotalcols}{tvertbarr}%
+ \LWR at setexparray{LWR at colbarspec}{\arabic{LWR at tabletotalcols}}{tvertbarr}%
}%
\booltrue{LWR at validtablecol}%
}
@@ -5439,23 +5477,23 @@
\appto\LWR at tablecolspec{#1}%
\addtocounter{LWR at tabletotalcols}{1}%
\addtocounter{LWR at tabletotalcolsnext}{1}%
-\LWR at traceinfo{normal column \theLWR at tabletotalcols: #1}%
-\LWR at setexparray{LWR at colatspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbangspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbeforespec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colafterspec}{\theLWR at tabletotalcolsnext}{}%
-\LWR at setexparray{LWR at colbarspec}{\theLWR at tabletotalcolsnext}{}%
+\LWR at traceinfo{normal column \arabic{LWR at tabletotalcols}: #1}%
+\LWR at setexparray{LWR at colatspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbangspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbeforespec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colafterspec}{\arabic{LWR at tabletotalcolsnext}}{}%
+\LWR at setexparray{LWR at colbarspec}{\arabic{LWR at tabletotalcolsnext}}{}%
\booltrue{LWR at validtablecol}%
}
\newcommand*{\LWR at parsepcolumn}[1]{%
\LWR at parsenormalcolumn{#1}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
}
\newcommand*{\LWR at parseDcolumn}[1]{%
\LWR at parsenormalcolumn{#1}%
-\addtocounter{LWR at tablecolspos}{3}%
+\addtocounter{LWR at tablecolspecindex}{3}%
}
@@ -5463,6 +5501,8 @@
\newcommand*{\LWR at parsetablecols}[1]{%
\LWR at traceinfo{LWR at parsetablecols started}%
\renewcommand*{\LWR at origcolspec}{#1}%
+\expandarg%
+\StrSubstitute{\LWR at origcolspec}{ }{}[\LWR at origcolspec]%
\renewcommand*{\LWR at tablecolspec}{}%
\setcounter{LWR at tabletotalcols}{0}%
\setcounter{LWR at tabletotalcolsnext}{1}%
@@ -5484,17 +5524,17 @@
\LWR at setexparray{LWR at colbarspec}{1}{}%
\LWR at setexparray{LWR at colbarspec}{2}{}%
\LWR at setexparray{LWR at colbarspec}{3}{}%
-\setcounter{LWR at tablecolspos}{1}%
+\setcounter{LWR at tablecolspecindex}{1}%
\LWR at traceinfo{about to StrLen}%
-\noexpandarg%
-\StrLen{#1}[\LWR at strresult]%
+\expandarg%
+\StrLen{\LWR at origcolspec}[\LWR at strresult]%
\fullexpandarg%
\LWR at traceinfo{finished StrLen}%
-\setcounter{LWR at tablecolswidth}{\LWR at strresult}%
-\whiledo{\not\value{LWR at tablecolspos}>\value{LWR at tablecolswidth}}{%
-\noexpandarg%
-\StrChar{#1}{\theLWR at tablecolspos}[\LWR at strresult]%
-\LWR at traceinfo{position \arabic{LWR at tablecolspos}: \LWR at strresult}%
+\setcounter{LWR at tablecolspecwidth}{\LWR at strresult}%
+\whiledo{\not\value{LWR at tablecolspecindex}>\value{LWR at tablecolspecwidth}}{%
+\expandarg%
+\StrChar{\LWR at origcolspec}{\arabic{LWR at tablecolspecindex}}[\LWR at strresult]%
+\LWR at traceinfo{position \arabic{LWR at tablecolspecindex}: \LWR at strresult}%
\fullexpandarg%
\boolfalse{LWR at validtablecol}%
\IfStrEq{\LWR at strresult}{l}{\LWR at parsenormalcolumn{l}}{}%
@@ -5522,9 +5562,9 @@
\LWR at traceinfo{invalid column type: \LWR at strresult}%
\LWR at parsenormalcolumn{l}%
}%
-\addtocounter{LWR at tablecolspos}{1}%
+\addtocounter{LWR at tablecolspecindex}{1}%
+}% whiledo
}%
-}%
\newcommand*{\LWR at maybenewtablerow}
@@ -5580,17 +5620,18 @@
{}%
{\LWR at atbangspec}%
\LWR at htmltag{/td}\LWR at orignewline%
+ \global\booltrue{LWR at tabularcelladded}%
}% not empty
}%
\newcommand*{\LWR at addleftmostbartag}{%
-\ifnumcomp{\value{LWR at tablecolspos}}{=}{1}{%
+\ifnumcomp{\value{LWR at tablecolindex}}{=}{1}{%
\LWR at printbartag{leftedge}%
}{}%
}
\newcommand*{\LWR at tabularleftedge}{%
-\ifthenelse{\cnttest{\value{LWR at tablecolspos}}=1}%
+\ifthenelse{\cnttest{\value{LWR at tablecolindex}}=1}%
{%
\LWR at printatbang{at}{leftedge}%
\LWR at printatbang{bang}{leftedge}%
@@ -5607,12 +5648,12 @@
\ifbool{LWR at exitingtabular}{}%
{% not exiting tabular
\LWR at tabularleftedge%
- \StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}[\LWR at strresult]%
+ \StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}[\LWR at strresult]%
\LWR at htmltag{td class="td%
\LWR at strresult%
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
- \LWR at printbartag{\theLWR at tablecolspos}%
+ \LWR at printbartag{\arabic{LWR at tablecolindex}}%
"%
\LWR at tdstartstyles%
\LWR at addcmidrulewidth%
@@ -5635,7 +5676,9 @@
{}% no pars
\ifboolexpr{bool{LWR at tabularmutemods} or bool{LWR at emptyatbang}}%
{}%
- {\LWR at getexparray{LWR at colbeforespec}{\theLWR at tablecolspos}}%
+ {%
+ \LWR at getexparray{LWR at colbeforespec}{\arabic{LWR at tablecolindex}}%
+ }%
\global\boolfalse{LWR at intabularmetadata}%
}% not exiting tabular
}{}% in tabular metadata
@@ -5662,13 +5705,13 @@
{%
\setcounter{LWR at midrulecounter}{1}%
\whiledo{%
-\cnttest{\value{LWR at midrulecounter}}{<=}{\value{LWR at tablecolswidth}}%
+\cnttest{\value{LWR at midrulecounter}}{<=}{\value{LWR at tablecolspecwidth}}%
}%
{%
-\LWR at setexparray{LWR at midrules}{\theLWR at midrulecounter}{0pt}%
+\LWR at setexparray{LWR at midrules}{\arabic{LWR at midrulecounter}}{0pt}%
\setlength{\LWR at thiscmidrulewidth}{\LWR at cmidrulewidth}%
-\LWR at setexparray{LWR at trimlrules}{\theLWR at midrulecounter}{}%
-\LWR at setexparray{LWR at trimrrules}{\theLWR at midrulecounter}{}%
+\LWR at setexparray{LWR at trimlrules}{\arabic{LWR at midrulecounter}}{}%
+\LWR at setexparray{LWR at trimrrules}{\arabic{LWR at midrulecounter}}{}%
\addtocounter{LWR at midrulecounter}{1}%
}%
}
@@ -5677,7 +5720,7 @@
\setcounter{LWR at midrulecounter}{#3}%
\whiledo{\cnttest{\value{LWR at midrulecounter}}{<=}{#4}}%
{%
-\LWR at setexparray{LWR at midrules}{\theLWR at midrulecounter}{#1}%
+\LWR at setexparray{LWR at midrules}{\arabic{LWR at midrulecounter}}{#1}%
\addtocounter{LWR at midrulecounter}{1}%
}% whiledo
\IfSubStr{#2}{l}{\LWR at setexparray{LWR at trimlrules}{#3}{l}}{}%
@@ -5710,7 +5753,7 @@
}
\newcommand*{\LWR at subaddcmidruletrim}[2]{%
-\setlength{\LWR at templengthone}{\LWR at getexparray{LWR at midrules}{\theLWR at tablecolspos}}%
+\setlength{\LWR at templengthone}{\LWR at getexparray{LWR at midrules}{\arabic{LWR at tablecolindex}}}%
\ifdimcomp{\LWR at templengthone}{>}{0pt}%
{%
\LWR at origtilde tdrule#1#2%
@@ -5723,8 +5766,8 @@
\newcommand*{\LWR at addcmidruletrim}{%
\LWR at subaddcmidruletrim%
-{\LWR at getexparray{LWR at trimlrules}{\theLWR at tablecolspos}}%
-{\LWR at getexparray{LWR at trimrrules}{\theLWR at tablecolspos}}%
+{\LWR at getexparray{LWR at trimlrules}{\arabic{LWR at tablecolindex}}}%
+{\LWR at getexparray{LWR at trimrrules}{\arabic{LWR at tablecolindex}}}%
}
\newcommand{\LWR at addrulewidth}[2]{%
@@ -5759,7 +5802,7 @@
\newcommand*{\LWR at addformatwpalignment}{%
\ifbool{FormatWP}{%
-\StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}[\LWR at strresult]%
+\StrChar{\LWR at tablecolspec}{\arabic{LWR at tablecolindex}}[\LWR at strresult]%
\ifdefstring{\LWR at strresult}{l}{\LWR at WPcell{left}{middle}}{}%
\ifdefstring{\LWR at strresult}{c}{\LWR at WPcell{center}{middle}}{}%
\ifdefstring{\LWR at strresult}{r}{\LWR at WPcell{right}{middle}}{}%
@@ -5777,9 +5820,12 @@
\newcounter{LWR at tablemulticolswidth}
\newcounter{LWR at tablemulticolspos}
+\newbool{LWR at mcolvertbarl}
+\newbool{LWR at mcolvertbarr}
+
\newcommand*{\LWR at printmccoltype}[1]{%
\LWR at traceinfo{lwr at printmccoltype -#1-}%
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
\IfStrEq{\LWR at strresult}{l}{l}{}%
\IfStrEq{\LWR at strresult}{c}{c}{}%
\IfStrEq{\LWR at strresult}{r}{r}{}%
@@ -5791,6 +5837,11 @@
\IfStrEq{\LWR at strresult}{B}{B}{}%
\IfStrEq{\LWR at strresult}{S}{r}{}%
\IfStrEq{\LWR at strresult}{X}{p}{}%
+\IfStrEq{\LWR at strresult}{|}{%
+ \ifthenelse{\value{LWR at tablemulticolspos}=1}%
+ {\booltrue{LWR at mcolvertbarl}}%
+ {\booltrue{LWR at mcolvertbarr}}%
+}{}%
\LWR at traceinfo{lwr at printmccoltype done}%
}
@@ -5802,7 +5853,7 @@
\newcommand*{\LWR at multicolother}[1]{%
\addtocounter{LWR at tablemulticolspos}{1}%
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
\LWR at strresult%
\booltrue{LWR at validtablecol}%
}
@@ -5814,7 +5865,7 @@
\newcommand*{\LWR at printmccoldata}[1]{%
\LWR at traceinfo{lwr at printmccoldata -#1}%
\boolfalse{LWR at validtablecol}%
-\StrChar{#1}{\theLWR at tablemulticolspos}[\LWR at strresult]%
+\StrChar{#1}{\arabic{LWR at tablemulticolspos}}[\LWR at strresult]%
\IfStrEq{\LWR at strresult}{l}{\LWR at multicoltext}{}%
\IfStrEq{\LWR at strresult}{c}{\LWR at multicoltext}{}%
\IfStrEq{\LWR at strresult}{r}{\LWR at multicoltext}{}%
@@ -5844,7 +5895,7 @@
\StrLen{#1}[\LWR at strresult]%
\setcounter{LWR at tablemulticolswidth}{\LWR at strresult}%
\whiledo{%
-\not\value{LWR at tablemulticolspos}>\value{LWR at tablemulticolswidth}%
+ \NOT\value{LWR at tablemulticolspos}>\value{LWR at tablemulticolswidth}%
}%
{%
#2{#1}%
@@ -5855,15 +5906,19 @@
\newcommand{\LWR at multicoltext}{}
-\NewDocumentCommand{\LWR at domulticolumn}{o o m m +m}{%
-\LWR at traceinfo{lwr at domulticolumn -#1- -#2- -#3- -#4-}%
+\newcounter{LWR at lastmulticolumn}
+
+\NewDocumentCommand{\LWR at domulticolumn}{o o m m m +m}{%
+\LWR at traceinfo{LWR at domulticolumn -#1- -#2- -#4- -#5-}%
\renewcommand{\LWR at multicoltext}{%
-#5%
+#6%
\booltrue{LWR at validtablecol}%
}%
+\setcounter{LWR at lastmulticolumn}{\value{LWR at tablecolindex}}%
+\addtocounter{LWR at lastmulticolumn}{#3}%
+\addtocounter{LWR at lastmulticolumn}{-1}%
\LWR at maybenewtablerow%
-\LWR at tabularleftedge%
-\LWR at htmltag{td colspan="#3" %
+\LWR at htmltag{td colspan="#4" %
\IfValueT{#2}{ % rows?
rowspan="#2" %
\IfValueT{#1}{% vpos?
@@ -5872,10 +5927,14 @@
}% vpos?
}% rows?
class="td%
-\LWR at parsemulticolumnalignment{#4}{\LWR at printmccoltype}%
-\LWR at addcmidruletrim%
-\LWR at addleftmostbartag%
-\LWR at printbartag{\theLWR at tablecolspos}%
+\boolfalse{LWR at mcolvertbarl}%
+\boolfalse{LWR at mcolvertbarr}%
+\LWR at parsemulticolumnalignment{#5}{\LWR at printmccoltype}%
+\LWR at subaddcmidruletrim%
+{\LWR at getexparray{LWR at trimlrules}{\arabic{LWR at tablecolindex}}}%
+{\LWR at getexparray{LWR at trimrrules}{\arabic{LWR at lastmulticolumn}}}%
+\ifbool{LWR at mcolvertbarl}{ tvertbarl}{}%
+\ifbool{LWR at mcolvertbarr}{ tvertbarr}{}%
"%
\LWR at tdstartstyles%
\LWR at addcmidrulewidth%
@@ -5883,16 +5942,16 @@
\LWR at tdendstyles%
}% end of the opening table data tag
\global\boolfalse{LWR at intabularmetadata}%
-\LWR at parsemulticolumnalignment{#4}{\LWR at printmccoldata}%
+\LWR at parsemulticolumnalignment{#5}{\LWR at printmccoldata}%
}
\NewDocumentCommand{\LWR at htmlmulticolumn}{m m +m}%
{%
-\LWR at tabularhtmlcolumns{\theLWR at tablecolspos}{#1}
-\LWR at domulticolumn{\theLWR at tabhtmlcoltotal}{#2}{#3}%
-\addtocounter{LWR at tablecolspos}{#1}%
-\addtocounter{LWR at tablecolspos}{-1}%
+\LWR at tabularhtmlcolumns{\arabic{LWR at tablecolindex}}{#1}
+\LWR at domulticolumn{#1}{\arabic{LWR at tabhtmlcoltotal}}{#2}{#3}%
+\addtocounter{LWR at tablecolindex}{#1}%
+\addtocounter{LWR at tablecolindex}{-1}%
\booltrue{LWR at skipatbang}%
}
@@ -5907,8 +5966,9 @@
{\LWR at setlatestname{#2}}% given and non-empty
}% optional given
{\LWR at setlatestname{#3}}% no optional
-\LWR at tabularhtmlcolumns{1}{\theLWR at tabletotalcols}
-\LWR at domulticolumn{\theLWR at tabhtmlcoltotal}{P}{% \LWR at domulticolumn
+\LWR at tabularhtmlcolumns{1}{\arabic{LWR at tabletotalcols}}
+\LWR at domulticolumn{\arabic{LWR at tabletotalcols}}{\arabic{LWR at tabhtmlcoltotal}}{P}%
+{% \LWR at domulticolumn
\IfBooleanTF{#1}% star?
{% yes star
\LWR at figcaption%
@@ -5958,8 +6018,8 @@
\booltrue{LWR at skipatbang}%
}% end of \LWR at domulticolumn
-\addtocounter{LWR at tablecolspos}{\theLWR at tabletotalcols}
-\addtocounter{LWR at tablecolspos}{-1}
+\addtocounter{LWR at tablecolindex}{\arabic{LWR at tabletotalcols}}
+\addtocounter{LWR at tablecolindex}{-1}
}
@@ -5969,22 +6029,27 @@
\newcounter{LWR at tabhtmlcolend}
\newcounter{LWR at tabhtmlcoltotal}
+\newcommand*{\LWR at subtabularhtmlcolumns}[1]{%
+ \edef\LWR at atbangspec{\LWR at getexparray{LWR at colatspec}{#1}}%
+ \ifdefempty{\LWR at atbangspec}%
+ {}%
+ {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
+ \edef\LWR at atbangspec{\LWR at getexparray{LWR at colbangspec}{#1}}%
+ \ifdefempty{\LWR at atbangspec}%
+ {}%
+ {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
+}
+
\newcommand*{\LWR at tabularhtmlcolumns}[2]{%
\setcounter{LWR at tabhtmlcolindex}{#1}%
\setcounter{LWR at tabhtmlcoltotal}{#2}%
\setcounter{LWR at tabhtmlcolend}{#1}%
\addtocounter{LWR at tabhtmlcolend}{#2}%
+\ifthenelse{\value{LWR at tabhtmlcolindex}=1}{%
+ \LWR at subtabularhtmlcolumns{leftedge}%
+}{}%
\whiledo{\value{LWR at tabhtmlcolindex}<\value{LWR at tabhtmlcolend}}{%
- \edef\LWR at atbangspec{\LWR at getexparray{LWR at colatspec}%
- {\theLWR at tabhtmlcolindex}}%
- \ifdefempty{\LWR at atbangspec}%
- {}%
- {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
- \edef\LWR at atbangspec{\LWR at getexparray{LWR at colbangspec}%
- {\theLWR at tabhtmlcolindex}}%
- \ifdefempty{\LWR at atbangspec}%
- {}%
- {\addtocounter{LWR at tabhtmlcoltotal}{1}}%
+ \LWR at subtabularhtmlcolumns{\arabic{LWR at tabhtmlcolindex}}%
\addtocounter{LWR at tabhtmlcolindex}{1}%
}% whiledo
}
@@ -6025,7 +6090,7 @@
\begin{warpall}
-\let\TabularMacro\relax
+\newcommand*{\TabularMacro}{}
\end{warpall}
@@ -6057,7 +6122,7 @@
\LWR at traceinfo{LWR at tabledatacolumntag}%
\let\mynext\LWR at tabledatasinglecolumntag%
\ifdefequal{\LWR at mynexttoken}{\end}%
- {\booltrue{LWR at exitingtabular}}{}%
+ {\global\booltrue{LWR at exitingtabular}}{}%
\ifdefequal{\LWR at mynexttoken}{\caption}%
{\let\mynext\LWR at donothing}{}%
\ifdefequal{\LWR at mynexttoken}{\multicolumn}%
@@ -6127,7 +6192,7 @@
{
\newcommand*{\LWR at hline}[1][]{%
\ifbool{FormatWP}%
- {\LWR at docmidrule{1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule{1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
\LWR at getmynexttoken}%
}
@@ -6134,7 +6199,7 @@
{
\newcommand*{\LWR at hline}{%
\ifbool{FormatWP}%
- {\LWR at docmidrule{1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule{1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
\LWR at getmynexttoken}%
}
@@ -6165,14 +6230,15 @@
\global\boolfalse{LWR at doingtbrule}%
\global\boolfalse{LWR at doingcmidrule}%
\LWR at nullifyNoAutoSpacing%
-\boolfalse{LWR at exitingtabular}%
-\boolfalse{LWR at tabularmutemods}%
+\global\boolfalse{LWR at exitingtabular}%
+\global\boolfalse{LWR at tabularmutemods}%
\global\booltrue{LWR at intabularmetadata}%
\LWR at forcenewpage
\LWR at htmlblocktag{table}%
\LWR at parsetablecols{#2}%
\LWR at stoppars%
-\setcounter{LWR at tablecolspos}{1}%
+\setcounter{LWR at tablecolindex}{1}%
+\boolfalse{LWR at tabularcelladded}%
\LWR at clearmidrules%
\LetLtxMacro{\\}{\LWR at tabularendofline}%
\LWR at traceinfo{LWR at tabular: redefining macros}%
@@ -6182,10 +6248,10 @@
\DeclareDocumentCommand{\toprule}{o d()}
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doingtbrule}}%
}%
\LWR at getmynexttoken}%
@@ -6192,10 +6258,10 @@
\DeclareDocumentCommand{\midrule}{o d()}%
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doinghline}}%
}%
\LWR at getmynexttoken}%
@@ -6204,10 +6270,10 @@
\DeclareDocumentCommand{\bottomrule}{o d()}
{%
\IfValueTF{##1}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{%
\ifbool{FormatWP}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}}%
{\booltrue{LWR at doingtbrule}}%
}%
\LWR at getmynexttoken}%
@@ -6214,7 +6280,7 @@
\DeclareDocumentCommand{\addlinespace}{o}{}%
\DeclareDocumentCommand{\morecmidrules}{}{}%
\DeclareDocumentCommand{\specialrule}{m m m d()}%
- {\LWR at docmidrule[##1](){1-\theLWR at tabletotalcols}\LWR at getmynexttoken}%
+ {\LWR at docmidrule[##1](){1-\arabic{LWR at tabletotalcols}}\LWR at getmynexttoken}%
\renewcommand{\multicolumn}{\LWR at htmlmulticolumn}%
\renewcommand*{\mrowcell}{%
\LWR at maybenewtablerow%
@@ -6223,7 +6289,6 @@
}%
\renewcommand*{\mcolrowcell}{%
\LWR at maybenewtablerow%
- \LWR at tabularleftedge%
\global\booltrue{LWR at skippingmcolrowcell}%
}%
\LetLtxMacro{\caption}{\LWR at longtabledatacaptiontag}%
@@ -6239,7 +6304,14 @@
}%
{%
\LWR at traceinfo{LWR at tabular ending}%
-\ifthenelse{\value{LWR at tablecolspos}<\value{LWR at tablecolswidth}}{%
+\ifthenelse{%
+ \(%
+ \boolean{LWR at intabularmetadata} \AND%
+ \NOT\boolean{LWR at tabularcelladded} \AND%
+ \cnttest{\value{LWR at tablecolindex}}{=}{\value{LWR at tabletotalcols}}%
+ \) \OR%
+ \cnttest{\value{LWR at tablecolindex}}{<}{\value{LWR at tabletotalcols}}%
+}{%
\LWR at tabularfinishrow%
}%
{%
@@ -6279,7 +6351,7 @@
\zref at newlist{special}
\zref at newprop{zLWR at name}{\@currentlabelname}
\zref at newprop{zLWR at htmlfilenumber}{%
-\ifbool{FileSectionNames}{\LWR at thisfilename}{\theLWR at htmlfilenumber}%
+\ifbool{FileSectionNames}{\LWR at thisfilename}{\arabic{LWR at htmlfilenumber}}%
}%
\zref at newprop{zLWR at lateximagedepth}{\arabic{LWR at lateximagedepth}}
\zref at newprop{zLWR at lateximagenumber}{\arabic{LWR at lateximagenumber}}
@@ -6333,7 +6405,7 @@
\LWR at origlabel{#1}%
\LWR at traceinfo{LWR at newlabel: filesectionnames is \ifbool{FileSectionNames}{true}{false}}%
\LWR at traceinfo{LWR at newlabel: LWR at thisfilename is !\LWR at thisfilename!}%
-\LWR at traceinfo{LWR at newlabel: LWR at htmlfilenumber is \theLWR at htmlfilenumber}%
+\LWR at traceinfo{LWR at newlabel: LWR at htmlfilenumber is \arabic{LWR at htmlfilenumber}}%
\LWR at splabel{#1}%
\LWR at subsublabel{#1}%
\LWR at traceinfo{LWR at newlabel: done}%
@@ -6393,7 +6465,7 @@
{(\cpageref{#2})}%
}
-\newcommand*{\nameref}[1]{%
+\DeclareRobustCommand*{\nameref}[1]{%
\LWR at traceinfo{nameref A}%
\LWR at startref{#1}%
\LWR at traceinfo{nameref B}%
@@ -6426,7 +6498,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\href}{%
+\DeclareRobustCommand*{\href}{%
\LWR at ensuredoingapar%
\begingroup%
\catcode`\_=12
@@ -6435,7 +6507,7 @@
\newcommand*{\LWR at nolinkurlb}[1]{#1\endgroup\LWR at ensuredoingapar}
-\newcommand{\nolinkurl}{%
+\DeclareRobustCommand*{\nolinkurl}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at nolinkurlb%
@@ -6447,7 +6519,7 @@
\LWR at ensuredoingapar%
}
-\newcommand{\LWR at urla}{%
+\DeclareRobustCommand*{\LWR at urla}{%
\LWR at ensuredoingapar%
\begingroup\catcode`\_=12
\LWR at urlb%
@@ -6871,6 +6943,7 @@
\newcommand*{\LWR at restoreorigformatting}{%
\LWR at traceinfo{LWR at restoreorigformatting}%
\linespread{1}%
+\LetLtxMacro\ref\LWR at origref%{} syntax highlighting
\RenewDocumentCommand{\InlineClass}{o m +m}{##3}%
\RenewDocumentEnvironment{BlockClass}{o m}{}{}%
\renewcommand{\BlockClassSingle}[2]{##2}%
@@ -6943,6 +7016,8 @@
\let\LaTeXe\LWR at origLaTeXe%
\renewcommand*{\Xe}{X\textsubscript{E}}%
\LetLtxMacro\@ensuredmath\LWR at origensuredmath%
+\csletcs{equation*}{LWR at origequationstar}%
+\csletcs{endequation*}{LWR at origendequationstar}%
\LWR at restoreorigaccents%
\LWR at FBcancel%
}
@@ -6971,7 +7046,7 @@
\catcode`\$=\active%
\protected\gdef${\@ifnextchar$\LWR at doubledollar\LWR at singledollar}%
-\gdef\LWR at doubledollar$#1$${
+\protected\gdef\LWR at doubledollar$#1$${
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
{
@@ -6989,7 +7064,7 @@
}% not mathjax
}%
-\gdef\LWR at subsingledollar#1{%
+\protected\gdef\LWR at subsingledollar#1{%
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
{%
{\textbackslash(\LWR at HTMLsanitize{#1}\textbackslash)}%
@@ -7002,12 +7077,13 @@
}%
}
-\gdef\LWR at singledollar#1${%
+\protected\gdef\LWR at singledollar#1${%
\LWR at subsingledollar{#1}%
}
-\gdef\(#1\){$#1$}
-\gdef\[#1\]{$$#1$$}
+\protected\gdef\(#1\){%
+$#1$}
+\protected\gdef\[#1\]{$$#1$$}
\endgroup
@@ -7104,6 +7180,12 @@
]
+\csletcs{LWR at origequationstar}{equation*}
+\csletcs{LWR at origendequationstar}{endequation*}
+\renewenvironment*{equation*}
+{\displaymath}
+{\enddisplaymath}
+
\newbool{LWR at amsmultline}
\boolfalse{LWR at amsmultline}
@@ -7540,7 +7622,7 @@
\LWR at ensuredoingapar%
\addtocounter{LWR at externalfilecnt}{1}%
\LWR at traceinfo{lateximage: LWR at externalfilecnt is \arabic{LWR at externalfilecnt}}%
- \setcounterpageref{LWR at LIpage}{LWRlateximage\theLWR at lateximagenumber}%
+ \setcounterpageref{LWR at LIpage}{LWRlateximage\arabic{LWR at lateximagenumber}}%
\LWR at traceinfo{lateximage: LWR at LIpage is \arabic{LWR at LIpage}}%
\LWR at htmltag{span id="lateximage\arabic{LWR at lateximagenumber}" %
class="lateximagesource"{}} \LWR at orignewline
@@ -7806,13 +7888,15 @@
#1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}}
}% AfterEndPreamble
-\let\LWR at origlabel\label
-\let\label\LWR at newlabel
-\let\LWR at origref\ref
-\let\ref\LWR at newref% \end{ syntax highlighting
-\let\LWR at origpageref\pageref
-\let\pageref\LWR at newpageref
+\LetLtxMacro\LWR at origlabel\label
+\RenewDocumentCommand{\label}{}{\LWR at newlabel}
+\LetLtxMacro\LWR at origref\ref
+\RenewDocumentCommand{\ref}{}{\LWR at newref}%
+
+\LetLtxMacro\LWR at origpageref\pageref
+\RenewDocumentCommand{\pageref}{}{\LWR at newpageref}
+
\end{warpHTML}
@@ -8202,6 +8286,7 @@
\RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
\DeclareExpandableDocumentCommand{\InlineClass}{+o +m +m}{##3}%
\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{##3}%
+\DeclareRobustCommand{\LWR at subsingledollar}[1]{}%
}
\renewcommand*{\mdseries}{}
More information about the tex-live-commits
mailing list