diff options
Diffstat (limited to 'Master')
33 files changed, 2969 insertions, 958 deletions
diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt index f979ec07d3f..7b8ad09d7df 100644 --- a/Master/texmf-dist/doc/latex/lwarp/README.txt +++ b/Master/texmf-dist/doc/latex/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.60 README.txt +LaTeX lwarp package v0.61 README.txt Files included are: diff --git a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf Binary files differindex 66247c72037..81ca4bc8629 100644 --- a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf +++ b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf diff --git a/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt b/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt index f6789488529..a3b5a70ec82 100644 --- a/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt +++ b/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt @@ -8,7 +8,7 @@ % --- LOAD FONT SELECTION AND ENCODING BEFORE LOADING LWARP --- \ifPDFTeX -\usepackage{lmodern} % pdflatex +\usepackage{lmodern} % pdflatex or dvi latex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \else diff --git a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua index d53cd67cccb..0677c606bbf 100755 --- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua +++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2018 Brian Dunn -printversion = "v0.60" +printversion = "v0.61" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index 91b0a80cab9..22fae07ccc9 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2018/09/19 v0.60 Allows LaTeX to directly produce HTML5 output.] +%<package> [2018/10/13 v0.61 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -219,6 +219,19 @@ \makeatother +\usepackage{splitidx} + +\newindex[Index of Objects]{idx} +\newindex[General Index]{gen} +\newindex[Troubleshooting Index]{trb} +\newindex[Index of Indexes]{meta} + +\makeindex + +\newcommand*{\gindex}[1]{\sindex[gen]{#1}} + + + \usepackage{microtype} \usepackage[all,defaultlines=2]{nowidow} @@ -322,6 +335,7 @@ Keywords={LaTeX, HTML, conversion}% \newcommand{\codehtml}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML output:~}}}\vspace{-5.25ex}} \newcommand{\codeprint}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for PRINT output:~}}}\vspace{-5.25ex}} \newcommand{\codeall}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML \& PRINT:~}}}\vspace{-5.25ex}} +\newcommand{\codeconfig}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{Config file:~}}}\vspace{-5.25ex}} \newcommand*{\testthis}{\textcolor{blue}{Please send bug reports!}\watchout[Not fully tested!]} @@ -398,6 +412,16 @@ Keywords={LaTeX, HTML, conversion}% % } +% \trouble[watchout phrase]{index entry} +\newcommand*{\trouble}[2][]{% +\ifblank{#1}{}{% + \watchout[#1]% +}% +\sindex[trb]{#2}% +\ignorespaces% +} + + % The following text is used in multiple places in the documentation: \newcommand{\needhelp}{ @@ -454,7 +478,7 @@ code apply to the generation of \HTML, print, or both forms of output. \newcommand{\describemathimagename}{% When creating an \SVG\ math image, its \attribute{alt} tag may be set to the math expression, which may be hashed for image reuse. -In the case of \cs{ensuremath} or after \cs{StartDynamicMath}, +In the case of \cs{ensuremath} or after \cs{inlinemathother}, where the contents require a unique image for each instance of the same expression, the \attribute{alt} tag is set to \cs{mathimagename}, and the image is not reused. @@ -479,8 +503,10 @@ This may be set in the preamble, or changed as necessary inside the document, where it will affect the following \env{lateximage}s. } -\newcommand{\limitscpageref}{\pkg{cleveref} and \pkg{varioref} are supported, -\watchout[\pkg{cleveref} page numbers] +\newcommand{\limitscpageref}{% +\pkg{cleveref} and \pkg{varioref} are supported, +\trouble[\pkg{cleveref} page numbers]{page numbers} +\trouble{reference>page number} but printed page numbers do not map to \HTML, so a section name or a text phrase are used for \cs{cpageref} and \cs{cpagerefrange}. @@ -504,7 +530,7 @@ to redefine the message which is printed for page number references. but does not require that \pkg{hyperref} be loaded by the document. Do not place a comment with a \texttt{\%} character between arguments -\watchout[\texttt{\%}] +\trouble[comments between arguments]{hyperref=\pkg{hyperref}>comments between arguments} for \cs{hyperref}, etc., as it is neutralized for inclusion in \HTML\ \acro{URL}s. \pkg{lwarp} can also load \pkg{url}, but \pkg{url} should not be used at the @@ -513,13 +539,14 @@ same time as \pkg{hyperref}, since they both define the \cs{url} command. during \HTML\ output, nor does \pkg{url} create hyperlinks during print output. When generating \HTML, \pkg{lwarp}'s emulation of \pkg{hyperref} does not -\watchout[backref] +\trouble[\pkg{backref}]{hyperref=\pkg{hyperref}>backref=\pkg{backref}} +\trouble{backref=\pkg{backref}} automatically load \pkg{backref}, so \pkg{backref} must be loaded explicitly. } \newcommand{\limitsabstract}{% If using the \optn{number} option with file splits, -\watchout[missing \acro{TOC}] +\trouble[missing \acro{TOC}]{abstract>missing \acro{TOC}} be sure to place the table of contents before the abstract. The \optn{number} option causes a section break which may cause a file split, which would put a table of contents out @@ -530,7 +557,8 @@ of the home page if it is after the abstract. \pkg{lwarp} supports the native \LaTeX\ titling commands, and also \margintag{package support} supports the packages \pkg{authblk} and \pkg{titling}. If both are -\watchout[load order] +\trouble[load order]{authblk=\pkg{authblk}>titling=\pkg{titling}} +\trouble{titling=\pkg{titling}>authblk=\pkg{authblk}} used, \pkg{authblk} should be loaded before \pkg{titling}. If using the \pkg{titling} package, additional titlepage fields @@ -542,7 +570,7 @@ See \cref{sec:publishedsubtitle}. \newcommand{\limitsappendix}{% During \HTML\ conversion, the option \optn{toc} without -\watchout[incorrect \acro{TOC} link] +\trouble[incorrect \acro{TOC} link]{appendix>incorrect \acro{TOC} link} the option \optn{page} results in a \acro{TOC} link to whichever section was before the \texttt{appendices} environment. It is recommended to use both \texttt{toc} and also \texttt{page} at the same time. @@ -577,6 +605,10 @@ a plain-text file with \HTML\ tags. \newcommand{\limitsbibtex}{% When enough authors are cited for a source, \watchout[Modify *.bib] +\trouble{Improper \cs{prevdepth}>bibtex=\pkg{bibtex}} +\trouble{bibtex=\pkg{bibtex}>Improper \cs{prevdepth}} +\trouble{bibtex=\pkg{bibtex}>\cs{etalchar}} +\trouble{etalchar=\cs{etalchar}} \BibTeX\ may use the \cs{etalchar} command to display a math superscript with a $+$ character to indicate ``and others''. Without modification, this will result in an ``Improper \cs{prevdepth}'' error. @@ -602,7 +634,8 @@ which defaults to \cmds{makeglossaries}. The print or \HTML\ glossary filename is appended to this command. In some situations it may be required to modify the default command, -\watchout[\cmds{makeglossaries} not found] +\trouble[\cmds{makeglossaries} not found]{makeglossaries=\prog{makeglossaries}>not found} +\trouble{glossaries=\pkg{glossaries}>makeglossaries=\prog{makeglossaries} not found} such as to add the \cmds{perl} command in front: \begin{sourcedisplay} \cs{usepackage}[ \\ @@ -648,11 +681,11 @@ a \acro{TOC} entry, and placed inline or on their own \HTML\ page: \end{description} The default \optn{style=item} option for \pkg{glossaries} conflicts -\watchout[glossary style] +\trouble[glossary style]{glossaries=\pkg{glossaries}>style} with \pkg{lwarp}, so the style is forced to \texttt{index} instead. The page number list in the printed form would become \cs{nameref}s in \HTML, -\watchout[number list] +\trouble[number list]{glossaries=\pkg{glossaries}>page numbers} which could become a very long string if many items are referenced. For now, the number list is simply turned off. @@ -667,8 +700,8 @@ though the page number is currently ignored. \newcommand{\limitstocbibind}{% An index may be placed inline with other \HTML\ text, or on its own \HTML\ page: \margintag{placement and \acro{TOC} options} -\index{index>placement and \acro{TOC} options} -\index{index>table of contents} +\gindex{index>placement and \acro{TOC} options} +\gindex{index>table of contents} \begin{description} @@ -737,7 +770,7 @@ If the \optn{latexmk} option is selected for \pkg{lwarp}, \cmds{lwarpmk printindex} and \cmds{lwarpmk htmlindex} will still be required. When using \cs{AtWriteToIndex} or \cs{AtNextWriteToIndex}, the user must not -\watchout[\cs{thepage}] +\trouble[\cs{thepage}]{splitidx=\pkg{splitidx}>\cs{thepage} and \cs{AtWriteToIndex}} refer to \cs{thepage} during \HTML\ output, as the concept of a page number is meaningless. Instead, do \begin{sourcedisplay} @@ -755,7 +788,7 @@ for the \cs{@@wrspindexhyp} macro as an example. \newcommand{\limitsimakeidx}{% When using \prog{makeindex}, to match the print and \HTML\ output's \margintag{letter headings} -\index{index>letter headings} +\gindex{index>letter headings} display of index letter headings, specify the \filenm{lwarp.ist} style: \begin{sourcedisplay} \cs{makeindex}[options=\{-s lwarp.ist\}] @@ -772,7 +805,7 @@ to process the indexes with \pkg{imakeidx}, both with and without shell escape. \newcommand{\limitstocloft}{% If using \pkg{tocloft} with \pkg{tocbibind}, \pkg{anonchap}, \DescribePackage{tocloft} -\watchout[\pkg{tocloft} \& other packages] +\trouble[\pkg{tocloft} \& other packages]{tocloft=\pkg{tocloft}>chapter titles} \pkg{fncychap}, or other packages which change chapter title formatting, load \pkg{tocloft} with its \optn{titles} option, which tells \pkg{tocloft} to use standard \LaTeX\ commands to create the titles, @@ -804,29 +837,45 @@ if \texttt{FileDepth} allows: \newcommand{\limitstext}{% \cs{textbf}, etc.\ are supported, -\watchout[\cs{bfseries}, etc.] +\trouble[\cs{bfseries}, etc.]{text>\cs{bfseries} etc.} +\trouble{formatting>\cs{bfseries} etc.} but \cs{bfseries}, etc.\ work only in some situations. \texttt{\&}, \texttt{\textless}, and \texttt{\textgreater} -\watchout[HTML special chars] +\trouble[HTML special chars]{HTML>entities} +\trouble{HTML>\&, \textless, \textgreater} +\trouble{text>\&, \textless, \textgreater} have special meanings in \HTML. -If \cs{\&}, \cs{textless}, and \cs{textgreater} are used, the proper result -should occur in \HTML, but there may be \HTML\ parsing problems +If \cs{\&}, \cs{textless}, and \cs{textgreater} are used, proper +\HTML\ entities will be used, but there may be \HTML\ parsing problems if these special characters occur unescaped in program listings or other verbatim text. + +For program listings, the \pkg{listings} package is supported, +\margintag{program listings} +and its \optn{literate} option is used to convert +\texttt{\&}, \texttt{\textless}, and \texttt{\textgreater} +to proper \HTML\ entities. + +The various \env{verbatim}-related environments do not convert +\texttt{\&}, \texttt{\textless}, and \texttt{\textgreater}, +\margintag{verbatim} +so care must be taken to avoid accidentally including valid \HTML\ code inside +these environments. Adding a space on either side may be sufficient. } \newcommand{\limitshspace}{% \DescribeMacro{\hspace}% -\index{space>horizontal}% -\index{horizontal space}% +\gindex{space>horizontal}% +\gindex{horizontal space}% \cs{hspace} is converted to an inline \HTML\ span of the given width, except that \texttt{0} width is ignored, a width of \texttt{.16667em} is converted to an \HTML\ thin breakable space (\texttt{U+2009}), and a \cs{fill} is converted to a \cs{qquad}. -\index{\texttt{\textasciitilde}}% +\gindex{\texttt{\textasciitilde}}% +\gindex{\cs{,}}% \DescribeMacro{\,}% \texttt{\~} and \cs{,} are converted to \HTML\ entities. @@ -841,8 +890,9 @@ Some \pkg{textcomp} symbols do not have Unicode equivalents, and thus are not supported. Many \pkg{textcomp} symbols are not supported by many fonts. -\watchout[missing symbols] -Try using more complete fonts in the \CSS, but expect to see gaps in coverage. +\trouble[missing symbols]{textcomp=\pkg{textcomp}>missing symbols} +\trouble{font>missing symbols} +In the CSS try referencing fonts which are more complete, but expect to see gaps in coverage. } \newcommand{\limitsaccents}{% @@ -851,7 +901,7 @@ accents are available when using Unicode-aware \XeLaTeX\ and \LuaLaTeX. } \newcommand{\limitsrelsize}{% -For \HTML\, only the inline macros are supported: \cs{textlarger}, \cs{textsmaller}, and +For \HTML, only the inline macros are supported: \cs{textlarger}, \cs{textsmaller}, and \cs{textscale}. Each becomes an inline span of a modified \attribute{font-size}. \cs{relsize}, \cs{larger}, \cs{smaller}, and \cs{relscale} are ignored. @@ -867,21 +917,24 @@ may limit how small the output will be displayed. \newcommand{\limitsreferences}{% Labels with special characters may be a problem. \margintag{labels} +\trouble[label characters]{label>characters} +\trouble{reference>label characters} It is best to stick with alpha-numeric, hyphen, underscore, and perhaps the colon (if not French). -\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] +\trouble[empty link]{label>\cs{nameref} empty} the link will be empty. Index entries also use \cs{nameref} and have the same limitation. +\trouble{index>empty link} +\trouble{reference>empty link} } \newcommand{\limitspfnote}{ While emulating \pkg{pfnote}, \pkg{lwarp} is not able to reset \HTML\ footnote -\watchout[\pkg{pfnote} numbers] +\trouble[\pkg{pfnote} numbers]{pfnote=\pkg{pfnote}>numbering} numbers per page number to match the printed version, as \HTML\ has no concept of page numbers. \pkg{lwarp} therefore uses continuous footnote numbering even for \pkg{pfnote}. @@ -893,7 +946,8 @@ as \HTML\ has no concept of page numbers. The \pkg{footmisc} \optn{stable} option is emulated by \pkg{lwarp}. -When using footnotes in sectioning commands, \watchout[sectioning commands] +When using footnotes in sectioning commands, +\trouble[sectioning commands]{footnote>sectioning, \pkg{footmisc}} to generate consistent results between print and \HTML, use the \pkg{footmisc} package with the \optn{stable} option, provide a short \TOC\ entry, and \cs{protect} the \cs{footnote}: @@ -905,6 +959,7 @@ provide a short \TOC\ entry, and \cs{protect} the \cs{footnote}: \end{sourcedisplay} If using \pkg{memoir} class, with which \pkg{lwarp} preloads \pkg{footmisc}, the \optn{stable} option must be declared before \pkg{lwarp} is loaded: +\trouble[\pkg{memoir}]{footnote>memoir=\pkg{memoir}} \begin{sourcedisplay} \cs{PassOptionsToPackage}\{\textred{stable}\}\{footmisc\} \\ \cs{usepackage}\{lwarp\} \\ @@ -919,9 +974,14 @@ adjust \cs{secnumdepth} instead. \newcommand{\limitsverbatimfootnotes}{% If using \pkg{fancybox} or \pkg{fancyvrb} with \cs{VerbatimFootnotes}, -\watchout[\cs{VerbatimFootnotes}] +\trouble[\cs{VerbatimFootnotes}]{footnote>VerbatimFootnotes=\cs{VerbatimFootnotes}} and using footnotes in a sectioning command or display math, -\watchout[sectioning or displaymath] +\trouble[sectioning or displaymath]{footnote>sectioning, verbatim} +\trouble{footnote>displaymath} +\trouble{VerbatimFootnotes} +\trouble{fancybox=\pkg{fancybox}>VerbatimFootnotes=\cs{VerbatimFootnotes}} +\trouble{fancyvrb=\pkg{fancyvrb}>VerbatimFootnotes=\cs{VerbatimFootnotes}} +\trouble{footnote>paragraph tags} use \cs{footnotemark} and \cs{footnotetext}: \begin{sourcedisplay} \cs{subsection}[Subsection Name]\\ @@ -951,7 +1011,8 @@ Please contact the author with any bug reports. While emulating \pkg{memoir}, \pkg{lwarp} pre-loads a number of packages (\cref{sec:patch-memoir-packages}). This can cause an options clash when the user's document later loads the same -\watchout[options clash] +\trouble[options clash]{memoir=\pkg{memoir}>options clash} +\trouble{options clash>memoir=\pkg{memoir}} packages with options. To fix this problem, specify the options before loading \pkg{lwarp}: \begin{sourcedisplay} @@ -1018,7 +1079,7 @@ One reason to change \cs{HTMLleftmargini} is if there is a wide The default is wide enough for a stanza number. Horizontal spacing relies on \prog{pdftotext}'s ability to discern the layout -\watchout[spacing] +\trouble[spacing]{verse>spacing} (\optn{-layout} option) of the text in the \HTML-tagged \PDF\ output. For some settings of \cs{HTMLleftmargini} or \cs{HTMLleftskip} the horizontal alignment may not work out @@ -1031,10 +1092,10 @@ For the \env{lateximage} environment, the size of the math and text used \margintag{SVG image font size} in the \SVG\ image may be adjusted -\index{font>size --- lateximage}% -\index{font>size --- math, SVG}% -\index{math>font size --- SVG}% -\index{lateximages>font size}% +\gindex{font>size --- lateximage}% +\gindex{font>size --- math, SVG}% +\gindex{math>font size --- SVG}% +\gindex{lateximage>font size}% by setting \cs{LateximageFontSizeName} to a font size name \Dash \emph{without the backslash}, which defaults to: \begin{sourcedisplay} @@ -1049,47 +1110,6 @@ which defaults to: } -\newcommand*{\describedisplaymathother}{ -\DescribeMacro{\displaymathnormal} -By default, or when selecting \cs{displaymathnormal}, -math display environments print their contents in \brand{Mathjax}, -and render their contents in \SVG\ math as well as -use their contents in the \attribute{alt} tag of \HTML\ output. -To do so, the contents are loaded into a macro for reuse. -In some cases, such as complicated \tikz\ pictures, compilation will fail. - -\DescribeMacro{\displaymathother} -When selecting \cs{displaymathother}, -it is assumed that the contents are more complicated than ``pure'' -math. -An example is an elaborate \tikz\ picture, which will not render in \brand{MathJax} and -will not make sense as an \HTML\ \attribute{alt} tag. -In this mode, \brand{MathJax} is turned off, -math display environments become \SVG\ images, even if \brand{MathJax} is selected, -and the \HTML\ \attribute{alt} tags become simple messages. -The contents are internally processed as an environment instead of a macro argument, -so complicated objects such as \tikz\ pictures are more likely to compile successfully. -} - - -\newcommand{\limitscustomizemathjax}{% -\brand{MathJax} does not have preexisting support every possible math function. -Additional \brand{MathJax} function definitions may be -defined. These will be declared at the start of each \HTML\ page, -and thus will have a global effect. - -Examples: -\begin{sourcedisplay} -\cs{CustomizeMathJax}\{ \\ - \fqquad\cs{newcommand}\{\cs{expval}\}[1]\{\cs{langle}\#1\cs{rangle}\} \\ - \fqquad\cs{newcommand}\{\cs{abs}\}[1]\{\cs{lvert}\#1\cs{rvert}\} \\ -\} \\ -\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arsinh}\}\{\cs{text}\{arsinh\}\}\} \\ -\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arcosh}\}\{\cs{text}\{arcosh\}\}\} -\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{NN}\}\{\cs{mathbb}\{N\}\}\} -\end{sourcedisplay} -} - \newcommand{\limitsmath}{% \subsubsection{Rendering tradeoffs} @@ -1097,7 +1117,7 @@ Examples: Math may be rendered \margintag{Math rendering} as \SVG\ graphics or using the \brand{MathJax} JavaScript display engine. -\index{JavaScript>MathJax} +\gindex{JavaScript=\brand{JavaScript}>MathJax=\brand{MathJax}} Rendering math as images creates a new \SVG\ file for each expression, \margintag{SVG files} except that an MD5 hash is used to combine identical duplicates of the same @@ -1128,8 +1148,8 @@ Also see \cref{sec:epub} regarding \EPUB\ output with \brand{MathJax}. For \SVG\ math, \margintag{SVG math option} math is rendered as usual by \LaTeX{} into the initial \PDF\ file using the -\index{math>SVG summary}% -\index{SVG>math summary}% +\gindex{math>SVG summary}% +\gindex{SVG>math summary}% current font\footnote{See \cref{sec:xfrac} regarding fonts and fractions.}, then is captured from the \PDF\ and converted to \SVG\ graphics via a number of utility programs. @@ -1151,7 +1171,7 @@ No tags are listed inside a starred \AmS\ environment, although the \cs{tag} macro will still appear inside the \LaTeX\ math expression. SVG math does not work inside \TeX\ boxes, since a \cs{newpage} is required -\watchout[SVG math in \TeX\ boxes] +\trouble[SVG math in \TeX\ boxes]{math>in \TeX\ boxes} before and after each image. \subsubsection{\brand{MathJax} option} @@ -1159,8 +1179,8 @@ before and after each image. The popular \brand{MathJax} alternative (\url{mathjax.org}) may be used to display math. \margintag{\brand{MathJax} math option} \DescribeProgram{MathJax} -\index{math>MathJax summary} -\index{MathJax>summary} +\gindex{math>MathJax=\brand{MathJax} summary} +\gindex{MathJax=\brand{MathJax}>summary} When \brand{MathJax} is enabled, math is rendered twice: \begin{enumerate} @@ -1174,8 +1194,8 @@ seamlessly integrating with the rest of the \LaTeX\ code. \end{enumerate} \subsubsection{Customizing \brand{MathJax}} -\index{MathJax>custom functions} -\index{math>MathJax custom functions} +\gindex{MathJax=\brand{MathJax}>custom functions} +\gindex{math>MathJax=\brand{MathJax} custom functions} \limitscustomizemathjax \subsubsection{\brand{MathJax} limitations} @@ -1183,22 +1203,10 @@ Limitations when using \brand{MathJax} include: \margintag{\brand{MathJax} limitations} \DescribeProgram{MathJax} \begin{itemize} -\item In document classes which have chapters, - \margintag{chapter numbers}% - \index{MathJax>tagged equations}% - \index{tagged equations>Mathjax}% - \cs{tag}ged equations have the chapter number prepended in \HTML\ output, unlike \LaTeX. - \cs{tag*} equations (correctly) do not. - This may be improved with future versions of the \brand{MathJax} support script. - - \href{https://groups.google.com/forum/\#!topic/mathjax-users/jUtewUcE2bY} - {\texttt{https://groups.google.com/forum/\#!topic/\\ - \fqquad\ mathjax-users/jUtewUcE2bY}} - \item \brand{MathJax} itself does not support subequations. \margintag{subequations} -\index{MathJax>subequations}% -\index{subequations>MathJax}% +\trouble{MathJax=\brand{MathJax}>subequations}% +\trouble{math>subequations}% This may be improved by parsing the \LaTeX{} math expression to manually insert tags, but this has not yet been done. \item Footnotes inside equations are not yet supported while using \brand{MathJax}. @@ -1212,7 +1220,8 @@ Limitations when using \brand{MathJax} include: is supported via a third-party \brand{MathJax} extension. While inside a math expression, do not use \cs{SI} or \cs{si} inside \cs{text}, where it will be rendered as normal text. - \watchout[siunitx inside an equation] + \trouble[siunitx inside an equation]{siunitx=\pkg{siunitx}>MathJax=\brand{MathJax}} + \trouble{MathJax=\brand{MathJax}>siunitx=\pkg{siunitx}} \href{https://github.com/burnpanck/MathJax-siunitx} {\texttt{https://github.com/burnpanck/MathJax-siunitx}} @@ -1225,9 +1234,10 @@ Limitations when using \brand{MathJax} include: render the horizontal alignment of the math and text following after on the same line. \item Other math-related macros and packages are not supported by \brand{MathJax}, - \watchout[other macros and packages] - including \cs{ensuremath}, \pkg{bigdelim}, \pkg{units}, and \pkg{nicefrac}, - along with occasionally-used macros such as \cs{footnote} and \cs{relax}. + \trouble[other macros and packages]{MathJax=\brand{MathJax}>unsupported packages} + including \cs{ensuremath} and \pkg{bigdelim}, + along with occasionally-used macros such as \cs{relax}. + \pkg{lwarp} emulates footnotes, \pkg{units}, and \pkg{nicefrac} for MathJax. \end{itemize} } @@ -1251,22 +1261,75 @@ If a package defines macros using \texttt{\$}, it may be nessary to use package. } -\newcommand{\limitsmathdynamic}{ +\newcommand{\limitsmathinline}{ +\DescribeMacro{\inlinemathnormal} +\DescribeMacro{\inlinemathother} An inline math expression is usually converted to a reusable hashed \SVG\ math -\margintag{inline dynamic math} image, or a MathJax expression. The hash or expression depends on the contents of the math expression. In most cases this math expression is static, such as \texttt{\$x+1\$}, so the image can be reused for multiples instances of the same expression. -In some cases, the math expression includes a counter or other object which may -change between uses. The macro \cs{StartDynamicMath} may be used before a dynamic -math expression, and \cs{StopDynamicMath} after. Doing so tells \pkg{lwarp} to +In some cases, +\margintag{changing contents} +the math expression includes a counter or other object which may +change between uses. +Another problem is complicated contents +\margintag{complicated \attribute{alt} tag} +which do not expand well in an \attribute{alt} tag. +The macro \cs{inlinemathother} may be used before a dynamic +math expression, and \cs{inlinemathnormal} after. Doing so tells \pkg{lwarp} to use an unhashed \SVG\ math image, even if MathJax is in use. See \cref{sec:localizingdynamicmath}. } +\newcommand*{\limitsmathdisplay}{ +\DescribeMacro{\displaymathnormal} +By default, or when selecting \cs{displaymathnormal}, +\brand{Mathjax} math display environments print their contents +as text into \HTML, +and \SVG\ display math environments render their contents as \SVG\ images +and use their contents as the \attribute{alt} tag of \HTML\ output. +To do so, the contents are loaded into a macro for reuse. +In some cases, such as complicated \tikz\ pictures, compilation will fail. + +\DescribeMacro{\displaymathother} +When selecting \cs{displaymathother}, +it is assumed that the contents are more complicated than ``pure'' +math. +An example is an elaborate \tikz\ picture, +\margintag{MathJax unsupported} +which will not render in \brand{MathJax} and +will not make sense as an \HTML\ \attribute{alt} tag. +\margintag{complicated \attribute{alt} tag} +In this mode, \brand{MathJax} is turned off, +math display environments become \SVG\ images, even if \brand{MathJax} is selected, +and the \HTML\ \attribute{alt} tags become simple messages. +The contents are internally processed as an environment instead of a macro argument, +so complicated objects such as \tikz\ pictures are more likely to compile successfully. +} + + +\newcommand{\limitscustomizemathjax}{% +\brand{MathJax} does not have preexisting support every possible math function. +Additional \brand{MathJax} function definitions may be +defined. These will be declared at the start of each \HTML\ page, +and thus will have a global effect. + +Examples: +\begin{sourcedisplay} +\cs{CustomizeMathJax}\{ \\ + \fqquad\cs{newcommand}\{\cs{expval}\}[1]\{\cs{langle}\#1\cs{rangle}\} \\ + \fqquad\cs{newcommand}\{\cs{abs}\}[1]\{\cs{lvert}\#1\cs{rvert}\} \\ +\} \\ +\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arsinh}\}\{\cs{text}\{arsinh\}\}\} \\ +\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arcosh}\}\{\cs{text}\{arcosh\}\}\} +\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{NN}\}\{\cs{mathbb}\{N\}\}\} +\end{sourcedisplay} +} + \newcommand{\limitschemformula}{% \pkg{chemformula} works best without \brand{MathJax}. -\watchout[\pkg{chemformula} with \brand{MathJax}] +\trouble[\pkg{chemformula} with \brand{MathJax}]{MathJax=\brand{MathJax}>chemformula=\pkg{chemformula}} +\trouble{chemformula=\pkg{chemformula}>MathJax=\brand{MathJax}} If \brand{MathJax} is used, \cs{displaymathother} must be used before \env{array}, and then \cs{displaymathnormal} may be used after. @@ -1280,7 +1343,7 @@ for other forms of display and inline math which contain \pkg{chemformula} expre \newcommand{\limitsntheorem}{% This conversion is not total. -\watchout[Font control] +\trouble[Font control]{ntheorem=\pkg{ntheorem}>font} Font control is via \CSS, and the custom \LaTeX\ font settings are ignored. @@ -1289,10 +1352,9 @@ are ignored. \newcommand{\limitsntheoremnumbering}{% \pkg{ntheorem} has a bug with equation numbering in \AmS\ environments% -\watchout[Equation numbering]% -\index{equation>miss-numbered}% -\index{split>miss-numbered}% -\index{AMSmath>split miss-numbered} +\trouble[Equation numbering]{ntheorem=\pkg{ntheorem}>numbering} +\trouble{math>equation numbering>ntheorem=\pkg{ntheorem}} +\trouble{AMSmath>ntheorem=\pkg{ntheorem}>numbering} when the option \optn{thref} is used. \pkg{lwarp} does not share this bug, so equations with \cs{split}, etc, are numbered correctly with \pkg{lwarp}'s \HTML\ output, but not with the print output. @@ -1302,11 +1364,11 @@ It is recommended to use \pkg{cleveref} instead of \pkg{ntheorem}'s \newcommand{\limitsgraphics}{% For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files, -\index{graphics>formats} -\index{includegraphics=\cs{includegraphics}>using} -\index{PDF images>using} -\index{EPS images>using} -\index{images>PDF or EPS>using} +\gindex{graphics>formats} +\gindex{includegraphics=\cs{includegraphics}>using} +\gindex{PDF image>using} +\gindex{EPS image>using} +\gindex{image>PDF or EPS>using} \margintag{\cs{includegraphics} file formats} the user must provide a \filenm{.pdf} or \filenm{.eps} image file for use in print mode, and also a \filenm{.svg}, \filenm{.png}, or \filenm{.jpg} version @@ -1342,15 +1404,15 @@ use \userentry{lwarpmk pdftosvg *.PDF} to convert to \SVG\ images. When using \DVI\ \prog{latex}, \margintag{DVI latex} it is necessary to convert \EPS\ to \PDF\ and then to \SVG: -\index{images>PDF or EPS>converting} +\gindex{image>PDF or EPS>converting} \userentry{lwarpmk epstopdf *.eps\qquad \textrm{(or a list of filenames)}} \userentry{lwarpmk pdftosvg *.pdf\qquad \textrm{(or a list of filenames)}} For \PNG\ or \JPG \margintag{PNG and JPG} -\index{images>PNG and JPG} -\index{PNG images} -\index{JPG images} +\gindex{image>PNG and JPG} +\gindex{PNG images} +\gindex{JPG images} while using \prog{pdflatex}, \prog{lualatex}, or \prog{xelatex}, the same file may be used in both print or \HTML\ versions, and may be used with a file extension, but will also be used without the file extension if it is the only file of @@ -1358,22 +1420,26 @@ its base name. GIF files may be used for \HTML, \margintag{GIF} -\index{images>GIF} -\index{GIF images} +\gindex{image>GIF} +\gindex{GIF images} but another format must also be provided for print output. If a file extension is not used, \margintag{file extension priorities} -\index{images>format priorities} +\trouble{image>format priorities} +\trouble{graphics>image format priorities} for \HTML\ the file extension priorities are: \SVG, \GIF, \PNG, then \JPG. If using the older \pkg{graphics} syntax, use both optional arguments -\watchout[\pkg{graphics} vs. \pkg{graphicx}] +\trouble[\pkg{graphics} vs. \pkg{graphicx}]{graphics>optional arguments} +\trouble{includegraphics=\cs{includegraphics}>optional arguments} for \cs{includegraphics}. A single optional parameter is interpreted as the newer \pkg{graphicx} syntax. Note that viewports are not supported by \pkg{lwarp} \Dash -\watchout[viewports] +\trouble[viewport]{graphics>viewport} +\trouble[viewport]{image>viewport} +\trouble{viewport} the entire image will be shown. For \cs{includegraphics}, avoid \texttt{px} and \% units for width and height, or @@ -1402,7 +1468,7 @@ The class is ignored for print output. \margintag{\cs{rotatebox}} \cs{rotatebox}, \cs{scalebox}, and \cs{reflectbox} depend -\watchout[browser support] +\trouble[browser support]{graphics>\cs{rotatebox}, \cs{scalebox}, \cs{reflectbox}} on modern browser support. The \CSSthree\ standard declares that when an object is transformed the whitespace which they occupied is preserved, @@ -1412,7 +1478,8 @@ ugly results for scaling and rotating. \newcommand{\limitssvgimages}{% When a math expression, \env{picture}, or \tikz\ environment is added or -\watchout[adding/removing] +\trouble[adding/removing]{SVG image>out of order} +\trouble{graphics>images out of order} removed, the \SVG\ images must be re-created by entering \cmds{lwarpmk limages} to maintain the proper image-file associations. Inline \SVG\ math may be hashed and thus not need to be recreated, but @@ -1426,21 +1493,26 @@ when dealing with a document containing thousands of images.} If it is necessary to recompile the document's \HTML\ version, \prog{lwarpmk} will inform so with an error message.% -If \HTML\ appears where an \SVG\ image should be,\watchout[\HTML\ instead of images]% -\index{math>appearing as \HTML code}% -\index{images>appearing as \HTML code}% -\index{SVG>images appearing as \HTML code}% -\index{HTML>appearing instead of images} -recompile the document one more +If \HTML\ appears where an \SVG\ image should be,% +\trouble[\HTML\ instead of images]{image>appears as \HTML\ code}% +\trouble{math>appears as \HTML\ code}% +\trouble{SVG image>appears as \HTML\ code}% +\trouble{image>appears as \HTML\ code}% +\trouble{HTML>image appear as \HTML\ code} + recompile the document one more time to get the page numbers back in sync, then remake the images one more time. +\prog{lwarpmk} attempts to detect this situation and print a warning. Incorrect \SVG\ images will also occur if the document -changes the \progcode{page} counter:\watchout[page counter] +changes the \progcode{page} counter: +\trouble[page counter]{page counter>SVG images} +\trouble{SVG image>incorrect} +\trouble{math>incorrect} +\trouble{image>incorrect} \begin{sourcedisplay} \cs{setcounter}\{page\}\{<value>\} \end{sourcedisplay} The \texttt{page} counter must \emph{not} be adjusted by the user. -\index{page>counter} Expressing math as \SVG\ images has the advantage of representing the math exactly as \LaTeX\ would, but has the disadvantage of requiring @@ -1457,7 +1529,7 @@ see \cref{sec:tutorialmathjax} to use \brand{MathJax} instead. \newcommand{\limitstikz}{% If using display math with \env{tikzpicture} or \cs{tikz}, along -\watchout[displaymath and matrices] +\trouble[displaymath and matrices]{tikz>matrices, \&} with matrices with the \texttt{\&} character, the document must be modified as follows: \begin{sourcedisplay} \cs{usepackage}\{tikz\} \\ @@ -1471,17 +1543,14 @@ replaced with \texttt{\textbackslash\&}.\ \pkg{grffile} is supported as-is. File types known to the browser are displayed, and unknown file types are given a link. Each \PDF\ image for print mode should be accompanied -\watchout[matching \PDF\ and \SVG] +\trouble[matching \PDF\ and \SVG]{grffile=\pkg{grffile}} by an \SVG, \PNG, or \JPG\ version for \HTML. } \newcommand{\limitscolor}{% \pkg{color} is superceded by \pkg{xcolor}, and \pkg{lwarp} requires several of the features of \pkg{xcolor}. - -It should be sufficient for the user's document to load \pkg{color} then -\watchout[missing colors] -load \pkg{xcolor} as well. +When \pkg{color} is requested, \pkg{xcolor} is loaded as well. } \newcommand{\limitsxcolor}{% @@ -1519,27 +1588,49 @@ Use \CSS\ or \cs{textcolor} where possible. \newcommand{\limitsepstopdf}{% Images with an \filenm{.eps} extension will be converted to \filenm{.pdf}. The \HTML\ output uses the \filenm{.svg} version, so -\watchout[convert to \filenm{.svg}] +\trouble[convert to \filenm{.svg}]{epstopdf=\pkg{epstopdf}} use \userentry{lwarpmk pdftosvg <listofPDFfiles>} to generate \filenm{.svg} versions. } \newcommand{\limitspstricks}{% All \pkg{pstricks} content should be -\watchout[use \env{pspicture}] +\trouble[use \env{pspicture}]{pstricks=\pkg{pstricks}} contained inside a \env{pspicture} environment. } \newcommand{\limitspdftricks}{% The \pkg{pdftricks} image files \filenm{<jobname>-fig*.pdf} must be converted -\watchout[convert image files] +\trouble[convert image files]{pdftricks=\pkg{pdftricks}} to \filenm{.svg}, or else a missing file error will occur. The image files must also be converted again whenever they change. To convert the images:\userentry{lwarpmk pdftosvg <jobname>-fig*.pdf} } +\newcommand{\limitspsfrag}{% +The \env{psfrags} environment is modified to use \env{lateximage} to encapsulate +\watchout[use \env{psfrags}] +the image. +Always use a \env{psfrags} environment to contain any local \cs{psfrag} macros and +the associated \cs{includegraphics} or \cs{epsfig} calls. +Outside of a \env{psfrags} environment, \pkg{psfrags} adjustments will not be seen +by \pkg{lwarp}. + +Tip: Use a mono-spaced font for the tags in the \EPS\ file. +\watchout +} + +\newcommand{\limitspstool}{% +\cs{graphicspath} is ignored, and the file directory must be stated. + +The filename must not have a file extension. +\trouble[path and filename]{pstool=\pkg{pstool}} + +Use \userentry{lwarpmk html} followed by \userentry{lwarpmk limages}. +} + \newcommand{\limitsoverpic}{% The macros \cs{overpicfontsize} and \cs{overpicfontskip} are used during -\watchout[scaling] +\trouble[scaling]{overpic=\pkg{overpic}} \HTML\ generation. These are sent to \cs{fontsize} to adjust the font size for scaling differences between the print and \HTML\ versions of the document. Renew these macros before using the \env{overpic} and \env{Overpic} @@ -1550,7 +1641,9 @@ environments. The \env{tabbing} environment works, except that \SVG\ math and \env{lateximage}s do not yet work inside the environment. -If math is used inside \env{tabbing}, \margintag{math in \env{tabbing}} +If math is used inside \env{tabbing}, +\trouble[math in \env{tabbing}]{tabbing=\env{tabbing}>math} +\trouble{math>tabbing=\env{tabbing}} place \env{tabbing} inside a \env{lateximage} environment, which will render the entire environment as a single \SVG\ image. @@ -1564,11 +1657,10 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \begin{description} \item [Defining environments:] \ \begin{itemize} - \item When defining environments or macros which include \env{tabular} - and\watchout[misplaced alignment alignment tab character \&] - \index{alignment tab character \&, misplaced} - \index{misplaced alignment tab character \&} - \index{tabular>misplaced alignment tab character \&} + \item When defining environments or macros which include \env{tabular} and + \trouble[Misplaced alignment tab character \&]% + {Misplaced alignment tab character \&>tabular>macros} + \trouble{tabular>Misplaced alignment tab character \&>macros} instances of the \texttt{\&} character, it may be necessary to make \texttt{\&} active before the environment or macro is defined, then restore \texttt{\&} to its default catcode after, using the following commands. @@ -1579,18 +1671,16 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \textred{\cs{StopDefiningTabulars}} \end{sourcedisplay} This includes before and after defining any macro - \watchout[floatrow] + \trouble[floatrow]{floatrow=\pkg{floatrow}>ttabbox=\cs{ttabbox}} which used \cs{ttabbox} from \pkg{floatrow}. \item \limitsresumetabular \end{itemize} \item [Cell contents:] \ \begin{itemize} - \item Multiple paragraphs in one cell of a \texttt{p}, \texttt{b}, \texttt{m} column - \watchout[paragraphs] - must have \cs{newline} between paragraphs. \item For \pkg{multirow}, insert \cs{mrowcell} into any empty multi-row cells. - \watchout[\cs{multirow}] + \trouble[\cs{multirow}]{tabular>multirow=\pkg{multirow}} + \trouble{multirow=\pkg{multirow}} This will be a null function for the print output, and is a placeholder for parsing the table for \HTML\ output. \begin{sourcedisplay} @@ -1613,9 +1703,9 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \limitsmulticolumnrow \item Using a custom macro inside a tabular data cell - \watchout[macro in a table]\margintag{custom macros} - \index{tabular>row corruption}% - \index{tabular>macros inside}% + \trouble[macro in a table]{tabular>macro inside} + \trouble{tabular>row corruption} + \gindex{tabular>macros inside} may result in an extra \HTML\ data cell tag, corrupting the \HTML\ table. To avoid this, use \cs{TabularMacro} just before the macro. This is ignored in print mode. @@ -1628,7 +1718,7 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \item [Column specifiers:] \ \begin{itemize} \item \texttt{*} in a column specification is not used (so far). - \watchout[* column specification] + \trouble[* column specification]{tabular>*=\texttt{*} column specification} Repeat the column type the correct number of times. \item Only one each of \texttt{@} and \texttt{!} @@ -1642,7 +1732,7 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta which do not appear in the \HTML\ version. \item \cs{newcolumntype} is ignored; unknown column types are set to \texttt{l}. - \watchout[\cs{newcolumntype}] + \trouble[\cs{newcolumntype}]{tabular>newcolumntype=\cs{newcolumntype}} \end{itemize} \item [Rules:] \ @@ -1672,16 +1762,15 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \cs{cmidrule}\{2-3\} \textbackslash\textbackslash[-2ex] \\ \cs{bottomrule} \end{sourcedisplay} - The optional \texttt{-2ex} is ignored in \HTML\, but improves the + The optional \texttt{-2ex} is ignored in \HTML, but improves the visual formatting in the print output. \item For \cs{toprule} and \cs{bottomrule}, - \watchout[\cs{warpprintonly}] + \trouble[\cs{warpprintonly}]{Misplaced \cs{noalign}>tabular>rules} + \trouble{tabular>rules} when combined with a \env{warpprint} or \env{warpHTML} environment, - \margintag{misplaced \cs{noalign}}% - \index{tabular>misplaced \protect\cs{noalign}}% - \index{misplaced \protect\cs{noalign}} - if a ``misplaced \cs{noalign}'' error occurs, + \trouble[Misplaced \cs{noalign}]{tabular>Misplaced \protect\cs{noalign}}% + if a ``Misplaced \cs{noalign}'' error occurs, change \begin{sourcedisplay} This \& That \cs{endhead} @@ -1707,7 +1796,8 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \margintag{\env{longtable} headings} do not apply to \HTML\ inside \cs{warpprintonly\{\}}. \item For S columns (from the \pkg{siunitx} package), - \watchout[S columns] + \trouble[S columns]{siunitx=\pkg{siunitx}>S column} + \trouble{tabular>S column} while producing print output, anything non-numeric must be placed inside \{ \} braces, including commands such as \cs{multirow}. @@ -1724,7 +1814,7 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta \newcommand{\limitsmulticolumnrow}{% \pkg{lwarp} does not support -\watchout[\cs{multicolumn} \& \cs{multirow}] +\trouble[\cs{multicolumn} \& \cs{multirow}]{multirow=\cs{multirow} and \cs{multicolumn}} directly combining \cs{multicolumn} and \cs{multirow}. Use \cs{multicolumnrow} instead. To create a 2 column, 3 row cell: @@ -1760,7 +1850,8 @@ Note that recent versions of \pkg{multirow} include a new optional \newcommand{\limitsresumetabular}{% When creating a new environment -\watchout[\env{tabular} inside another environment] +\trouble[\env{tabular} inside another environment]{tabular>inside an environment} +\trouble{tabular>corrupt rows} which contains a \env{tabular} environment, \pkg{lwarp}'s emulation of the tabular does not automatically resume when the containing enviroment ends, resulting in corrupted \HTML\ rows. @@ -1785,7 +1876,8 @@ left \& right \textbackslash\textbackslash \\ \newcommand{\limitslongtable}{% Longtable \cs{endhead}, \cs{endfoot}, and \cs{endlastfoot} rows are not used for \HTML, and these rows should be disabled. -\watchout +\trouble[Misplaced \cs{noalign}]{Misplaced \cs{noalign}} +\trouble{tabular>endhead=\cs{endhead}, \cs{endfoot}, \cs{endlastfoot}} Use \begin{sourcedisplay} \cs{warpprintonly}\{row contents\} @@ -1799,18 +1891,20 @@ Doing so helps avoid ``Misplaced \cs{noalign}.'' when using \cs{begin}\{warpprin Keep the \cs{endfirsthead} row, which is still relevent to \HTML\ output. \cs{kill} is ignored, place a \cs{kill} line inside -\watchout +\trouble[\cs{kill}]{tabular>kill=\cs{kill}} \begin{sourcedisplay} \cs{begin}\{warpprint\} \ldots\ \cs{end}\{warpprint\} \end{sourcedisplay} or place it inside \cs{warpingprintonly}. -\pkg{longtable} is not supported inside a \env{lateximage}.\watchout[lateximage] +\pkg{longtable} is not supported inside a \env{lateximage}.% +\watchout[lateximage] } \newcommand{\limitssupertabular}{% For \cs{tablefirsthead}, etc., enclose them as follows: -\watchout[misplaced alignment alignment tab character \&] +\trouble[Misplaced alignment tab character \&]% + {Misplaced alignment tab character \&>supertabular=\pkg{supertabular}} \begin{sourcedisplay} \textred{\cs{StartDefiningTabulars}} \\ \cs{tablefirsthead} \\ @@ -1825,7 +1919,7 @@ inside a \env{lateximage}.\watchout[lateximage] \newcommand{\limitsbigdelim}{% \cs{ldelim} and \cs{rdelim} use \cs{multirow}, so -\watchout[use \cs{mrowcell}] +\trouble[use \cs{mrowcell}]{bigdelim=\pkg{bigdelim}} \cs{mrowcell} must be used in the proper number of empty cells in the same column below \cs{ldelim} or \cs{rdelim}, but not in cells which are above or below the delimiter: @@ -1850,7 +1944,8 @@ are above or below the delimiter: \newcommand{\limitscolortbl}{% Only use \cs{rowcolor} and \cs{cellcolor} at the start of a row, -in that order.\watchout[row/cell color] +in that order. +\trouble[row/cell color]{colortbl=\pkg{colortbl}} \pkg{colortbl} ignores the overhang arguments. } @@ -1862,7 +1957,8 @@ While inside a list environment, \pkg{lwarp} nullifies a number of \cs{makelabel} for print mode while \HTML\ mode ignores those commands. When defining \cs{makelabel} in a \env{list} environment, use -\watchout[label font] +\trouble[label font]{lists>label formatting} +\trouble{makelabel=\cs{makelabel}} \cs{textbf} etc. instead of \cs{bfseries}. } @@ -1872,6 +1968,7 @@ When defining \cs{makelabel} in a \env{list} environment, use \newcommand{\limitsmarginpars}{% \DescribeMacro{\marginpar} \oarg{left} \marg{right} \qquad +\trouble{marginpar=\cs{marginpar}} \cs{marginpar} may contains paragraphs, but in order to remain inline with the surrounding text \pkg{lwarp} nullifies block-related macros inside the \cs{marginpar}. Paragraph breaks are converted to \element{br /} tags. @@ -1884,7 +1981,9 @@ A line break will occur in the text where the \cs{marginBlock} occurs. } \newcommand{\limitssaveboxes}{% -\LaTeX\ boxes are placed inline and do not allow line breaks, so boxes +\trouble{boxes} +\trouble{HTML>corrupted} +\TeX\ boxes are placed inline and do not allow line breaks, so boxes with long contents may overflow the line during \HTML\ conversion. This is mostly a problem when the boxes contain objects which themselves hold large \HTML\ tags, such as rotation commands with long contents. @@ -1894,7 +1993,7 @@ the page will be corrupted. \newcommand{\limitsminipage}{% A line of text with an inline minipage -\watchout[inline] +\trouble[inline]{minipage>inline} or parbox will have the minipage or parbox placed onto its own line, because a paragraph is a block element and cannot be made \attribute{inline-block}. @@ -1912,6 +2011,7 @@ of the paragraph. There is limited support for minipages inside an \HTML\ \element{span}. \margintag{in a span} +\trouble{minipage>in a span} An \HTML\ \element{div} cannot appear inside a \element{span}. While in a \element{span}, minipages, and parboxes, and any enclosed lists have limited \HTML\ tags, resulting in an ``inline'' format, without markup @@ -1934,7 +2034,7 @@ the display rather than the fixed width given. Nested minipages adopt their parent's text alignment in \HTML, whereas in regular \LaTeX{} \PDF\ output they do not. -\watchout[text alignment] +\trouble[text alignment]{minipage>alignment} Use a \env{flushleft} or similar environment in the child minipage to force a text alignment. } @@ -1982,7 +2082,7 @@ The caption may be placed either inside or outside the \env{fminipage}: \end{sourcedisplay} \pkg{lwarp} does not support the \env{verbatim} environment inside a span, box, -\margintag{framed verbatim} +\trouble[framed verbatim]{verbatim>framed} or \pkg{fancybox}'s \cs{Sbox}, but a \env{verbatim} may be placed inside a \env{fminipage}. The \pkg{fancybox} documentation's example \env{FramedVerb} may be defined as: @@ -2047,6 +2147,7 @@ Footnotes are currently placed at the bottom of the \HTML\ page. \newcommand{\limitscaption}{% To pass options to caption, select the options before loading \pkg{lwarp}: +\trouble[options]{caption>options} \begin{sourcedisplay} \cs{documentclass}\{article\} \\ \dots \\ @@ -2055,10 +2156,11 @@ To pass options to caption, select the options before loading \pkg{lwarp}: \cs{usepackage\{lwarp\}} \\ \dots \\ \cs{usepackage\{caption\}} -\end{sourcedisplay}\watchout[options] +\end{sourcedisplay} To ensure proper float numbering, set caption positions such as: +\trouble[numbering]{caption>numbering} \begin{sourcedisplay} \cs{captionsetup}[table]\{position=top\} \\ \cs{captionsetup}[figure]\{position=bottom\} @@ -2080,12 +2182,12 @@ If using \cs{newfloat}, \pkg{trivfloat}, and/or % therefore \pkg{lwarp} does not place subfigures in the LOF/LOT. At present, the package options for \optn{lofdepth} and \optn{lotdepth} -\watchout[\optn{lof/lotdepth}] +\trouble[\optn{lof/lotdepth}]{subfig=\pkg{subfig}>options} are not working. These counters must be set separately after the package has been loaded. In the document source, use \cs{hfill} and \cs{hspace*} -\margintag{horizontal spacing} +\trouble{horizontal spacing}{subfig>inline} between subfigures to spread them apart horizontally. The use of other forms of whitespace may cause paragraph tags to be generated, resulting in subfigures @@ -2094,7 +2196,7 @@ appearing on the following lines instead of all on a single line. \newcommand{\limitsfloatalignment}{% \cs{centering}, etc. are honored in a \env{figure} or \env{table} if -\margintag{\env{figure} \& \env{table} alignment} +\trouble[\env{figure} \& \env{table} alignment]{float>alignment} they are the first command inside the float: \begin{sourcedisplay} \cs{begin}\{table*\} \\ @@ -2106,18 +2208,20 @@ they are the first command inside the float: \newcommand{\limitsfloatrow}{% Use \cs{StartDefiningTabulars} and \cs{StopDefiningTabulars} before and after -\watchout[misplaced alignment alignment tab character \&] +\trouble[Misplaced alignment tab character \&]% + {Misplaced alignment tab character \&>floatrow=\pkg{floatrow}} defining macros using \cs{ttabbox} with a tabular inside. See \cref{sec:limitstabular}. When combined with the \pkg{subfig} package, -\watchout[\pkg{subfig} package] +\trouble[\pkg{subfig} package]{floatrow>with \pkg{subfig}} +\trouble{subfig=\pkg{subfig}>with \pkg{floatrow}} while inside a \env{subfloatrow} \cs{ffigbox} and \cs{ttabbox} must have the caption in the first of the two of the mandatory arguments. The emulation of \pkg{floatrow} does not support \cs{FBwidth} or \cs{FBheight}. These values are pre-set to \texttt{.3\cs{linewidth}} and \texttt{2in}. -\watchout[\cs{FBwidth}, \cs{FBheight}] +\trouble[\cs{FBwidth}, \cs{FBheight}]{floatrow>\cs{FBwidth} and \cs{FBheight}} Possible solutions include: \begin{itemize} \item Use fixed lengths. \pkg{lwarp} will scale the \HTML\ lengths appropriately. @@ -2133,6 +2237,7 @@ Possible solutions include: } \newcommand{\limitskeyfloat}{% +\trouble{keyfloat=\pkg{keyfloat}} If placing a \cs{keyfig}\optn{[H]} inside a \env{keywrap}, \watchout[\env{keywrap}] use an absolute width for @@ -2142,26 +2247,30 @@ a virtual 6-inch wide minipage, which then corrupts the \optn{lw} option.) } \newcommand{\limitssiunitx}{% -Due to \prog{pdftolatex} limitations, fraction output is replaced by symbol +Due to \prog{pdftotext} limitations, fraction output is replaced by symbol \margintag{fractions} output for \optn{per-mode} and \optn{quotient-mode}. Some units will require that the expression be placed inside math mode. -\watchout[math mode required] +\trouble[math mode required]{siunitx=\pkg{siunitx}} +\trouble{siunitx>MathJax=\brand{MathJax}} +\trouble{MathJax=\brand{MathJax}>siunitx=\pkg{siunitx}} \textred{NOTE: As of this writing, the \pkg{siunitx} extension for \brand{MathJax} is not currently hosted at any public CDN, thus \pkg{siunitx} is not usable with \brand{MathJax} unless a local copy of this extension is created first.} Tabular \texttt{S} columns are rendered as simple \texttt{c} columns, -\watchout[\env{tabular}] +\trouble[\env{tabular}]{siunitx=\pkg{siunitx}>tabular S and s columns} and tabular \texttt{s} columns are not supported. These may be replaced by \texttt{c} columns with each cell contained in \cs{num} or \cs{si}. } \newcommand{\limitsnicefrac}{% +\trouble{nicefrac=\pkg{nicefrac}} +\trouble{units=\pkg{units}} \pkg{units} and \pkg{nicefrac} work with \pkg{lwarp}, but \brand{MathJax} does not have an extension for \pkg{units} or \pkg{nicefrac}. These packages do work with \pkg{lwarp}'s option \optn{svgmath}. @@ -2179,7 +2288,7 @@ These packages do work with \pkg{lwarp}'s option \optn{svgmath}. \newcommand{\limitsbabeltwo}{% When French is used, the caption separator is -\margintag{\cs{CaptionSeparator}} +\trouble[\cs{CaptionSeparator}]{babel=\pkg{babel}>French} changed to a dash. The following may be used to restore it to a colon: \begin{sourcedisplay} \cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\} @@ -2199,6 +2308,8 @@ changes do not affect the \HTML\ output. } \newcommand{\limitspolyglossia}{% +\trouble{Undefined control sequence>polyglossia=\pkg{polyglossia}} +\trouble{polyglossia=\pkg{polyglossia}>Undefined control sequence} \pkg{lwarp} uses \pkg{cleveref}, which has some limitations when using \pkg{polyglossia}, possibly resulting in the error \begin{sourcedisplay} @@ -2225,7 +2336,7 @@ the \HTML\ version should work as well using \pkg{lwarp}. \newcommand{\limitsnewclude}{% \pkg{newclude} modifies \cs{label} in a non-adaptive way, so \pkg{newclude} must be loaded before \pkg{lwarp} is loaded: -\watchout[loading] +\trouble[loading]{newclude=\pkg{newclude}} \begin{docsidebar} \raggedright @@ -2238,13 +2349,15 @@ the \HTML\ version should work as well using \pkg{lwarp}. } \newcommand{\limitstodonotes}{% +\trouble{todonotes=\pkg{todonotes}} The documentation for \pkg{todonotes} and \pkg{luatodonotes} have an example with a todo inside a caption. If this example does not work it will be necessary to move the todo outside of the caption. } \newcommand{\limitsfixme}{% -External layouts (\cs{fxloadlayouts}) are not supported.\watchout[external layouts] +External layouts (\cs{fxloadlayouts}) are not supported. +\trouble[external layouts]{fixme=\pkg{fixme}} User control is provided for setting the \HTML\ styling of the ``faces''. The defaults are as follows, and may be changed in the preamble after @@ -2259,6 +2372,7 @@ The defaults are as follows, and may be changed in the preamble after } \newcommand{\limitsxparse}{% +\trouble{xparse=\pkg{xparse}} To remove from the log any warnings about redeclaring objects, place the following before \pkg{lwarp} is loaded: \begin{sourcedisplay} @@ -2268,7 +2382,7 @@ place the following before \pkg{lwarp} is loaded: \newcommand{\limitsnewtxmath}{% The proper load order is: -\watchout[loading sequence] +\trouble[loading sequence]{newtxmath=\pkg{newtxmath}} \begin{sourcedisplay} \textrm{\dots} \\ \cs{usepackage}\{lwarp\} \\ @@ -2292,10 +2406,10 @@ using \cmds{pdflatex filename.tex} or similar, after which \newcommand*{\describehashing}{% If starred, a hashed filename is used.\margintag{image filename hashing} -\index{hash>SVG image filename} -\index{file>hashed name} -\index{images>hashed filenames} -\index{MD5 hash>SVG image filename} +\gindex{hash>SVG image filename} +\gindex{file>hashed name} +\gindex{image>hashed filename} +\gindex{MD5 hash>SVG image filename} If so, the hash is based on the \attribute{alt} tag and also the additional hashing argument. This may be used to provide an expression with a simple \attribute{alt} tag @@ -2314,12 +2428,18 @@ is still the same. \newcommand{\osportabilityusage}{% +\trouble{operating system} +\trouble{Mac OS=\brand{Mac OS}} +\trouble{Linux=\brand{Linux}} +\trouble{Unix=\brand{Unix}} \pkg{lwarp} tries to detect which operating system is being used. \DescribeProgram{Unix}\DescribeProgram{Mac OS}\DescribeProgram{Linux} \brand{Unix}~/ \brand{Mac~OS}~/ \brand{Linux} is the default (collectively referred to as ``\brand{Unix}'' in the configuration files), and \brand{MS-Windows} is supported as well. +\trouble{MS-Windows=\brand{MS-Windows}} +\trouble{Windows=\brand{Windows}} If \brand{MS-Windows} is not correctly detected, \DescribeProgram{MS-Windows} \DescribeProgram{Windows} use the \pkg{lwarp} option \optn{OSWindows}. @@ -2352,7 +2472,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{25889} +% \CheckSum{26157} % % \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 @@ -2455,6 +2575,7 @@ This boolean may be tested by the user for later use. % \changes{v0.58}{2018/06/07}{Replaced each \cs{csuse} with \cs{@nameuse} to force error if undefined.} % \changes{v0.59}{2018/09/07}{\ 2018/09/07} % \changes{v0.60}{2018/09/19}{\ 2018/09/19} +% \changes{v0.61}{2018/10/13}{\ 2018/10/13} @@ -2652,12 +2773,54 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.61:] Custom compilation, \EPS-related packages, documentation, indexes. +% \begin{itemize} +% \item Split index into multiple indexes. See \cpageref{sec:indexmeta}. +% \margintag{docs} +% \item Improved documentation regarding font selection. See \cref{sec:fonts}. +% \item Added documentation regarding debugging options. +% See \cref{sec:debuggingmessages}. +% \item Added documentation regarding \HTML\ entities inside program listings. +% See \cref{sec:avoidtextformatting}. +% \item Added options to specify the shell commands to execute for +% \margintag{custom compiling} +% \cmds{lwarpmk print} and \cmds{lwarpmk html}, allowing +% the use of \pkg{lwarp} with \pkg{perltex}, \pkg{pythontex}, etc. +% If not specified, these are set automatically depending on the \LaTeX\ engine, +% \optn{-\/-shell-escape}, and \pkg{lwarp} options. +% See \cref{sec:customcompiling}. +% \item Changed macro names to match +% \watchout[changed names] +% \cs{displaymathother}, \cs{displaymathnormal}: \\ +% \begin{tabular}{cc} +% \toprule +% Old & New \\ +% \midrule +% \cs{StartDynamicMath} & \cs{inlinemathother} \\ +% \cs{StopDynamicMath} & \cs{inlinemathnormal} \\ +% \bottomrule +% \end{tabular} +% \item Fix: Paragraph tags in a \env{tabular}. +% \margintag{fixes} +% \item Fix: \pkg{supertabular} and \pkg{xtab} captions. +% \item Fix: DVI \LaTeX\ \cs{includegraphics} \EPS\ images. +% \item Fix: \pkg{newfloat} lists. +% \item Fix: CSS footnotes text align, minipage tabular and footnote margins. +% \item Added \pkg{epsfig}, \pkg{psfrag}, \pkg{psfragx}, \pkg{pstool}. +% \margintag{packages} +% \item Added \pkg{copyrightbox}, \pkg{pdfprivacy}, \pkg{thinsp}, +% \pkg{threadcol}, \pkg{uspace}. +% \item Added \pkg{chkfloat}, \pkg{cmdtrack}, \pkg{dprogress}, +% \pkg{lua-visual-debug}, \pkg{refcheck}, +% \pkg{srcltx}, \pkg{srctex}, \pkg{vpe}, \pkg{xbmks}. +% \end{itemize} % \item[v0.60:] Fixes for \pkg{longtable}, \pkg{listings}. % \begin{itemize} % \item \pkg{longtable}, etc.: Fixes for slowdown and memory management for very long tables. +% \margintag{fixes} % \item \pkg{listings}: Fix for \HTML\ entities, and also when used inside a list. % \item \pkg{diagbox}: Fix for incorrect \HTML\ par tags. -% \item Added \pkg{2up}, \pkg{twoup-gen}, \pkg{booklet}. +% \item Added \pkg{2up}, \pkg{booklet}. % \margintag{packages} % \item Added \pkg{bophook}, \pkg{draftfigure}, \pkg{fullminipage}, % \pkg{grid-system}, \pkg{layaureo}. @@ -2683,7 +2846,7 @@ This boolean may be tested by the user for later use. % See \cref{sec:limitsgraphics}. % \item Added support for \DVI\ \prog{latex}. See \cref{sec:loading}. % \margintag{\DVI\ \prog{latex}} -% \item Fix for \optn{--shell-escape} with \prog{latexmk}. +% \item Fix for \optn{-\/-shell-escape} with \prog{latexmk}. % \margintag{\prog{latexmk}} % \item Updated MathJax script to v2.7.4. % \margintag{math} @@ -2759,7 +2922,7 @@ This boolean may be tested by the user for later use. % \margintag{math macros} % use when defining macros in the preamble which contain \$. % See \cref{sec:mathcatcode}. -% \item Added \cs{StartDynamicMath} and \cs{StopDynamicMath} to +% \item Added \cs{inlinemathother} and \cs{inlinemathnormal} to % \margintag{dynamic math} % delimit math expressions which depend on a variable condition % such as a counter. Such expressions will not be hashed for reuse, @@ -2804,7 +2967,7 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % to quickly convert a document's \PDF\ images to \SVG, for use with \HTML. % See \cref{sec:limitsgraphics}. -% \item Added support for |-shell-escape|. See \cref{sec:shellescape}. +% \item Added support for \optn{-\/-shell-escape}. See \cref{sec:shellescape}. % \item Added support for \pkg{array} |w| and |W| columns. % \margintag{\env{tabular}} % \item Fix: \cs{multicolumn} parameter handling. @@ -3859,6 +4022,8 @@ This boolean may be tested by the user for later use. % % Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\ % +% Compiling: & % \pkg{latexmk}, \pkg{perltex}, \pkg{pythontex}, \prog{make}, etc. \\ +% % \midrule % % Classes: & \pkg{article}, \pkg{book}, \pkg{report}, @@ -3880,10 +4045,11 @@ This boolean may be tested by the user for later use. % \pkg{fancyhdr}, \pkg{fancytabs}, \pkg{fullminipage}, \pkg{fullpage}, % \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{grid-system}, \pkg{gridset}, % \pkg{layaureo}, \pkg{leading}, -% \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview}, -% \pkg{scrlayer-scrpage}, -% \pkg{textarea}, \pkg{thumb}, \pkg{thumbs}, \pkg{titleps}, \pkg{tocenter}, -% \pkg{turnthepage}, \pkg{twoup-gen}, \pkg{typearea}, \pkg{vmargin}, +% \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, +% \pkg{pdfprivacy}, \pkg{pagesel}, \pkg{preview}, +% \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{threadcol}, +% \pkg{thumb}, \pkg{thumbs}, \pkg{titleps}, \pkg{tocenter}, +% \pkg{turnthepage}, \pkg{typearea}, \pkg{vmargin}, % \pkg{watermark}, \pkg{zwpagelayout}. % % Tested to work as-is: \pkg{underlin}.\\ @@ -3994,8 +4160,9 @@ This boolean may be tested by the user for later use. % \pkg{rotating} is emulated but all objects are unrotated. % \pkg{picture}, \pkg{tikz}, and \pkg{xy} are converted to an \SVG\ image. % -% \pkg{asymptote}, \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic}, -% \pkg{pdftricks}, \pkg{pst-eps}, \pkg{pstricks}. +% \pkg{asymptote}, \pkg{epsfig}, \pkg{epstopdf}, \pkg{figsize}, +% \pkg{grffile}, \pkg{overpic}, +% \pkg{psfrag}, \pkg{psfragx}, \pkg{pst-eps}, \pkg{pstool}, \pkg{pstricks}. % % Tested to work as-is: % \pkg{eepic}, \pkg{tikz-3dplot}. \\ @@ -4024,7 +4191,8 @@ This boolean may be tested by the user for later use. % \env{minipage}, \cs{parbox}: & Some \HTMLfive-imposed limitations. % Nested minipages are supported. \pkg{pbox}.\\ % -% Quotations: & \pkg{csquotes}, \pkg{epigraph}, \pkg{quoting}, \pkg{verse}. \\ +% Quotations: & \pkg{copyrightbox}, \pkg{csquotes}, \pkg{epigraph}, +% \pkg{quoting}, \pkg{verse}. \\ % % Verbatim: & % \pkg{fancyvrb}, \pkg{moreverb}, \pkg{shortvrb}, \pkg{verbatim}. \\ @@ -4042,7 +4210,7 @@ This boolean may be tested by the user for later use. % % Acronyms: & \pkg{acro}, \pkg{acronym}. \\ % -% Todo notes: & \pkg{changebar}, \pkg{easy-todo}, \pkg{errata}, \pkg{fixme}, +% Editorial: & \pkg{changebar}, \pkg{easy-todo}, \pkg{errata}, \pkg{fixme}, % \pkg{fixmetodonotes}, \pkg{todo}, \pkg{todonotes}. \\ % % \midrule @@ -4054,7 +4222,7 @@ This boolean may be tested by the user for later use. % \pkg{lua-check-hyphen}, \pkg{luacolor}, % \pkg{magaz}, \pkg{nowidow}, \pkg{pdfrender}, \pkg{realscripts}, \pkg{relsize}, % \pkg{scalefnt}, \pkg{soul}, \pkg{soulpos}, \pkg{soulutf8}, -% \pkg{textfit}, \pkg{trimclip}, \pkg{ulem}, \pkg{underscore}, +% \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip}, \pkg{ulem}, \pkg{underscore}, \pkg{uspace}, % \pkg{widows-and-orphans}, \pkg{xellipsis}. \\ % % Ordinals: & \pkg{engord}, \pkg{fmtcount}, \pkg{nth}. \\ @@ -4113,7 +4281,13 @@ This boolean may be tested by the user for later use. % % \midrule % -% Accessibility: & Nullified: \pkg{accsupp}, \pkg{axessibility}. \\ +% Accessibility: & \pkg{accsupp}, \pkg{axessibility}. \\ +% +% \midrule +% +% Debug: & \pkg{chkfloat}, \pkg{cmdtrack}, \pkg{dprogress}, +% \pkg{lua-visual-debug}, \pkg{refcheck}, +% \pkg{srcltx}, \pkg{srctex}, \pkg{vpe}, \pkg{xbmks}. \\ % % \midrule % @@ -4168,7 +4342,7 @@ This boolean may be tested by the user for later use. % In some cases \pkg{lwarp} provides a better \HTML\ conversion, and it supports % a different set of packages. % TeX4ht produces several other forms of output beyond \HTML, including \ODT\ and -% a direct path to \EPUB. +% a direct path to \EPUB, and is still being developed. % % \subsection{Translators} % @@ -4246,7 +4420,7 @@ This boolean may be tested by the user for later use. % and \brand{Madcap} \prog{Flare}\,\texttrademark. % % \subsection{Comparisons} -% \index{markup languages} +% \gindex{markup languages} % % AsciiDoc, Pandoc, and various other markup languages typically have a syntax which tries to be % natural and human-readable, but the use of advanced features tends to require @@ -4300,8 +4474,8 @@ This boolean may be tested by the user for later use. % % Detailed installation instructions follow. % -% \index{utility>programs} -% \index{programs>utility} +% \gindex{utility>programs} +% \gindex{programs>utility} % % \begin{table}[hbp] % \changes{v0.45}{2017/11/30}{Docs: Moved table so doesn't interfere with install docs.} @@ -4348,7 +4522,7 @@ This boolean may be tested by the user for later use. % \begin{description} % % \item[\prog{pdftotext}:] Used to convert \PDF\ to text. -% \DescribeProgram[requirement]{pdftotext}\index{Poppler} +% \DescribeProgram[requirement]{pdftotext}\gindex{Poppler=\brand{Poppler}} % % \item[\prog{pdfseparate}:] Used to pull images out of the \LaTeX{} \PDF. % \DescribeProgram[requirement]{pdfseparate} @@ -4657,7 +4831,7 @@ This boolean may be tested by the user for later use. % % % \item [To install the \brand{Poppler} utilities to a Unix/Linux system:] \ -% \DescribeProgram[requirement]{pdftotext}\index{Poppler} +% \DescribeProgram[requirement]{pdftotext}\gindex{Poppler=\brand{Poppler}} % \DescribeProgram[requirement]{pdfseparate} % \DescribeProgram[requirement]{pdftocairo} % @@ -4697,7 +4871,7 @@ This boolean may be tested by the user for later use. % % \needspace{2\baselineskip} % \item [To install \prog{Perl} to a \brand{Windows} machine:] \ -% \DescribeProgram[requirement]{perl}\index{Perl} +% \DescribeProgram[requirement]{perl}\gindex{Perl=\brand{Perl}} % \begin{enumerate} % \item Download and install a version of \prog{Perl}, such as \brand{Straweberry Perl}, % to a directory without a space in its name, such as |C:\Strawberry|. @@ -4918,7 +5092,7 @@ This boolean may be tested by the user for later use. % Although, when using the utility \prog{latexmk} (introduced later), the changed date is % ignored and an actual change in contents must occur to cause a recompile.} % -% \item Process the index.\index{index>processing}% +% \item Process the index.\gindex{index>processing}% % \footnote{The command \cmds{lwarpmk printglossary} is also % available to process a glossary produced with the \textsf{glossaries} package. % See \cref{sec:glossaries}.}% @@ -4984,7 +5158,7 @@ This boolean may be tested by the user for later use. % \userentry{lwarpmk html} % \userentry{lwarpmk print} % -% \item Process the \HTML\ index and recompile:\index{index>processing} +% \item Process the \HTML\ index and recompile:\gindex{index>processing} % \footnote{The command \cmds{lwarpmk htmlglossary} is also % available to process a glossary produced with the \textsf{glossaries} package. % See \cref{sec:glossaries}.}\footnote{Also see \cref{sec:indexsetup} for index options.} @@ -5167,6 +5341,8 @@ This boolean may be tested by the user for later use. % % \subsection{Using DVI LaTeX} % +% \gindex{DVI \LaTeX} +% % Traditional \DVI\ LaTeX may also be used along with \filenm{.eps} image files. % An \SVG\ version of each image must also be provided. % \prog{lwarpmk} may be used to convert image formats. @@ -5177,6 +5353,9 @@ This boolean may be tested by the user for later use. % To convert \PDF\ files to \SVG: % \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}} % +% See \cref{sec:fonts} regarding font selection +% \watchout[bitmapped fonts] +% to avoid the use of bitmapped fonts. % % % \clearpage @@ -5189,9 +5368,9 @@ This boolean may be tested by the user for later use. % does not supply an example. % % -% \index{glossary>processing} +% \gindex{glossary>processing} % To process the glossary for the print version: -% \index{glossary>processing} +% \gindex{glossary>processing} % \userentry{lwarpmk printglossary} % % \fquad (If \cmds{makeglossaries} is not found, see \cref{sec:glossaries}.)\watchout @@ -5238,10 +5417,10 @@ This boolean may be tested by the user for later use. % % \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must % be converted to \SVG\ format. -% \index{SVG>converting from PDF or EPS} -% \index{PDF images>converting} -% \index{EPS images>converting} -% \index{images>PDF or EPS>converting} +% \gindex{SVG>converting from PDF or EPS} +% \gindex{PDF image>converting} +% \gindex{EPS image>converting} +% \gindex{image>PDF or EPS>converting} % \prog{pdftocairo} and \prog{epstopdf} may be used one image at a time, % but \prog{lwarpmk} also provides a way to convert \PDF\ or \EPS\ images in bulk: % \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}} @@ -5295,10 +5474,10 @@ This boolean may be tested by the user for later use. % \section{Converting an existing document} % \label{sec:convertexisting} % -% \index{modifying>document} -% \index{adapting>document} -% \index{converting>document} -% \index{document>convert existing} +% \gindex{modifying>document} +% \gindex{adapting>document} +% \gindex{converting>document} +% \gindex{document>convert existing} % % \changes{v0.48}{2018/02/05}{Docs: Converting an existing document.} % \changes{v0.51}{2018/03/04}{Docs: Updated Converting an existing document.} @@ -5357,11 +5536,11 @@ This boolean may be tested by the user for later use. % % \subsection{Shell escape} % \label{sec:shellescape} -% \index{shell escape} +% \gindex{shell escape} % -% \DescribeOption{-shell-escape} +% \DescribeOption{-\/-shell-escape} % Some documents require the use of an external program, -% which is allowed when using the |-shell-escape| command-line option. +% which is allowed when using the \optn{-\/-shell-escape} command-line option. % When the document is first compiled manually, % and also whenever the print version is recompiled, % \pkg{lwarp} detects and remembers @@ -5371,58 +5550,84 @@ This boolean may be tested by the user for later use. % % \subsection{Font and UTF-8 support} % \label{sec:fonts} -% \index{font>selection} -% \index{Unicode>selection} -% \index{UTF-8>selection} +% \trouble{font>UTF-8} +% \trouble{text>corrupted} +% \trouble{font>selection} +% \trouble{Unicode} +% \gindex{font>selection} +% \gindex{font>type 3 bitmapped} +% \gindex{font>type 1 vector} +% \gindex{type 1 vector fonts} +% \gindex{type 3 bitmapped fonts} +% \gindex{vector fonts} +% \gindex{bitmapped fonts} +% \gindex{Unicode>selection} +% \gindex{UTF-8>selection} +% \gindex{Computer Modern} +% \gindex{Latin Modern font} +% \gindex{DVI \LaTeX} % \changes{v0.16}{2016/04/08}{Docs: Font and UTF-8 support.} % \changes{v0.16}{2016/04/08}{Lwarp no longer selects fonts.} +% \changes{v0.61}{2018/09/25}{Docs: Fonts.} % % \pkg{lwarp} uses \prog{pdftotext} to convert \PDF\ output into UTF-8-encoded +% \watchout[type 3 bitmapped fonts] % text. This process requires that UTF-8 information be embedded in the \PDF\ -% file, which usually prevents the use of older bit-mapped fonts, +% file, which may prevent the use of older ``type 3'' bit-mapped fonts, % and of older packages such as \pkg{ae}. -% \index{font>bitmapped} -% The \pkg{lwarp} option \optn{pdftotextEnc} may also be useful in some situations. +% The \pkg{lwarp} option \optn{pdftotextEnc} may be useful in some situations. % See \cref{sec:loading}. % -% While using \prog{pdflatex}, -% \margintag{pdflatex, T1, UTF8} -% \pkg{fontenc} is automatically loaded with T1 encoding. -% \pkg{fontenc} may be loaded with an additional encoding after \pkg{lwarp}. -% \pkg{inputenc} is automatically loaded with UTF8 encoding if if has not yet been loaded, -% but may also be specified with another encoding such as |latin1|. -% See the next section regarding index encoding. -% -% While using \prog{pdflatex}, if no font-related package is specified, the default +% While using \DVI\ \prog{latex} or \PDF\ \prog{pdflatex}, % \margintag{vector fonts} -% bit-mapped Computer Modern font is used, +% if no font-related package is specified then the default +% Computer Modern font is used, which may be a ``type 3'' bit-mapped font which may not +% convert well to plain text. A ``type 1'' vector font is required. % \margintag{Computer Modern}% -% \index{font>Computer Modern}\index{Computer Modern}% +% \gindex{font>Computer Modern}\gindex{Computer Modern}% % \watchout[\prog{pdflatex}]% -% so simply add +% \watchout[DVI \prog{latex}]% +% +% \DescribePackage{cm-super} +% To use the updated \pkg{cm-super}'s type 1 fonts instead of Computer Modern, +% install the \pkg{cm-super} font package. +% +% \DescribePackage{lmodern} +% To use Latin Modern instead, add % \begin{sourcedisplay} % |usepackage{lmodern}| % \end{sourcedisplay} -% to the preamble to enable the related vector font instead, or use +% to the preamble. +% +% \DescribePackage{dejavu} +% Another useful option is the Deja Vu series of fonts, which have +% an increased coverage of language and glyphs: % \begin{sourcedisplay} % |\usepackage{dejavu}| % \end{sourcedisplay} +% \gindex{Deja Vu}% +% \gindex{font>Deja Vu}% +% \gindex{Unicode>enhanced coverage}% +% \gindex{UTF-8>enhanced coverage}% % -% \index{Deja Vu}% -% \index{font>Deja Vu}% -% \index{Unicode>enhanced coverage}% -% \index{UTF-8>enhanced coverage}% -% or other font packages, which may provide an increased coverage of Unicode mappings. -% Avoid bit-mapped fonts. +% While using \DVI\ \prog{latex} or \PDF\ \prog{pdflatex}, +% \margintag{\prog{latex}, \prog{pdflatex}, T1, UTF8} +% \pkg{fontenc} is automatically loaded with T1 encoding. +% \pkg{fontenc} may be loaded with an additional encoding after \pkg{lwarp}. +% \pkg{inputenc} is automatically loaded with UTF8 encoding if if has not yet been loaded, +% but may also be specified with another encoding such as |latin1|. +% See the next section regarding index encoding. % % \XeLaTeX{} and \LuaLaTeX{} users must use the \pkg{fontspec} package. -% \watchout[\prog{xelatex} and \prog{lualatex}] +% \trouble[\prog{xelatex} and \prog{lualatex}]{xelatex=xe\LaTeX} +% \trouble{lualatex=lua\LaTeX} +% \trouble{fontspec=\pkg{fontspec}} % Do NOT use \pkg{fontenc}! % % Place \pkg{fontspec} or \pkg{fontenc}, \pkg{xunicode}, and other font and UTF-8 related commands % after the \cs{documentclass} command and before |\usepackage{lwarp}|. % -% In some cases, \watchout[package conflicts] +% In some cases, \trouble[package conflicts]{font>package conflicts} % a package conflict may require that a font package be loaded % after \pkg{lwarp}, which should work as well: % \begin{enumerate} @@ -5440,7 +5645,9 @@ This boolean may be tested by the user for later use. % the generation of \HTML\ tags, and turn off common ligatures % in regular text, since older browsers may not display them correctly % and newer browsers can automatically re-create them. -% \index{ligatures}\index{font>ligatures} +% \gindex{ligatures} +% \gindex{font>ligatures} +% \trouble{font>ligatures} % \vspace{-1ex} % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] % \defaultfontfeatures[\rmfamily]{Ligatures={NoCommon,TeX}} @@ -5452,7 +5659,7 @@ This boolean may be tested by the user for later use. % \begin{enumerate} % \item |\usepackage{lmodern}|, or other font-related packages % \DescribePackage{lmodern} -% \index{font>packages} +% \gindex{font>packages} % \item |\usepackage[T1]{fontenc}| % \DescribePackage{fontenc} % \item |\usepackage[utf8]{inputenc}|, or |latin1|, etc. Or use \pkg{inputenx}. @@ -5479,7 +5686,7 @@ This boolean may be tested by the user for later use. % ^^A \margintag{ligatures} % ^^A browser-related reasons shown above. Also, the monospaced font is used % ^^A during \HTML\ tag generation to turn off \TeX{} ligatures. -% ^^A \index{ligatures}\index{font>ligatures} +% ^^A \gindex{ligatures}\gindex{font>ligatures} % \end{enumerate} % \end{itemize} % \item |\usepackage{lwarp}| (\cref{sec:loading}) goes after any of the above, followed by: @@ -5487,7 +5694,9 @@ This boolean may be tested by the user for later use. % Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp}, % so they must also be loaded after \pkg{lwarp}. % \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using -% \watchout[\pkg{fontspec} with traditional font packages] +% \trouble[\pkg{fontspec} with traditional font packages]{font>monospace} +% \trouble{font>ligatures} +% \trouble{ligatures} % \XeLaTeX\ or \LuaLaTeX\ and \pkg{fontspec} along with % traditional font packages such as \pkg{txfonts}, \pkg{newtxtext}, etc. % This is required to turn off the monospaced font's ligatures @@ -5499,8 +5708,8 @@ This boolean may be tested by the user for later use. % % % \subsubsection{Indexes, glossaries, and encoding} -% \index{UTF-8>index} -% \index{index>UTF-8} +% \gindex{UTF-8>index} +% \gindex{index>UTF-8} % % \pkg{lwarp} uses the \prog{xindy} program to processes indexes. % \prog{xelatex} and \prog{lualatex} use \prog{xindy} and @@ -5519,7 +5728,7 @@ This boolean may be tested by the user for later use. % % \subsection{\pkg{lwarp} package loading and options} % \label{sec:loading} -% \index{settings>lwarp package options} +% \gindex{settings>lwarp=\pkg{lwarp} package options} % % \begin{table} % \caption{\pkg{lwarp} package options\label{tab:options}} @@ -5534,6 +5743,8 @@ This boolean may be tested by the user for later use. % dvipdfmx & Use \prog{dvipdfmx} to convert \DVI\ documents. \\ % HomeHTMLFilename & The filename of the home page. \\ % HTMLFilename & A prefix for the filenames of the remaining web pages. \\ +% PrintLatexCmd & The shell commands for \cmds{lwarpmk print}. \\ +% HTMLLatexCmd & The shell commands for \cmds{lwarpmk html}. \\ % \midrule % \multicolumn{2}{l}{\small For indexing (\cref{sec:indexsetup}) and glossaries (\cref{sec:glossaries}):} \\ % makeindex & Use \prog{makeindex} to generate indices. \\ @@ -5570,10 +5781,17 @@ This boolean may be tested by the user for later use. % as well as the equivalent Koma-script classes and \pkg{memoir}. % % Load the \pkg{lwarp} package immediately after the font and UTF-8 setup commands. +% +% Package options may be set while loading \pkg{lwarp}, or later with +% \begin{sourcedisplay} +% \cs{lwarpsetup}\{\meta{key=value, \dots}\} +% \end{sourcedisplay} +% % \changes{v0.16}{2016/04/08}{Docs: Moved location of \cs{usepackage\{lwarp\}}.} % \changes{v0.19}{2016/05/25}{Docs: Math options.} % \DescribePackage{lwarp} -% \index{lwarp>loading}\index{lwarp>options} +% \gindex{lwarp=\pkg{lwarp}>loading} +% \gindex{lwarp=\pkg{lwarp}>options} % % \begin{description} % @@ -5619,6 +5837,20 @@ This boolean may be tested by the user for later use. % See \cref{sec:htmlsettings}. % % +% \item[\optn{PrintLatexCmd}:] +% \DescribeOption{PrintLatexCmd} +% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk print}. +% If not specified, will automatically be set according to the detected \LaTeX\ engine +% and the use of \optn{-\/-shell-escape}. +% +% +% \item[\optn{HTMLLatexCmd}:] +% \DescribeOption{HTMLLatexCmd} +% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk html}. +% If not specified, will automatically be set according to the detected \LaTeX\ engine +% and the use of \optn{-\/-shell-escape}. +% +% % \item[\optn{makeindex}:] % \DescribeOption{makeindex} % \DescribeDefault{makeindex} Sets \optn{PrintIndexCmd}, \optn{HTMLIndexCmd}, @@ -5685,7 +5917,8 @@ This boolean may be tested by the user for later use. % \optn{xindyLanuage}, and \optn{xindyCodepage} options will be used if specified. % % If specifying \optn{PrintIndexCmd} manually, -% \watchout[xindy] +% \trouble{PrintIndexCmd} +% \trouble[xindy]{xindy=\pkg{xindy}>options>PrintIndexCmd=\optn{PrintIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not @@ -5710,7 +5943,7 @@ This boolean may be tested by the user for later use. % % \needspace{2\baselineskip} % Example settings are similar to \optn{PrintIndexCmd}, -% \watchout[filenames] +% \trouble[filenames]{HTMLIndexCmd>filenames} % but append |_html| to the filenames: % \begin{sourcedisplay} % \small @@ -5725,7 +5958,7 @@ This boolean may be tested by the user for later use. % \optn{xindyLanuage}, and \optn{xindyCodepage} options will be used if specified. % % If specifying \optn{HTMLIndexCmd} manually, -% \watchout[xindy] +% \trouble[xindy]{xindy=\pkg{xindy}>options>HTMLIndexCmd=\optn{HTMLIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not @@ -5760,7 +5993,7 @@ This boolean may be tested by the user for later use. % shown above to compile each of multiple indexes if necessary. % % If specifying \optn{LatexmkIndexCmd} manually, -% \watchout[xindy] +% \trouble[xindy]{xindy=\pkg{xindy}>options>LatexmkIndexCmd=\optn{LatexmkIndexCmd}} % be sure to assign an \prog{xindy} % language and codepage with the |-L| and |-C| \prog{xindy} options, as the % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not @@ -5831,11 +6064,12 @@ This boolean may be tested by the user for later use. % % \subsection{Customizing the HTML output} % \label{sec:htmlsettings} -% \index{settings>HTML conversion} -% \index{HTML>conversion settings} +% \gindex{settings>HTML conversion} +% \gindex{HTML>conversion settings} % % \changes{v0.43}{2017/11/04}{Docs: HTML settings table.} % \changes{v0.43}{2017/11/06}{Docs: Reorganized HTML customization.} +% \changes{v0.61}{2018/09/25}{Docs: HTMLDebugComments} % \begin{table}[p] % \caption{HTML settings} % \label{tab:htmlsettings} @@ -5858,6 +6092,7 @@ This boolean may be tested by the user for later use. % \cs{HTMLFirstPageTop} & Heading for the home page. \\ % \cs{HTMLPageTop} & Heading for the other pages. \\ % \cs{HTMLPageBottom} & Footing for all pages. \\ +% HTMLDebugComments & Boolean to generate \HTML\ comments. \\ % \bottomrule % \end{tabular} % \end{table} @@ -5868,6 +6103,7 @@ This boolean may be tested by the user for later use. % % Note that if changes are made, % \watchout[Changes!] +% \trouble{HTML>settings>changed} % it is best to first: % \begin{enumerate} % \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk clearall} @@ -5895,7 +6131,7 @@ This boolean may be tested by the user for later use. % \margintag{filename underscores} % \optn{HomeHTMLFilename} and \optn{HTMLFilename} options, but may need to be escaped % elsewhere, such as when appearing in a list: -% \index{underscore>filename}\index{file>underscore in name} +% \gindex{underscore>filename}\gindex{file>underscore in name} % \changes{v0.24}{2017/03/13}{Docs: Filename underscore.} % \begin{sourcedisplay} % \cs{item} [\cs{href}\{file\textred{\textbackslash\_}name.pdf\}\{text\}] \textbackslash @@ -5956,12 +6192,13 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % % If |SideTOCDepth|\,<\,|FileDepth|, -% \watchout[inaccessible pages] +% \trouble[inaccessible pages]% +% {HTML>missing pages>Side=\optn{SideTOCDepth} and \optn{FileDepth}} % web pages will be inaccessible via the side\TOC. -% \index{file>inaccessible} -% \index{page>inacessible} -% \index{missing sections} -% \index{section>missing} +% \trouble{file>inaccessible} +% \trouble{page>inacessible} +% \trouble{HTML>inaccessible pages} +% \trouble{sectioning>missing} % % \ItemDescribeCounter{FileDepth} \DescribeDefault{-5} % Sectioning depth of file splits. @@ -5982,10 +6219,10 @@ This boolean may be tested by the user for later use. % \begin{sourcedisplay} % tocdepth\,>=\,FileDepth % \end{sourcedisplay} -% \index{file>inaccessible} -% \index{page>inacessible} -% \index{missing sections} -% \index{section>missing} +% \trouble{file>inaccessible} +% \trouble{page>inacessible} +% \trouble{HTML>inaccessible pages} +% \trouble{sectioning>missing} % \end{itemize} % % \ItemDescribeBoolean{CombineHigherDepths} \DescribeDefault{true} @@ -6002,12 +6239,13 @@ This boolean may be tested by the user for later use. % 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!] +% \trouble[Inaccesible pages!]% +% {HTML>missing pages>Side=\optn{SideTOCDepth} and \optn{tocdepth}} % 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!] +% \trouble[Lost in an old page!]{HTML>page did not update} % 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, @@ -6021,10 +6259,11 @@ This boolean may be tested by the user for later use. % of the section names. If false, web pages are numbered. % Either way, the \optn{HTMLFilename} option is used as a prefix. % See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files. -% The user must ensure that filenames are unique after begin sanitized. \watchout[Unique filename!] +% The user must ensure that filenames are unique after begin sanitized. +% \trouble[Unique filename!]{HTML>missing pages>filename not unique} % For example, math in the section name is removed before creating the filename, % so the rest of the filename must be sufficiently unique to avoid name collisions. -% \index{file>unique names} +% \gindex{file>unique names} % % \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{3} % Determines where to place pending footnotes. @@ -6033,6 +6272,10 @@ This boolean may be tested by the user for later use. % Any pending footnotes are also placed at the bottom of each page % before each file break. % +% \ItemDescribeBoolean{HTMLDebugComments} \DescribeDefault{false} +% Set |true| to generate \HTML\ comments, such as which section or \element{div} +% is being opened or closed. +% % \ItemDescribeMacro{\abstractname} \DescribeDefault{Abstract} % The name of the abstract. % This may also be over-written @@ -6113,7 +6356,8 @@ This boolean may be tested by the user for later use. % \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!] +% \trouble[TOC on the homepage!]{Table of Contents>missing} +% \trouble{HTML>inaccessible pages} % 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|. @@ -6124,6 +6368,7 @@ This boolean may be tested by the user for later use. % \item[Placed in the document wherever necessary:] \ % % \begin{description} +% % \ItemDescribeMacro{\mathimagename} \DescribeDefault{math image} % \label{sec:mathimagename} % \describemathimagename @@ -6162,7 +6407,7 @@ This boolean may be tested by the user for later use. % % \subsubsection{Example HTML file naming} % \label{sec:filenameexamples} -% \index{HTML>filename generation} +% \gindex{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: @@ -6222,9 +6467,9 @@ This boolean may be tested by the user for later use. % \chapter{Another Chapter} % ... % \end{Verbatim} -% \index{CSS>file selection} -% \index{CSS>per HTML page} -% \index{settings>CSS selection} +% \gindex{CSS>file selection} +% \gindex{CSS>per HTML page} +% \gindex{settings>CSS selection} % % The styles provided by \pkg{lwarp} include: % \begin{description} @@ -6248,7 +6493,8 @@ This boolean may be tested by the user for later use. % % Note that |sample_project.css| is overwritten whenever \pkg{lwarp} % is loaded in print mode. -% It is therefore important to rename the file \watchout[Rename it!] +% It is therefore important to rename the file +% \trouble[Rename it!]{sample=\filenm{sample\_projects.css}>overwritten} % to something like |<project>.css| before % using it, so that your own changes are not overwritten. % @@ -6262,8 +6508,8 @@ This boolean may be tested by the user for later use. % 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} +% \gindex{CSS>project-specific changes}\gindex{CSS>lwarp.css=\filenm{lwarp.css}} +% \gindex{settings>CSS project-specific} % \vspace{-2ex} % \VerbatimInput[frame=lines]{sample_project.css} % @@ -6279,7 +6525,7 @@ This boolean may be tested by the user for later use. % % \subsection{Selecting actions for print or HTML output} % \label{sec:selectingoutput} -% \index{settings>selecting output} +% \gindex{settings>selecting output} % \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.} % % The following environments and macros are used to select actions which only apply @@ -6305,7 +6551,7 @@ This boolean may be tested by the user for later use. % \end{warpHTML} % \end{Verbatim} % Do \emph{not} place anything else on the same line as |\end{warpHTML}|. -% \watchout[\texttt{\cs{end}\{warpHTML\}}] +% \trouble[\texttt{\cs{end}\{warpHTML\}}]{warpHTML} % The exact phrase is used to mark the end of the environment. % % \DescribeEnv{warpprint} @@ -6317,6 +6563,7 @@ This boolean may be tested by the user for later use. % \end{warpprint} % \end{Verbatim} % As above, do not place anything else on the line with |\end{warpprint}|. +% \trouble[\texttt{\cs{end}\{warpprint\}}]{warpprint} % % \DescribeEnv{warpall} % Anything which is to be done for any output @@ -6355,6 +6602,8 @@ This boolean may be tested by the user for later use. % \item Paragraph formatting: \cs{parindent} \cs{parskip} % \item Manual page positions such as the \pkg{textpos} package, which is % emulated but only in a limited way. +% \item Anything changing the |page| counter. \pkg{lwarp} requires that the +% |page| counter not be adjusted during \HTML\ output. % \end{itemize} % % Some packages require additional setup commands. Where these packages are emulated @@ -6370,7 +6619,7 @@ This boolean may be tested by the user for later use. % % \subsection{Title page} % \label{sec:settitle} -% \index{settings>title page} +% \gindex{settings>title page} % % In the preamble, place an additional block of code to set the following: % \vspace{-2em} @@ -6403,7 +6652,8 @@ This boolean may be tested by the user for later use. % % Avoid newlines in the \cs{title}; these will interfere with the % file break and \CSS\ detection. -% \watchout +% \trouble[newlines]{title>newlines} +% \trouble{HTML>corrupted} % Use a \cs{subtitle} command instead (\cref{sec:publishedsubtitle}). % The title will appear in the document \cs{maketitle} as a heading \element{h1}. % The \HTML\ meta |title| tag will also have this title, unless \cs{HTMLTitle} @@ -6411,8 +6661,8 @@ This boolean may be tested by the user for later use. % % \DescribeMacro{\author} \marg{author} % -% In \cs{author}, use \cs{protect} before formatting commands such as \cs{textsc}. -% \watchout +% In \cs{author}, \cs{protect} may be needed before some formatting commands. +% \trouble{author>formatting} % In \HTML, the author will appear in a \element{div} of class |author| in the % \cs{maketitle}. % If the \pkg{titling} package is used, the author will also appear in a \HTML\ meta tag, but @@ -6435,9 +6685,9 @@ This boolean may be tested by the user for later use. % \subsection{HTML page meta descriptions} % % \label{sec:htmldescription} -% \index{HTML>meta tag>description} -% \index{description>HTML meta tag} -% \index{meta tag, HTML>description} +% \gindex{HTML>meta tag>description} +% \gindex{description>HTML meta tag} +% \gindex{meta tag, HTML>description} % \DescribeMacro{\HTMLDescription} \marg{A description of the web page.} % \quad The default is no description. % @@ -6467,9 +6717,9 @@ This boolean may be tested by the user for later use. % % \subsection{HTML page meta title} % -% \index{HTML>meta tag>title} -% \index{title>HTML meta tag} -% \index{meta tag, HTML>title} +% \gindex{HTML>meta tag>title} +% \gindex{title>HTML meta tag} +% \gindex{meta tag, HTML>title} % \DescribeMacro{\HTMLTitle} \marg{title} \quad Sets the contents % of the web page \element{meta name="title"} element. % Defaults to |\HTMLtitle{\thetitle}|. @@ -6478,9 +6728,9 @@ This boolean may be tested by the user for later use. % % \subsection{HTML page meta author} % -% \index{HTML>meta tag>author} -% \index{author>HTML meta tag} -% \index{meta tag, HTML>author} +% \gindex{HTML>meta tag>author} +% \gindex{author>HTML meta tag} +% \gindex{meta tag, HTML>author} % \DescribeMacro{\HTMLAuthor} \marg{author} \quad Sets the contents % of the web page \element{meta name="author"} element. % Defaults to |\HTMLAuthor{\theauthor}|. @@ -6497,7 +6747,7 @@ This boolean may be tested by the user for later use. % \label{sec:limitations} % % \label{sec:successfulcommands} -% \index{HTML>commands for a successful conversion} +% \gindex{HTML>conversion suggestions} % % \changes{v0.14}{2016/03/26}{Docs: Commands for a successful \HTML\ conversion.} % \changes{v0.36}{2017/08/11}{Docs: Reorganized: Special cases and limitations.} @@ -6540,6 +6790,15 @@ This boolean may be tested by the user for later use. % \subsection{Formatting} % % \subsubsection{Text formatting} +% \label{sec:avoidtextformatting} +% \gindex{code listings} +% \gindex{program listings} +% \gindex{listings, program code} +% \gindex{HTML>entities, conversion} +% \gindex{HTML>verbatim, in} +% \gindex{verbatim>code and \HTML\ tags} +% +% \changes{v0.61}{2018/09/25}{Docs: HTML entities.} % % \limitstext % @@ -6565,8 +6824,6 @@ This boolean may be tested by the user for later use. % % \DescribePackage{textcomp} % \limitstextcomp -% \index{font>missing symbols} -% \index{textcomp>missing symbols} % % \subsubsection{Superscripts and other non-math uses of math mode} % @@ -6576,13 +6833,13 @@ This boolean may be tested by the user for later use. % % Use a trailing backslash: |\item[label] \| % \margintag{lists} -% \index{item>empty}\index{list>empty item} +% \trouble{list>empty item} % % % \subsubsection{Filenames and URLs in lists or footnotes} % -% \index{underscore>filename}\index{file>underscore in name} -% \index{list>filename} +% \gindex{underscore>filename}\gindex{file>underscore in name} +% \gindex{list>filename} % \changes{v0.24}{2017/03/13}{Docs: Filename underscore.} % Escape underscores in % \margintag{filename underscore} @@ -6636,9 +6893,9 @@ This boolean may be tested by the user for later use. % \DescribeMacro{\fbox} % \DescribeMacro{\fboxBlock} % \DescribeEnv{fminipage} -% \index{fbox>around a minipage} -% \index{minipage>framed} -% \index{framed objects} +% \gindex{minipage>framed} +% \gindex{framed objects} +% \trouble{frames} % \begin{description}[style=unboxed] % \item [To remove the frame in HTML output:] Place the \cs{fbox} command and % its closing brace inside \env{warpprint} environments. @@ -6668,14 +6925,14 @@ This boolean may be tested by the user for later use. % in \HTML\ is problematic since a table is a \element{div} not a \element{span}, % so use \cs{fboxBlock} around a \env{tabular}, or else place the \env{tabular} % inside a \env{minipage}, or use \env{fminipage}, described next. -% Also see below regarding the ``Misplaced alignment tab character \&'' error. +% Also see below regarding the ``Misplaced alignment tab character \&.'' error. % \item [To create a framed minipage in both print and HTML:] A new environment \env{fminipage} % \margintag{For display \env{tabular}, minipages, and lists:} % is included. For print output, this is identical to \env{minipage}, except that % it is also framed. % For \HTML\ output, this forms a \element{div} of class |framed|, the contents % preserve their \HTML\ formatting, and valid \HTML\ is created for a \env{tabular}. -% Also see below regarding the ``Misplaced alignment tab character \&'' error. +% Also see below regarding the ``Misplaced alignment tab character \&.'' error. % \item [To create colored frames and boxes:] See \cref{sec:xcolor} for \pkg{xcolor}'s % \margintag{colored boxes and frames:} % \cs{colorbox} and \cs{fcolorbox}, @@ -6683,7 +6940,8 @@ This boolean may be tested by the user for later use. % \item [To frame tables or verbatim environments:] Place the contents % inside a \env{fminipage}, or perhaps a \cs{fboxBlock} for a \env{tabular}. % Also, if using \cs{fboxblock} with \env{tabular}, -% \watchout[Misplaced alignment tab character \&] +% \trouble[Misplaced alignment tab character \&] +% {Misplaced alignment tab character \&>frames} % you will have to use \cs{StartDefiningTabulars} % before the start of the macro which uses \cs{fboxBlock} and the \env{tabular}, % and \cs{StopDefiningTabulars} afterwards. @@ -6722,13 +6980,11 @@ This boolean may be tested by the user for later use. % % \subsection{Cross-references} % -% \index{math>labels --- valid characters} -% \index{label>valid characters} % \limitsreferences % % \subsubsection{Page references} The printed page does not translate % to the \HTML\ -% \watchout[\LaTeX\ page numbers] +% \trouble[\LaTeX\ page numbers]{page counter>references} % page, so \cs{pageref} references are converted to parentheses containing % \cs{pagerefPageFor}, which defaults to ``see~'', % followed by a hyperlink to the appropriate @@ -6765,16 +7021,15 @@ This boolean may be tested by the user for later use. % \subsubsection{Footnotes and page notes} % \label{sec:limitsfootnotes} % -% \index{footnotes>misnumbered} -% \index{footnotes>in sectioning commands} +% \trouble{footnote>misnumbered} +% \trouble{footnote>in sectioning command} % % \limitsfootnotes % -% \index{footnotes>verbatim} -% \index{verbatim>footnotes} -% \index{footnotes>in sectioning commands} -% \index{footnotes>in math} -% \index{math>footnotes} +% \trouble{footnote>verbatim} +% \trouble{verbatim>footnote} +% \trouble{footnote>in math} +% \trouble{math>footnote} % \limitsverbatimfootnotes % % \limitspfnote @@ -6789,7 +7044,7 @@ This boolean may be tested by the user for later use. % \changes{v0.51}{2018/03/04}{Docs: Multiple authors and affiliations.} % % Some classes allow multiple authors and affiliations. -% \index{author>multiple}\index{affiliation>multiple authors} +% \gindex{author>multiple}\gindex{affiliation>multiple authors} % Often it is possible to emulate these using a standard class % along with \pkg{authblk}: % \begin{sourcedisplay} @@ -6833,7 +7088,8 @@ This boolean may be tested by the user for later use. % webpage after the \acro{TOC} entry is created, or when creating an \EPUB\ where % the \acro{TOC} entry will point to the page before the starred section. % If the starred section has its own \HTML\ page but no correct \acro{TOC} entry -% \watchout[inaccessible \HTML\ page] +% \trouble[inaccessible \HTML\ page]{HTML>inaccessible pages>starred section} +% \trouble{sectioning>starred section} % pointing to that page, the page will be inaccessible unless some other link is created. % % \DescribeMacro{\ForceHTMLTOC} @@ -6887,9 +7143,6 @@ This boolean may be tested by the user for later use. % % \subsubsection{BibTeX} % \label{sec:limitsbibtex} -% \index{BibTeX>\cs{etalchar} error} -% \index{error>Improper \cs{prevdepth}.} -% \index{Improper \cs{prevdepth}.} % \DescribeMacro{\etalchar} Displays a superscript ``+'' to indicate ``and others''. % \changes{v0.54}{2018/03/09}{Docs: BibTeX.} % @@ -6900,9 +7153,9 @@ This boolean may be tested by the user for later use. % \label{sec:glossaries} % % \DescribePackage{glossaries} -% \index{glossary>options} -% \index{language>glossary} -% \index{glossary>language} +% \gindex{glossary>options} +% \gindex{language>glossary} +% \gindex{glossary>language} % \limitsglossaries % % @@ -6937,7 +7190,7 @@ This boolean may be tested by the user for later use. % % See \cref{sec:index} for \pkg{lwarp}'s core index and glossary code, % \margintag{source code} -% \index{index>source code} +% \gindex{index>source code} % \cref{sec:indexpkg} for \pkg{index}, % \cref{sec:splitidx} for \pkg{splitidx}, % \cref{sec:imakeidx} for \pkg{imakeidx}, @@ -6951,12 +7204,12 @@ This boolean may be tested by the user for later use. % \changes{v0.38}{2017/08/24}{Docs: Index, \pkg{tocbibind}.} % \changes{v0.58}{2018/06/14}{Docs: Index, \prog{makeindex}, \pkg{imakeidx}.} % -% \index{xindy>and hyperref} -% \index{hyperref>and xindy} -% \index{index>xindy and hyperref} -% \index{index>missing entries} -% \index{index>see, seealso, ranges} -% \index{index>processing} +% \gindex{xindy=\pkg{xindy}>and \pkg{hyperref}} +% \gindex{hyperref=\pkg{hyperref}>and \pkg{xindy}} +% \gindex{index>xindy=\pkg{xindy} and \pkg{hyperref}} +% \trouble{index>missing entries} +% \gindex{index>see, seealso, ranges} +% \gindex{index>processing} % % The following allow the user to process indexes automatically, or % \margintag{\prog{lwarpmk} processing} @@ -7184,7 +7437,7 @@ This boolean may be tested by the user for later use. % Shell escape is required while using \prog{splitindex}. % For the first compile, use % \watchout[enable shell escape] -% \userentry{pdflatex \textred{-shell-escape} projectname.tex} +% \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex} % \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}} % or similar with \prog{xelatex} or \prog{lualatex}. % \prog{lwarp} will remember that shell escape was used. @@ -7219,7 +7472,7 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % For the first compile, use % \watchout[enable shell escape] -% \userentry{pdflatex \textred{-shell-escape} projectname.tex} +% \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex} % \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}} % or similar with \prog{xelatex} or \prog{lualatex}. % \prog{lwarp} will remember that shell escape was used. @@ -7439,9 +7692,9 @@ This boolean may be tested by the user for later use. % \DescribeProgram{makeindex} % \DescribeFile{lwarp.ist} % When using \prog{makeindex}, \prog{lwarpmk} uses the file |lwarp.ist| to process the index. -% \index{lwarp.ist>customizing} -% \index{makeindex>customizing} -% \index{index>custom \pkg{makeindex} style file} +% \gindex{lwarp.ist=\filenm{lwarp.ist}>customizing} +% \gindex{makeindex>customizing} +% \gindex{index>custom \pkg{makeindex} style file} % This file is over-written by \pkg{lwarp} whenever a print version of % the document is processed. % @@ -7475,9 +7728,9 @@ This boolean may be tested by the user for later use. % \DescribeProgram{xindy} % \DescribeFile{lwarp.xdy} % When using \prog{xindy}, \prog{lwarpmk} uses the file |lwarp.xdy| to process the index. -% \index{lwarp.xdy>customizing} -% \index{xindy>customizing} -% \index{index>custom \pkg{xindy} style file} +% \gindex{lwarp.xdy=\filenm{lwarp.xdy}>customizing} +% \gindex{xindy=\pkg{xindy}>customizing} +% \gindex{index>custom \pkg{xindy} style file} % This file is over-written by \pkg{lwarp} whenever a print version of % the document is processed. % @@ -7515,7 +7768,11 @@ This boolean may be tested by the user for later use. % % \subsubsection{Additional indexing limitations} % \prog{xindy} and \pkg{hyperref} may not work well together for print output -% \margintag{\pkg{xindy} with \pkg{hyperref}} +% \trouble[\pkg{xindy} with \pkg{hyperref}]{xindy=\pkg{xindy}>hyperref=\pkg{hyperref}} +% \trouble{index>xindy=\pkg{xindy} and \pkg{hyperref}} +% \trouble{index>see and seealso} +% \trouble{index>reference ranges} +% \trouble{index>styling references} % with ``see'', ``see also'', reference ranges, or stylized index references. % It may be necessary to turn off hyper-referencing for indexes: % \begin{sourcedisplay} @@ -7523,9 +7780,9 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % % If an \HTML\ index is empty, it may be necessary to add the following -% \watchout[empty index] +% \trouble[empty index]{index>empty} +% \trouble{morewrites=\pkg{morewrites}} % before \pkg{lwarp} is loaded: -% \index{index>empty} % \begin{sourcedisplay} % \textred{\cs{usepackage}\{morewrites\}} \\ % \textred{\cs{morewritessetup}\{allocate=10\}} \\ @@ -7534,7 +7791,7 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % % When using \prog{makeindex}, custom display styles are possible: -% \index{index>custom display styles} +% \gindex{index>custom display styles} % \margintag{\prog{makeindex} custom display styles} % \begin{sourcedisplay} % \cs{begin}\{warpprint\} \\ @@ -7572,26 +7829,32 @@ This boolean may be tested by the user for later use. % \label{sec:mathcatcode} % \limitsmathcatcode % -% \subsubsection{Dynamic math} +% \subsubsection{Complicated inline math objects} % \label{sec:mathdynamic} -% \limitsmathdynamic +% \gindex{inline math>complicated objects} +% \gindex{math>inline with complicated objects} +% \gindex{math>dynamic} +% \gindex{dynamic math} +% \limitsmathinline % -% \subsubsection{Display math} +% \subsubsection{Complicated display math objects} % \label{sec:displaymathother} -% \index{math>\cs{displayingmath}}\index{math>\cs{displayingmore}} -% \index{display math>complicated objects} -% \index{math>display with complicated objects} -% \index{tikz>in display math} -% \index{math>\tikz}\index{equation>with \tikz} -% \index{MathJax>errors}\index{HTML>alt tags}\index{alt tags} -% -% \describedisplaymathother +% \gindex{display math>complicated objects} +% \gindex{math>display with complicated objects} +% \gindex{math>dynamic} +% \gindex{dynamic math} +% \trouble{math>\tikz} +% \trouble{tikz>in math} +% \trouble{MathJax=\brand{MathJax}>errors} +% \trouble{HTML>alt tags} +% \trouble{alt tags} +% +% \limitsmathdisplay % % \subsubsection{\pkg{chemformula} package} % \limitschemformula -% \index{chemformula>troubleshooting} -% \index{array>\pkg{chemformula}} -% \index{math>\pkg{chemformula}} +% \trouble{array>chemformula=\pkg{chemformula}} +% \trouble{math>chemformula=\pkg{chemformula}} % % \subsubsection{\pkg{mhchem} package} % @@ -7675,6 +7938,20 @@ This boolean may be tested by the user for later use. % \limitspdftricks % % +% \subsubsection{\pkg{psfrag} package} +% +% \DescribePackage{psfrag} +% \trouble{psfrag=\pkg{psfrag}} +% \limitspsfrag +% +% +% \subsubsection{\pkg{pstool} package} +% +% \DescribePackage{pstool} +% \trouble{pstool=\pkg{pstool}} +% \limitspstool +% +% % \subsubsection{\pkg{overpic} package} % % \DescribePackage{overpic} @@ -7683,8 +7960,6 @@ This boolean may be tested by the user for later use. % % \subsection{Tabbing} % \limitstabbing -% \index{tabbing>and math} -% \index{math>\env{tabbing}} % % % \subsection{Tabular} @@ -7715,10 +7990,6 @@ This boolean may be tested by the user for later use. % % \subsubsection{Float contents alignment} % -% \index{float>text alignment} -% \index{figure>text alignment} -% \index{table>text alignment} -% \index{alignment>figure or table} % \limitsfloatalignment % % @@ -7768,13 +8039,9 @@ This boolean may be tested by the user for later use. % % \DescribeClass{memoir} % \limitsmemoir -% \index{memoir>options clash} -% \index{options clash, memoir} -% \index{error>Options clash, memoir} % % -% \subsection{Miscellaneous} -% +% \subsection{Miscellaneous packages} % % \subsubsection{\pkg{verse} and \pkg{memoir}} % @@ -7825,7 +8092,208 @@ This boolean may be tested by the user for later use. % \changes{v0.45}{2017/12/09}{Docs: \pkg{xparse} warnings.} % \DescribePackage{xparse} % \limitsxparse -% \index{xparse>warnings} +% \gindex{xparse=\pkg{xparse}>warnings} +% +% +% +% \clearpage +% +% \section{Compiling using custom shell commands} +% \label{sec:customcompiling} +% \gindex{compiling>custom} +% +% \changes{v0.61}{2018/09/21}{Docs: Compiling using custom shell commands.} +% +% \pkg{lwarp} and \prog{lwarpmk} try to make it easy to process +% print and \HTML\ compilation tasks in most situations. +% Depending on the operating system, command-line options, \TeX\ engine, +% and \pkg{lwarp} options, the commands \cmds{lwarpmk print} and +% \cmds{lwarpmk html} are automatically set up to correctly recompile the project. +% These actions may be overridden using \pkg{lwarp} options, thus allowing the use +% of packages such as \pkg{perltex} and \pkg{pythontex}. +% +% \subsection{Command options} +% +% \DescribeOption{PrintLatexCmd} +% \DescribeOption{HTMLLatexCmd} +% The \pkg{lwarp} options \optn{PrintLatexCmd} and \optn{HTMLLatexCmd} +% are used to set customized commands to be executed by +% \cmds{lwarpmk print} and \cmds{lwarpmk html}. +% \begin{description} +% \item [\optn{PrintLatexCmd}] should be set to shell commands which take \filenm{project.tex} +% and generate \filenm{project.pdf}. +% \item[\optn{HTMLLatexCmd}] should be set to take \filenm{project\_html.tex} and +% generate \filenm{project\_html.pdf}. +% \prog{lwarpmk} will then take \filenm{project\_html.pdf} and +% automatically convert it and generate \filenm{project.html}. +% \end{description} +% +% \subsection{Literal character macros} +% The \pkg{lwarp} package options are parsed by \TeX, and so some characters +% require the use of a special macro to represent them. See \cref{tab:literalchars}. +% \cs{LWRopquote} and \cs{LWRopseq} may be used to increase operating-system portability. +% \cs{jobname} must have |_html| appended for processing \HTML. +% \cs{space} may be necessary between other macros. +% +% To use these macros, either \pkg{kvoptions-patch} must be loaded before \pkg{lwarp}: +% \trouble[macro not found]{LWRopseq=\cs{LWRopseq}} +% \trouble{LWRpercent=\cs{LWRpercent}} +% \trouble{LWRdollar=\cs{LWRdollar}} +% \trouble{LWRhash=\cs{LWRhash}} +% \trouble{LWRbackslash=\cs{LWRbackslash}} +% \trouble{LWRopquote=\cs{LWRopquote}} +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% \usepackage{kvoptions-patch} +% \usepackage[ +% PrintLatexCmd={ ... } , +% HTMLLatexCmd={ ... } +% ]{lwarp} +% \end{Verbatim} +% \needspace{18\baselineskip} +% or \cs{lwarpsetup} must be used to set \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}: +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% \usepackage[...]{lwarp} +% \lwarpsetup{ +% PrintLatexCmd= +% { +% latex tm \LWRopseq +% dvips -o tm-pics.ps tm.dvi \LWRopseq +% ps2pdf tm-pics.ps \LWRopseq +% pdflatex tm.tex +% } , +% HTMLLatexCmd= +% { +% latex tm_html \LWRopseq +% dvips -o tm_html-pics.ps tm_html.dvi \LWRopseq +% ps2pdf tm_html-pics.ps \LWRopseq +% pdflatex tm_html.tex +% } +% } +% \end{Verbatim} +% +% \begin{table} +% \centering +% \caption{Literal character macros} +% \label{tab:literalchars} +% \begin{tabular}{cll} +% Character & Macro & Comment \\ +% |%| & \cs{LWRpercent} & \\ +% |$| & \cs{LWRdollar} & \\ +% |&| & \cs{LWRamp} & \\ +% |%| & \cs{LWRhash} & \\ +% |\| & \cs{LWRbackslash} & \\ +% \texttt{\textquotesingle} or |"| & \cs{LWRopquote} & Depends on the operating system. \\ +% |&| or |&&| & \cs{LWRopseq} & Depends on the operating system. \\ +% (space) & \cs{space} & Forces an extra space. \\ +% (jobname) & \cs{jobname} & Without file extension. \\ +% \end{tabular} +% \hrule +% \end{table} +% +% +% \needspace{6\baselineskip} +% +% \subsection{\prog{latexmk}} +% +% \DescribeProgram{latexmk} +% If \prog{latexmk} is used for a project, it may be easiest to continue +% using it. +% \begin{description} +% \item[\cmds{latexmk project.tex}] would create \filenm{project.pdf} as normal. +% \item[\cmds{latexmk project\_html.tex}] would create \filenm{project\_html.pdf}, +% then +% \item [\cmds{lwarpmk pdftohtml project\_html.pdf}] would take +% \filenm{project\_html.pdf} and convert it to \filenm{project.html}. +% \end{description} +% +% \prog{latexmk} may simplify the use of packages such as \pkg{sagetex}. +% \DescribePackage{sagetex} +% +% +% \subsection{\pkg{perltex} package} +% +% The \pkg{lwarp} package option settings to use \pkg{perltex} would be similar to: +% \DescribePackage{perltex} +% \begin{sourcedisplay} +% \cs{usepackage}[ \\ +% \fquad \dots \\ +% \fquad PrintLatexCmd=\{perltex -latex=pdflatex project.tex\} , \\ +% \fquad HTMLLatexCmd=\{perltex -latex=pdflatex project\textgreen{\_html}.tex\} , \\ +% \fquad \dots \\ +% ]\{lwarp\} +% \end{sourcedisplay} +% +% Place \pkg{perltex} math expressions between +% \trouble[``impure'' math]{perltex=\pkg{perltex}} +% \cs{displaymathother} and \cs{displaymathnormal}, or +% \cs{inlinemathother} and \cs{inlinemathnormal}. +% See \cref{sec:displaymathother}. +% +% +% \subsection{\pkg{pythontex} package} +% +% \DescribePackage{pythontex} +% An example using \pkg{pythontex}: +% \begin{sourcedisplay} +% \cs{usepackage}[ \\ +% \fquad \dots \\ +% \fquad PrintLatexCmd=\{ \\ +% \fqquad pdflatex project.tex \cs{LWRopseq} \\ +% \fqquad pythontex project \cs{LWRopseq} \\ +% \fqquad pdflatex project.tex \\ +% \fquad \} , \\ +% \fquad HTMLLatexCmd=\{ \\ +% \fqquad pdflatex project\textgreen{\_html}.tex \cs{LWRopseq} \\ +% \fqquad pythontex project\textgreen{\_html} \cs{LWRopseq} \\ +% \fqquad pdflatex project\textgreen{\_html}.tex \\ +% \fquad \} , \\ +% \fquad \dots \\ +% ]\{lwarp\} +% \end{sourcedisplay} +% +% Another possibility is to use \prog{latexmk}, placing the +% \cmds{latexmk \dots} commands in the \optn{PrintLatexCmd} and \optn{HTMLLatexCmd} +% options. +% While using these options, the \pkg{lwarp} option \optn{latexmk} would not be used. +% +% No attempt has yet been made to make \pkg{pythontex} robust with \HTML\ output. +% Some math objects must be surrounded by +% \trouble[``impure'' math]{pythontex=\pkg{pythontex}} +% \cs{displaymathother} \dots \cs{displaymathnormal}, +% or \cs{inlinemathother} \dots \cs{inlinemathnormal}. +% Displays of code may have to be +% enclosed inside a \env{lateximage} environment +% \watchout[HTML look-alike] +% to prevent |<|, |>| and similar from being interpreted by the browser +% as \HTML\ entities. +% +% +% \subsection{Other packages} +% +% \DescribePackage{sympytex} +% \DescribePackage{rterface} +% Other packages such as \pkg{sympytex} and \pkg{rterface} would be set up +% similar to \pkg{pythontex}, and the same warnings would apply. +% \trouble{sympytex=\pkg{sympytex}} +% \trouble{rterface=\pkg{rterface}} +% +% +% \subsection{\prog{make} program} +% \gindex{make utility} +% +% \DescribeProgram{make} +% To use \pkg{lwarp} with the \prog{make} program, +% have the \filenm{makefile} take \filenm{project.tex} and +% generate the print version \filenm{project.pdf}, as normal. +% |\usepackage{lwarp}| must be used, and it generates \filenm{lwarpmk.conf} +% when the print version is created. +% +% To generate \HTML, first have \filenm{project\_html.tex} be compiled to +% generate \filenm{project\_html.pdf}. +% This must be in \PDF\ format. +% Finally, have \filenm{project\_html.pdf} be converted to \HTML\ using +% \cmds{lwarpmk pdftohtml project\_html.pdf}, +% and convert \SVG\ math with \cmds{lwarpmk limages}. % % % \clearpage @@ -7856,8 +8324,8 @@ This boolean may be tested by the user for later use. % via an external program. Removes per-file headers, footers, and nav. % Adds footnotes per chapter/section. % \end{docsidebar} -% \index{EPUB>HTML conversion settings} -% \index{HTML>conversion settings>EPUB} +% \gindex{EPUB>HTML conversion settings} +% \gindex{HTML>conversion settings>EPUB} % % To help convert \pkg{lwarp} \HTML\ output to \EPUB, add % \begin{sourcedisplay} @@ -7878,23 +8346,26 @@ This boolean may be tested by the user for later use. % % The resulting files will be ready to be loaded into an \EPUB\ conversion % program, such as the open-source program \prog{Calibre} (\url{https://calibre-ebook.com/}). -% \index{Calibre}\index{EPUB>conversion software}\margintag{\prog{Calibre}} +% \gindex{Calibre=\prog{Calibre}} +% \gindex{EPUB>conversion software}\margintag{\prog{Calibre}} % % The \EPUB\ conversion program must know what order the files are included. % For \pkg{lwarp} projects, set the \EPUB\ conversion software to -% \watchout[search order] +% \trouble[search order]{EPUB>search order} +% \trouble{EPUB>page order} +% \trouble{Calibre=\prog{Calibre}>EPUB conversion} % do a breadth-first search of the files. % For \prog{Calibre}, this option is found in % \begin{UIdisplay} % \textsf{Preferences $\to$ Plugins $\to$ File type plugins $\to$ HTML to Zip} % \end{UIdisplay} % Check the box \textsf{Add linked files in breadth first order.} -% Set the document encoding as |utf-8|\watchout[encoding], +% Set the document encoding as |utf-8|\trouble[encoding]{EPUB>encoding}, % which is what \pkg{lwarp} generates for \HTML, % even if the original printed document uses some other encoding. % % The \EPUB-conversion program must also know where the section breaks are located. -% \watchout[section breaks] +% \trouble[section breaks]{EPUB>section breaks} % For a list of \pkg{lwarp}'s section headings, % see \cref{tab:depthsheadings}. % For example, an |article| @@ -7946,10 +8417,12 @@ This boolean may be tested by the user for later use. % % \section{Word-processor conversion} % \label{sec:wordprocessorconversion} -% \index{word processor>HTML conversion settings} -% \index{HTML>conversion settings>word processor} -% \index{LibreOffice>import into} -% \index{export>to word processor} +% \gindex{word processor>HTML conversion settings} +% \gindex{HTML>conversion settings>word processor} +% \gindex{LibreOffice=\brand{LibreOffice}>import into} +% \gindex{export>to word processor} +% \trouble{word processor>import} +% \trouble{LibreOffice=\prog{LibreOffice}>import} % % \pkg{lwarp} may be told to modify its \HTML\ output to make it % easier to import the \HTML\ document into a word processor. @@ -8132,6 +8605,8 @@ This boolean may be tested by the user for later use. % % \DescribeBoolean{WPMarkMath} \DescribeDefault{false} % \DescribeProgram{TeXMaths} +% \trouble{TeXMaths} +% \trouble{siunitx>with TeXMaths} % \margintag{siunitx} % \begin{docsidebar}[\texttt{WPMarkMath}] % \raggedright @@ -8144,8 +8619,8 @@ This boolean may be tested by the user for later use. % in the \prog{TeXMaths} preamble. % Equation numbering is problematic for \AmS\ math environments. % \end{docsidebar} -% \index{siunitx>with \prog{TeXMaths}} -% \index{math>word processor conversion} +% \gindex{siunitx>with \prog{TeXMaths}} +% \gindex{math>word processor conversion} % % % \newcommand*{\describeWPTitleHeading}{ @@ -8165,10 +8640,12 @@ This boolean may be tested by the user for later use. % \raggedright % \describeWPTitleHeading % \end{docsidebar} -% \index{section>heading, word processor} -% \index{heading, word processor} -% \index{word processor>section headings} -% \index{LibreOffice>section headings} +% \gindex{section>heading, word processor} +% \gindex{heading, word processor} +% \gindex{word processor>section headings} +% \gindex{LibreOffice=\brand{LibreOffice}>section headings} +% \trouble{sectioning>word processor import} +% \trouble{word processor>sectioning headings} % % \begin{table} % \centering @@ -8203,8 +8680,8 @@ This boolean may be tested by the user for later use. % \end{table} % % \subsection{Recommendations} -% \index{word processor>conversion recommendations} -% \index{LibreOffice>conversion recommendations} +% \gindex{word processor>conversion recommendations} +% \gindex{LibreOffice=\brand{LibreOffice}>conversion recommendations} % % For use with \prog{LibreOffice Writer}, it is recommended to: % \margintag{TOC, LOF, LOT} @@ -8317,7 +8794,7 @@ This boolean may be tested by the user for later use. % \margintag{index recreation} % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] % makeindex -s gglo.ist -o lwarp.gls lwarp.glo -% makeindex -s gind.ist lwarp.idx +% splitindex lwarp.idx -- -s gind.ist % \end{Verbatim} % % @@ -8391,10 +8868,10 @@ This boolean may be tested by the user for later use. % % \subsection{Modifying a package for \pkg{lwarp}} % -% \index{package>modifying for \pkg{lwarp}} -% \index{modifying>package} -% \index{adapting>package} -% \index{converting>package} +% \gindex{package>modifying for \pkg{lwarp}} +% \gindex{modifying>package} +% \gindex{adapting>package} +% \gindex{converting>package} % % If a class loads additional packages, it will be required to modify the % class for \pkg{lwarp}, since \pkg{lwarp} must be loaded before most other packages. @@ -8471,10 +8948,10 @@ This boolean may be tested by the user for later use. % % \subsection{Modifying a class for \pkg{lwarp}} % -% \index{class>modifying for \pkg{lwarp}} -% \index{modifying>class} -% \index{adapting>class} -% \index{converting>class} +% \gindex{class>modifying for \pkg{lwarp}} +% \gindex{modifying>class} +% \gindex{adapting>class} +% \gindex{converting>class} % % If a class loads additional packages, it will be required to modify the % class for \pkg{lwarp}, since \pkg{lwarp} must be loaded before most other packages. @@ -8527,7 +9004,7 @@ This boolean may be tested by the user for later use. % \DescribeProgram{lwarpmk} % \DescribeFile{lwarpmk.lua} % In most installations, \filenm{lwarpmk.lua} is an executable file located somewhere -% \index{lwarpmk>customizing} +% \gindex{lwarpmk=\prog{lwarpmk}>customizing} % the operating system knows about, and it is called by typing ``|lwarpmk|'' into % a terminal. % @@ -8551,9 +9028,9 @@ This boolean may be tested by the user for later use. % ^^A *troubleshooting % \section{Troubleshooting} % \label{sec:troubleshooting} -% \index{FAQ}\index{Frequently Asked Questions}\index{bugs} -% \index{troubleshooting}\index{problems}\index{error messages} -% \index{debugging} +% \gindex{FAQ}\gindex{Frequently Asked Questions}\gindex{bugs} +% \gindex{troubleshooting}\gindex{problems}\gindex{error messages} +% \gindex{debugging} % % \subsection{Using the \pkg{lwarp.sty} package} % @@ -8569,13 +9046,17 @@ This boolean may be tested by the user for later use. % % \begin{description} % -% \item [Text is not converting:] ~ +% \item [Text is not converting correctly / corrupted \HTML\ tags:] ~ +% \trouble{HTML>corrupted} % \begin{itemize} % \item Font-related UTF-8 information must be embedded in the \PDF\ file. -% See \cref{sec:fonts} regarding vector fonts. +% See \cref{sec:fonts} regarding bitmapped vs. vector fonts. +% \item See \cref{sec:avoidtextformatting} regarding \HTML\ entities and +% the characters |&|, |<|, and |>|. % \end{itemize} % % \item [Undefined HTML settings:] \ +% \trouble{HTML>settings>undefined} % \begin{itemize} % \item See the warning regarding the placement of the \HTML\ settings % at \cref{sec:htmlsettings}. @@ -8591,14 +9072,14 @@ This boolean may be tested by the user for later use. % to generate an \HTML\ version. % % \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\}, \cs{end}\{warpall\}}:] +% \trouble{warpHTML}\trouble{warpprint}\trouble{warpall} % Each of these must be without any other characters on the same line. % % \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}. % % \item [``No room for a new \cs{write}.'':] Before |\usepackage{lwarp}|, add: -% \index{error>No Room for a new \cs{write}.} -% \index{No room for a new \cs{write}.} -% \index{morewrites>No room for a new \cs{write}.} +% \trouble{No room for a new \cs{write}} +% \trouble{morewrites} % \begin{sourcedisplay} % \cs{usepackage}\{morewrites\} \\ % \cs{morewritessetup}\{allocate=10\} @@ -8606,8 +9087,9 @@ This boolean may be tested by the user for later use. % % \item [``Missing \$ inserted.'':] If using a filename or URL in a % footnote or \cs{item}, escape underscores with \cs{\_}. -% \index{error>Missing \$ inserted.} -% \index{Missing \$ inserted.} +% \trouble{Missing \$ inserted>filename or URL} +% \trouble{URL>Missing \$ inserted} +% \trouble{filename>Missing \$ inserted} % % \item [``Label(s) may have changed. Rerun to get cross-references right.'':] \ % @@ -8616,31 +9098,32 @@ This boolean may be tested by the user for later use. % \begin{sourcedisplay} % \cs{textit}\{X\}\cs{,}=\cs{,}1 % \end{sourcedisplay} -% \index{error>Label(s) may have changed.} -% \index{Label(s) may have changed} +% \trouble{Label(s) may have changed} % % \item [``Leaders not followed by proper glue'':] This can be caused by % a missing |l@<floattype>| or |l@<sectiontype>| definition. % See \pkg{lwarp}'s definitions for examples. -% \index{error>Leaders not followed by proper glue.} -% \index{Leaders not followed by proper glue.} +% \trouble{Leaders not followed by proper glue} % % \item [``Improper \cs{prevdepth}'':] -% \index{error>Improper \cs{prevdepth}.} -% \index{Improper \cs{prevdepth}.} +% \trouble{Improper \cs{prevdepth}>boxes} % \env{lateximage}s and \SVG\ math require \cs{newpage}, which % cannot work inside \TeX\ boxes or \cs{ensuremath}. % Anything using \cs{newsavebox}, \cs{newbox}, \env{lrbox}, % \cs{savebox}, \cs{hbox}, \cs{vbox}, \cs{usebox}, \cs{sbox}, % etc., must be modified to work without box commands. % -% If you find something using \cs{ensuremath}, have it temporarily set: -% \begin{sourcedisplay} -% \cs{LetLtxMacro}\cs{@ensuredmath}\cs{LWR@origensuredmath} -% \end{sourcedisplay} -% inside a group first. +% \trouble{ensuremath=\cs{ensuremath}} +% If you find something using \cs{ensuremath}, have it temporarily set: +% \begin{sourcedisplay} +% \cs{LetLtxMacro}\cs{@ensuredmath}\cs{LWR@origensuredmath} +% \end{sourcedisplay} +% inside a group first. % -% Also, custom macros which appear inside a section, \watchout[custom macros in section names] +% Also, custom macros which appear inside a section, +% \trouble[macros in section,table,figure names]{sectioning>macro in name} +% \trouble{table>macro in name} +% \trouble{figure>macro in name} % figure, or table name should be % made robust since they appear inside the \filenm{.toc}, \filenm{.lof}, or % \filenm{.lot} files. @@ -8654,7 +9137,7 @@ This boolean may be tested by the user for later use. % if using \pkg{polyglossia}. % % \item[``\texttt{\cs{begin}\{equation\} ended by \cs{end}\{document\}}'':] Do not -% \watchout[custom macros for environments] +% \trouble[custom macros for environments]{math>custom macros} % use custom macros such as \cs{beq} and \cs{eeq} to replace % \begin{sourcedisplay} % \cs{begin}\{equation\} \\ @@ -8667,24 +9150,34 @@ This boolean may be tested by the user for later use. % define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml} % regarding \cs{LWR@expandableformatted}. % -% \item[Complicated objects inside display math:] Some objects, such as \tikz, -% \watchout[display math] -% may not compile in \pkg{lwarp}'s normal display math emulation. +% \item[Complicated objects inside math:] Some objects, such as \tikz, +% \trouble[``impure'' math objects]{math>non-math contents} +% may not compile in \pkg{lwarp}'s normal math emulation. % Insert % \begin{sourcedisplay} -% \cs{displaymathother} +% \cs{displaymathother} \textrm{-or-} \cs{inlinemathother} % \end{sourcedisplay} -% before the display math environment, and then +% before the math, and then % \begin{sourcedisplay} -% \cs{displaymathnormal} +% \cs{displaymathnormal} \textrm{-or-} \cs{inlinemathnormal} % \end{sourcedisplay} % when displaying ``normal'' math. % See \cref{sec:displaymathother}. +% \item[Slow compliation of math objects:] Complicated math objects +% \trouble{math>slow or failed compile} +% \trouble{math>alt tags} +% \trouble{alt tags} +% can also cause problems with \attribute{alt} tags, resulting in +% very slow compilation, large \attribute{alt} tags, and possible +% crashes. Use \cs{inlinemathother} \dots \cs{inlinemathnormal} or +% \cs{displaymathother} \dots \cs{displaymathnormal} around the +% math expression. % \end{description} % % \needspace{3\baselineskip} % \item [Incorrect \brand{MathJax}:] Some objects do not convert to \brand{Mathjax}. -% \watchout[MathJax] +% \trouble[\brand{MathJax}]{MathJax=\brand{MathJax}>errors} +% \trouble[\brand{MathJax}]{MathJax=\brand{MathJax}>unsupported packages} % Use \cs{displaymathother} before these objects, then \cs{displaymathnormal} to return % to ``normal'' display math. % See \cref{sec:displaymathother}. @@ -8705,7 +9198,8 @@ This boolean may be tested by the user for later use. % \end{itemize} % % \item [Missing / incorrect cross-references:] ~ -% \index{cross-references>missing or incorrect} +% \trouble{reference>missing or incorrect} +% \trouble{cross reference>missing} % \begin{itemize} % \item Use |lwarpmk again| followed % by |lwarpmk html| or |lwarpmk print| to compile the document one more time. @@ -8716,15 +9210,20 @@ This boolean may be tested by the user for later use. % \item [BibTeX errors with \cs{etalchar}:] See \cref{sec:limitsbibtex}. % % \item [Malformed URLs:] Do not use the \texttt{\%} character between -% \index{hyperref>incorrect links} +% \trouble{hyperref=\pkg{hyperref}>incorrect link} +% \trouble{reference>incorrect link} +% \trouble{cross reference>incorrect link} +% \trouble{reference>\% character between arguments} % arguments of \cs{hyperref}, etc., as this character is among those which % is neutralized for inclusion in \HTML\ \acro{URL}s. % % \item [Em-dashes or En-dashes in listing captions and titles:] \ % % Use \XeLaTeX\ or \LuaLaTeX. +% \trouble{listings=\pkg{listings}} % % \item [Floats out of sequence:] ~ +% \trouble{float>out of sequence} % \begin{description} % \item [Mixed ``Here'' and floating:] Floats [H]ere and regular floats may % become out of order. \cs{clearpage} if necessary. @@ -8733,7 +9232,8 @@ This boolean may be tested by the user for later use. % \end{description} % % \item [Images are appearing in strange places:] ~ -% \index{images>in strange places} +% \trouble{image>incorrect} +% \trouble{SVG image>incorrect} % \begin{itemize} % \item Enter \cmds{lwarpmk limages} to refresh the \env{lateximage} images. % \end{itemize} @@ -8744,6 +9244,7 @@ This boolean may be tested by the user for later use. % % \needspace{3\baselineskip} % \item [Plain-looking document:] \ +% \trouble{CSS} % \begin{itemize} % \item The document's \CSS\ stylesheet may not be available, or may be % linked incorrectly. Verify any \cs{CSSFilename} statements point to @@ -8751,6 +9252,7 @@ This boolean may be tested by the user for later use. % \end{itemize} % % \item [Broken fragments of HTML:] ~ +% \trouble{HTML>corrupted} % \begin{itemize} % \item Check the \PDF\ file used to create \HTML\ % to see if the tags overflowed the margin. @@ -8758,6 +9260,8 @@ This boolean may be tested by the user for later use. % \end{itemize} % % \item [Changes do not seem to be taking effect:] ~ +% \trouble{HTML>page did not update} +% \trouble{HTML>missing pages>recompile} % \begin{itemize} % \item Be sure to |lwarpmk clean|, recompile, then start by reloading the home page. % You may have been looking at an older version of the document. @@ -8781,6 +9285,7 @@ This boolean may be tested by the user for later use. % \subsubsection{Debug tracing output} % % \DescribeMacro{\tracinglwarp} +% \trouble{tracing lwarp} % When \cs{tracinglwarp} is used, \pkg{lwarp} will add extra % tracing messages to the |.log| file. The last several messages % may help track down errors. @@ -8818,17 +9323,116 @@ This boolean may be tested by the user for later use. % % % +% \changes{v0.61}{2018/09/27}{Docs: Multiple indexes.} +% +% \makeatletter % % \StopEventually{ +% ^^A \part{Change History and Index} +% ^^A \part{Change History} +% +% +% \pagestyle{plain} +% +% ^^A Each index has a prologue which creates its own \part, label, +% ^^A and meta index entry. +% \GlossaryPrologue{ +% \part{Change History} +% \label{sec:changehistory} +% \sindex[meta]{Change History} +% \markboth{{Change History}}{{Change History}} +% +% For the most recent changes, see page \pageref{sec:changesend}. +% +% } % \PrintChanges % \phantomsection % \label{sec:changesend} -% \PrintIndex -% \vfill -% For the most recent changes, followed by the start of the Index, -% see page \pageref{sec:changesend}. +% +% +% ^^A The instructions for the Index of Objects: +% \IndexPrologue{ +% \clearpage +% \part{\indexname} +% \label{sec:index\indexshortcut} +% \sindex[meta]{\indexname} +% \markboth{Index of Objects}{Index of Objects}% +% +% This is an index of macros, environments, booleans, counters, lengths, +% packages, classes, options, keys, files, and various other programming objects. +% Each is listed by itself, and also by category. +% In some cases, they are further subdivided by [class]. +% +% Numbers written in italic refer to the page +% where the corresponding entry is described; +% numbers underlined refer to the +% \ifcodeline@index +% code line of the +% \fi +% definition. +% ^^A ; numbers in roman refer to the +% ^^A \ifcodeline@index +% ^^A code lines +% ^^A \else +% ^^A pages +% ^^A \fi +% ^^A where the entry is used. +% } +% +% \printindex[idx][Index of Objects] +% +% +% ^^A The instructions for the General Index: +% \IndexPrologue{ +% \clearpage +% \part{\indexname} +% \label{sec:index\indexshortcut} +% \sindex[meta]{\indexname} +% +% This is an index of instructions and concepts. +% Look here when wondering how to do something, and +% check the Troubleshooting Index when something goes wrong. +% +% Entries in \textbf{bold} are package, class, or program names. +% } +% +% \printindex[gen][General Index] +% +% +% ^^A The instructions for the Troubleshooting Index: +% \IndexPrologue{ +% \clearpage +% \part{\indexname} +% \label{sec:index\indexshortcut} +% \sindex[meta]{\indexname} +% +% This index is a sorted reference of problems and solutions. +% In order to make it easier to locate a solution, +% the same issue may be addressed by more than one entry. +% +% Entries with higher page numbers are often duplicates of entries with +% lower page numbers, as the same warning may occur within the user manual +% and again within the source code for a given package. +% +% Entries in \textbf{bold} are package, class, or program names. +% } +% +% \printindex[trb][Troubleshooting Index] +% +% +% ^^A The meta index does not get a meta index entry pointing to itself: +% \IndexPrologue{ + +% \clearpage +% \part{\indexname} +% \label{sec:index\indexshortcut} +% } +% +% \printindex[meta][Index of Indexes] % } % +% \makeatother +% % % \clearpage % @@ -8872,8 +9476,8 @@ This boolean may be tested by the user for later use. % % \section{Section depths and HTML headings} % \label{sec:stackdepths} -% \index{HTML>headings} -% \index{section>depths}\index{stack depths} +% \gindex{HTML>headings} +% \gindex{section>depths}\gindex{stack depths} % % Stacks are created to track depth inside the \LaTeX{} document structure. % This depth is translated to \HTML\ headings as shown @@ -8940,11 +9544,10 @@ This boolean may be tested by the user for later use. % continuing through the following sections all the way to the % change log and index at the end of this document. % -% \index{numbers>left margin}\index{line numbers} -% \index{margin>numbers}\index{margin>tags} +% \gindex{numbers>left margin}\gindex{line numbers} +% \gindex{margin>numbers}\gindex{margin>tags} % \documentationnotes -% \index{warning icon}\index{danger icon}\index{icon>warning} -% \index{for>HTML output}\index{for>PRINT output}\index{for>HTML \& PRINT} +% \gindex{warning icon}\gindex{danger icon}\gindex{icon>warning} % \changes{v0.15}{2016/04/05}{Docs: Added warning icons for items needing % special attention.} % @@ -8964,7 +9567,7 @@ This boolean may be tested by the user for later use. % See: \url{http://tex.stackexchange.com/a/47579}. % % Detects \XeTeX{} and \LuaLaTeX: -% \index{XeLaTeX>detection}\index{LuaLaTeX>detection} +% \gindex{Xe\LaTeX>detection}\gindex{Lua\LaTeX>detection} % \begin{macrocode} \RequirePackage{iftex} \newif\ifxetexorluatex @@ -8997,7 +9600,7 @@ This boolean may be tested by the user for later use. {Lwarp must find the macros pdfmdfivesum or mdfivesum.} } -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \let\LWR@mdfive\pdfmdfivesum \fi @@ -9028,7 +9631,7 @@ This boolean may be tested by the user for later use. % \changes{v0.52}{2018/03/26}{If pdfLaTeX, allow other input encoding.} % % \begin{macrocode} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \RequirePackage[T1]{fontenc} \@ifpackageloaded{inputenc}{}{ @@ -9043,7 +9646,7 @@ This boolean may be tested by the user for later use. % % \section{Unicode input characters} % \changes{v0.18}{2016/05/17}{PDF Unicode input characters.} -% \index{Unicode>input characters} +% \gindex{Unicode>input characters} % % \codeall % @@ -9060,7 +9663,7 @@ This boolean may be tested by the user for later use. \newunicodechar{⨯}{\texttimes} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newunicodechar{ff}{ff}% the first arguments are ligatures \newunicodechar{fi}{fi} \newunicodechar{fl}{fl} @@ -9160,6 +9763,72 @@ This boolean may be tested by the user for later use. % % % +% \subsection{Literal characters} +% +% Literal characters to be used in \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}. +% These are defined without |@| to easily allow their inclusion in the user's document. +% +% The literal |%| character: +% \begin{macrocode} +\let\LWRpercent\@percentchar +% \end{macrocode} +% +% +% The literal |$| character: +% \begin{macrocode} +\catcode`\$=12 +\def\LWRdollar{$} +\catcode`\$=3 +% \end{macrocode} +% +% +% The literal |&| character: +% \begin{macrocode} +\catcode`\&=12 +\def\LWRamp{&} +\catcode`\&=4 +% \end{macrocode} +% +% +% The literal |\| character. +% The ampersand is temporarily set to the escape character during the +% definition of the backslash macro. +% \begin{macrocode} +\catcode`\&=0 +&catcode`&\=12 +&def&LWRbackslash{\} +&catcode`&\=0 +\catcode`\&=4 +% \end{macrocode} +% +% +% The literal |#| character: +% \begin{macrocode} +\catcode`\#=12 +\def\LWRhash{#} +\catcode`\#=6 +% \end{macrocode} +% +% +% \begin{macro}{\LWRopquote} +% The operating system's quote mark, \brand{Unix} default. +% For \brand{Windows}, see \cs{LWR@setOSWindows}, below. +% \begin{macrocode} +\def\LWRopquote{'} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWRopseq} +% The operating system's sequential execution command, \brand{Unix} default. +% For \brand{Windows}, see \cs{LWR@setOSWindows}, below. +% \changes{v0.61}{2018/10/06}{Added spaces.} +% \begin{macrocode} +\def\LWRopseq{\space\LWRamp\LWRamp\space\space} +% \end{macrocode} +% \end{macro} +% +% % \subsection{Common portability code} % % \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used, @@ -9197,6 +9866,8 @@ This boolean may be tested by the user for later use. { \booltrue{usingOSWindows} \renewcommand*{\OSPathSymbol}{\@backslashchar} +\def\LWRopquote{"} +\def\LWRopseq{\space\LWRamp\space\space} } % \end{macrocode} % \end{macro} @@ -9228,6 +9899,14 @@ This boolean may be tested by the user for later use. % \end{macrocode} +% \begin{macro}{\lwarpsetup} +% A user interface to set the keys: +% \changes{v0.61}{2018/09/21}{Added.} +% \begin{macrocode} +\newcommand{\lwarpsetup}[1]{\setkeys{LWR}{#1}} +% \end{macrocode} +% \end{macro} + % \DescribeBoolean{warpingprint} % \DescribeBoolean{warpingHTML} @@ -9297,8 +9976,8 @@ This boolean may be tested by the user for later use. % \changes{v0.19}{2016/05/25}{Options: mathsvg and mathjax} % \DescribeOption{mathsvg} % Option \optn{mathsvg} selects \SVG\ math display: -% \index{math>\optn{mathsvg} option} -% \index{SVG>\optn{mathsvg} option} +% \gindex{math>\optn{mathsvg} option} +% \gindex{SVG>\optn{mathsvg} option} % If the \optn{mathsvg} option is given, boolean |mathjax| is false, % and may be used for \cs{ifbool} tests. % \begin{macrocode} @@ -9311,8 +9990,8 @@ This boolean may be tested by the user for later use. % % \DescribeOption{mathjax} % Option \optn{mathjax} selects \brand{MathJax} math display: -% \index{math>\optn{mathjax} option} -% \index{MathJax>\optn{mathjax} option} +% \gindex{math>\optn{mathjax} option} +% \gindex{MathJax=\brand{MathJax}>mathjax=\optn{mathjax} option} % If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests. % \begin{macrocode} \DeclareVoidOption{mathjax}{% @@ -9459,7 +10138,21 @@ This boolean may be tested by the user for later use. \DeclareStringOption[]{HTMLFilename} % \end{macrocode} +% \DescribeOption{PrintLatexCmd} \DescribeDefault{<automatic>} +% The shell commands to use to compile the print document. +% +% \changes{v0.61}{2018/09/20}{Added \optn{PrintLatexCmd} option.} +% \begin{macrocode} +\DeclareStringOption[]{PrintLatexCmd} +% \end{macrocode} +% \DescribeOption{HTMLLatexCmd} \DescribeDefault{<automatic>} +% The shell commands to use to compile the \HTML\ document. +% +% \changes{v0.61}{2018/09/20}{Added \optn{HTMLLatexCmd} option.} +% \begin{macrocode} +\DeclareStringOption[]{HTMLLatexCmd} +% \end{macrocode} % \DescribeOption{PrintIndexCmd} \DescribeDefault{<empty>} % The shell commands to use to compile the print indexes. @@ -9864,10 +10557,12 @@ For a possible alternative, see package(s) #2.} % % \subsection{Error for disallowed packages loaded before lwarp} % \changes{v0.54}{2018/04/06}{Added early check for disallowed packages.} +% \changes{v0.54}{2018/09/26}{Never load \pkg{aecompl}.} % % \begin{macrocode} -\LWR@earlyloadnever{ae}{lmodern} -\LWR@earlyloadnever{aecc}{lmodern} +\LWR@earlyloadnever{ae}{cm-super, lmodern} +\LWR@earlyloadnever{aecompl}{cm-super, lmodern} +\LWR@earlyloadnever{aecc}{cm-super, lmodern} \LWR@earlyloadnever{boxedminipage}{boxedminipage2e} \LWR@earlyloadnever{caption2}{caption} % \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir @@ -9953,10 +10648,13 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{chemgreek} \LWR@loadafter{chemmacros} \LWR@loadafter{chemnum} +\LWR@loadafter{chkfloat} \LWR@loadafter{cite} +\LWR@loadafter{cmdtrack} \LWR@loadafter{color} \LWR@loadafter{colortbl} \LWR@loadafter{continue} +\LWR@loadafter{copyrightbox} \LWR@notmemoirloadafter{crop} \LWR@loadafter{cuted} \LWR@loadafter{cutwin} @@ -9964,6 +10662,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{dblfnote} \LWR@notmemoirloadafter{dcolumn} \LWR@loadafter{diagbox} +\LWR@loadafter{dprogress} \LWR@loadafter{draftcopy} \LWR@loadafter{draftfigure} \LWR@loadafter{draftwatermark} @@ -9977,6 +10676,7 @@ For a possible alternative, see package(s) #2.} \LWR@notmemoirloadafter{enumerate} \LWR@loadafter{enumitem} \LWR@notmemoirloadafter{epigraph} +\LWR@loadafter{epsfig} \LWR@loadafter{epstopdf} \LWR@loadafter{epstopdf-base} \LWR@loadafter{errata} @@ -10060,6 +10760,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{ltxgrid} \LWR@loadafter{ltxtable} \LWR@loadafter{lua-check-hyphen} +\LWR@loadafter{lua-visual-debug} \LWR@loadafter{luacolor} \LWR@loadafter{luatodonotes} \LWR@loadafter{magaz} @@ -10107,6 +10808,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{pdfrender} \LWR@loadafter{pdflscape} \LWR@loadafter{pdfpages} +\LWR@loadafter{pdfprivacy} \LWR@loadafter{pdfsync} \LWR@loadafter{pdftricks} \LWR@loadafter{pdfx} @@ -10116,12 +10818,16 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{prelim2e} \LWR@loadafter{prettyref} \LWR@loadafter{preview} +\LWR@loadafter{psfrag} +\LWR@loadafter{psfragx} \LWR@loadafter{pst-eps} +\LWR@loadafter{pstool} \LWR@loadafter{pstricks} \LWR@loadafter{quotchap} \LWR@loadafter{quoting} \LWR@loadafter{ragged2e} \LWR@loadafter{realscripts} +\LWR@loadafter{refcheck} \LWR@loadafter{register} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} @@ -10153,6 +10859,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{soulpos} \LWR@loadafter{soulutf8} \LWR@loadafter{splitidx} +\LWR@loadafter{srcltx} +\LWR@loadafter{srctex} \LWR@loadafter{stabular} \LWR@loadafter{stfloats} \LWR@loadafter{subfig} @@ -10167,6 +10875,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{textfit} \LWR@loadafter{textpos} \LWR@loadafter{theorem} +\LWR@loadafter{thinsp} +\LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{thumb} \LWR@loadafter{thumbs} @@ -10186,7 +10896,6 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{trimclip} \LWR@loadafter{trivfloat} \LWR@loadafter{turnthepage} -\LWR@loadafter{twoup-gen} % \end{macrocode} % \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.} % \begin{macrocode} @@ -10196,17 +10905,20 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{units} \LWR@loadafter{upref} \LWR@loadafter{url} +\LWR@loadafter{uspace} \LWR@loadafter{varioref}% no lwarp package provided \LWR@notmemoirloadafter{verse} \LWR@loadafter{vertbars} \LWR@loadafter{vmargin} \LWR@loadafter{vowel} +\LWR@loadafter{vpe} \LWR@loadafter{vwcol} \LWR@loadafter{wallpaper} \LWR@loadafter{wasysym} \LWR@loadafter{watermark} \LWR@loadafter{widows-and-orphans} \LWR@loadafter{wrapfig} +\LWR@loadafter{xbmks} \LWR@loadafter{xcolor} \LWR@loadafter{xellipsis} \LWR@loadafter{xfrac} @@ -10227,7 +10939,7 @@ For a possible alternative, see package(s) #2.} % ^^A *required % \section{Required packages} % \label{sec:requiredpackages} -% \index{package>required} +% \gindex{package>required} % \changes{v0.16}{2016/04/08}{Lwarp no longer selects fonts.} % These packages are automatically loaded by \pkg{lwarp} when generating @@ -10249,9 +10961,9 @@ For a possible alternative, see package(s) #2.} % ^^A % {http://tex.stackexchange.com/questions/2984/\\ % ^^A % \hspace*{.25in}frequently-loaded-packages-differences-between-pdflatex-and-xelatex} % ^^A % -% ^^A % \index{font>during conversion} +% ^^A % \gindex{font>during conversion} % ^^A % For \XeLaTeX{} and \LuaLaTeX, uses DejaVu Serif for enhanced Cyrillic and Greek coverage. -% ^^A % \index{Unicode>XeLaTeX \& LuaLaTeX} +% ^^A % \gindex{Unicode>XeLaTeX \& LuaLaTeX} % ^^A % ^^A % @@ -10277,8 +10989,8 @@ For a possible alternative, see package(s) #2.} % \end{macrocode} % ^^A % For \prog{pdflatex}, use \pkg{fontenc} and \pkg{lmodern}: % ^^A % \marginpar{\textcolor{blue}{\prog{pdflatex} only:}} -% ^^A % \index{Unicode>pdfLaTeX} -% ^^A % \index{pdfLaTeX>Unicode support} +% ^^A % \gindex{Unicode>pdfLaTeX} +% ^^A % \gindex{pdfLaTeX>Unicode support} % ^^A % \begin{macrocode} % ^^A \RequirePDFTeX % error if not pdflatex % ^^A @@ -10327,7 +11039,7 @@ For a possible alternative, see package(s) #2.} % \changes{v0.18}{2016/05/18}{Microtype disabled during \HTML\ generation} % % Older browsers don't -% \index{ligatures} +% \gindex{ligatures} % display ligatures. % \margintag{ligatures} % Turn off letter ligatures, keeping @@ -10558,12 +11270,6 @@ top=1in,bottom=1in,% % \end{macrocode} -% \DescribePackage{xstring} -% \begin{macrocode} -\RequirePackage{xstring} -% \end{macrocode} - - % \DescribePackage{verbatim} % \begin{macrocode} \RequirePackage{verbatim} @@ -10603,6 +11309,12 @@ top=1in,bottom=1in,% % \end{macrocode} +% \DescribePackage{xstring} +% \begin{macrocode} +\RequirePackage{xstring} +% \end{macrocode} + + % \DescribePackage{environ} % Used to encapsulate math environments for re-use in \HTML\ \element{alt} text. % @@ -10795,7 +11507,9 @@ top=1in,bottom=1in,% % \begin{macrocode} \RenewDocumentCommand{\RequirePackage}{o m o}{% % \end{macrocode} -% Redirect up to nine names: +% Redirect up to twenty names:\footnote{This was originally nine names, but +% then I came across a package which used twelve...} +% \changes{v0.61}{2018/10/02}{Support up to 20 packages.} % \begin{macrocode} \renewcommand*{\LWR@requirepackagenames}{#2}% \renewcommand*{\LWR@parsedrequirepackagenames}{}% @@ -10808,6 +11522,17 @@ top=1in,bottom=1in,% \LWR@lookforpackagename{7}% \LWR@lookforpackagename{8}% \LWR@lookforpackagename{9}% +\LWR@lookforpackagename{10}% +\LWR@lookforpackagename{11}% +\LWR@lookforpackagename{12}% +\LWR@lookforpackagename{13}% +\LWR@lookforpackagename{14}% +\LWR@lookforpackagename{15}% +\LWR@lookforpackagename{16}% +\LWR@lookforpackagename{17}% +\LWR@lookforpackagename{18}% +\LWR@lookforpackagename{19}% +\LWR@lookforpackagename{20}% % \end{macrocode} % \cs{RequirePackage} depending on the options and version: % \begin{macrocode} @@ -11055,7 +11780,33 @@ top=1in,bottom=1in,% % \section{Debugging messages} - +% \label{sec:debuggingmessages} +% +% \gindex{HTML>conversion settings>debug comments} +% \gindex{tracing log} +% \gindex{debugging>HTML debug comments} +% \gindex{debugging>tracing log} +% \gindex{troubleshooting>HTML debug comments} +% \gindex{troubleshooting>tracing log} +% +% \changes{v0.61}{2018/09/25}{Docs: HTMLDebugComments} +% +% To have the \HTML\ output include additional \HTML\ comments, such as +% \margintag{HTML comments} +% which \element{div} is closing, use +% \begin{sourcedisplay} +% \cs{booltrue\{HTMLDebugComments\}} +% \end{sourcedisplay} +% +% \changes{v0.61}{2018/09/25}{Docs: \cs{tracinglwarp}} +% +% To have debug information written to the log, +% \margintag{debugging information} +% use +% \begin{sourcedisplay} +% \cs{tracinglwarp} +% \end{sourcedisplay} +% % \codeall % \begin{macrocode} \begin{warpall} @@ -11090,9 +11841,6 @@ top=1in,bottom=1in,% % \DescribeBoolean{HTMLDebugComments} \DescribeDefault{false} % Add comments in \HTML\ % about closing \element{div}s, sections, etc. -% \index{HTML>conversion settings>debug comments} -% \index{debugging>HTML debug comments} -% \index{troubleshooting>HTML debug comments} % % \changes{v0.28}{2017/04/09}{Added boolean \progcode{HTMLDebugComments}.} % @@ -11122,8 +11870,8 @@ top=1in,bottom=1in,% % \section{Defining print and HTML versions of macros and environments} % \label{sec:definingprinthtml} -% \index{print>selecting print/HTML definitions} -% \index{HTML>selecting print/HTML definitions} +% \gindex{print>selecting print/HTML definitions} +% \gindex{HTML>selecting print/HTML definitions} % % The following refers to defining objects inside \pkg{lwarp}, and is not % for the user's document. @@ -11261,7 +12009,7 @@ top=1in,bottom=1in,% % Expandable versions are also provided as well. % These usually are necessary for anything which could appear inside a \env{tabular}, % without which a ``|Misplaced \omit|'' error may occur. -% \watchout[Misplaced \cs{omit} error] +% \trouble[Misplaced \cs{omit} error]{Misplaced \cs{omit}>tabular} % \begin{sourcedisplay} % \cs{LWR@expandableformatted} \\ % \cs{LWR@expandableformattedenv} @@ -11399,8 +12147,8 @@ top=1in,bottom=1in,% % Changes \HTML\ output for easy \EPUB\ conversion % via an external program. Removes per-file headers, footers, and nav. % Adds footnotes per chapter/section. -% \index{EPUB>HTML conversion settings} -% \index{HTML>conversion settings>EPUB} +% \gindex{EPUB>HTML conversion settings} +% \gindex{HTML>conversion settings>EPUB} % % \changes{v0.28}{2017/04/09}{Added boolean \progcode{FormatEPUB}.} % @@ -11416,8 +12164,8 @@ top=1in,bottom=1in,% % Removes headers and nav, prints footnotes per section, % and also forces single-file output and turns off \HTML\ debug % comments. -% \index{word processor>HTML conversion settings} -% \index{HTML>conversion settings>word processor} +% \gindex{word processor>HTML conversion settings} +% \gindex{HTML>conversion settings>word processor} % % \changes{v0.28}{2017/04/09}{Added boolean \progcode{FormatWP}.} % @@ -11432,8 +12180,8 @@ top=1in,bottom=1in,% % \footnote{Perhaps some day word processors will have \HTML\ import options % for identifying \element{figure} and \element{figcaption} tags % for figures and tables.} -% \index{word processor>HTML conversion settings} -% \index{HTML>conversion settings>word processor} +% \gindex{word processor>HTML conversion settings} +% \gindex{HTML>conversion settings>word processor} % % \changes{v0.28}{2017/04/09}{Added boolean \progcode{HTMLMarkFloats}, changed % to \progcode{WPMarkFloats} as of v0.42.} @@ -11597,6 +12345,7 @@ top=1in,bottom=1in,% % \begin{macrocode} \let\LWR@origcomma\, \let\LWR@origthinspace\thinspace +\let\LWR@orignegthinspace\negthinspace \let\LWR@origtilde~ \let\LWR@origenskip\enskip \let\LWR@origquad\quad @@ -11723,7 +12472,7 @@ top=1in,bottom=1in,% % \end{macrocode} % For pdf\LaTeX, additional work is required: % \begin{macrocode} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \LetLtxMacro\LWR@origequalaccent\= \LetLtxMacro\LWR@origdotaccent\. \LetLtxMacro\LWR@origu\u @@ -11754,7 +12503,7 @@ top=1in,bottom=1in,% % \begin{macro}{\LWR@restoreorigaccents} % Called from \cs{restoreoriginalformatting} when a \env{lateximage} is begun. % \begin{macrocode} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newcommand*{\LWR@restoreorigaccents}{% \LetLtxMacro\=\LWR@origequalaccent% \LetLtxMacro\.\LWR@origdotaccent% @@ -11786,17 +12535,40 @@ top=1in,bottom=1in,% % \section{Configuration Files} - % \changes{v0.20}{2016/12/20}{\pkg{lwarp-newproject}: Added.} % \changes{v0.30}{2017/04/27}{\pkg{lwarp-newproject} removed, and combined with \pkg{lwarp}.} +% \subsection{Decide whether to generate configuration files} - +% Configuration files are only written if processing the print version of the document, +% and not processing a \pkg{pstool} image. +% \pkg{pstool} uses an additional compile for each image using the original +% document's preamble, which includes \pkg{lwarp}, so the \pkg{lwarp} +% configuration files are turned off if \filenm{-pstool} is part of the \cs{jobname}. +% +% Default to no configuration files: +% \changes{v0.61}{2018/10/02}{Don't write configuration files if processing \pkg{pstool} image.} +% \begin{macrocode} +\excludecomment{LWRwriteconf} +% \end{macrocode} +% +% Generate configuration files if print mode and not \filenm{-pstool}: +% +% \codeprint % \begin{macrocode} \begin{warpprint} -\typeout{lwarp: generating configuration files} +\fullexpandarg% +\IfSubStr*{\jobname}{-pstool} + { + \typeout{lwarp: jobname with -pstool is found,}% + \typeout{lwarp: \space\space not generating configuration files.}% + } + { + \typeout{lwarp: generating configuration files} + \includecomment{LWRwriteconf} + } \end{warpprint} % \end{macrocode} @@ -11806,9 +12578,9 @@ top=1in,bottom=1in,% % \DescribeFile{project_html.tex} Used to allow an \HTML\ version of the % document to exist alongside the print version. % -% Only write |\jobname_html.tex| if generating the print version. +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \immediate\openout\LWR@quickfile=\jobname_html.tex \immediate\write\LWR@quickfile{% \detokenize{\PassOptionsToPackage}% @@ -11818,16 +12590,16 @@ top=1in,bottom=1in,% \detokenize{\input}\string{\jobname.tex\string }% } \immediate\closeout\LWR@quickfile -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} % \subsection{\prog{lwarpmk} configuration files} % ^^A *lwarpmk.conf -% \codeprint +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} % \end{macrocode} @@ -11842,47 +12614,8 @@ top=1in,bottom=1in,% % \end{macro} % % -% The literal dollar sign character, with a plain catcode, -% allowing it to be written to a file as-is. -% \begin{macrocode} -\catcode`\$=12 -\def\LWR@dollarchar{$} -\catcode`\$=3 -% \end{macrocode} -% -% -% The literal ampersand character, with a plain catcode, -% allowing it to be written to a file as-is. -% \begin{macrocode} -\catcode`\&=12 -\def\LWR@ampersand{&} -\catcode`\&=4 -% \end{macrocode} -% -% -% \begin{macro}{\LWR@opquote} -% The operating system's quote mark: -% \begin{macrocode} -\ifbool{usingOSWindows}{ - \def\LWR@opquote{"} -}{ - \def\LWR@opquote{'} -} -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\LWR@opsequence} -% The operating system's sequential execution command: -% \begin{macrocode} -\ifbool{usingOSWindows}{ - \def\LWR@opsequence{\LWR@ampersand} -}{ - \def\LWR@opsequence{\LWR@ampersand\LWR@ampersand} -} -% \end{macrocode} -% \end{macro} % +% \subsubsection{Helper macros} % % \begin{macro}{\LWR@shellescapecmd} % The LaTeX compile option for shell escape, if used. @@ -11915,9 +12648,10 @@ top=1in,bottom=1in,% % Adds to the compilation command. % % Cmd is \prog{dvipdfmx}, etc. Suffix is empty or \filenm{\_html} +% \changes{v0.61}{2018/10/06}{Removed spaces.} % \begin{macrocode} \newcommand*{\LWR@addcompilecmd}[2]{% - \space \LWR@opsequence \space\space + \LWRopseq #1 \jobname#2% } % \end{macrocode} @@ -11942,9 +12676,9 @@ top=1in,bottom=1in,% % \begin{macrocode} \newcommand*{\LWR@latexmkvar}[2]{% -e - \LWR@opquote% - \LWR@dollarchar #1=q/#2/% - \LWR@opquote + \LWRopquote% + \LWRdollar #1=q/#2/% + \LWRopquote } % \end{macrocode} % \end{macro} @@ -11953,7 +12687,7 @@ top=1in,bottom=1in,% % % Sets a call to \prog{latexmk} with the given options, possibly adding % \optn{-\/-shell-escape}, and also adding the indexing program. -% \changes{v0.59}{2018/09/05}{Fix: \optn{--shell-escape} with \prog{latexmk}.} +% \changes{v0.59}{2018/09/05}{Fix: \optn{-\/-shell-escape} with \prog{latexmk}.} % \begin{macrocode} \newcommand*{\LWR@latexmkcmd}[1]{% latexmk \space \LWR@shellescapecmd \space #1 \space @@ -11981,15 +12715,16 @@ top=1in,bottom=1in,% % \end{macro} % % -% \begin{macro}{\LWR@printlatexcmd} -% \begin{macro}{\LWR@HTMLlatexcmd} +% \begin{macro}{\LWR@PrintLatexCmd} +% \begin{macro}{\LWR@HTMLLatexCmd} % -% The following sets the command to use to compile the source to \PDF\ form. +% If not set by the user, +% the following sets the command to use to compile the source to \PDF\ form. % % If using \prog{latexmk}, a complicated string is created, % eventually resulting in something such as: % -% For \prog{xelatex} with \optn{--shell-escape}: +% For \prog{xelatex} with \optn{-\/-shell-escape}: % \begin{Verbatim}[tabsize=4,gobble=2,frame=lines] % [[latexmk -xelatex --shell-escape -recorder % -e '$makeindex = q/makeindex -s lwarp.ist/' <jobname>_html]] @@ -12002,6 +12737,8 @@ top=1in,bottom=1in,% % -e '$makeindex=q/makeindex -s lwarp.ist/' <jobname>_html]] % \end{Verbatim} % +% For the following, temporary values are computed, but the permanent +% values are only set if the originals were not assigned by the user. % \begin{macrocode} \ifbool{LWR@latexmk}{ % \end{macrocode} @@ -12058,8 +12795,8 @@ top=1in,bottom=1in,% % \end{macrocode} % The final assignment if \prog{latexmk}: % \begin{macrocode} - \def\LWR@printlatexcmd{\LWR@latexcmd \space \jobname} - \def\LWR@HTMLlatexcmd{\LWR@latexcmd \space \jobname_html} + \def\LWR@tempprintlatexcmd{\LWR@latexcmd \space \jobname} + \def\LWR@tempHTMLlatexcmd{\LWR@latexcmd \space \jobname_html} }% latexmk % \end{macrocode} % Without \prog{latexmk}, the compiling command is simply the compiler name @@ -12074,15 +12811,15 @@ top=1in,bottom=1in,% % \end{macrocode} % For \prog{pdflatex}: % \begin{macrocode} - \def\LWR@printlatexcmd{\LWR@compilecmd{pdflatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{pdflatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} \else \ifLuaTeX % \end{macrocode} % For \prog{lualatex}: % \begin{macrocode} - \def\LWR@printlatexcmd{\LWR@compilecmd{lualatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{lualatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}} \else \LWR@unknownengine \fi @@ -12095,8 +12832,8 @@ top=1in,bottom=1in,% % \end{macrocode} % For \prog{xelatex}: % \begin{macrocode} - \def\LWR@printlatexcmd{\LWR@compilecmd{xelatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{xelatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} \else % \end{macrocode} % For \DVI\ \prog{latex}. Default to \prog{dvips}, unless @@ -12106,11 +12843,11 @@ top=1in,bottom=1in,% % \end{macrocode} % For \DVI\ \prog{latex} with \prog{dvipdfm}: % \begin{macrocode} - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfm}{} } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfm}{_html} } @@ -12119,11 +12856,11 @@ top=1in,bottom=1in,% % \end{macrocode} % For \DVI\ \prog{latex} with \prog{dvipdfmx}: % \begin{macrocode} - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfmx}{} } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfmx}{_html} } @@ -12131,12 +12868,12 @@ top=1in,bottom=1in,% % \end{macrocode} % For \DVI\ \prog{latex} with \prog{dvips} and \prog{ps2pdf}: % \begin{macrocode} - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvips}{} \LWR@addcompilecmd{ps2pdf}{}.ps } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvips}{_html} \LWR@addcompilecmd{ps2pdf}{_html}.ps @@ -12147,6 +12884,17 @@ top=1in,bottom=1in,% \fi% \ifpdf }% latexmk % \end{macrocode} +% Only make the setting permanent if the original was empty: +% \changes{v0.61}{2018/09/20}{Added \optn{PrintLatexCmd} option.} +% \changes{v0.61}{2018/09/20}{Added \optn{HTMLLatexCmd} option.} +% \begin{macrocode} + \ifdefempty{\LWR@PrintLatexCmd}{ + \def\LWR@PrintLatexCmd{\LWR@tempprintlatexcmd} + }{} + \ifdefempty{\LWR@HTMLLatexCmd}{ + \def\LWR@HTMLLatexCmd{\LWR@tempHTMLlatexcmd} + }{} +% \end{macrocode} % \end{macro} % \end{macro} % @@ -12161,7 +12909,7 @@ top=1in,bottom=1in,% % \changes{v0.59}{2018/08/21}{Compilation commands now preassigned by \pkg{lwarp} instead % of being computed by \prog{lwarpmk}.} % \begin{macrocode} -\newcommand{\LWR@writeconf}[1]{% +\newcommand{\LWR@writeconf}[1]{ \ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} \immediate\openout\LWR@quickfile=#1 \immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]} @@ -12174,8 +12922,8 @@ top=1in,bottom=1in,% \immediate\write\LWR@quickfile{homehtmlfilename = [[\HomeHTMLFilename]]} \immediate\write\LWR@quickfile{htmlfilename = [[\HTMLFilename]]} \immediate\write\LWR@quickfile{latexmk = [[\ifbool{LWR@latexmk}{true}{false}]]} -\immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@printlatexcmd]]} -\immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLlatexcmd]]} +\immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@PrintLatexCmd]]} +\immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLLatexCmd]]} \immediate\write\LWR@quickfile{printindexcmd = [[\LWR@PrintIndexCmd]]} \immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]} \immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]} @@ -12188,7 +12936,7 @@ top=1in,bottom=1in,% % \end{macro} % \begin{macrocode} -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -12209,18 +12957,18 @@ top=1in,bottom=1in,% % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{IndexLanguage} changed to \optn{xindyLanguage}.} % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{xindyCodepage} added.} % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{pdftotextEnc} added.} -% \changes{v0.56}{2018/05/11}{\filenm{lwarpmk.conf}: Records \texttt{-shell-escape}.} +% \changes{v0.56}{2018/05/11}{\filenm{lwarpmk.conf}: Records \texttt{-\/-shell-escape}.} % \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Generated \cs{AtBeginDocument}.} % \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Added options \optn{makeindex} and \optn{xindy}.} % \changes{v0.58}{2018/06/21}{\filenm{lwarpmk.conf}: Added option \optn{makeindexstyle}.} % -% \codeprint +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{lwarpmk.conf}} -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -12235,19 +12983,21 @@ top=1in,bottom=1in,% % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{IndexLanguage} changed to \optn{xindyLanguage}.} % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{xindyCodepage} added.} % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{pdftotextEnc} added.} -% \changes{v0.56}{2018/05/11}{\filenm{*.lwarpmkconf}: Records \texttt{-shell-escape}.} +% \changes{v0.56}{2018/05/11}{\filenm{*.lwarpmkconf}: Records \texttt{-\/-shell-escape}.} % \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Generated \cs{AtBeginDocument}.} % \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Added options \optn{makeindex} and \optn{xindy}.} % \changes{v0.58}{2018/06/21}{\filenm{*.lwarpmkconf}: Added option \optn{makeindexstyle}.} % % The \optn{makeindex} and \optn{xindy} options have already been handled % for \filenm{lwarp.conf}. +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}} -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -12272,10 +13022,14 @@ top=1in,bottom=1in,% % \changes{v0.56}{2018/05/09}{\filenm{lwarp.css}: Added \attribute{div.textbf}, etc.} % \changes{v0.57}{2018/05/21}{\filenm{lwarp.css}: Added ruled, boxed, boxruled floats.} % \changes{v0.57}{2018/05/21}{\filenm{lwarp.css}: Increased float vertical margins.} +% \changes{v0.61}{2018/10/05}{\filenm{lwarp.css}: Footnotes text align left.} +% \changes{v0.61}{2018/10/05}{\filenm{lwarp.css}: Minipage table and footnotes: tighter margin.} % % ^^A *lwarp.css +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.css} /* CSS stylesheet for the LaTeX lwarp package @@ -12494,8 +13248,6 @@ div.epigraph, div.dictum { max-width: 27em ; } - - div.epigraphsource, div.dictumauthor { text-align:right ; margin-left:auto ; @@ -12510,6 +13262,12 @@ div.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0 div.dictumauthor { font-style:italic } +/* copyrightbox package */ +div.copyrightbox { margin: .5ex .5em } +div.copyrightbox p {margin: 0px .5em ; padding: 0px} +div.copyrightboxnote {text-align: left ; font-size: 60%} + + /* lettrine package: */ span.lettrine { font-size: 4ex ; float: left ; } span.lettrinetext { font-variant: small-caps ; } @@ -12653,6 +13411,7 @@ div.titlepage { } .footnotes { + text-align: left ; font-size: .85em ; margin: 3ex 2em 0ex 2em ; border-top: 1px solid silver ; @@ -13130,6 +13889,8 @@ figure.subfigure, figure.subtable { figcaption .minipage { margin:0 ; padding: 0 } div.minipage figure { border: none ; box-shadow: none ; } +div.minipage figure.table { margin: 0ex } +div.minipage div.footnotes { margin: 1ex 2em 0ex 2em } div.floatrow { text-align: center; } @@ -13728,7 +14489,7 @@ nav.botnavigation { display:none; } } \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -13744,8 +14505,10 @@ nav.botnavigation { display:none; } % and also when distributing the \HTML\ files. % % ^^A *lwarp_sagebrush.css +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_sagebrush.css} @import url("lwarp.css") ; @@ -13993,7 +14756,7 @@ nav.sidetoc a:hover { \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14009,8 +14772,10 @@ nav.sidetoc a:hover { % and also when distributing the \HTML\ files. % % ^^A *lwarp_formal.css +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_formal.css} @import url("lwarp.css") ; @@ -14218,7 +14983,7 @@ nav.botnavigation { } \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14232,8 +14997,10 @@ nav.botnavigation { % and also when distributing the \HTML\ files. % % ^^A *sample_project.css +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{sample_project.css} /* ( --- Start of project.css --- ) */ /* ( --- A sample project-specific CSS file for lwarp --- ) */ @@ -14249,7 +15016,7 @@ nav.botnavigation { /* ( --- End of project.css --- ) */ \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14267,8 +15034,10 @@ nav.botnavigation { % \changes{v0.58}{2018/06/17}{\filenm{lwarp\_html.ist}: Added.} % % ^^A *lwarp.ist +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.ist} preamble "\\begin{theindex} @@ -14291,7 +15060,7 @@ delim_t "}" page_compositor "." \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14315,8 +15084,10 @@ page_compositor "." % \changes{v0.58}{2018/06/21}{\filenm{lwarp.xdy}: Supports bold, italic.} % % ^^A *lwarp.xdy +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.xdy} (require "tex/inputenc/latin.xdy") (merge-rule "\\PS *" "Postscript") @@ -14340,7 +15111,7 @@ page_compositor "." "seealso")) \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14365,8 +15136,10 @@ page_compositor "." % \changes{v0.51}{2018/03/16}{\filenm{lwarp\_one\_limage.txt}: \prog{pdftocairo} \optn{-noshrink} added.} % % ^^A *lwarp_one_limage.txt +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_one_limage.txt} @echo off pdfseparate -f %1 -l %1 %4_html.pdf lateximages\lateximagetemp-%%d.pdf @@ -14376,7 +15149,7 @@ del lateximages\%3.pdf del lateximages\lateximagetemp-%1.pdf exit \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14401,8 +15174,10 @@ exit % % % ^^A *lwarp_mathjax.txt +% +% \codeconfig % \begin{macrocode} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_mathjax.txt} <!-- https://groups.google.com/forum/#!topic/ mathjax-users/jUtewUcE2bY --> @@ -14512,7 +15287,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- \end{filecontents*} % \end{Verbatim}% for syntax highlighting -\end{warpprint} +\end{LWRwriteconf} % \end{macrocode} @@ -14525,9 +15300,9 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- % % \env{lateximage}s and \SVG\ math images are generated using % \margintag{parallel processing} -% \index{images>processing} -% \index{lateximages>processing} -% \index{SVG>image processing} +% \gindex{image>processing} +% \gindex{lateximage>processing} +% \gindex{SVG>image processing} % multiple processes in parallel. % For \brand{Unix} and \brand{Linux}, every 32 images the |wait| command is % issued to wait for the previous batch of images to finish processing before @@ -14575,7 +15350,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- % \changes{v0.54}{2018/04/11}{\prog{lwarpmk}: Verifies \HTML\ version exists before \progcode{lwarpmk limages}.} % \changes{v0.54}{2018/04/19}{\prog{lwarpmk}: Improved error if configuration file does not exist.} % \changes{v0.56}{2018/04/29}{\prog{lwarpmk}: Added \progcode{lwarpmk pdftosvg}.} -% \changes{v0.56}{2018/05/11}{\prog{lwarpmk}: Supports \texttt{-shell-escape}.} +% \changes{v0.56}{2018/05/11}{\prog{lwarpmk}: Supports \texttt{-\/-shell-escape}.} % \changes{v0.57}{2018/05/20}{\prog{lwarpmk}: Improved code factoring.} % \changes{v0.57}{2018/05/20}{\prog{lwarpmk}: Improved error handling.} % \changes{v0.58}{2018/06/14}{\prog{lwarpmk}: Added \texttt{-p} option for project name.} @@ -14585,7 +15360,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- % \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes all \filenm{*.ind} and \filenm{*.idx} files.} % \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Warning if operating system changed.} % \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Error if \filenm{lwarpmk.conf} format changed.} -% \changes{v0.59}{2018/08/05}{\prog{lwarpmk}: Double insead of single-dashed \optn{--shell-escape} option.} +% \changes{v0.59}{2018/08/05}{\prog{lwarpmk}: Double insead of single-dashed \optn{-\/-shell-escape} option.} % \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.} % \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.} % @@ -14603,7 +15378,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.60" +printversion = "v0.61" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () @@ -15730,18 +16505,19 @@ end -- not --version % \end{macrocode} % % Place \cs{StartDefiningTabulars} and -% \cs{StopDefiningTabulars}\watchout[misplaced alignment tab character \&] -% \index{alignment tab character \&, misplaced} -% \index{misplaced alignment tab character \&} +% \cs{StopDefiningTabulars} +% \trouble[Misplaced alignment tab character \&] +% {Misplaced alignment tab character \&>tabular>macros} +% \trouble{tabular>Misplaced alignment tab character \&>rules} % before and after defining macros or environments which include % the tabular |&| character in their definitions. % % The catcode of |&| must be changed before the definitions begin, % and must be restored afterwards. Doing so avoids the error\\ -% \hspace*{.5in}\texttt{misplaced alignment tab character \&} +% \hspace*{.5in}\texttt{Misplaced alignment tab character \&.} % % \begin{macro}{\StartDefiningTabulars} Place before defining something with |&| in it. -% \changes{v0.33}{2017/06/20}{Add: Avoids error: \protect\texttt{misplaced alignment tab character \&}.} +% \changes{v0.33}{2017/06/20}{Add: Avoids error: \protect\texttt{Misplaced alignment tab character \&}.} % \begin{macrocode} \newcommand{\StartDefiningTabulars}{% \LWR@traceinfo{StartDefiningTabulars}% @@ -15797,17 +16573,19 @@ end -- not --version % \section{Localizing dynamic math} % \label{sec:localizingdynamicmath} -% \index{SVG>math incorrect images} -% \index{SVG>dynamic math} -% \index{math>images incorrect} -% \index{math>dynamic} -% \index{dynamic math expressions} +% \trouble{SVG image>math incorrect} +% \gindex{SVG>dynamic math} +% \trouble{math>incorrect} +% \trouble{math>dynamic} +% \trouble{MathJax=\brand{MathJax}>errors} +% \gindex{math>dynamic} +% \gindex{dynamic math expressions} % % Inline \SVG\ math usually uses a hash of its contents to generate \env{lateximage}s % which are reusable for multiple instances with the same contents. % If the contents may change for each use, such as depending on the current -% value of a counter, then \cs{StartDynamicMath} must be used before the -% inline math expression, and \cs{StopDynamicMath} must be used after. +% value of a counter, then \cs{inlinemathother} must be used before the +% inline math expression, and \cs{inlinemathnormal} must be used after. % % For MathJax, the inline math expression is usually printed for MathJax to % interpret. When marked as dynamic math, the following inline math expression @@ -15819,7 +16597,7 @@ end -- not --version % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] % \xpatchcmd{\macroname} % {$math expression$} -% {\StartDynamicMath$math expression$\StopDynamicMath} +% {\inlinemathother$math expression$\inlinemathnormal} % {} % {\typeout{Error patching macroname.}} % \end{Verbatim} @@ -15838,22 +16616,24 @@ end -- not --version \boolfalse{LWR@dynamicmath} % \end{macrocode} % -% \begin{macro}{\StartDynamicMath} Place before using |$| \dots\ |$| or \cs{(} \dots \cs{)} +% \begin{macro}{\inlinemathother} Place before using |$| \dots\ |$| or \cs{(} \dots \cs{)} % if the contents of the math are not static, depending on counters or dynamic macros. % \changes{v0.57}{2018/05/23}{Added.} +% \changes{v0.61}{2018/09/20}{Changed name from \cs{StartDynamicMath} to \cs{inlinemathother}.} % \begin{macrocode} -\newcommand{\StartDynamicMath}{% -\LWR@traceinfo{StartDynamicMath}% +\newcommand{\inlinemathother}{% +\LWR@traceinfo{inlinemathother}% \booltrue{LWR@dynamicmath}% } % \end{macrocode} % \end{macro} % -% \begin{macro}{\StopDynamicMath} Place after using |$| \dots\ |$| or \cs{(} \dots \cs{)} +% \begin{macro}{\inlinemathnormal} Place after using |$| \dots\ |$| or \cs{(} \dots \cs{)} % with dynamic contents. +% \changes{v0.61}{2018/09/20}{Changed name from \cs{StopDynamicMath} to \cs{inlinemathnormal}.} % \begin{macrocode} -\newcommand{\StopDynamicMath}{% -\LWR@traceinfo{StopDynamicMath}% +\newcommand{\inlinemathnormal}{% +\LWR@traceinfo{inlinemathnormal}% \boolfalse{LWR@dynamicmath}% } % \end{macrocode} @@ -17272,7 +18052,7 @@ end -- not --version {% % \end{macrocode} % At the start of each paragraph, generate an opening tag: -% \index{par=\cs{par}>hooks} +% \gindex{par=\cs{par}>hooks} % \begin{macrocode} \PushPreHook{par}{\LWR@openparagraph}% % \end{macrocode} @@ -17482,9 +18262,9 @@ end -- not --version % % \begin{macro}{\title} \marg{title} % Modified to remember \cs{thetitle}, which is used to set the \HTML\ page titles. -% \index{HTML>meta tag>title} -% \index{title>HTML meta tag} -% \index{meta tag, HTML>title} +% \gindex{HTML>meta tag>title} +% \gindex{title>HTML meta tag} +% \gindex{meta tag, HTML>title} % \changes{v0.44}{2017/11/18}{Added \cs{thetitle}.} % \begin{macrocode} \let\LWR@origtitle\title @@ -17513,9 +18293,9 @@ end -- not --version % The Title to place into an \HTML\ meta tag. % The default is to use the document \cs{title}'s setting. % -% \index{HTML>meta tag>Title} -% \index{Title>HTML meta tag} -% \index{meta tag, HTML>Title} +% \gindex{HTML>meta tag>title} +% \gindex{title>HTML meta tag} +% \gindex{meta tag, HTML>title} % % \changes{v0.44}{2017/11/18}{Added.} % @@ -17535,9 +18315,9 @@ end -- not --version % If none given, the default is \cs{theauthor}, which is empty unless % the \pkg{titling} package is used. % -% \index{HTML>meta tag>author} -% \index{author>HTML meta tag} -% \index{meta tag, HTML>author} +% \gindex{HTML>meta tag>author} +% \gindex{author>HTML meta tag} +% \gindex{meta tag, HTML>author} % % \changes{v0.28}{2017/04/06}{Added \cs{HTMLauthor}. (Renamed in v0.30.)} % \changes{v0.30}{2017/04/28}{Renamed from \cs{HTMLauthor}.} @@ -17558,14 +18338,16 @@ end -- not --version % allowing different \HTML\ descriptions to be used % for different sections of the document. % -% Do not use double quotes, and do not exceed 150 characters.\watchout +% Do not use double quotes, and do not exceed 150 characters. +% \trouble[HTML author]{HTMLAuthor=\cs{HTMLAuthor}} +% \trouble{HTML>author} % \begin{macro}{\HTMLDescription} \marg{New \HTML\ meta description.} \qquad % Assigns the \HTML\ file's description meta tag. % -% \index{HTML>meta tag>description} -% \index{description>HTML meta tag} -% \index{meta tag, HTML>description} +% \gindex{HTML>meta tag>description} +% \gindex{description>HTML meta tag} +% \gindex{meta tag, HTML>description} % % \changes{v0.20}{2016/06/27}{Added \cs{NewHTMLdescription}. (Renamed in v0.30.)} % \changes{v0.30}{2017/04/28}{Renamed from \cs{NewHTMLdescription}.} @@ -17586,7 +18368,7 @@ end -- not --version % \section{Footnotes} % \label{sec:footnotes} % -% \index{footnotes} +% \gindex{footnotes} % % \limitsfootnotes % @@ -18060,8 +18842,9 @@ end -- not --version % store result in \\ |\LWR@thisfilename|. % % Be sure that this does not result in filename collisions! -% \watchout +% \trouble[filename collision]{filename>collision} % Use the optional TOC caption entry parameter for formatting. +% \trouble[section names]{sectioning>names} % Remember to \cs{protect} \LaTeX\ commands which appear in % section names and TOC captions. % \begin{macrocode} @@ -18160,7 +18943,7 @@ end -- not --version % If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash: % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.} % \begin{macrocode} -\ifPDFTeX% +\ifPDFTeX% pdflatex or dvi latex \ifdefstring{\inputencodingname}{utf8}{% \StrSubstitute{\LWR@thisnewfilename}{—}{-}[\LWR@thisnewfilename] % emdash @@ -18375,7 +19158,7 @@ end -- not --version % If pdf\LaTeX\ and not \optn{utf8} encoding, use a hyphen instead of an emdash: % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.} % \begin{macrocode} -\ifPDFTeX% +\ifPDFTeX% pdflatex or dvi latex \ifdefstring{\inputencodingname}{utf8}{% \LWR@filestart{ — #1}% there is an EMdash in front of the #1 }{ @@ -18478,14 +19261,19 @@ end -- not --version % are partially supported, depending on the ability of % \prog{pdflatex} to generate characters and \prog{pdftotext} to read them. % If extra symbols appear in the text, -% \watchout +% \trouble[accents in filenames]{filename>accents} +% \trouble{sectioning>accents} +% \gindex{file>accent in name} +% \gindex{accents>in section \& file names} % it may be that \prog{pdflatex} is actually producing a symbol over or under a % character, resulting in \prog{pdftotext} picking up the accent symbol separately. % % \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names. -% \index{accents}\index{Unicode>file \& section names}\index{UTF-8>file \& section names} -% \index{XeLaTeX>file \& section names} -% \index{LuaLaTeX>file \& section names} +% \gindex{accents>in section \& file names} +% \gindex{Unicode>file \& section names} +% \gindex{UTF-8>file \& section names} +% \gindex{Xe\LaTeX>file \& section names} +% \gindex{Lua\LaTeX>file \& section names} % % % \codehtml @@ -19163,7 +19951,7 @@ end -- not --version % \end{macrocode} % \begin{macro}{\HTMLLanguage} Default language for the \HTML\ |lang| tag. -% \index{language HTML metadata} +% \gindex{language HTML metadata} % % \changes{v0.30}{2017/04/28}{Renamed from \cs{MetaLanguage}.} % @@ -19229,9 +20017,9 @@ end -- not --version % \end{macrocode} % % \pkg{lwarp} is the generator: -% \index{HTML>meta tag>generator} -% \index{generator>HTML meta tag} -% \index{meta tag, HTML>generator} +% \gindex{HTML>meta tag>generator} +% \gindex{generator>HTML meta tag} +% \gindex{meta tag, HTML>generator} % \begin{macrocode} \LWR@htmltag{meta name="generator" content="LaTeX lwarp package" /}% \LWR@orignewline @@ -19245,9 +20033,9 @@ meta name="description" content="\LWR@currentHTMLDescription" /}% }% % \end{macrocode} % Mobile-friendly viewport: -% \index{HTML>meta tag>viewport} -% \index{viewport>HTML meta tag} -% \index{meta tag, HTML>viewport} +% \gindex{HTML>meta tag>viewport} +% \gindex{viewport>HTML meta tag} +% \gindex{meta tag, HTML>viewport} % \begin{macrocode} \LWR@htmltag{meta name="viewport" % content="width=device-width, initial-scale=1.0" /}% @@ -19414,7 +20202,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % Labels: % \cs{ltx@label} is used in \pkg{amsmath} environments and is also % patched by \pkg{cleveref}. -% \index{label>in HTML} +% \gindex{label>in HTML} % \margintag{Label in \HTML} % \changes{v0.20}{2017/01/30}{Fix: math cross references.} % \begin{macrocode} @@ -19618,7 +20406,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \cs{and} is replaced to generate a simple inline list of authors separated % by commas. % Note: \cs{theauthor} does not work well -% \watchout[\cs{theauthor}, \pkg{authblk}] +% \trouble[\cs{theauthor}, \pkg{authblk}]{theauthor=\cs{theauthor} and \pkg{authblk}} +% \trouble{authblk=\pkg{authblk}>theauthor=\cs{theauthor}} % with \pkg{authblk} unless the traditional \LaTeX\ syntax is used. % % \cs{printtitle}, \cs{printauthor}, etc., are provided for use inside a custom @@ -19631,7 +20420,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % a \env{titlingpage} environment when \cs{maketitle} is not used. % % Inside a \cs{titlepage} or \cs{titlingpage} environment, use -% \watchout +% \trouble[\cs{thanks}]{title>thanks=\cs{thanks}} +% \trouble{footnote>title} % \cs{thanks} instead of \cs{footnote} for acknowledgements, etc. % % @@ -19663,7 +20453,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % and are used by \cs{maketitle}. % The author is printed inside a single-column \env{tabular}, % which becomes multiple single-column \env{tabular}s if multiples authors are included. -% For \HTML\, these \env{tabular}s become side-by-side \element{div}s +% For \HTML, these \env{tabular}s become side-by-side \element{div}s % of class \attribute{oneauthor}, all of which are combined into one \element{div} % of class \attribute{author}. % @@ -19696,13 +20486,16 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \end{Verbatim} % % \cs{theauthor} does not work well if \pkg{authblk} is used. -% \watchout[\cs{theauthor}] +% \trouble[\cs{theauthor}, \pkg{authblk}]{theauthor=\cs{theauthor} and \pkg{authblk}} +% \trouble{authblk=\pkg{authblk}>theauthor=\cs{theauthor}} % If \cs{theauthor} is important, it is recommended to use the standard % \LaTeX\ syntax for \cs{author}, optionally with % \pkg{lwarp}'s \cs{affiliation} macro as well. % % After \cs{maketitle} has completed, \cs{theauthor} retains the definition of -% \watchout[affiliations] +% \trouble[affiliations]{author>affiliation} +% \trouble{title>affiliation} +% \trouble{affiliation} % the author, but \cs{and} is changed to become a comma and a space, intending to % print the authors names separated by spaces. This fails when affiliations are % included on their own table rows. @@ -20194,7 +20987,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % % To add \cs{subtitle} and \cs{published} to the titlepage, % \margintag{\cs{subtitle} and \cs{published}} -% \index{subtitle}\index{published}\index{titlepage>subtitle and published} +% \gindex{subtitle=\cs{subtitle}}% +% \gindex{published=\cs{published}} +% \gindex{titlepage>subtitle=\cs{subtitle} and \cs{published}} % load the \pkg{titling} package and use \cs{AddSubtitlePublished} % in the preamble. % @@ -20205,7 +21000,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % If \pkg{titling} is not loaded, \cs{AddSubtitlePublished} creates null macros. % % Do not use \cs{AddSubtitlePublished} if the user has patched the \pkg{titling} -% \watchout[\pkg{titling} hooks] +% \trouble[\pkg{titling} hooks]{titling=\pkg{titling}>hooks} +% \trouble{AddSubtitlePublished=\cs{AddSubtitlePublished}} % hooks for some other reason. % Portions are marked \cs{warpprintonly} to reduce extra tags in \HTML. % Similarly, \env{BlockClass} has no effect in print mode. @@ -20709,9 +21505,11 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % The \LaTeX\ source for |itemize| and |enumerate| are found in |source2e|, but % the source for |description| is found in |article.cls|, etc. % -% To have an empty -% item,\margintag{empty item}\index{item>empty}\index{list>empty item} use -% |\mbox{}| or a trailing backslash. +% To have an empty item,\margintag{empty item} +% \gindex{item>empty}% +% \gindex{list>empty item}% +% \trouble{list>empty item}% +% use |\mbox{}| or a trailing backslash. % This forces a new line in print output, matching the new line which % will appear in \HTML\ output. % Ex: @@ -21456,9 +22254,11 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % Otherwise, close any paragraphs, then close the data tag. % % \changes{v0.41}{2017/10/02}{Add: Mute \progcode{\protect\textgreater} for \cs{bottomrule}.} +% \changes{v0.61}{2018/09/23}{Fix: Par tags in \env{tabular}.} % % \begin{macrocode} \newcommand*{\LWR@closetabledatacell}{% +\LWR@stoppars% \global\booltrue{LWR@intabularmetadata}% \ifbool{LWR@exitingtabular}{}% {% not exiting tabular @@ -22111,7 +22911,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % HTML \CSS\ cannot exactly match the \LaTeX{} concept of a baseline for % a table row. -% \watchout +% \trouble[tabular baselines]{tabular>baselines} % \Cref{tab:baseline} shows the \LaTeX{} results for various % vertical-alignment choices, with the baseline of the first column drawn across % all the columns for comparison. @@ -22119,7 +22919,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % % \begin{table} % \caption{Tabular baseline\label{tab:baseline}} -% \index{tabular>baseline}\index{baseline>tabular} +% \gindex{tabular>baseline}\gindex{baseline>tabular} % \centering % \smallskip % \begin{tabular}{lp{.25in}m{.25in}b{.25in}r} @@ -22140,8 +22940,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % % \begin{table} % \caption{Tabular HTML column conversions\label{tab:columnconversions}} -% \index{tabular>HTML colummn conversion} -% \index{HTML>tabular column conversion} +% \gindex{tabular>HTML colummn conversion} +% \gindex{HTML>tabular column conversion} % % \medskip % @@ -24446,7 +25246,7 @@ rowspan="#2" % % \begin{macro}{\mrowcell} % The user must insert \cs{mrowcell} into any \cs{multirow} cells which must be skipped. % This command has no action during print output. -% \watchout +% \trouble[multirow cells]{tabular>multirow=\cs{multirow}} % \begin{macrocode} \newcommand*{\mrowcell}{} % \end{macrocode} @@ -24468,7 +25268,7 @@ rowspan="#2" % % The user must insert \cs{mcolrowcell} into any \cs{multicolumnrow} cells % which must be skipped. % This command has no action during print output. -% \watchout +% \trouble[multirow cells]{tabular>multirow=\cs{multirow}} % \changes{v0.41}{2017/10/05}{Added for \cs{multicolumrow} cells.} % \begin{macrocode} \newcommand*{\mcolrowcell}{} @@ -25348,8 +26148,6 @@ rowspan="#2" % % which will probably break something, and the emulation already handles % whatever may be emulated anyhow. % -% Any reference to |\usepackage{hyperref}| must be placed inside a \env{warpprint} environment. -% \watchout % \begin{macrocode} % DO NOT TELL OTHER PACKAGES TO ASSUME HYPERREF, lest they attempt to patch it: % \EmulatesPackage{hyperref}[2015/08/01]% Disabled. Do not do this. @@ -26278,10 +27076,11 @@ autopage-\theLWR@currentautosec% % the standard \LaTeX{} \cs{listoffigures} and \cs{listoftables} commands. % % \changes{v0.57}{2018/05/26}{Fix: Provide \cs{l@name} if not defined.} +% \changes{v0.61}{2018/09/26}{Fix: \pkg{newfloat} lists.} % \begin{macrocode} \NewDocumentCommand{\listof}{m +m}{% \@ifundefined{l@#1}{% - \csdef{l@#1}[2]{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}% + \csdef{l@#1}##1##2{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}% }{}% \LWR@subtableofcontents{\@nameuse{ext@#1}}{#2} \expandafter\newwrite\csname tf@\csname ext@#1\endcsname\endcsname @@ -26712,17 +27511,18 @@ autopage-\theLWR@currentautosec% % \end{sourcedisplay} % % \changes{v0.58}{2018/06/17}{Adds support for \cs{see}, \cs{seealso}, \cs{emph}, \cs{textbf}, etc.} +% \changes{v0.61}{2018/09/27}{Made robust,} % \begin{macrocode} \newcommand{\LWR@hyperindexrefnullified}{% -\renewcommand{\emph}[1]{\LWR@HTMLemph{\LWR@doindexentry{##1}}}% -\renewcommand{\textbf}[1]{\LWR@HTMLtextbf{\LWR@doindexentry{##1}}}% -\renewcommand{\textrm}[1]{\LWR@HTMLtextrm{\LWR@doindexentry{##1}}}% -\renewcommand{\textsf}[1]{\LWR@HTMLtextsf{\LWR@doindexentry{##1}}}% -\renewcommand{\texttt}[1]{\LWR@HTMLtexttt{\LWR@doindexentry{##1}}}% -\renewcommand{\textup}[1]{\LWR@HTMLtextup{\LWR@doindexentry{##1}}}% -\renewcommand{\textsc}[1]{\LWR@HTMLtextsc{\LWR@doindexentry{##1}}}% -\renewcommand{\textit}[1]{\LWR@HTMLtextit{\LWR@doindexentry{##1}}}% -\renewcommand{\textsl}[1]{\LWR@HTMLtextsl{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\emph}[1]{\LWR@HTMLemph{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textbf}[1]{\LWR@HTMLtextbf{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textrm}[1]{\LWR@HTMLtextrm{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsf}[1]{\LWR@HTMLtextsf{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\texttt}[1]{\LWR@HTMLtexttt{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textup}[1]{\LWR@HTMLtextup{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsc}[1]{\LWR@HTMLtextsc{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textit}[1]{\LWR@HTMLtextit{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsl}[1]{\LWR@HTMLtextsl{\LWR@doindexentry{##1}}}% } % \end{macrocode} % \end{macro} @@ -26918,6 +27718,7 @@ autopage-\theLWR@currentautosec% % \begin{macrocode} \let\,\LWR@origcomma% disable HTML short unbreakable space \let\thinspace\LWR@origthinspace% disable HTML short unbreakable space +\let\negthinspace\LWR@orignegthinspace% disable HTML negative short unbreakable space \let\textellipsis\LWR@origtextellipsis% \let\textless\LWR@origtextless% \let\textgreater\LWR@origtextgreater% @@ -26995,12 +27796,12 @@ autopage-\theLWR@currentautosec% % \subsubsection{Catcode changes} % \limitsmathcatcode % -% \subsubsection{Dynamic math} -% \limitsmathdynamic +% \subsubsection{Complicated inline math objects} +% \limitsmathinline % -% \subsubsection{Display math} +% \subsubsection{Complicated display math objects} % -% \describedisplaymathother +% \limitsmathdisplay % \subsection{HTML \attribute{alt} tag names} @@ -28001,7 +28802,7 @@ autopage-\theLWR@currentautosec% % \subsection{\cs{displaymathnormal} and \cs{displaymathother}} % -% \describedisplaymathother +% \limitsmathdisplay % % \begin{macro}{\displaymathnormal} Use when display math environments have simple % math which is to sent to \brand{MathJax} or included in \HTML\ \attribute{alt} tags. @@ -28089,7 +28890,7 @@ autopage-\theLWR@currentautosec% % \begin{macro}{\LWR@htmlmathlabel} \marg{label} -% \index{label>math environment} +% \gindex{label>math environment} % % \pkg{lwarp} points \cs{ltx@label} here. % This is used by \cs{label} when inside a @@ -28424,7 +29225,7 @@ autopage-\theLWR@currentautosec% % should blend well with the surrounding \HTML\ text size. % % \emph{Do not include the leading backslash in the name.} -% \watchout[no backslash] +% \trouble[no backslash]{LateximageFontSizeName=\cs{LateximageFontSizeName}} % % \changes{v0.19}{2016/05/29}{Add: User-adjustable math/lateximage font size.} % \changes{v0.54}{2018/04/16}{Defaults to \progcode{normalsize}.} @@ -29206,7 +30007,7 @@ autopage-\theLWR@currentautosec% % \section{Graphics print-mode modifications} % -% \index{images>graphicx package} +% \gindex{image>graphicx package} % % \subsection{General limitations} % \limitsgraphics @@ -30840,23 +31641,23 @@ width:\LWR@printlength{\LWR@tempwidth}% % \begin{macrocode} \begin{warpHTML} % \end{macrocode} - -% |\,| must be redefined after |\RequirePackage{printlen}| - +% +% \cs{,} and \cs{thinspace} may be redefined by other packages, so +% are redefined \cs{AtBeginDocument} here. +% +% Direct-formatting space commands become \HTML\ entities: +% % \changes{v0.45}{2017/12/29}{Improved: Robust \cs{\,}, \cs{~}, and \cs{textellipsis} commands.} % \changes{v0.56}{2018/05/09}{Added \cs{thinspace}.} -% Direct-formatting space commands become \HTML\ entities: +% \changes{v0.61}{2018/09/23}{Spaces redefined \cs{AtBeginDocument}.} % \begin{macrocode} +\AtBeginDocument{ \renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space \renewrobustcmd*{\thinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space -% \end{macrocode} -% ^^A \renewcommand*{\,}{\HTMLunicode{2009}} % HTML thin wrappable space -% ^^A \renewcommand*{\,}{\HTMLentity{nbsp}} % regular-width non-breakable space -% \begin{macrocode} - +\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space \renewrobustcmd*{~}{\HTMLentity{nbsp}} - \renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}} +} % \end{macrocode} % % Direct-formatting font sizes are ignored: @@ -30977,9 +31778,10 @@ width:\LWR@printlength{\LWR@tempwidth}% % \begin{macro}{\LWR@minipagestartpars} % \changes{v0.19}{2016/05/31}{Surpresses paragraph tags between minipages.} -% \index{minipage>horizontal space between} -% \index{space>horizontal>between minipages} -% \index{horizontal space>between minipages} +% \gindex{minipage>horizontal space between} +% \gindex{space>horizontal>between minipages} +% \gindex{horizontal space>between minipages} +% \trouble{minipage>horizontal space between} % Minipages are often placed side-by-side inside figures, with a bit of % horizontal space to separate them. Since \HTML\ does not allow % a \element{div} to be inside a |p|, paragraphs must be turned off during the @@ -32107,7 +32909,8 @@ width:\LWR@printlength{\LWR@tempwidth}% % \pkg{acronym} is patched for use by \pkg{lwarp}. % % \cs{acresetall} does not work with \pkg{cleveref}, -% \watchout +% \trouble[multiply-defined labels]{multiply-defined labels>acronym=\pkg{acronym}} +% \trouble{acronym=\pkg{acronym}>multiply-defined labels} % causing multiply-defined labels. % \pkg{lwarp} patches \pkg{acronym} for \HTML, but not for print mode. % @@ -34108,7 +34911,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \pkg{backref} is patched for use by \pkg{lwarp}. % % Note that \pkg{backref} must be explicitly loaded, -% \watchout[loading] +% \trouble[loading]{backref} % and is not automatically loaded by \pkg{hyperref} when % generating \HTML\ output. % @@ -34692,10 +35495,11 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \pkg{breqn} is patched for use by \pkg{lwarp}. % % \env{darray} is not supported. -% \watchout +% \trouble[\env{darray}]{breqn=\pkg{breqn}>darray} % % MathJax does not support \pkg{breqn}. -% \watchout +% \trouble[\brand{MathJax}]{breqn=\pkg{breqn}>MathJax=\brand{MathJax}} +% \trouble{MathJax=\brand{MathJax}>breqn=\pkg{breqn}} % % \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.} % @@ -35138,6 +35942,8 @@ s% % % % +% +% % \iffalse %<*caption2> % \fi @@ -35180,7 +35986,8 @@ s% % % % MathJax does not support \pkg{cases}. -% \watchout +% \trouble[\brand{MathJax}]{cases=\pkg{cases}>MathJax=\brand{MathJax}} +% \trouble{MathJax=\brand{MathJax}>cases=\pkg{cases}} % % \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.} % @@ -35823,14 +36630,17 @@ s% % % To use text-mode symbols, \margintag{Greek symbols} % use packages \pkg{textalpha} or \pkg{textgreek}. -% Using the other packages supported by \pkg{chemgreek} \watchout[package selection] +% Using the other packages supported by \pkg{chemgreek} +% \trouble[package selection]{Greek packages} +% \trouble{chemgreek=\pkg{chemgreek}>text-mode symbols} % will result in math-mode greek characters, % which will result in \SVG\ images being used. % These images will be hashed. -% \index{chemistry>Greek symbols} -% \index{Greek>chemistry symbols} +% \gindex{chemistry>Greek symbols} +% \gindex{Greek>chemistry symbols} % -% If using \XeLaTeX\ or \LuaLaTeX, select the |fontspec| mapping:\watchout[\XeLaTeX, \LuaLaTeX] +% If using \XeLaTeX\ or \LuaLaTeX, select the |fontspec| mapping: +% \trouble[\XeLaTeX, \LuaLaTeX]{chemgreek=\pkg{chemgreek}>fontspec mapping} % \begin{sourcedisplay} % \cs{selectchemgreekmapping}\{fontspec\} % \end{sourcedisplay} @@ -35890,7 +36700,8 @@ s% % % \subsection{Changes to the user's document} % -% When using \cs{makepolymerdelims}, \watchout[\cs{makepolymerdelims}] +% When using \cs{makepolymerdelims}, +% \trouble[\cs{makepolymerdelims}]{chemmacros=\pkg{chemmacros}>makepolymerdelims=\cs{makepolymerdelims}} % enclose the entire expression inside a \env{polymerdelims} environment, % such as (from the \pkg{chemmacros} manual): % @@ -35904,7 +36715,8 @@ s% % \hrule % % Redox reactions must be enclosed inside -% a \env{redoxreaction} environment. \watchout[redox reactions] +% a \env{redoxreaction} environment. +% \trouble[redox reactions]{chemmacros=\pkg{chemmacros}>redox reactions} % For print output, extra space must be included above and/or below the result, % so they are declared as arguments to the environment, instead of % being manually entered as per the \pkg{chemmacros} manual. @@ -36985,6 +37797,33 @@ name = \chemmacros_translate:n {scheme-name} % % % \iffalse +%<*chkfloat> +% \fi +% +% \part{lwarp-chkfloat.sty} +% +% \section{chkfloat} +% +% \DescribePackage{chkfloat} +% \pkg{chkfloat} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{chkfloat}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{chkfloat}[2012/08/19] +% \end{macrocode} +% +% \iffalse +%</chkfloat> +% \fi +% +% +% +% +% +% \iffalse %<*cite> % \fi % @@ -37056,6 +37895,38 @@ name = \chemmacros_translate:n {scheme-name} % % % \iffalse +%<*cmdtrack> +% \fi +% +% \part{lwarp-cmdtrack.sty} +% +% \section{cmdtrack} +% +% \DescribePackage{cmdtrack} +% \pkg{cmdtrack} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{cmdtrack}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{cmdtrack}[2012/12/18] +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\untrack}[1]{} +% \end{macrocode} +% +% \iffalse +%</cmdtrack> +% \fi +% +% +% +% +% +% +% \iffalse %<*color> % \fi % @@ -37253,6 +38124,58 @@ name = \chemmacros_translate:n {scheme-name} % % % +% \iffalse +%<*copyrightbox> +% \fi +% +% \part{lwarp-copyrightbox.sty} +% +% \section{copyrightbox} +% +% \credits{Thomas Fischer, Ives van der Flaas} +% +% \DescribePackage{copyrightbox} +% \pkg{copyrightbox} is emulated for use by \pkg{lwarp}. +% +% The entire copyright box is placed inside a \element{div} of class \attribute{copyrightbox}. +% +% The contents are placed inside a \element{div} of class \attribute{copyrightboxcontents}. +% +% The copyright notice is placed inside a \element{div} of class \attribute{copyrightboxnote}. +% +% \changes{v0.61}{2018/09/23}{\pkg{copyrightbox}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{copyrightbox} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\copyrightbox}[3][r]{% +\begin{BlockClass}[ + display: inline-flex; + flex-direction: column ; +]{copyrightbox} +\begin{BlockClass}{copyrightboxcontents} +#2 +\end{BlockClass} +\begin{BlockClass}{copyrightboxnote} +#3 +\end{BlockClass} +\end{BlockClass} +} + +\newcommand{\CRB@setcopyrightfont}{} +\newcommand{\CRB@setcopyrightparagraphstyle}{} +% \end{macrocode} +% +% \iffalse +%</copyrightbox> +% \fi +% +% +% % % \iffalse %<*crop> @@ -37591,6 +38514,31 @@ name = \chemmacros_translate:n {scheme-name} % % % \iffalse +%<*dprogress> +% \fi +% +% \part{lwarp-dprogress.sty} +% +% \section{dprogress} +% +% \DescribePackage{dprogress} +% \pkg{dprogress} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{dprogress}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{dprogress}[2008/02/21] +% \end{macrocode} +% +% \iffalse +%</dprogress> +% \fi +% +% +% +% \iffalse %<*draftcopy> % \fi % @@ -38215,6 +39163,60 @@ name = \chemmacros_translate:n {scheme-name} % % % \iffalse +%<*epsfig> +% \fi +% +% \part{lwarp-epsfig.sty} +% +% \section{epsfig} +% +% \DescribePackage{epsfig} +% \pkg{epsfig} is emulated for use by \pkg{lwarp}. +% +% Only the \LaTeX 2e syntax is emulated. +% \watchout +% +% \changes{v0.61}{2018/10/01}{\pkg{epsfig}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{epsfig}[2017/06/25] +% \end{macrocode} +% +% A few additional keys to capture the filename: +% \begin{macrocode} +\RequirePackage{graphics} + +\define@key{igraph}{file}{% + \xdef\LWR@epsfig@filename{#1}% +} + +\define@key{igraph}{figure}{% + \xdef\LWR@epsfig@filename{#1}% +} + +\define@key{igraph}{prolog}{} + +\define@key{igraph}{silent}[]{} +% \end{macrocode} +% +% The captured filename is used as the argument to \cs{includegraphics}: +% \begin{macrocode} +\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}} + +\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}} +% \end{macrocode} +% +% \iffalse +%</epsfig> +% \fi +% +% +% +% +% +% \iffalse %<*epstopdf> % \fi % @@ -38350,42 +39352,42 @@ name = \chemmacros_translate:n {scheme-name} % \begin{macrocode} \xpatchcmd{\erratumAdd} {$_a^{\arabic{erratum}}$} -% {\StartDynamicMath$_a^{\arabic{erratum}}$\StopDynamicMath} +% {\inlinemathother$_a^{\arabic{erratum}}$\inlinemathnormal} {\textsubscript{a}\textsuperscript{\arabic{erratum}}} {} {\LWR@patcherror{erratum}{erratumAdd}} \xpatchcmd{\erratumDelete} {$_d^{\arabic{erratum}}$} -% {\StartDynamicMath$_d^{\arabic{erratum}}$\StopDynamicMath} +% {\inlinemathother$_d^{\arabic{erratum}}$\inlinemathnormal} {\textsubscript{d}\textsuperscript{\arabic{erratum}}} {} {\LWR@patcherror{erratum}{erratumDelete}} \xpatchcmd{\erratumReplace} {$_r^{\arabic{erratum}}$} -% {\StartDynamicMath$_r^{\arabic{erratum}}$\StopDynamicMath} +% {\inlinemathother$_r^{\arabic{erratum}}$\inlinemathnormal} {\textsubscript{r}\textsuperscript{\arabic{erratum}}} {} {\LWR@patcherror{erratum}{erratumReplace}} \xpatchcmd{\erratum} {$_a$} -% {\StartDynamicMath$_a$\StopDynamicMath} +% {\inlinemathother$_a$\inlinemathnormal} {\textsubscript{a}} {} {\LWR@patcherror{erratum}{erratumDelete}} \xpatchcmd{\erratum} {$_d^{\@thefnmark}$} -% {\StartDynamicMath$_d^{\@thefnmark}$\StopDynamicMath} +% {\inlinemathother$_d^{\@thefnmark}$\inlinemathnormal} {\textsubscript{d}\textsuperscript{\@thefnmark}} {} {\LWR@patcherror{erratum}{eDelete}} \xpatchcmd{\erratum} {$_r^{\@thefnmark}$} -% {\StartDynamicMath$_r^{\@thefnmark}$\StopDynamicMath} +% {\inlinemathother$_r^{\@thefnmark}$\inlinemathnormal} {\textsubscript{r}\textsuperscript{\@thefnmark}} {} {\LWR@patcherror{erratum}{eReplace}} @@ -40742,7 +41744,7 @@ solid \LWR@origpound\LWR@tempcolor ; % % \pkg{forest} is patched for use by \pkg{lwarp}. % % The starred version of the macro \cs{Forest*} is not supported. -% \watchout[\cs{Forest*}] +% \trouble[\cs{Forest*}]{forest=\pkg{forest}} % \pkg{lwarp} encases each \env{lateximage} in an environment, so the % global results of the starred \cs{Forest*} are lost. % @@ -41181,7 +42183,7 @@ solid \LWR@origpound\LWR@tempcolor ; % % \end{macrocode} % In the original, the \acro{TOC} entry was made before the section, % thus linking to the phantomsection in the printed version, but for -% \HTML\, this caused the link to point to the page before the glossaries, +% \HTML, this caused the link to point to the page before the glossaries, % which could be a different \HTML\ file. % Here, the \acro{TOC} entry is made after the section is created: % \begin{macrocode} @@ -41302,10 +42304,23 @@ solid \LWR@origpound\LWR@tempcolor ; % } % \end{macrocode} % Inside a \env{lateximage}, allow \PDF\ instead of \SVG: +% \changes{v0.61}{2018/10/06}{Fix: EPS for \DVI\ \LaTeX.} % \begin{macrocode} +\ifpdf +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% +} +\else% \ifpdf + \ifXeTeX \appto\LWR@restoreorigformatting{% \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% } + \else +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% +} + \fi +\fi % \end{macrocode} % \end{macro} @@ -41315,7 +42330,7 @@ solid \LWR@origpound\LWR@tempcolor ; % % A scaled image in \LaTeX{} by default takes only as much space % on the page as it % requires, but \HTML\ browsers use as much space as the -% \watchout[whitespace] +% \trouble[whitespace]{graphics>scaled} % original unscaled image would have taken, % with the scaled image over- or under-flowing the area. @@ -41402,7 +42417,7 @@ solid \LWR@origpound\LWR@tempcolor ; % % \changes{v0.52}{2018/03/27}{pkg{graphics}: Added defaults.} % \begin{macrocode} \define@key{igraph}{origin}[c]{% -\renewcommand*{\LWR@igorigin}{#1}% + \renewcommand*{\LWR@igorigin}{#1}% } % \end{macrocode} % @@ -41424,8 +42439,9 @@ solid \LWR@origpound\LWR@tempcolor ; % % |xscale| and |yscale|. |scale| adjusts both at the same time. % \begin{macrocode} \define@key{igraph}{scale}{% -\renewcommand*{\LWR@igxscale}{#1}% -\renewcommand*{\LWR@igyscale}{#1}} + \renewcommand*{\LWR@igxscale}{#1}% + \renewcommand*{\LWR@igyscale}{#1}% +} % \end{macrocode} % % Numerous ignored keys: @@ -41575,6 +42591,10 @@ solid \LWR@origpound\LWR@tempcolor ; % % % If |#3| is empty, only one optional argument was given, thus \pkg{graphicx} syntax. % +% If using \cs{epsfig} or \cs{psfig} from the \pkg{epsfig} package, +% |#4| will be \cs{LWR@epsfig@filename}, which will have been set by the |file| or |figure| keys. +% Therefore, |#4| must not be used until after the keys have been processed. +% % \changes{v0.18}{2016/04/14}{Improved \HTML\ output linebreaks.} % \changes{v0.18}{2016/05/17}{Fix: \cs{linewidth}, \cs{textwidth}, \cs{textheight} % inside a minipage.} @@ -41592,7 +42612,6 @@ solid \LWR@origpound\LWR@tempcolor ; % % \begin{macrocode} \NewDocumentCommand{\LWR@includegraphicsb}{s o o m} {% -\LWR@traceinfo{LWR@includegraphicsb #4}% % \end{macrocode} % Start the image tag on a new line, allow \PDF\ output word wrap: % \begin{macrocode} @@ -41614,24 +42633,6 @@ solid \LWR@origpound\LWR@tempcolor ; % }% }{}% % \end{macrocode} -% Fully expand and detokenize the filename, -% changing the file extension to \filenm{.svg} if necessary. -% \changes{v0.59}{2018/08/28}{Fix: Expand filename.} -% \begin{macrocode} -\begingroup% -\LetLtxMacro\Gin@setfile\LWR@HTML@Gin@setfile% -\edef\LWR@tempone{#4}% -\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% -\StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% -\LWR@replaceEPSSVG% -\xdef\LWR@parsedfilename{\LWR@tempone}% -\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}% -\endgroup% -\filename@parse{\LWR@parsedfilename}% -\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}% -% \LWR@sanitize{\LWR@parsedfilename}% -% \end{macrocode} -% % For correct em sizing during the width and height conversions: % \begin{macrocode} \large% @@ -41658,13 +42659,47 @@ solid \LWR@origpound\LWR@tempcolor ; % }% % \end{macrocode} % +% Fully expand and detokenize the filename, +% changing the file extension to \filenm{.svg} if necessary. +% \changes{v0.59}{2018/08/28}{Fix: Expand filename.} +% \changes{v0.61}{2018/10/01}{Set keys before using filename, for \pkg{epsfig}.} +% \begin{macrocode} +\begingroup% +\LetLtxMacro\Gin@setfile\LWR@HTML@Gin@setfile% +\edef\LWR@tempone{#4}% +\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% +\StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% +\LWR@replaceEPSSVG% +\xdef\LWR@parsedfilename{\LWR@tempone}% +\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}% +\endgroup% +\filename@parse{\LWR@parsedfilename}% +\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}% +% \LWR@sanitize{\LWR@parsedfilename}% +% \end{macrocode} +% % If formatting for a word processor, find and set the actual image size, % without rotation, using \PDF\ instead of \SVG\ to find the original bounding box: % \changes{v0.42}{2017/10/24}{If \progcode{FormatWP}, use explicit size.} +% \changes{v0.61}{2018/10/06}{Fix: EPS for \DVI\ \LaTeX.} % \begin{macrocode} \ifbool{FormatWP}{% \begingroup% + \ifpdf + \appto\LWR@restoreorigformatting{% \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \else% \ifpdf + \ifXeTeX + \appto\LWR@restoreorigformatting{% + \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \else + \appto\LWR@restoreorigformatting{% + \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \fi + \fi \define@key{Gin}{angle}{}% \IfBooleanTF{#1}% {% starred @@ -44701,7 +45736,8 @@ width=\KFLT@imagewidth,height=\KFLT@h]{\KFLT@i}% % \pkg{ltxtable} is emulated. % % The print version does not seem to honor \env{longtable*} from the -% \watchout[table numbering] +% \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering} +% \trouble{table>numbering} % \pkg{caption} package, while \pkg{lwarp} does. % % \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.} @@ -44758,6 +45794,33 @@ width=\KFLT@imagewidth,height=\KFLT@h]{\KFLT@i}% % % % \iffalse +%<*lua-visual-debug> +% \fi +% +% \part{lwarp-lua-visual-debug.sty} +% +% \section{lua-visual-debug} +% +% \DescribePackage{lua-visual-debug} +% \pkg{lua-visual-debug} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{lua-visual-debug}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{lua-visual-debug}[2016/05/30] +% \end{macrocode} +% +% \iffalse +%</lua-visual-debug> +% \fi +% +% +% +% +% +% \iffalse %<*luacolor> % \fi % @@ -45846,7 +46909,8 @@ background: % and assume that any \pkg{mhchem} options are global. % % The \brand{MathJax} \pkg{mhchem} extension is not yet used. -% \watchout[\brand{MathJax} and \pkg{mhchem}] +% \trouble[\brand{MathJax} and \pkg{mhchem}]{MathJax=\brand{MathJax}>mhchem=\pkg{mhchem}} +% \trouble{mhchem=\pkg{mhchem}>MathJax=\brand{MathJax}} % If \brand{MathJax} is used for math in the rest of the document, % \pkg{lwarp} converts standalone \pkg{mhchem} % expressions into \SVG\ math images, but expressions inside math @@ -45857,11 +46921,11 @@ background: % \cs{displaymathnormal} % \end{sourcedisplay} % -% When producing \HTML\ output, \pkg{lwarp} does not support \watchout[nested math] +% When producing \HTML\ output, \pkg{lwarp} does not support +% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs} % the use of nested dollar signs in \pkg{mhchem} expressions. -% \index{mhchem>troubleshooting} -% \index{array>\pkg{mhchem}} -% \index{math>\pkg{mhchem}} +% \gindex{array>\pkg{mhchem}} +% \gindex{math>\pkg{mhchem}} % % For some examples from the \pkg{mhchem} manual, change as follows: % \begin{Verbatim}[gobble=2,frame=leftline, xleftmargin=.5in,obeytabs,tabsize=4] @@ -46527,9 +47591,10 @@ class="td% % \label{sec:multicolumnmultirow} % % \limitsmulticolumnrow -% \index{multicolumn>with multirow} -% \index{multirow>with multicolumn} -% \index{tabular>multicolumn with multirow} +% \gindex{multicolumn=\cs{multicolumn}>with \cs{multirow}} +% \gindex{multirow=\cs{multirow}>with \cs{multicolumn}} +% \gindex{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}} +% \trouble{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}} % % % \begin{macro}{\multicolumnrow} @@ -47135,7 +48200,7 @@ class="td% % to initialize. % % The options |thmmarks| and |amsmath| are disabled, since they -% \watchout[Disabled options] +% \trouble[Disabled options]{ntheorem=\pkg{ntheorem}} % heavily modify the underlying math code. Theorem marks are emulated. % The AMS-math modifications are not done. % @@ -48311,6 +49376,31 @@ class="td% % % % \iffalse +%<*pdfprivacy> +% \fi +% +% \part{lwarp-pdfprivacy.sty} +% +% \section{pdfprivacy} +% +% \DescribePackage{pdfprivacy} +% \pkg{pdfprivacy} is ignored. +% +% \changes{v0.61}{2018/09/23}{\pkg{pdfprivacy}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{pdfprivacy} +% \end{macrocode} +% +% \iffalse +%</pdfprivacy> +% \fi +% +% +% +% \iffalse %<*pdfrender> % \fi % @@ -48644,7 +49734,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackageDrop{preview} +\LWR@ProvidesPackageDrop{preview}[2017/04/24] % \end{macrocode} % % \begin{macrocode} @@ -48666,6 +49756,92 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*psfrag> +% \fi +% +% \part{lwarp-psfrag.sty} +% +% \section{psfrag} +% +% \credits{Michael C. Grant, David Carlisle} +% +% \DescribePackage{psfrag} +% \pkg{psfrag} is patched for use by \pkg{lwarp}. +% +% \limitspsfrag +% +% \changes{v0.61}{2018/10/01}{\pkg{psfrag}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{psfrag}[1998/04/11] +% \end{macrocode} +% +% A \env{lateximage} captures the modified image from the document. +% \begin{macrocode} +\BeforeBeginEnvironment{psfrags}{% + \begin{lateximage}[(-psfrags-~\packagediagramname)]% +} + +\AfterEndEnvironment{psfrags}{\end{lateximage}} +% \end{macrocode} +% +% \iffalse +%</psfrag> +% \fi +% +% +% +% +% +% \iffalse +%<*psfragx> +% \fi +% +% \part{lwarp-psfragx.sty} +% +% \section{psfragx} +% +% \credits{Pascal Kockaert} +% +% \DescribePackage{psfragx} +% \pkg{psfragx} is patched for use by \pkg{lwarp}. +% +% \changes{v0.61}{2018/10/03}{\pkg{psfragx}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{psfragx}[2012/05/02] +% \end{macrocode} +% +% A \env{lateximage} captures the modified image from the document. +% \begin{macrocode} +\def\pfx@includegraphicx#1#2{% + \begin{lateximage}[(-psfragx-~\packagediagramname)]% + \mbox{\pfx@overpix{#1}{#2}\endpfx@overpix}% + \end{lateximage}% +} + +\def\@@@overpix[#1]<#2>[#3]#4{% + \begin{lateximage}[(-psfragx-~\packagediagramname)]% + \pfx@overpix{#1,ovpfgd={#2},ovpbgd={#3}}{#4}% +} + +\def\endoverpix{% + \endpfx@overpix% + \end{lateximage}% +} +% \end{macrocode} +% +% \iffalse +%</psfragx> +% \fi +% +% +% +% \iffalse %<*pst-eps> % \fi % @@ -48697,6 +49873,54 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*pstool> +% \fi +% +% \part{lwarp-pstool.sty} +% +% \section{pstool} +% +% \credits{Zebb Prime, Will Robertson} +% +% \DescribePackage{pstool} +% \pkg{pstool} is patched for use by \pkg{lwarp}. +% +% \changes{v0.61}{2018/10/02}{\pkg{pstool}: Added.} +% +% \limitspstool +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{pstool} +% \end{macrocode} +% +% Each image is placed inside a \env{lateximage} to capture the results of \pkg{psfrag}. +% +% \begin{macrocode} +\renewcommand\pstool@alwaysprocess[3][]{% + \begin{lateximage}[(-pstool-~\packagediagramname)]% + \includegraphics{#2.pdf}% + \end{lateximage}% +} +\LetLtxMacro\pstool@neverprocess\pstool@alwaysprocess +\LetLtxMacro\pstool@maybeprocess\pstool@alwaysprocess + +\renewcommand\pstool@@psfragfig[4]{% + \begin{lateximage}[(-pstool-~\packagediagramname)]% + \includegraphics{#2.pdf}% + \end{lateximage}% +} +% \end{macrocode} +% +% \iffalse +%</pstool> +% \fi +% +% +% % \iffalse %<*pstricks> % \fi @@ -48976,6 +50200,42 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% \iffalse +%<*refcheck> +% \fi +% +% \part{lwarp-refcheck.sty} +% +% \section{refcheck} +% +% \DescribePackage{refcheck} +% \pkg{refcheck} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{refcheck}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{refcheck}[2013/02/14] +% \end{macrocode} +% +% \begin{macrocode} +\def\showrefnames{} +\def\norefnames{} +\def\showcitenames{} +\def\nocitenames{} +\def\setonmsgs{} +\def\setoffmsgs{} +\def\checkunlbld{} +\def\ignoreunlbld{} +\newcommand*{\refcheckxrdoc}[2][]{} +% \end{macrocode} +% +% \iffalse +%</refcheck> +% \fi +% +% % % \iffalse %<*register> @@ -49001,7 +50261,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \begin{macrocode} \xpatchcmd{\register} {\centering} - {\begin{center}\begin{lateximage}[-register-~\packagediagramname]} + {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]} {} {\LWR@patcherror{register}{register}} @@ -51023,6 +52283,71 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% \iffalse +%<*srcltx> +% \fi +% +% \part{lwarp-srcltx.sty} +% +% \section{srcltx} +% +% \DescribePackage{srcltx} +% \pkg{srcltx} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{srcltx}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{srcltx}[2006/11/12] +% \end{macrocode} +% +% \begin{macrocode} +\newif\ifSRCOK \SRCOKfalse +\newcommand*\srcIncludeHook[1]{} +\newcommand*\srcInputHook[1]{} +\newcommand*\MainFile{} +\def\MainFile{\jobname.tex} +\newcommand*\CurrentInput{} +\gdef\CurrentInput{\MainFile} +\newcommand\Input{} +\let\Input\input +% \end{macrocode} +% +% \iffalse +%</srcltx> +% \fi +% +% +% +% +% \iffalse +%<*srctex> +% \fi +% +% \part{lwarp-srctex.sty} +% +% \section{srctex} +% +% \DescribePackage{srctex} +% \pkg{srctex} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{srctex}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{srctex}[2006/11/12] +\LWR@origRequirePackage{lwarp-srcltx} +% \end{macrocode} +% +% \iffalse +%</srctex> +% \fi +% +% +% +% % % \iffalse %<*stabular> @@ -51501,14 +52826,19 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \newcommand{\tablelasttail}[1]{% \long\gdef\LWRST@lasttail{#1}% } - +% \end{macrocode} +% \changes{v0.61}{2018/10/05}{\pkg{supertabular}: Fix for caption w/o opt arg.} +% \begin{macrocode} \newcommand{\tablecaption}[2][]{% - \long\gdef\LWRST@caption{\caption[#1]{#2}}% + \long\gdef\LWRST@caption{% + \ifblank{#1}% + {\caption{#2}}% + {\caption[#1]{#2}}% + }% } \let\topcaption\tablecaption \let\bottomcaption\tablecaption - % \end{macrocode} % \changes{v0.44}{2017/11/19}{\pkg{supertabular}: Fix for caption.} % \begin{macrocode} @@ -51519,7 +52849,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \NewDocumentEnvironment{supertabular}{s o m} {% \LWR@traceinfo{supertabular}% -\table% +\begin{table}% \LWRST@caption% \begin{tabular}{#3}% \TabularMacro\ifdefvoid{\LWRST@firsthead}% @@ -51534,7 +52864,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \LWRST@lasttail% }% \end{tabular}% -\endtable% +\end{table}% \LWR@traceinfo{supertabular done}% } @@ -51822,7 +53152,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \begin{macrocode} \AtBeginDocument{ -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newcommand*{\LWR@HTML@textdegree}{\HTMLentity{deg}} \newcommand*{\LWR@HTML@textcelsius}{\HTMLunicode{2103}} \newcommand*{\LWR@HTML@textohm}{\HTMLunicode{2126}} @@ -52282,6 +53612,70 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% \iffalse +%<*thinsp> +% \fi +% +% \part{lwarp-thinsp.sty} +% +% \section{thinsp} +% +% \DescribePackage{thinsp} +% \pkg{thinsp} is emulated. +% +% \changes{v0.61}{2018/08/23}{\pkg{thinsp}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{thinsp} +% \end{macrocode} +% +% \begin{macrocode} +\AtBeginDocument{ +\let\thinthinspace\relax% defined by some packages +\newcommand*{\thinthinspace}{\thinspace} +} + +\newcommand*{\stretchthinspace}{\thinspace} +\newcommand*{\stretchthinthinspace}{\thinthinspace} +\newcommand*{\stretchnegthinspace}{\negthinspace} +% \end{macrocode} +% +% \iffalse +%</thinsp> +% \fi +% +% +% +% \iffalse +%<*threadcol> +% \fi +% +% \part{lwarp-threadcol.sty} +% +% \section{threadcol} +% +% \DescribePackage{threadcol} +% \pkg{threadcol} is ignored. +% +% \changes{v0.61}{2018/09/23}{\pkg{threadcol}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{threadcol} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\setthreadname}[1]{} +% \end{macrocode} +% +% \iffalse +%</threadcol> +% \fi +% +% % % % \iffalse @@ -52461,8 +53855,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \margintag{catcodes} % The \tikz{} |babel| library temporarily changes catcodes % back to normal for \tikz's use. -% \index{tikz>dollar redefined} -% \index{tikz>catcodes} +% \gindex{tikz=\pkg{tikz}>dollar redefined} +% \gindex{tikz=\pkg{tikz}>catcodes} % \pkg{tikz} v3.0.0 introduced the |babel| library which handles catcode changes. % For older versions, \pkg{lwarp} must change |$|'s catcode itself. % @@ -54239,7 +55633,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \cs{texttransparent} works for inline objects. % \cs{transparent} only works for \cs{includegraphics}. % -% Note that \pkg{transparent} does not work with \XeLaTeX.\watchout[Not \XeLaTeX!] +% Note that \pkg{transparent} does not work with \XeLaTeX. +% \trouble[Not \XeLaTeX!]{transparent=\pkg{transparent}} % % \changes{v0.36}{2017/08/09}{\pkg{transparent}: Added.} % @@ -54372,9 +55767,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \subsection{Combining \cs{newfloat}, \cs{trivfloat}, and \pkg{algorithmicx}} % \label{sec:combiningfloats} -% \index{newfloat>with trivfloat, algorithmic} -% \index{trivfloat>with newfloat, algorithmic} -% \index{algorithmic>with newfloat, trivfloat} +% \gindex{newfloat=\pkg{newfloat}>with \pkg{trivfloat}, \pkg{algorithmic}} +% \gindex{trivfloat=\pkg{trivfloat}>with \pkg{newfloat}, \pkg{algorithmic}} +% \gindex{algorithmic=\pkg{algorithmic}>with \pkg{newfloat}, \pkg{trivfloat}} % % \codeall % \begin{macrocode} @@ -54450,36 +55845,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse -%<*twoup-gen> -% \fi -% -% \part{lwarp-twoup-gen.sty} -% -% \section{twoup-gen} -% -% \DescribePackage{twoup-gen} -% \pkg{twoup-gen} is ignored. -% -% This package is used by MikTeX for \pkg{lwarp-2up}. -% -% \changes{v0.60}{2018/09/18}{\pkg{twoup-gen}: Added.} -% -% \codehtml -% -% \begin{macrocode} -\LWR@ProvidesPackageDrop{twoup-gen} - -\LWR@origRequirePackage{lwarp-2up} -% \end{macrocode} -% -% -% \iffalse -%</twoup-gen> -% \fi -% -% -% -% \iffalse %<*typearea> % \fi % @@ -54792,6 +56157,31 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% \iffalse +%<*uspace> +% \fi +% +% \part{lwarp-uspace.sty} +% +% \section{uspace} +% +% \DescribePackage{uspace} +% \pkg{uspace} is ignored. +% +% \changes{v0.61}{2018/09/23}{\pkg{uspace}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{uspace} +% \end{macrocode} +% +% \iffalse +%</uspace> +% \fi +% +% +% % % \iffalse %<*verse> @@ -54837,7 +56227,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \begin{macrocode} \LWR@restoreoriglists% % \end{macrocode} -% \DescribePackage{verse}\DescribeClass{memoir}\index{memoir>verse} +% \DescribePackage{verse}\DescribeClass{memoir}\gindex{memoir=\pkg{memoir}>verse} % The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left % with their \cs{flagverse} command. \DescribeMacro{\flagverse} % Do not allow them to go into the left margin, which would cause \prog{pdfcrop} @@ -55022,6 +56412,31 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*vpe> +% \fi +% +% \part{lwarp-vpe.sty} +% +% \section{vpe} +% +% \DescribePackage{vpe} +% \pkg{vpe} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{vpe}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{vpe}[2012/04/18] +% \end{macrocode} +% +% \iffalse +%</vpe> +% \fi +% +% +% +% \iffalse %<*vwcol> % \fi % @@ -55399,6 +56814,37 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% \iffalse +%<*xbmks> +% \fi +% +% \part{lwarp-xbmks.sty} +% +% \section{xbmks} +% +% \DescribePackage{xbmks} +% \pkg{xbmks} is ignored. +% +% \changes{v0.61}{2018/10/05}{\pkg{xbmks}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{xbmks}[2018/07/04] +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\xbmksetup}[1]{} +\NewDocumentCommand{\pdfbookmarkx}{o m o m}{} +\NewDocumentCommand{\currentpdfbookmarkx}{m o m}{} +\NewDocumentCommand{\subpdfbookmarkx}{m o m}{} +\NewDocumentCommand{\belowpdfbookmarkx}{m o m}{} +% \end{macrocode} +% +% \iffalse +%</xbmks> +% \fi +% % % % \iffalse @@ -55429,7 +56875,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \subsection{Xcolor definitions: location and timing} % % The \pkg{lwarp} core and its \pkg{lwarp-xcolor} package are tightly integrated -% to allow comparable results for print, \HTML\, +% to allow comparable results for print, \HTML, % and print inside an \HTML\ \env{lateximage}. % This requires a number of definitions and redefintions depending on whether % each of \pkg{xcolor} and \env{lateximage} is being used, and whether print @@ -56128,7 +57574,7 @@ height:\LWR@printlength{\LWR@tempheight}% % In the user's document preamble, \pkg{lwarp} should be loaded % after font-related setup. -% \watchout[font size] +% \trouble[font size]{xfrac=\pkg{xfrac}} % During \HTML\ conversion, this font is used by \pkg{lwarp} % to generate its initial \PDF\ output containing \HTML\ tags, % later to be converted by \prog{pdftotext} to a plain text file. @@ -56160,7 +57606,7 @@ height:\LWR@printlength{\LWR@tempheight}% % \begin{macro}{\xfracHTMLfontsize} % \changes{v0.19}{2016/06/06}{Added.} -% \index{font>size --- xfrac} +% \gindex{font>size --- \pkg{xfrac}} % User-redefinable macro which controls the font size of the fraction. % \begin{macrocode} \newcommand*{\xfracHTMLfontsize}{.6em} @@ -56321,7 +57767,8 @@ scaling = false % Relies on \pkg{tabularx}. % % At present, an \env{xltabular} without a caption or with only a \cs{caption*} -% \watchout[table numbering] +% \trouble[table numbering]{tabular>numbering} +% \trouble{xltabular=\pkg{xltabular}>numbering} % may be misnumbered in \HTML, so it may be necessary to place at the end % of the table: % \begin{sourcedisplay} @@ -56464,7 +57911,7 @@ scaling = false \NewDocumentCommand{\LWR@HTML@keyboard}{ O{}m } { \begin{lateximage}* - [-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2}] + [(-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2})] [\detokenize\expandafter{#1}] \xpiano_keyboard:nn { #1 } { #2 } \end{lateximage} @@ -56526,14 +57973,19 @@ scaling = false \newcommand{\tablelasttail}[1]{% \long\gdef\LWRXT@lasttail{#1}% } - +% \end{macrocode} +% \changes{v0.61}{2018/10/05}{\pkg{xtab}: Fix for caption w/o opt arg.} +% \begin{macrocode} \newcommand{\tablecaption}[2][]{% - \long\gdef\LWRXT@caption{\caption[#1]{#2}}% + \long\gdef\LWRXT@caption{% + \ifblank{#1}% + {\caption{#2}}% + {\caption[#1]{#2}}% + }% } \let\topcaption\tablecaption \let\bottomcaption\tablecaption - % \end{macrocode} % \changes{v0.44}{2017/11/19}{\pkg{xtab}: Fix for caption.} % \begin{macrocode} @@ -56657,7 +58109,8 @@ scaling = false % \DescribePackage{xy} % \pkg{xy} is patched for use by \pkg{lwarp}. % -% \cs{xypolygon} must be used inside the \env{xy} environment, \watchout +% \cs{xypolygon} must be used inside the \env{xy} environment, +% \trouble[\cs{xypolygon}]{xy=\pkg{xy}} % or inside \cs{xy} \dots \cs{endxy}. % % \changes{v0.50}{2018/02/21}{\pkg{xy}: Added.} @@ -58168,7 +59621,7 @@ scaling = false \catcode`\_=12% \renewcommand*{\makeindex}[1][\BaseJobname]{% \if@filesw - \def\index{\@bsphack% + \def\gindex{\@bsphack% \@ifnextchar [{\@index}{\@index[\BaseJobname]}} \def\specialindex{\@bsphack\@spindex}% \makememindexhook @@ -58386,14 +59839,6 @@ scaling = false % {\Large\rmfamily\bfseries}{}{0pt}{}[\marginpar{\hfill\textsection\,\thesection}\smallskip\hrule] % % -% \part{Change History and Index} -% \label{sec:changehistory} -% -% For the most recent changes, followed by the start of the Index, -% see page \pageref{sec:changesend}. -% -% \pagestyle{plain} -% % \Finale % % diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins index 4b71684a5fc..cb61dbaf8d8 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins @@ -96,11 +96,14 @@ version 2005/12/01 or later. \file{lwarp-chemgreek.sty}{\from{lwarp.dtx}{chemgreek}} \file{lwarp-chemmacros.sty}{\from{lwarp.dtx}{chemmacros}} \file{lwarp-chemnum.sty}{\from{lwarp.dtx}{chemnum}} +\file{lwarp-chkfloat.sty}{\from{lwarp.dtx}{chkfloat}} \file{lwarp-cite.sty}{\from{lwarp.dtx}{cite}} \file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}} +\file{lwarp-cmdtrack.sty}{\from{lwarp.dtx}{cmdtrack}} \file{lwarp-color.sty}{\from{lwarp.dtx}{color}} \file{lwarp-colortbl.sty}{\from{lwarp.dtx}{colortbl}} \file{lwarp-continue.sty}{\from{lwarp.dtx}{continue}} +\file{lwarp-copyrightbox.sty}{\from{lwarp.dtx}{copyrightbox}} \file{lwarp-crop.sty}{\from{lwarp.dtx}{crop}} \file{lwarp-cuted.sty}{\from{lwarp.dtx}{cuted}} \file{lwarp-cutwin.sty}{\from{lwarp.dtx}{cutwin}} @@ -108,6 +111,7 @@ version 2005/12/01 or later. \file{lwarp-dblfnote.sty}{\from{lwarp.dtx}{dblfnote}} \file{lwarp-dcolumn.sty}{\from{lwarp.dtx}{dcolumn}} \file{lwarp-diagbox.sty}{\from{lwarp.dtx}{diagbox}} +\file{lwarp-dprogress.sty}{\from{lwarp.dtx}{dprogress}} \file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}} \file{lwarp-draftfigure.sty}{\from{lwarp.dtx}{draftfigure}} \file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}} @@ -121,6 +125,7 @@ version 2005/12/01 or later. \file{lwarp-enumerate.sty}{\from{lwarp.dtx}{enumerate}} \file{lwarp-enumitem.sty}{\from{lwarp.dtx}{enumitem}} \file{lwarp-epigraph.sty}{\from{lwarp.dtx}{epigraph}} +\file{lwarp-epsfig.sty}{\from{lwarp.dtx}{epsfig}} \file{lwarp-epstopdf.sty}{\from{lwarp.dtx}{epstopdf}} \file{lwarp-epstopdf-base.sty}{\from{lwarp.dtx}{epstopdf-base}} \file{lwarp-errata.sty}{\from{lwarp.dtx}{errata}} @@ -204,6 +209,7 @@ version 2005/12/01 or later. \file{lwarp-ltxgrid.sty}{\from{lwarp.dtx}{ltxgrid}} \file{lwarp-ltxtable.sty}{\from{lwarp.dtx}{ltxtable}} \file{lwarp-lua-check-hyphen.sty}{\from{lwarp.dtx}{lua-check-hyphen}} +\file{lwarp-lua-visual-debug.sty}{\from{lwarp.dtx}{lua-visual-debug}} \file{lwarp-luacolor.sty}{\from{lwarp.dtx}{luacolor}} \file{lwarp-luatodonotes.sty}{\from{lwarp.dtx}{luatodonotes}} \file{lwarp-magaz.sty}{\from{lwarp.dtx}{magaz}} @@ -250,6 +256,7 @@ version 2005/12/01 or later. \file{lwarp-pdfrender.sty}{\from{lwarp.dtx}{pdfrender}} \file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}} \file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}} +\file{lwarp-pdfprivacy.sty}{\from{lwarp.dtx}{pdfprivacy}} \file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}} \file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}} \file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}} @@ -259,12 +266,16 @@ version 2005/12/01 or later. \file{lwarp-prelim2e.sty}{\from{lwarp.dtx}{prelim2e}} \file{lwarp-prettyref.sty}{\from{lwarp.dtx}{prettyref}} \file{lwarp-preview.sty}{\from{lwarp.dtx}{preview}} +\file{lwarp-psfrag.sty}{\from{lwarp.dtx}{psfrag}} +\file{lwarp-psfragx.sty}{\from{lwarp.dtx}{psfragx}} \file{lwarp-pst-eps.sty}{\from{lwarp.dtx}{pst-eps}} +\file{lwarp-pstool.sty}{\from{lwarp.dtx}{pstool}} \file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}} \file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}} \file{lwarp-quoting.sty}{\from{lwarp.dtx}{quoting}} \file{lwarp-ragged2e.sty}{\from{lwarp.dtx}{ragged2e}} \file{lwarp-realscripts.sty}{\from{lwarp.dtx}{realscripts}} +\file{lwarp-refcheck.sty}{\from{lwarp.dtx}{refcheck}} \file{lwarp-register.sty}{\from{lwarp.dtx}{register}} \file{lwarp-relsize.sty}{\from{lwarp.dtx}{relsize}} \file{lwarp-repeatindex.sty}{\from{lwarp.dtx}{repeatindex}} @@ -296,6 +307,8 @@ version 2005/12/01 or later. \file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}} \file{lwarp-soulutf8.sty}{\from{lwarp.dtx}{soulutf8}} \file{lwarp-splitidx.sty}{\from{lwarp.dtx}{splitidx}} +\file{lwarp-srcltx.sty}{\from{lwarp.dtx}{srcltx}} +\file{lwarp-srctex.sty}{\from{lwarp.dtx}{srctex}} \file{lwarp-stabular.sty}{\from{lwarp.dtx}{stabular}} \file{lwarp-stfloats.sty}{\from{lwarp.dtx}{stfloats}} \file{lwarp-subfig.sty}{\from{lwarp.dtx}{subfig}} @@ -311,6 +324,8 @@ version 2005/12/01 or later. \file{lwarp-textfit.sty}{\from{lwarp.dtx}{textfit}} \file{lwarp-textpos.sty}{\from{lwarp.dtx}{textpos}} \file{lwarp-theorem.sty}{\from{lwarp.dtx}{theorem}} +\file{lwarp-thinsp.sty}{\from{lwarp.dtx}{thinsp}} +\file{lwarp-threadcol.sty}{\from{lwarp.dtx}{threadcol}} \file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}} \file{lwarp-thumb.sty}{\from{lwarp.dtx}{thumb}} \file{lwarp-thumbs.sty}{\from{lwarp.dtx}{thumbs}} @@ -331,23 +346,25 @@ version 2005/12/01 or later. \file{lwarp-trimclip.sty}{\from{lwarp.dtx}{trimclip}} \file{lwarp-trivfloat.sty}{\from{lwarp.dtx}{trivfloat}} \file{lwarp-turnthepage.sty}{\from{lwarp.dtx}{turnthepage}} -\file{lwarp-twoup-gen.sty}{\from{lwarp.dtx}{twoup-gen}} \file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}} \file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}} \file{lwarp-underscore.sty}{\from{lwarp.dtx}{underscore}} \file{lwarp-units.sty}{\from{lwarp.dtx}{units}} \file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}} \file{lwarp-url.sty}{\from{lwarp.dtx}{url}} +\file{lwarp-uspace.sty}{\from{lwarp.dtx}{uspace}} \file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}} \file{lwarp-vertbars.sty}{\from{lwarp.dtx}{vertbars}} \file{lwarp-vmargin.sty}{\from{lwarp.dtx}{vmargin}} \file{lwarp-vowel.sty}{\from{lwarp.dtx}{vowel}} +\file{lwarp-vpe.sty}{\from{lwarp.dtx}{vpe}} \file{lwarp-vwcol.sty}{\from{lwarp.dtx}{vwcol}} \file{lwarp-wallpaper.sty}{\from{lwarp.dtx}{wallpaper}} \file{lwarp-wasysym.sty}{\from{lwarp.dtx}{wasysym}} \file{lwarp-watermark.sty}{\from{lwarp.dtx}{watermark}} \file{lwarp-widows-and-orphans.sty}{\from{lwarp.dtx}{widows-and-orphans}} \file{lwarp-wrapfig.sty}{\from{lwarp.dtx}{wrapfig}} +\file{lwarp-xbmks.sty}{\from{lwarp.dtx}{xbmks}} \file{lwarp-xcolor.sty}{\from{lwarp.dtx}{xcolor}} \file{lwarp-xellipsis.sty}{\from{lwarp.dtx}{xellipsis}} \file{lwarp-xfrac.sty}{\from{lwarp.dtx}{xfrac}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty index 783ddc54a22..a968a684153 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty @@ -1,10 +1,10 @@ %% -%% This is file `lwarp-twoup-gen.sty', +%% This is file `lwarp-chkfloat.sty', %% generated with the docstrip utility. %% %% The original source files were: %% -%% lwarp.dtx (with options: `twoup-gen') +%% lwarp.dtx (with options: `chkfloat') %% This is a generated file. %% Copyright 2016-2018 Brian Dunn %% @@ -15,9 +15,7 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -\LWR@ProvidesPackageDrop{twoup-gen} - -\LWR@origRequirePackage{lwarp-2up} +\LWR@ProvidesPackageDrop{chkfloat}[2012/08/19] \endinput %% -%% End of file `lwarp-twoup-gen.sty'. +%% End of file `lwarp-chkfloat.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty new file mode 100644 index 00000000000..dcc408da858 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty @@ -0,0 +1,22 @@ +%% +%% This is file `lwarp-cmdtrack.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `cmdtrack') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{cmdtrack}[2012/12/18] +\newcommand{\untrack}[1]{} +\endinput +%% +%% End of file `lwarp-cmdtrack.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty new file mode 100644 index 00000000000..9101bab3510 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty @@ -0,0 +1,37 @@ +%% +%% This is file `lwarp-copyrightbox.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `copyrightbox') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{copyrightbox} +\newcommand{\copyrightbox}[3][r]{% +\begin{BlockClass}[ + display: inline-flex; + flex-direction: column ; +]{copyrightbox} +\begin{BlockClass}{copyrightboxcontents} +#2 +\end{BlockClass} +\begin{BlockClass}{copyrightboxnote} +#3 +\end{BlockClass} +\end{BlockClass} +} + +\newcommand{\CRB@setcopyrightfont}{} +\newcommand{\CRB@setcopyrightparagraphstyle}{} +\endinput +%% +%% End of file `lwarp-copyrightbox.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty new file mode 100644 index 00000000000..6969df462c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-dprogress.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `dprogress') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{dprogress}[2008/02/21] +\endinput +%% +%% End of file `lwarp-dprogress.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty new file mode 100644 index 00000000000..31838f231b1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty @@ -0,0 +1,37 @@ +%% +%% This is file `lwarp-epsfig.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `epsfig') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{epsfig}[2017/06/25] +\RequirePackage{graphics} + +\define@key{igraph}{file}{% + \xdef\LWR@epsfig@filename{#1}% +} + +\define@key{igraph}{figure}{% + \xdef\LWR@epsfig@filename{#1}% +} + +\define@key{igraph}{prolog}{} + +\define@key{igraph}{silent}[]{} +\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}} + +\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}} +\endinput +%% +%% End of file `lwarp-epsfig.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty index 9c3588bb24a..69b99f40359 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty @@ -25,9 +25,21 @@ \DeclareGraphicsRule{.svg}{svg}{.svg}{} \DeclareGraphicsRule{.SVG}{svg}{.SVG}{} } +\ifpdf \appto\LWR@restoreorigformatting{% \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% } +\else% \ifpdf + \ifXeTeX +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% +} + \else +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% +} + \fi +\fi \newlength{\LWR@igwidth} @@ -81,14 +93,15 @@ }{}% end of length > 0pt } \define@key{igraph}{origin}[c]{% -\renewcommand*{\LWR@igorigin}{#1}% + \renewcommand*{\LWR@igorigin}{#1}% } \define@key{igraph}{angle}{\renewcommand*{\LWR@igangle}{#1}} \define@key{igraph}{class}{\renewcommand*{\LWR@igclass}{#1}} \define@key{igraph}{scale}{% -\renewcommand*{\LWR@igxscale}{#1}% -\renewcommand*{\LWR@igyscale}{#1}} + \renewcommand*{\LWR@igxscale}{#1}% + \renewcommand*{\LWR@igyscale}{#1}% +} \define@key{igraph}{bb}{} \define@key{igraph}{bbllx}{} \define@key{igraph}{bblly}{} @@ -152,7 +165,6 @@ \NewDocumentCommand{\LWR@includegraphicsb}{s o o m} {% -\LWR@traceinfo{LWR@includegraphicsb #4}% \LWR@origtilde \LWR@orignewline% \begingroup% \ifthenelse{\cnttest{\value{LWR@minipagedepth}}{=}{0}}% @@ -165,17 +177,6 @@ \setlength{\textheight}{9in}% }% }{}% -\begingroup% -\LetLtxMacro\Gin@setfile\LWR@HTML@Gin@setfile% -\edef\LWR@tempone{#4}% -\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% -\StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% -\LWR@replaceEPSSVG% -\xdef\LWR@parsedfilename{\LWR@tempone}% -\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}% -\endgroup% -\filename@parse{\LWR@parsedfilename}% -\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}% \large% \setlength{\LWR@igwidth}{0pt}% \setlength{\LWR@igheight}{0pt}% @@ -191,9 +192,34 @@ {\setkeys{igraph}{#2}}% {\setkeys{igraph}{}}% }% +\begingroup% +\LetLtxMacro\Gin@setfile\LWR@HTML@Gin@setfile% +\edef\LWR@tempone{#4}% +\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% +\StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% +\LWR@replaceEPSSVG% +\xdef\LWR@parsedfilename{\LWR@tempone}% +\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}% +\endgroup% +\filename@parse{\LWR@parsedfilename}% +\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}% \ifbool{FormatWP}{% \begingroup% + \ifpdf + \appto\LWR@restoreorigformatting{% \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \else% \ifpdf + \ifXeTeX + \appto\LWR@restoreorigformatting{% + \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \else + \appto\LWR@restoreorigformatting{% + \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}% + } + \fi + \fi \define@key{Gin}{angle}{}% \IfBooleanTF{#1}% {% starred diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty new file mode 100644 index 00000000000..3872412b869 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-lua-visual-debug.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `lua-visual-debug') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{lua-visual-debug}[2016/05/30] +\endinput +%% +%% End of file `lwarp-lua-visual-debug.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty index ab523f89d1c..303de2f3ddc 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty @@ -944,7 +944,7 @@ \catcode`\_=12% \renewcommand*{\makeindex}[1][\BaseJobname]{% \if@filesw - \def\index{\@bsphack% + \def\gindex{\@bsphack% \@ifnextchar [{\@index}{\@index[\BaseJobname]}} \def\specialindex{\@bsphack\@spindex}% \makememindexhook diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty new file mode 100644 index 00000000000..f684a064c12 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-pdfprivacy.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `pdfprivacy') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{pdfprivacy} +\endinput +%% +%% End of file `lwarp-pdfprivacy.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty index 81a125c75b7..59eb7d8302d 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty @@ -15,7 +15,7 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -\LWR@ProvidesPackageDrop{preview} +\LWR@ProvidesPackageDrop{preview}[2017/04/24] \newenvironment{preview}{}{} \newenvironment{nopreview}{}{} \NewDocumentCommand{\PreviewMacro}{s o o +m}{} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty new file mode 100644 index 00000000000..7675d28fa32 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty @@ -0,0 +1,26 @@ +%% +%% This is file `lwarp-psfrag.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `psfrag') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackagePass{psfrag}[1998/04/11] +\BeforeBeginEnvironment{psfrags}{% + \begin{lateximage}[(-psfrags-~\packagediagramname)]% +} + +\AfterEndEnvironment{psfrags}{\end{lateximage}} +\endinput +%% +%% End of file `lwarp-psfrag.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty new file mode 100644 index 00000000000..9255b80026f --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty @@ -0,0 +1,36 @@ +%% +%% This is file `lwarp-psfragx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `psfragx') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackagePass{psfragx}[2012/05/02] +\def\pfx@includegraphicx#1#2{% + \begin{lateximage}[(-psfragx-~\packagediagramname)]% + \mbox{\pfx@overpix{#1}{#2}\endpfx@overpix}% + \end{lateximage}% +} + +\def\@@@overpix[#1]<#2>[#3]#4{% + \begin{lateximage}[(-psfragx-~\packagediagramname)]% + \pfx@overpix{#1,ovpfgd={#2},ovpbgd={#3}}{#4}% +} + +\def\endoverpix{% + \endpfx@overpix% + \end{lateximage}% +} +\endinput +%% +%% End of file `lwarp-psfragx.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty new file mode 100644 index 00000000000..0331ae1e622 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty @@ -0,0 +1,34 @@ +%% +%% This is file `lwarp-pstool.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `pstool') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackagePass{pstool} +\renewcommand\pstool@alwaysprocess[3][]{% + \begin{lateximage}[(-pstool-~\packagediagramname)]% + \includegraphics{#2.pdf}% + \end{lateximage}% +} +\LetLtxMacro\pstool@neverprocess\pstool@alwaysprocess +\LetLtxMacro\pstool@maybeprocess\pstool@alwaysprocess + +\renewcommand\pstool@@psfragfig[4]{% + \begin{lateximage}[(-pstool-~\packagediagramname)]% + \includegraphics{#2.pdf}% + \end{lateximage}% +} +\endinput +%% +%% End of file `lwarp-pstool.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty new file mode 100644 index 00000000000..42baddb8d3f --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty @@ -0,0 +1,30 @@ +%% +%% This is file `lwarp-refcheck.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `refcheck') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{refcheck}[2013/02/14] +\def\showrefnames{} +\def\norefnames{} +\def\showcitenames{} +\def\nocitenames{} +\def\setonmsgs{} +\def\setoffmsgs{} +\def\checkunlbld{} +\def\ignoreunlbld{} +\newcommand*{\refcheckxrdoc}[2][]{} +\endinput +%% +%% End of file `lwarp-refcheck.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty index 7ecce7475af..f4b75be1e6f 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty @@ -20,7 +20,7 @@ \xpatchcmd{\register} {\centering} - {\begin{center}\begin{lateximage}[-register-~\packagediagramname]} + {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]} {} {\LWR@patcherror{register}{register}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty new file mode 100644 index 00000000000..97db520f2bc --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty @@ -0,0 +1,30 @@ +%% +%% This is file `lwarp-srcltx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `srcltx') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{srcltx}[2006/11/12] +\newif\ifSRCOK \SRCOKfalse +\newcommand*\srcIncludeHook[1]{} +\newcommand*\srcInputHook[1]{} +\newcommand*\MainFile{} +\def\MainFile{\jobname.tex} +\newcommand*\CurrentInput{} +\gdef\CurrentInput{\MainFile} +\newcommand\Input{} +\let\Input\input +\endinput +%% +%% End of file `lwarp-srcltx.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty new file mode 100644 index 00000000000..3f09d98ea8a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty @@ -0,0 +1,22 @@ +%% +%% This is file `lwarp-srctex.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `srctex') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{srctex}[2006/11/12] +\LWR@origRequirePackage{lwarp-srcltx} +\endinput +%% +%% End of file `lwarp-srctex.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty index 8bb138caf45..e25733f35e9 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty @@ -32,14 +32,16 @@ \newcommand{\tablelasttail}[1]{% \long\gdef\LWRST@lasttail{#1}% } - \newcommand{\tablecaption}[2][]{% - \long\gdef\LWRST@caption{\caption[#1]{#2}}% + \long\gdef\LWRST@caption{% + \ifblank{#1}% + {\caption{#2}}% + {\caption[#1]{#2}}% + }% } \let\topcaption\tablecaption \let\bottomcaption\tablecaption - \newcommand*{\LWRST@caption}{} \newcommand*{\shrinkheight}[1]{} @@ -47,7 +49,7 @@ \NewDocumentEnvironment{supertabular}{s o m} {% \LWR@traceinfo{supertabular}% -\table% +\begin{table}% \LWRST@caption% \begin{tabular}{#3}% \TabularMacro\ifdefvoid{\LWRST@firsthead}% @@ -62,7 +64,7 @@ \LWRST@lasttail% }% \end{tabular}% -\endtable% +\end{table}% \LWR@traceinfo{supertabular done}% } diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty index 4630ec117a8..ceb690c16bb 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty @@ -19,7 +19,7 @@ \LWR@ProvidesPackagePass{textcomp} \AtBeginDocument{ -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newcommand*{\LWR@HTML@textdegree}{\HTMLentity{deg}} \newcommand*{\LWR@HTML@textcelsius}{\HTMLunicode{2103}} \newcommand*{\LWR@HTML@textohm}{\HTMLunicode{2126}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty new file mode 100644 index 00000000000..4fe1c937c0c --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty @@ -0,0 +1,29 @@ +%% +%% This is file `lwarp-thinsp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `thinsp') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{thinsp} +\AtBeginDocument{ +\let\thinthinspace\relax% defined by some packages +\newcommand*{\thinthinspace}{\thinspace} +} + +\newcommand*{\stretchthinspace}{\thinspace} +\newcommand*{\stretchthinthinspace}{\thinthinspace} +\newcommand*{\stretchnegthinspace}{\negthinspace} +\endinput +%% +%% End of file `lwarp-thinsp.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty new file mode 100644 index 00000000000..3318a6466ab --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty @@ -0,0 +1,22 @@ +%% +%% This is file `lwarp-threadcol.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `threadcol') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{threadcol} +\newcommand{\setthreadname}[1]{} +\endinput +%% +%% End of file `lwarp-threadcol.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty new file mode 100644 index 00000000000..cb7be20ccfc --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-uspace.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `uspace') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{uspace} +\endinput +%% +%% End of file `lwarp-uspace.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty new file mode 100644 index 00000000000..9ff3ad3874b --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-vpe.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `vpe') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{vpe}[2012/04/18] +\endinput +%% +%% End of file `lwarp-vpe.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty new file mode 100644 index 00000000000..94ca52be2b5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty @@ -0,0 +1,26 @@ +%% +%% This is file `lwarp-xbmks.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `xbmks') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{xbmks}[2018/07/04] +\newcommand{\xbmksetup}[1]{} +\NewDocumentCommand{\pdfbookmarkx}{o m o m}{} +\NewDocumentCommand{\currentpdfbookmarkx}{m o m}{} +\NewDocumentCommand{\subpdfbookmarkx}{m o m}{} +\NewDocumentCommand{\belowpdfbookmarkx}{m o m}{} +\endinput +%% +%% End of file `lwarp-xbmks.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty index 274a299126a..6679cc98a77 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty @@ -27,7 +27,7 @@ \NewDocumentCommand{\LWR@HTML@keyboard}{ O{}m } { \begin{lateximage}* - [-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2}] + [(-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2})] [\detokenize\expandafter{#1}] \xpiano_keyboard:nn { #1 } { #2 } \end{lateximage} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty index 0906997a27a..42393ec23a6 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty @@ -37,14 +37,16 @@ \newcommand{\tablelasttail}[1]{% \long\gdef\LWRXT@lasttail{#1}% } - \newcommand{\tablecaption}[2][]{% - \long\gdef\LWRXT@caption{\caption[#1]{#2}}% + \long\gdef\LWRXT@caption{% + \ifblank{#1}% + {\caption{#2}}% + {\caption[#1]{#2}}% + }% } \let\topcaption\tablecaption \let\bottomcaption\tablecaption - \newcommand*{\LWRXT@caption}{} \newcommand*{\shrinkheight}[1]{} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty index 8f664fc5138..38d80c02841 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty @@ -17,7 +17,8 @@ %% version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{lwarp} - [2018/09/19 v0.60 Allows LaTeX to directly produce HTML5 output.] + [2018/10/13 v0.61 Allows LaTeX to directly produce HTML5 output.] + @@ -46,7 +47,7 @@ {Lwarp must find the macros pdfmdfivesum or mdfivesum.} } -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \let\LWR@mdfive\pdfmdfivesum \fi @@ -61,7 +62,7 @@ \@ifundefined{mdfivesum}{} {\let\LWR@mdfive\mdfivesum} \fi -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \RequirePackage[T1]{fontenc} \@ifpackageloaded{inputenc}{}{ @@ -74,7 +75,7 @@ \newunicodechar{⨯}{\texttimes} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newunicodechar{ff}{ff}% the first arguments are ligatures \newunicodechar{fi}{fi} \newunicodechar{fl}{fl} @@ -102,6 +103,23 @@ \RequirePackage{ifplatform}% sense op-system platform \RequirePackage{letltxmacro} +\let\LWRpercent\@percentchar +\catcode`\$=12 +\def\LWRdollar{$} +\catcode`\$=3 +\catcode`\&=12 +\def\LWRamp{&} +\catcode`\&=4 +\catcode`\&=0 +&catcode`&\=12 +&def&LWRbackslash{\} +&catcode`&\=0 +\catcode`\&=4 +\catcode`\#=12 +\def\LWRhash{#} +\catcode`\#=6 +\def\LWRopquote{'} +\def\LWRopseq{\space\LWRamp\LWRamp\space\space} \newbool{usingOSWindows} \boolfalse{usingOSWindows} @@ -113,6 +131,8 @@ { \booltrue{usingOSWindows} \renewcommand*{\OSPathSymbol}{\@backslashchar} +\def\LWRopquote{"} +\def\LWRopseq{\space\LWRamp\space\space} } \ifwindows \LWR@setOSWindows @@ -122,6 +142,8 @@ \RequirePackage{kvoptions} \SetupKeyvalOptions{family=LWR,prefix=LWR@} +\newcommand{\lwarpsetup}[1]{\setkeys{LWR}{#1}} + \newbool{warpingprint} \newbool{warpingHTML} \newbool{mathjax} @@ -181,6 +203,10 @@ \DeclareStringOption[]{HTMLFilename} +\DeclareStringOption[]{PrintLatexCmd} + +\DeclareStringOption[]{HTMLLatexCmd} + \DeclareStringOption[]{PrintIndexCmd} \DeclareStringOption[]{HTMLIndexCmd} @@ -329,8 +355,9 @@ or is superceded by another package. For a possible alternative, see package(s) #2.} }{}% } -\LWR@earlyloadnever{ae}{lmodern} -\LWR@earlyloadnever{aecc}{lmodern} +\LWR@earlyloadnever{ae}{cm-super, lmodern} +\LWR@earlyloadnever{aecompl}{cm-super, lmodern} +\LWR@earlyloadnever{aecc}{cm-super, lmodern} \LWR@earlyloadnever{boxedminipage}{boxedminipage2e} \LWR@earlyloadnever{caption2}{caption} \LWR@earlyloadnever{fancyheadings}{fancyhdr} @@ -397,10 +424,13 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{chemgreek} \LWR@loadafter{chemmacros} \LWR@loadafter{chemnum} +\LWR@loadafter{chkfloat} \LWR@loadafter{cite} +\LWR@loadafter{cmdtrack} \LWR@loadafter{color} \LWR@loadafter{colortbl} \LWR@loadafter{continue} +\LWR@loadafter{copyrightbox} \LWR@notmemoirloadafter{crop} \LWR@loadafter{cuted} \LWR@loadafter{cutwin} @@ -408,6 +438,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{dblfnote} \LWR@notmemoirloadafter{dcolumn} \LWR@loadafter{diagbox} +\LWR@loadafter{dprogress} \LWR@loadafter{draftcopy} \LWR@loadafter{draftfigure} \LWR@loadafter{draftwatermark} @@ -421,6 +452,7 @@ For a possible alternative, see package(s) #2.} \LWR@notmemoirloadafter{enumerate} \LWR@loadafter{enumitem} \LWR@notmemoirloadafter{epigraph} +\LWR@loadafter{epsfig} \LWR@loadafter{epstopdf} \LWR@loadafter{epstopdf-base} \LWR@loadafter{errata} @@ -498,6 +530,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{ltxgrid} \LWR@loadafter{ltxtable} \LWR@loadafter{lua-check-hyphen} +\LWR@loadafter{lua-visual-debug} \LWR@loadafter{luacolor} \LWR@loadafter{luatodonotes} \LWR@loadafter{magaz} @@ -541,6 +574,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{pdfrender} \LWR@loadafter{pdflscape} \LWR@loadafter{pdfpages} +\LWR@loadafter{pdfprivacy} \LWR@loadafter{pdfsync} \LWR@loadafter{pdftricks} \LWR@loadafter{pdfx} @@ -550,12 +584,16 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{prelim2e} \LWR@loadafter{prettyref} \LWR@loadafter{preview} +\LWR@loadafter{psfrag} +\LWR@loadafter{psfragx} \LWR@loadafter{pst-eps} +\LWR@loadafter{pstool} \LWR@loadafter{pstricks} \LWR@loadafter{quotchap} \LWR@loadafter{quoting} \LWR@loadafter{ragged2e} \LWR@loadafter{realscripts} +\LWR@loadafter{refcheck} \LWR@loadafter{register} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} @@ -586,6 +624,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{soulpos} \LWR@loadafter{soulutf8} \LWR@loadafter{splitidx} +\LWR@loadafter{srcltx} +\LWR@loadafter{srctex} \LWR@loadafter{stabular} \LWR@loadafter{stfloats} \LWR@loadafter{subfig} @@ -599,6 +639,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{textfit} \LWR@loadafter{textpos} \LWR@loadafter{theorem} +\LWR@loadafter{thinsp} +\LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{thumb} \LWR@loadafter{thumbs} @@ -617,23 +659,25 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{trimclip} \LWR@loadafter{trivfloat} \LWR@loadafter{turnthepage} -\LWR@loadafter{twoup-gen} \LWR@loadafter{ulem} \LWR@loadafter{underscore} \LWR@loadafter{units} \LWR@loadafter{upref} \LWR@loadafter{url} +\LWR@loadafter{uspace} \LWR@loadafter{varioref}% no lwarp package provided \LWR@notmemoirloadafter{verse} \LWR@loadafter{vertbars} \LWR@loadafter{vmargin} \LWR@loadafter{vowel} +\LWR@loadafter{vpe} \LWR@loadafter{vwcol} \LWR@loadafter{wallpaper} \LWR@loadafter{wasysym} \LWR@loadafter{watermark} \LWR@loadafter{widows-and-orphans} \LWR@loadafter{wrapfig} +\LWR@loadafter{xbmks} \LWR@loadafter{xcolor} \LWR@loadafter{xellipsis} \LWR@loadafter{xfrac} @@ -716,8 +760,6 @@ top=1in,bottom=1in,% \RequirePackage{xifthen} -\RequirePackage{xstring} - \RequirePackage{verbatim} \RequirePackage{calc} @@ -731,6 +773,8 @@ top=1in,bottom=1in,% \begin{warpall} +\RequirePackage{xstring} + \RequirePackage{environ} \end{warpall} @@ -813,6 +857,17 @@ top=1in,bottom=1in,% \LWR@lookforpackagename{7}% \LWR@lookforpackagename{8}% \LWR@lookforpackagename{9}% +\LWR@lookforpackagename{10}% +\LWR@lookforpackagename{11}% +\LWR@lookforpackagename{12}% +\LWR@lookforpackagename{13}% +\LWR@lookforpackagename{14}% +\LWR@lookforpackagename{15}% +\LWR@lookforpackagename{16}% +\LWR@lookforpackagename{17}% +\LWR@lookforpackagename{18}% +\LWR@lookforpackagename{19}% +\LWR@lookforpackagename{20}% \IfValueTF{#1}% {% options given \IfValueTF{#3}% version given? @@ -940,7 +995,6 @@ top=1in,bottom=1in,% \end{warpHTML} - \begin{warpall} \newbool{LWR@tracinglwarp} @@ -1117,6 +1171,7 @@ top=1in,bottom=1in,% \chardef\LWR@origpound=`\# \let\LWR@origcomma\, \let\LWR@origthinspace\thinspace +\let\LWR@orignegthinspace\negthinspace \let\LWR@origtilde~ \let\LWR@origenskip\enskip \let\LWR@origquad\quad @@ -1212,7 +1267,7 @@ top=1in,bottom=1in,% \begin{warpHTML} \AtBeginDocument{ \LetLtxMacro\LWR@origt\t -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \LetLtxMacro\LWR@origequalaccent\= \LetLtxMacro\LWR@origdotaccent\. \LetLtxMacro\LWR@origu\u @@ -1230,7 +1285,7 @@ top=1in,bottom=1in,% \fi \def\LWR@t#1#2{#1\HTMLunicode{0361}#2} \renewcommand*{\t}[1]{\LWR@t#1} -\ifPDFTeX +\ifPDFTeX% pdflatex or dvi latex \newcommand*{\LWR@restoreorigaccents}{% \LetLtxMacro\=\LWR@origequalaccent% \LetLtxMacro\.\LWR@origdotaccent% @@ -1251,11 +1306,22 @@ top=1in,bottom=1in,% + +\excludecomment{LWRwriteconf} \begin{warpprint} -\typeout{lwarp: generating configuration files} +\fullexpandarg% +\IfSubStr*{\jobname}{-pstool} + { + \typeout{lwarp: jobname with -pstool is found,}% + \typeout{lwarp: \space\space not generating configuration files.}% + } + { + \typeout{lwarp: generating configuration files} + \includecomment{LWRwriteconf} + } \end{warpprint} -\begin{warpprint} +\begin{LWRwriteconf} \immediate\openout\LWR@quickfile=\jobname_html.tex \immediate\write\LWR@quickfile{% \detokenize{\PassOptionsToPackage}% @@ -1265,28 +1331,12 @@ top=1in,bottom=1in,% \detokenize{\input}\string{\jobname.tex\string }% } \immediate\closeout\LWR@quickfile -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \newcommand*{\LWR@lwarpconfversion}{1}% also in lwarpmk.lua -\catcode`\$=12 -\def\LWR@dollarchar{$} -\catcode`\$=3 -\catcode`\&=12 -\def\LWR@ampersand{&} -\catcode`\&=4 -\ifbool{usingOSWindows}{ - \def\LWR@opquote{"} -}{ - \def\LWR@opquote{'} -} -\ifbool{usingOSWindows}{ - \def\LWR@opsequence{\LWR@ampersand} -}{ - \def\LWR@opsequence{\LWR@ampersand\LWR@ampersand} -} \ifshellescape \def\LWR@shellescapecmd{--shell-escape } \else @@ -1296,7 +1346,7 @@ top=1in,bottom=1in,% #1 \LWR@shellescapecmd \jobname#2% } \newcommand*{\LWR@addcompilecmd}[2]{% - \space \LWR@opsequence \space\space + \LWRopseq #1 \jobname#2% } \newcommand*{\LWR@unknownengine}{% @@ -1306,9 +1356,9 @@ top=1in,bottom=1in,% } \newcommand*{\LWR@latexmkvar}[2]{% -e - \LWR@opquote% - \LWR@dollarchar #1=q/#2/% - \LWR@opquote + \LWRopquote% + \LWRdollar #1=q/#2/% + \LWRopquote } \newcommand*{\LWR@latexmkcmd}[1]{% latexmk \space \LWR@shellescapecmd \space #1 \space @@ -1358,53 +1408,53 @@ top=1in,bottom=1in,% } \fi \fi% \ifpdf - \def\LWR@printlatexcmd{\LWR@latexcmd \space \jobname} - \def\LWR@HTMLlatexcmd{\LWR@latexcmd \space \jobname_html} + \def\LWR@tempprintlatexcmd{\LWR@latexcmd \space \jobname} + \def\LWR@tempHTMLlatexcmd{\LWR@latexcmd \space \jobname_html} }% latexmk {% not latexmk \ifpdf \ifPDFTeX - \def\LWR@printlatexcmd{\LWR@compilecmd{pdflatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{pdflatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} \else \ifLuaTeX - \def\LWR@printlatexcmd{\LWR@compilecmd{lualatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{lualatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}} \else \LWR@unknownengine \fi \fi \else% \ifpdf \ifXeTeX - \def\LWR@printlatexcmd{\LWR@compilecmd{xelatex}{}} - \def\LWR@HTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} + \def\LWR@tempprintlatexcmd{\LWR@compilecmd{xelatex}{}} + \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} \else \ifbool{LWR@dvipdfm}{ - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfm}{} } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfm}{_html} } }{ \ifbool{LWR@dvipdfmx}{ - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfmx}{} } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfmx}{_html} } }{% dvips - \def\LWR@printlatexcmd{% + \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvips}{} \LWR@addcompilecmd{ps2pdf}{}.ps } - \def\LWR@HTMLlatexcmd{% + \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvips}{_html} \LWR@addcompilecmd{ps2pdf}{_html}.ps @@ -1414,7 +1464,13 @@ top=1in,bottom=1in,% \fi% \ifXeTeX \fi% \ifpdf }% latexmk -\newcommand{\LWR@writeconf}[1]{% + \ifdefempty{\LWR@PrintLatexCmd}{ + \def\LWR@PrintLatexCmd{\LWR@tempprintlatexcmd} + }{} + \ifdefempty{\LWR@HTMLLatexCmd}{ + \def\LWR@HTMLLatexCmd{\LWR@tempHTMLlatexcmd} + }{} +\newcommand{\LWR@writeconf}[1]{ \ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} \immediate\openout\LWR@quickfile=#1 \immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]} @@ -1427,8 +1483,8 @@ top=1in,bottom=1in,% \immediate\write\LWR@quickfile{homehtmlfilename = [[\HomeHTMLFilename]]} \immediate\write\LWR@quickfile{htmlfilename = [[\HTMLFilename]]} \immediate\write\LWR@quickfile{latexmk = [[\ifbool{LWR@latexmk}{true}{false}]]} -\immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@printlatexcmd]]} -\immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLlatexcmd]]} +\immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@PrintLatexCmd]]} +\immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLLatexCmd]]} \immediate\write\LWR@quickfile{printindexcmd = [[\LWR@PrintIndexCmd]]} \immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]} \immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]} @@ -1438,22 +1494,22 @@ top=1in,bottom=1in,% } -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{lwarpmk.conf}} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.css} /* CSS stylesheet for the LaTeX lwarp package @@ -1681,6 +1737,11 @@ div.epigraph p, div.dictum p { padding: .5ex ; margin: 0ex ;} div.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;} div.dictumauthor { font-style:italic } +/* copyrightbox package */ +div.copyrightbox { margin: .5ex .5em } +div.copyrightbox p {margin: 0px .5em ; padding: 0px} +div.copyrightboxnote {text-align: left ; font-size: 60%} + /* lettrine package: */ span.lettrine { font-size: 4ex ; float: left ; } span.lettrinetext { font-variant: small-caps ; } @@ -1818,6 +1879,7 @@ div.titlepage { } .footnotes { + text-align: left ; font-size: .85em ; margin: 3ex 2em 0ex 2em ; border-top: 1px solid silver ; @@ -2272,6 +2334,8 @@ figure.subfigure, figure.subtable { figcaption .minipage { margin:0 ; padding: 0 } div.minipage figure { border: none ; box-shadow: none ; } +div.minipage figure.table { margin: 0ex } +div.minipage div.footnotes { margin: 1ex 2em 0ex 2em } div.floatrow { text-align: center; } @@ -2834,10 +2898,10 @@ nav.botnavigation { display:none; } nav.botnavigation { display:block } } \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_sagebrush.css} @import url("lwarp.css") ; @@ -3067,10 +3131,10 @@ nav.sidetoc a:hover { } \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_formal.css} @import url("lwarp.css") ; @@ -3267,10 +3331,10 @@ nav.botnavigation { border-top: 1px solid black ; } \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{sample_project.css} /* ( --- Start of project.css --- ) */ /* ( --- A sample project-specific CSS file for lwarp --- ) */ @@ -3285,10 +3349,10 @@ nav.botnavigation { /* ( --- End of project.css --- ) */ \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.ist} preamble "\\begin{theindex} @@ -3310,10 +3374,10 @@ delim_r "} -- \\hyperindexref{" delim_t "}" page_compositor "." \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp.xdy} (require "tex/inputenc/latin.xdy") (merge-rule "\\PS *" "Postscript") @@ -3336,9 +3400,9 @@ page_compositor "." "see" "seealso")) \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_one_limage.txt} @echo off pdfseparate -f %1 -l %1 %4_html.pdf lateximages\lateximagetemp-%%d.pdf @@ -3348,10 +3412,10 @@ del lateximages\%3.pdf del lateximages\lateximagetemp-%1.pdf exit \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} -\begin{warpprint} +\begin{LWRwriteconf} \begin{filecontents*}{lwarp_mathjax.txt} <!-- https://groups.google.com/forum/#!topic/ mathjax-users/jUtewUcE2bY --> @@ -3460,7 +3524,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- --> \end{filecontents*} -\end{warpprint} +\end{LWRwriteconf} \begin{LWR@createlwarpmk} @@ -3469,7 +3533,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.60" +printversion = "v0.61" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () @@ -4448,12 +4512,12 @@ end -- not --version \begin{warpall} \newbool{LWR@dynamicmath} \boolfalse{LWR@dynamicmath} -\newcommand{\StartDynamicMath}{% -\LWR@traceinfo{StartDynamicMath}% +\newcommand{\inlinemathother}{% +\LWR@traceinfo{inlinemathother}% \booltrue{LWR@dynamicmath}% } -\newcommand{\StopDynamicMath}{% -\LWR@traceinfo{StopDynamicMath}% +\newcommand{\inlinemathnormal}{% +\LWR@traceinfo{inlinemathnormal}% \boolfalse{LWR@dynamicmath}% } \end{warpall} @@ -5413,7 +5477,7 @@ end -- not --version \StrSubstitute{\LWR@thisnewfilename}{----}{-}[\LWR@thisnewfilename] \StrSubstitute{\LWR@thisnewfilename}{---}{-}[\LWR@thisnewfilename] \StrSubstitute{\LWR@thisnewfilename}{--}{-}[\LWR@thisnewfilename] -\ifPDFTeX% +\ifPDFTeX% pdflatex or dvi latex \ifdefstring{\inputencodingname}{utf8}{% \StrSubstitute{\LWR@thisnewfilename}{—}{-}[\LWR@thisnewfilename] \StrSubstitute{\LWR@thisnewfilename}{–}{-}[\LWR@thisnewfilename] @@ -5520,7 +5584,7 @@ end -- not --version \LWR@stoppars -\ifPDFTeX% +\ifPDFTeX% pdflatex or dvi latex \ifdefstring{\inputencodingname}{utf8}{% \LWR@filestart{ — #1}% there is an EMdash in front of the #1 }{ @@ -6685,6 +6749,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% } \newcommand*{\LWR@closetabledatacell}{% +\LWR@stoppars% \global\booltrue{LWR@intabularmetadata}% \ifbool{LWR@exitingtabular}{}% {% not exiting tabular @@ -8767,7 +8832,7 @@ autopage-\theLWR@currentautosec% \NewDocumentCommand{\listof}{m +m}{% \@ifundefined{l@#1}{% - \csdef{l@#1}[2]{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}% + \csdef{l@#1}##1##2{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}% }{}% \LWR@subtableofcontents{\@nameuse{ext@#1}}{#2} \expandafter\newwrite\csname tf@\csname ext@#1\endcsname\endcsname @@ -8945,15 +9010,15 @@ autopage-\theLWR@currentautosec% } \newcommand{\LWR@hyperindexrefnullified}{% -\renewcommand{\emph}[1]{\LWR@HTMLemph{\LWR@doindexentry{##1}}}% -\renewcommand{\textbf}[1]{\LWR@HTMLtextbf{\LWR@doindexentry{##1}}}% -\renewcommand{\textrm}[1]{\LWR@HTMLtextrm{\LWR@doindexentry{##1}}}% -\renewcommand{\textsf}[1]{\LWR@HTMLtextsf{\LWR@doindexentry{##1}}}% -\renewcommand{\texttt}[1]{\LWR@HTMLtexttt{\LWR@doindexentry{##1}}}% -\renewcommand{\textup}[1]{\LWR@HTMLtextup{\LWR@doindexentry{##1}}}% -\renewcommand{\textsc}[1]{\LWR@HTMLtextsc{\LWR@doindexentry{##1}}}% -\renewcommand{\textit}[1]{\LWR@HTMLtextit{\LWR@doindexentry{##1}}}% -\renewcommand{\textsl}[1]{\LWR@HTMLtextsl{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\emph}[1]{\LWR@HTMLemph{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textbf}[1]{\LWR@HTMLtextbf{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textrm}[1]{\LWR@HTMLtextrm{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsf}[1]{\LWR@HTMLtextsf{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\texttt}[1]{\LWR@HTMLtexttt{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textup}[1]{\LWR@HTMLtextup{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsc}[1]{\LWR@HTMLtextsc{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textit}[1]{\LWR@HTMLtextit{\LWR@doindexentry{##1}}}% +\renewrobustcmd{\textsl}[1]{\LWR@HTMLtextsl{\LWR@doindexentry{##1}}}% } \newcommand{\hyperindexref}[1]{% @@ -9023,6 +9088,7 @@ autopage-\theLWR@currentautosec% \let\hfilneg\LWR@orighfilneg% \let\,\LWR@origcomma% disable HTML short unbreakable space \let\thinspace\LWR@origthinspace% disable HTML short unbreakable space +\let\negthinspace\LWR@orignegthinspace% disable HTML negative short unbreakable space \let\textellipsis\LWR@origtextellipsis% \let\textless\LWR@origtextless% \let\textgreater\LWR@origtextgreater% @@ -10725,14 +10791,13 @@ width:\LWR@printlength{\LWR@tempwidth}% \begin{warpHTML} - - +\AtBeginDocument{ \renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space \renewrobustcmd*{\thinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space - +\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space \renewrobustcmd*{~}{\HTMLentity{nbsp}} - \renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}} +} \newrobustcmd*{\LWR@HTML@normalsize}{} \LWR@formatted{normalsize} |