diff options
30 files changed, 3552 insertions, 1558 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua index 4136f1ff596..964be836537 100755 --- a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua +++ b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua @@ -2,7 +2,8 @@ -- Copyright 2016-2018 Brian Dunn -printversion = "v0.58" +printversion = "v0.59" +requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -29,6 +30,7 @@ lwarpmk pdftohtml [-p project]: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. +lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl* lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -39,37 +41,6 @@ lwarpmk --help: Print this help message. -- printconf () end --- function printconf () --- -- --- -- Print the format of the configuration file lwarpmk.conf: --- -- --- print ( [[ --- An example lwarpmk.conf or <project>.lwarpmkconf project file: --- -- --- opsystem = "Unix" (or "Windows") --- latexname = "pdflatex" (or "lualatex", or "xelatex") --- sourcename = "projectname" (the source-code filename w/o .tex) --- homehtmlfilename = "index" (or perhaps the project name) --- htmlfilename = "" (or "projectname" - filename prefix) --- latexmk = "false" (or "true" to use latexmk to build PDFs) --- shellescape = "false" --- printindexcmd = "makeindex -s lwarp.ist <name>.idx" --- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx" --- latexmkindexcmd = "makeindex -s lwarp.ist" --- -- indexprog = "makeindex" or "xindy" --- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist) --- -- xindylanguge = "english" (use a language supported by xindy) --- -- xindycodepage = "utf8" (use a codepage supported by xindy) --- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy) --- glossarycmd = "makeglossaries" --- pdftotextenc = "UTF-8" (use an encoding supported by pdftotext) --- -- --- Filenames must contain only letters, numbers, underscore, or dash. --- Values must be in upright "quotes". --- --- ]] ) ; --- end - function splitfile (destfile,sourcefile) -- -- Split one large sourcefile into a number of files, @@ -107,6 +78,11 @@ function cvalueerror ( line, linenum , cvalue ) os.exit(1) ; end +function ignoreconf () +-- Global argument index +argindex = 2 +end + function loadconf () -- -- Load settings from the project's "lwarpmk.conf" file: @@ -124,9 +100,11 @@ if ( arg[argindex] == "-p" ) then argindex = argindex + 1 end -- Additional defaults: +confversion = "0" opsystem = "Unix" latexmk = "false" -shellescape = "false" +printlatexcmd = "" +HTMLlatexcmd = "" printindexcmd = "" HTMLindexcmd = "" latexmkindexcmd = "" @@ -159,11 +137,11 @@ else -- file exists -- Read the file: print ("lwarpmk: Reading " .. conffile ..".") local cfile = io.open(conffile) --- Scan each line: +-- Scan each line, parsing each line as: name = [[string]] local linenum = 0 for line in cfile:lines() do -- scan lines linenum = linenum + 1 -i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ; +i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ; -- Error if incorrect enclosing characters: if ( i == nil ) then print ("lwarpmk: ===") @@ -173,48 +151,25 @@ if ( i == nil ) then -- printconf () ; os.exit(1) ; end -- nil -if ( cvarname == "opsystem" ) then +if ( cvarname == "confversion" ) then + confversion = cvalue +elseif ( cvarname == "opsystem" ) then -- Verify choice of opsystem: if ( (cvalue == "Unix") or (cvalue == "Windows") ) then opsystem = cvalue else cvalueerror ( line, linenum , cvalue ) end -elseif ( cvarname == "latexname" ) then - -- Verify choice of LaTeX compiler: - if ( - (cvalue == "pdflatex") or - (cvalue == "xelatex") or - (cvalue == "lualatex") - ) then - latexname = cvalue - else - cvalueerror ( line, linenum , cvalue ) - end elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue -elseif ( cvarname == "shellescape" ) then shellescape = cvalue +elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue +elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue --- to be removed: --- elseif ( cvarname == "indexprog" ) then --- -- Verify choice of indexing program: --- if ( --- (cvalue == "makeindex") or --- (cvalue == "xindy") --- ) then --- indexprog = cvalue --- else --- cvalueerror ( line, linenum , cvalue ) --- end --- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue --- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue --- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue --- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue else print ("lwarpmk: ===") @@ -234,7 +189,7 @@ end -- file exists -- This could happen if a local copy of lwarp has recently been recompiled. if sourcename=="lwarp" then print ("lwarpmk: ===") - print ("lwarpmk: Lwarp has recently been recompiled in this directory,") + print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,") print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.") print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.") print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,") @@ -269,9 +224,33 @@ elseif opsystem=="Windows" then -- For Windows cmdgroupclosename = "" seqname = " & " bgname = "" -else print ( "lwarpmk: Select Unix or Windows for opsystem" ) +else + print ("lwarpmk: ===") + print ("lwarpmk: Select Unix or Windows for opsystem." ) + print ("lwarpmk: ===") + os.exit(1) end --- for Windows - +-- Warning if the operating system does not appear to be correct, +-- in case files were transferred to another system. +if ( (package.config:sub(1,1)) ~= dirslash ) then + print ("lwarpmk: ===") + print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." ) + print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," ) + print ("lwarpmk: recompile the original document using xe/lua/pdflatex." ) + print ("lwarpmk: ") + print ("lwarpmk: lwarpmk shall attempt to continue...") + print ("lwarpmk: ===") +end +-- Error if the configuration file's version is not current: +if ( confversion ~= requiredconfversion ) then + print ("lwarpmk: ===") + print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" ) + print ("lwarpmk: must be updated. To update the configuration files," ) + print ("lwarpmk: recompile "..sourcename..".tex using xe/lua/pdflatex," ) + print ("lwarpmk: then use lwarpmk again.") + print ("lwarpmk: ===") + os.exit(1) +end end -- loadconf function executecheckerror ( executecommands , errormessage ) @@ -310,35 +289,29 @@ io.close(fsource) return false end -function onetime (fsuffix) +function onetime (latexcmd, fsuffix) -- -- Compile one time, return true if should compile again. -- fsuffix is "" for print, "_html" for HTML output. -- -print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix) -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end +print("lwarpmk: Compiling with: " .. latexcmd) executecheckerror ( - latexname .. thisshellescape .. sourcename..fsuffix , + latexcmd , "Compile error." ) return (reruntoget(sourcename .. fsuffix .. ".log") ) ; end -function manytimes (fsuffix) +function manytimes (latexcmd, fsuffix) -- -- Compile up to five times. -- fsuffix is "" for print, "_html" for HTML output -- -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then end end end end end end @@ -370,7 +343,7 @@ end function removeaux () -- -- Remove auxiliary files: --- All aux files are removed since there may be many bbl*.aux files. +-- All .aux files are removed since there may be many bbl*.aux files. -- os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. @@ -378,6 +351,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. " *.idx " .. " *.ind " .. + sourcename ..".ps " .. sourcename .."_html.ps " .. sourcename ..".log " .. sourcename .. "_html.log " .. sourcename ..".gl* " .. sourcename .. "_html.gl* " .. " *_html_inc.* " @@ -603,34 +577,22 @@ if ( pagezerowarning == true ) then end -- pagezerowarning end -- function -function compilelatexmk ( fsuffix ) +function convertepstopdf () -- --- Use latexmk to compile source and index: --- fsuffix is "" for print, or "_html" for HTML +-- Converts EPS files to PDF files. +-- The filenames are arg[argindex] and up. +-- arg[1] is the command "pdftosvg". -- --- Maybe select the shell-escape option: -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end --- The recorder option is required to detect changes in <project>.tex --- while we are loading <project>_html.tex. -executecheckerror ( - "latexmk -pdf -dvi- -ps- -recorder " - .. "-e " - .. opquote - .. "$makeindex = q/" -- $ - .. latexmkindexcmd - .. " /" - .. opquote - .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" " - .. sourcename..fsuffix ..".tex" - , - "Compile error." -) -end -- function +ignoreconf () +for i = argindex , #arg do + if (lfs.attributes(arg[i],"mode")==nil) then + print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") + else + print ("lwarpmk: Converting \"" .. arg[i] .. "\"") + os.execute ( "epstopdf " .. arg[i] ) + end -- if +end -- do +end --function function convertpdftosvg () -- @@ -638,6 +600,7 @@ function convertpdftosvg () -- The filenames are arg[argindex] and up. -- arg[1] is the command "pdftosvg". -- +ignoreconf () for i = argindex , #arg do if (lfs.attributes(arg[i],"mode")==nil) then print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") @@ -674,7 +637,11 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack if arg[1] == "print" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("") + print ("lwarpmk: Compiling with: " .. printlatexcmd) + executecheckerror ( + printlatexcmd , + "Compile error." + ) print ("lwarpmk: Done.") else -- not latexmk verifyfileexists (sourcename .. ".tex") ; @@ -687,7 +654,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("") + manytimes(printlatexcmd, "") print ("lwarpmk: Done.") ; else print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ; @@ -699,7 +666,7 @@ end -- not latexmk elseif arg[1] == "print1" then loadconf () verifyfileexists (sourcename .. ".tex") ; - onetime("") + onetime(printlatexcmd, "") print ("lwarpmk: Done.") ; -- lwarpmk printindex: @@ -728,7 +695,11 @@ updateanddone () elseif arg[1] == "html" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("_html") + print ("lwarpmk: Compiling with: " .. HTMLlatexcmd) + executecheckerror ( + HTMLlatexcmd , + "Compile error." + ) pdftohtml () print ("lwarpmk: Done.") else -- not latexmk @@ -742,7 +713,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("_html") + manytimes(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") else @@ -755,7 +726,7 @@ end -- not latexmk elseif arg[1] == "html1" then loadconf () verifyfileexists ( sourcename .. ".tex" ) ; - onetime("_html") + onetime(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") @@ -811,13 +782,14 @@ print ("lwarpmk: Done.") -- lwarpmk cleanall -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl* --- and also project.pdf, *.html +-- and also project.pdf, project.dvi, *.html elseif arg[1] == "cleanall" then loadconf () removeaux () os.execute ( rmname .. " " .. sourcename .. ".pdf " .. sourcename .. "_html.pdf " .. + sourcename .. ".dvi " .. sourcename .. "_html.dvi " .. "*.html" ) print ("lwarpmk: Done.") @@ -830,8 +802,14 @@ loadconf () os.execute ( rmname .. " lateximages/*" ) print ("lwarpmk: Done.") +-- lwarpmk epstopdf <list of file names> +-- Convert EPS files to PDF using epstopdf +elseif arg[1] == "epstopdf" then +convertepstopdf () +print ("lwarpmk: Done.") + -- lwarpmk pdftosvg <list of file names> --- Convert PDf files to SVG using pdftocairo +-- Convert PDF files to SVG using pdftocairo elseif arg[1] == "pdftosvg" then convertpdftosvg () print ("lwarpmk: Done.") diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index 0d8b84d17cd..2de53dbd7e0 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,12 +1,12 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 48522 2018-08-31 04:03:37Z preining $ +# $Id: tlmgr.pl 48598 2018-09-06 15:01:34Z preining $ # # Copyright 2008-2018 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -my $svnrev = '$Revision: 48522 $'; -my $datrev = '$Date: 2018-08-31 06:03:37 +0200 (Fri, 31 Aug 2018) $'; +my $svnrev = '$Revision: 48598 $'; +my $datrev = '$Date: 2018-09-06 17:01:34 +0200 (Thu, 06 Sep 2018) $'; my $tlmgrrevision; my $tlmgrversion; my $prg; @@ -9228,46 +9228,44 @@ only one enabled (as is the case by default): /var/www/norbert/tlnet Ok. Let's add the C<tlcontrib> repository (this is a real -repository, hosted at L<http://tlcontrib.metatex.org>, maintained by -Taco Hoekwater et al.), with the tag C<tlcontrib>: +repository hosted at L<http://contrib.texlive.info>) with the tag C<tlcontrib>: - $ tlmgr repository add http://tlcontrib.metatex.org/2012 tlcontrib + $ tlmgr repository add http://contrib.texlive.info/current tlcontrib Check the repository list again: $ tlmgr repository list List of repositories (with tags if set): - http://tlcontrib.metatex.org/2012 (tlcontrib) + http://contrib.texlive.info/current (tlcontrib) /var/www/norbert/tlnet (main) -Now we specify a pinning entry to get the package C<context> from +Now we specify a pinning entry to get the package C<classico> from C<tlcontrib>: - $ tlmgr pinning add tlcontrib context + $ tlmgr pinning add tlcontrib classico -Check that we can find C<context>: +Check that we can find C<classico>: - $ tlmgr show context - tlmgr: package repositories: + $ tlmgr show classico + package: classico ... - package: context - repository: tlcontrib/26867 + shortdesc: URW Classico fonts ... -- install C<context>: +- install C<classico>: - $ tlmgr install context + $ tlmgr install classico tlmgr: package repositories: ... - [1/1, ??:??/??:??] install: context @tlcontrib [ + [1/1, ??:??/??:??] install: classico @tlcontrib [737k] -In the output here you can see that the C<context> package has been +In the output here you can see that the C<classico> package has been installed from the C<tlcontrib> repository (C<@tlcontrib>). Finally, C<tlmgr pinning> also supports removing certain or all packages from a given repository: - $ tlmgr pinning remove tlcontrib context # remove just context + $ tlmgr pinning remove tlcontrib classico # remove just classico $ tlmgr pinning remove tlcontrib --all # take nothing from tlcontrib A summary of the C<tlmgr pinning> actions is given above. @@ -9743,7 +9741,7 @@ This script and its documentation were written for the TeX Live distribution (L<http://tug.org/texlive>) and both are licensed under the GNU General Public License Version 2 or later. -$Id: tlmgr.pl 48522 2018-08-31 04:03:37Z preining $ +$Id: tlmgr.pl 48598 2018-09-06 15:01:34Z preining $ =cut # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt index 7f03070783a..d12d5293fb0 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.58 README.txt +LaTeX lwarp package v0.59 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 e37c1d09dff..c9d1e8f2cd5 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/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua index 4136f1ff596..964be836537 100755 --- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua +++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua @@ -2,7 +2,8 @@ -- Copyright 2016-2018 Brian Dunn -printversion = "v0.58" +printversion = "v0.59" +requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -29,6 +30,7 @@ lwarpmk pdftohtml [-p project]: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. +lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl* lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -39,37 +41,6 @@ lwarpmk --help: Print this help message. -- printconf () end --- function printconf () --- -- --- -- Print the format of the configuration file lwarpmk.conf: --- -- --- print ( [[ --- An example lwarpmk.conf or <project>.lwarpmkconf project file: --- -- --- opsystem = "Unix" (or "Windows") --- latexname = "pdflatex" (or "lualatex", or "xelatex") --- sourcename = "projectname" (the source-code filename w/o .tex) --- homehtmlfilename = "index" (or perhaps the project name) --- htmlfilename = "" (or "projectname" - filename prefix) --- latexmk = "false" (or "true" to use latexmk to build PDFs) --- shellescape = "false" --- printindexcmd = "makeindex -s lwarp.ist <name>.idx" --- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx" --- latexmkindexcmd = "makeindex -s lwarp.ist" --- -- indexprog = "makeindex" or "xindy" --- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist) --- -- xindylanguge = "english" (use a language supported by xindy) --- -- xindycodepage = "utf8" (use a codepage supported by xindy) --- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy) --- glossarycmd = "makeglossaries" --- pdftotextenc = "UTF-8" (use an encoding supported by pdftotext) --- -- --- Filenames must contain only letters, numbers, underscore, or dash. --- Values must be in upright "quotes". --- --- ]] ) ; --- end - function splitfile (destfile,sourcefile) -- -- Split one large sourcefile into a number of files, @@ -107,6 +78,11 @@ function cvalueerror ( line, linenum , cvalue ) os.exit(1) ; end +function ignoreconf () +-- Global argument index +argindex = 2 +end + function loadconf () -- -- Load settings from the project's "lwarpmk.conf" file: @@ -124,9 +100,11 @@ if ( arg[argindex] == "-p" ) then argindex = argindex + 1 end -- Additional defaults: +confversion = "0" opsystem = "Unix" latexmk = "false" -shellescape = "false" +printlatexcmd = "" +HTMLlatexcmd = "" printindexcmd = "" HTMLindexcmd = "" latexmkindexcmd = "" @@ -159,11 +137,11 @@ else -- file exists -- Read the file: print ("lwarpmk: Reading " .. conffile ..".") local cfile = io.open(conffile) --- Scan each line: +-- Scan each line, parsing each line as: name = [[string]] local linenum = 0 for line in cfile:lines() do -- scan lines linenum = linenum + 1 -i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ; +i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ; -- Error if incorrect enclosing characters: if ( i == nil ) then print ("lwarpmk: ===") @@ -173,48 +151,25 @@ if ( i == nil ) then -- printconf () ; os.exit(1) ; end -- nil -if ( cvarname == "opsystem" ) then +if ( cvarname == "confversion" ) then + confversion = cvalue +elseif ( cvarname == "opsystem" ) then -- Verify choice of opsystem: if ( (cvalue == "Unix") or (cvalue == "Windows") ) then opsystem = cvalue else cvalueerror ( line, linenum , cvalue ) end -elseif ( cvarname == "latexname" ) then - -- Verify choice of LaTeX compiler: - if ( - (cvalue == "pdflatex") or - (cvalue == "xelatex") or - (cvalue == "lualatex") - ) then - latexname = cvalue - else - cvalueerror ( line, linenum , cvalue ) - end elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue -elseif ( cvarname == "shellescape" ) then shellescape = cvalue +elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue +elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue --- to be removed: --- elseif ( cvarname == "indexprog" ) then --- -- Verify choice of indexing program: --- if ( --- (cvalue == "makeindex") or --- (cvalue == "xindy") --- ) then --- indexprog = cvalue --- else --- cvalueerror ( line, linenum , cvalue ) --- end --- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue --- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue --- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue --- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue else print ("lwarpmk: ===") @@ -234,7 +189,7 @@ end -- file exists -- This could happen if a local copy of lwarp has recently been recompiled. if sourcename=="lwarp" then print ("lwarpmk: ===") - print ("lwarpmk: Lwarp has recently been recompiled in this directory,") + print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,") print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.") print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.") print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,") @@ -269,9 +224,33 @@ elseif opsystem=="Windows" then -- For Windows cmdgroupclosename = "" seqname = " & " bgname = "" -else print ( "lwarpmk: Select Unix or Windows for opsystem" ) +else + print ("lwarpmk: ===") + print ("lwarpmk: Select Unix or Windows for opsystem." ) + print ("lwarpmk: ===") + os.exit(1) end --- for Windows - +-- Warning if the operating system does not appear to be correct, +-- in case files were transferred to another system. +if ( (package.config:sub(1,1)) ~= dirslash ) then + print ("lwarpmk: ===") + print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." ) + print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," ) + print ("lwarpmk: recompile the original document using xe/lua/pdflatex." ) + print ("lwarpmk: ") + print ("lwarpmk: lwarpmk shall attempt to continue...") + print ("lwarpmk: ===") +end +-- Error if the configuration file's version is not current: +if ( confversion ~= requiredconfversion ) then + print ("lwarpmk: ===") + print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" ) + print ("lwarpmk: must be updated. To update the configuration files," ) + print ("lwarpmk: recompile "..sourcename..".tex using xe/lua/pdflatex," ) + print ("lwarpmk: then use lwarpmk again.") + print ("lwarpmk: ===") + os.exit(1) +end end -- loadconf function executecheckerror ( executecommands , errormessage ) @@ -310,35 +289,29 @@ io.close(fsource) return false end -function onetime (fsuffix) +function onetime (latexcmd, fsuffix) -- -- Compile one time, return true if should compile again. -- fsuffix is "" for print, "_html" for HTML output. -- -print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix) -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end +print("lwarpmk: Compiling with: " .. latexcmd) executecheckerror ( - latexname .. thisshellescape .. sourcename..fsuffix , + latexcmd , "Compile error." ) return (reruntoget(sourcename .. fsuffix .. ".log") ) ; end -function manytimes (fsuffix) +function manytimes (latexcmd, fsuffix) -- -- Compile up to five times. -- fsuffix is "" for print, "_html" for HTML output -- -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then end end end end end end @@ -370,7 +343,7 @@ end function removeaux () -- -- Remove auxiliary files: --- All aux files are removed since there may be many bbl*.aux files. +-- All .aux files are removed since there may be many bbl*.aux files. -- os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. @@ -378,6 +351,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. " *.idx " .. " *.ind " .. + sourcename ..".ps " .. sourcename .."_html.ps " .. sourcename ..".log " .. sourcename .. "_html.log " .. sourcename ..".gl* " .. sourcename .. "_html.gl* " .. " *_html_inc.* " @@ -603,34 +577,22 @@ if ( pagezerowarning == true ) then end -- pagezerowarning end -- function -function compilelatexmk ( fsuffix ) +function convertepstopdf () -- --- Use latexmk to compile source and index: --- fsuffix is "" for print, or "_html" for HTML +-- Converts EPS files to PDF files. +-- The filenames are arg[argindex] and up. +-- arg[1] is the command "pdftosvg". -- --- Maybe select the shell-escape option: -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end --- The recorder option is required to detect changes in <project>.tex --- while we are loading <project>_html.tex. -executecheckerror ( - "latexmk -pdf -dvi- -ps- -recorder " - .. "-e " - .. opquote - .. "$makeindex = q/" -- $ - .. latexmkindexcmd - .. " /" - .. opquote - .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" " - .. sourcename..fsuffix ..".tex" - , - "Compile error." -) -end -- function +ignoreconf () +for i = argindex , #arg do + if (lfs.attributes(arg[i],"mode")==nil) then + print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") + else + print ("lwarpmk: Converting \"" .. arg[i] .. "\"") + os.execute ( "epstopdf " .. arg[i] ) + end -- if +end -- do +end --function function convertpdftosvg () -- @@ -638,6 +600,7 @@ function convertpdftosvg () -- The filenames are arg[argindex] and up. -- arg[1] is the command "pdftosvg". -- +ignoreconf () for i = argindex , #arg do if (lfs.attributes(arg[i],"mode")==nil) then print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") @@ -674,7 +637,11 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack if arg[1] == "print" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("") + print ("lwarpmk: Compiling with: " .. printlatexcmd) + executecheckerror ( + printlatexcmd , + "Compile error." + ) print ("lwarpmk: Done.") else -- not latexmk verifyfileexists (sourcename .. ".tex") ; @@ -687,7 +654,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("") + manytimes(printlatexcmd, "") print ("lwarpmk: Done.") ; else print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ; @@ -699,7 +666,7 @@ end -- not latexmk elseif arg[1] == "print1" then loadconf () verifyfileexists (sourcename .. ".tex") ; - onetime("") + onetime(printlatexcmd, "") print ("lwarpmk: Done.") ; -- lwarpmk printindex: @@ -728,7 +695,11 @@ updateanddone () elseif arg[1] == "html" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("_html") + print ("lwarpmk: Compiling with: " .. HTMLlatexcmd) + executecheckerror ( + HTMLlatexcmd , + "Compile error." + ) pdftohtml () print ("lwarpmk: Done.") else -- not latexmk @@ -742,7 +713,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("_html") + manytimes(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") else @@ -755,7 +726,7 @@ end -- not latexmk elseif arg[1] == "html1" then loadconf () verifyfileexists ( sourcename .. ".tex" ) ; - onetime("_html") + onetime(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") @@ -811,13 +782,14 @@ print ("lwarpmk: Done.") -- lwarpmk cleanall -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl* --- and also project.pdf, *.html +-- and also project.pdf, project.dvi, *.html elseif arg[1] == "cleanall" then loadconf () removeaux () os.execute ( rmname .. " " .. sourcename .. ".pdf " .. sourcename .. "_html.pdf " .. + sourcename .. ".dvi " .. sourcename .. "_html.dvi " .. "*.html" ) print ("lwarpmk: Done.") @@ -830,8 +802,14 @@ loadconf () os.execute ( rmname .. " lateximages/*" ) print ("lwarpmk: Done.") +-- lwarpmk epstopdf <list of file names> +-- Convert EPS files to PDF using epstopdf +elseif arg[1] == "epstopdf" then +convertepstopdf () +print ("lwarpmk: Done.") + -- lwarpmk pdftosvg <list of file names> --- Convert PDf files to SVG using pdftocairo +-- Convert PDF files to SVG using pdftocairo elseif arg[1] == "pdftosvg" then convertpdftosvg () print ("lwarpmk: Done.") diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index c63327e36f4..24cbe06ee11 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/07/07 v0.58 Allows LaTeX to directly produce HTML5 output.] +%<package> [2018/09/07 v0.59 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -297,8 +297,11 @@ Keywords={LaTeX, HTML, conversion}% \newrobustcmd{\ODT}{\acro{ODT}} \newrobustcmd{\SVG}{\acro{SVG}} \newrobustcmd{\PNG}{\acro{PNG}} +\newrobustcmd{\GIF}{\acro{GIF}} \newrobustcmd{\JPG}{\acro{JPG}} +\newrobustcmd{\EPS}{\acro{EPS}} \newrobustcmd{\PDF}{\acro{PDF}} +\newrobustcmd{\DVI}{\acro{DVI}} \newrobustcmd{\tikz}{Ti\textit{k}z} \newrobustcmd{\MathML}{Math\acro{ML}} \newrobustcmd{\CTAN}{\acro{CTAN}} @@ -1032,7 +1035,7 @@ in the \SVG\ image may be adjusted \index{font>size --- math, SVG}% \index{math>font size --- SVG}% \index{lateximages>font size}% -by setting \cs{LateximageFontSizeName} to a font size name --- \emph{without the backslash}, +by setting \cs{LateximageFontSizeName} to a font size name \Dash \emph{without the backslash}, which defaults to: \begin{sourcedisplay} \cs{renewcommand}\{\cs{LateximageFontSizeName}\}\{\textred{normalsize}\} @@ -1062,8 +1065,8 @@ 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 for -\brand{MathJax}, and the \HTML\ \attribute{alt} tags become simple messages. +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. } @@ -1297,56 +1300,79 @@ It is recommended to use \pkg{cleveref} instead of \pkg{ntheorem}'s \optn{thref} option. } - \newcommand{\limitsgraphics}{% -For \cs{includegraphics} with \texttt{.pdf} files, -\index{graphics>PDF files} +For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files, +\index{graphics>formats} +\index{includegraphics=\cs{includegraphics}>using} \index{PDF images>using} -\index{images>PDF>using} -\watchout[\texttt{.pdf} image files] -the user should provide a \texttt{.pdf} image file, and also -a \texttt{.svg}, \texttt{.png}, or \texttt{.jpg} version of the same image. -\textred{These should be referred to without a file extension:} -\watchout[no file extension] +\index{EPS images>using} +\index{images>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 +of the same image for use in \HTML. \begin{sourcedisplay} -\cs{includegraphics}\{filename\} \% print:.pdf, HTML:.svg or other +\cs{includegraphics}\{filename\} \% print:.pdf/.eps HTML:.svg, etc. \end{sourcedisplay} -For print output, \pkg{lwarp} will automatically choose the \texttt{.pdf} if available, -or some other format otherwise. +For print output, \pkg{lwarp} will automatically choose the \filenm{.pdf} or \filenm{.eps} +format if available, or some other format otherwise. For \HTML, one of the other formats is used instead. +If a \filenm{.pdf} or \filenm{.eps} image is referred to with its file extension, +the extension will be changed to \filenm{.svg} for \HTML: +\begin{sourcedisplay} +\cs{includegraphics}\{filename.pdf\} \% uses .svg in \HTML \\ +\cs{includegraphics}\{filename.eps\} \% uses .svg in \HTML \\ +\end{sourcedisplay} + \DescribeProgram{pdftocairo} -To convert a \PDF\ image to \SVG, use the utility \texttt{pdftocairo}: +\margintag{PDF to SVG} +To convert a \PDF\ image to \SVG, use the utility \prog{pdftocairo}: \userentry{pdftocairo -svg filename.pdf} - For a large number of images, use \prog{lwarpmk}: +\DescribeProgram{lwarpmk pdftosvg} \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of filenames)}} -If a \texttt{.pdf} file is referred to with its file extension, -a link to the \texttt{.pdf} file will appear in the \HTML\ output. -\begin{sourcedisplay} -\cs{includegraphics}\{filename.pdf\} \% creates a link in HTML -\end{sourcedisplay} - -\DescribePackage{epstopdf} -For \texttt{.eps} files, use \pkg{epstopdf} to provide a \PDF\ version, -and also provide a \SVG\ version as well. -\index{graphics>EPS files} -\index{EPS images} -\index{images>EPS} - -For \texttt{.png}, \texttt{.jpg}, or \texttt{.gif} image files, -\margintag{other image files} -the same file may be used in -both print or \HTML\ versions, and may be used with a file extension, +\DescribeProgram{lwarpmk epstopdf} +\DescribeProgram{epstopdf} +\margintag{\pkg{epstopdf} package} +For \EPS\ images converted to \PDF\ using the package \pkg{epstopdf}, +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} +\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} +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 its base name. +GIF files may be used for \HTML, +\margintag{GIF} +\index{images>GIF} +\index{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} +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}] for \cs{includegraphics}. A single optional parameter is interpreted as the newer \pkg{graphicx} syntax. -Note that viewports are not supported by \pkg{warp}; +Note that viewports are not supported by \pkg{lwarp} \Dash \watchout[viewports] the entire image will be shown. @@ -1401,10 +1427,10 @@ 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}% -\index{images>appearing as \HTML}% -\index{SVG>images appearing as \HTML}% -\index{HTML>appearing in \SVG\ 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 time to get the page numbers back in sync, then remake the images one more time. @@ -1491,11 +1517,24 @@ Use \CSS\ or \cs{textcolor} where possible. } \newcommand{\limitsepstopdf}{% -When using \pkg{epstopdf} to convert images to \PDF, -use the \prog{pdftocairo} utility to also provide an \SVG\ version as well. -In the document, refer to the image filename without a suffix. The -\PDF\ version will be used in print output, and the \SVG\ version will -be used for \HTML. +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}] +use \userentry{lwarpmk pdftosvg <listofPDFfiles>} to generate \filenm{.svg} versions. +} + +\newcommand{\limitspstricks}{% +All \pkg{pstricks} content should be +\watchout[use \env{pspicture}] +contained inside a \env{pspicture} environment. +} + +\newcommand{\limitspdftricks}{% +The \pkg{pdftricks} image files \filenm{<jobname>-fig*.pdf} must be converted +\watchout[convert image files] +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{\limitsoverpic}{% @@ -2240,6 +2279,17 @@ The proper load order is: \end{sourcedisplay} } + +% For use in the documentation update section: +\newcommand*{\newlwarpmkconf}{ +Due to changes in \prog{lwarpmk}, +\watchout[Reset the configuration] +\textred{recompile any existing project a single time} +using \cmds{pdflatex filename.tex} or similar, after which +\prog{lwarpmk} may then be used with the new configuration files. +} + + \newcommand*{\describehashing}{% If starred, a hashed filename is used.\margintag{image filename hashing} \index{hash>SVG image filename} @@ -2276,7 +2326,7 @@ use the \pkg{lwarp} option \optn{OSWindows}. \DescribeOption{OSWindows} When detected or specified, the operating-system path separator used by \pkg{lwarp} -is modified, the boolean \texttt{usingOSWindows} is set true. +is modified, and the boolean \texttt{usingOSWindows} is set \texttt{true}. This boolean may be tested by the user for later use. } @@ -2302,7 +2352,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{25214} +% \CheckSum{25635} % % \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 @@ -2403,6 +2453,7 @@ This boolean may be tested by the user for later use. % \changes{v0.57}{2018/06/06}{\ 2018/06/06} % \changes{v0.58}{2018/07/07}{\ 2018/07/07} % \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} @@ -2427,7 +2478,7 @@ This boolean may be tested by the user for later use. % % \bigskip % -% \fileversion{} --- \filedate +% \fileversion{} \Dash \filedate % % \bigskip % @@ -2462,8 +2513,8 @@ This boolean may be tested by the user for later use. % % A modular package-loading system uses the \pkg{lwarp} version of a package for % \HTML\ when available. -% Almost 300 \LaTeX\ packages are supported with these high-level source -% compatibility replacements, and many others work as-is. +% More than 300 \LaTeX\ packages are supported with these +% high-level source-compatibility replacements, and many others work as-is. % % A tutorial is provided to quickly introduce the user to the major components % of the package. @@ -2530,7 +2581,7 @@ This boolean may be tested by the user for later use. % \item help drive education, public and private research, and commercial activity; % \item are used in the fields of mathematics, science, engineering, and humanities; % \item span decades of development; -% \item are enduring --- many older packages are still actively used and maintained; +% \item are enduring \Dash many older packages are still actively used and maintained; % \item are largely backwards compatible; % \item are portable across all the major computing platforms; % \item are usable even on older computers and away from internet access; @@ -2548,7 +2599,7 @@ This boolean may be tested by the user for later use. % Donations may be directed towards individual projects: % \begin{description}[nosep] % \item[TUG Bursary Fund:] Assistance for attending annual TUG meetings. -% \item[CTAN:] The Comprehensive \TeX\ Archive Network --- Central storage for \TeX. +% \item[CTAN:] The Comprehensive \TeX\ Archive Network \Dash Central storage for \TeX. % \item[TeX Development Fund:] Support for specific projects. % \item[EduTeX:] Teaching and using \TeX\ in schools and universities. % \item[GUST e-foundry fonts:] Enhanced for math and additional language groups. @@ -2600,16 +2651,54 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.59:] \DVI\ \prog{latex}, \brand{MathJax}, \pkg{asymptote}, +% \pkg{pdftricks} and \pkg{pstricks}, \pkg{epstopdf}, \pkg{brqen}. +% \begin{itemize} +% \item \newlwarpmkconf +% \item Added an error if \filenm{lwarpmk.conf}'s format has changed and +% \margintag{\prog{lwarpmk}} +% the document must be recompiled. +% \item Added a warning if the \filenm{lwarpmk.conf} configuration file appears +% to be for the wrong operating system, in case files are transferred between +% systems. +% \item Added +% \begin{sourcedisplay} +% lwarpmk epstopdf <list-of-EPS-files> +% \end{sourcedisplay} +% to quickly convert a document's \EPS\ images to \PDF\ or \SVG. +% 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}. +% \margintag{\prog{latexmk}} +% \item Updated MathJax script to v2.7.4. +% \margintag{math} +% \item Fix: Mathjax chapter number removed from non-numeric tagged equations. +% \item Added MathJax support for \pkg{nicefrac}, \pkg{units}. +% \item Fix for \cs{[} and \cs{]} with \cs{displaymathnormal}. +% \item Fix for \cs{includegraphics} filename expansion. +% \margintag{images} +% \item \cs{includegraphics} now works with +% \filenm{.pdf} and \filenm{.eps} filename extensions. +% \item Moved \pkg{amsmath} out of the \pkg{lwarp} core. +% \margintag{packages} +% \item Fix for \pkg{chemformula} \cs{NMR}. +% \item Added \pkg{asymptote}, \pkg{pdftricks}, \pkg{pstricks}, \pkg{pst-eps}. +% \item Added \pkg{breqn}, \pkg{SIunits}. +% \item Added \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{draftcopy}, +% \pkg{fnbreak}, \pkg{nccfancyhdr}. +% \item Added \pkg{accsupp}, \pkg{axessibility}. +% \item Added \pkg{xunicode}. +% \item Improved and now supports \pkg{epstopdf}. +% \item Tested to work as-is: \pkg{eepic}, \pkg{sepfootnotes}. +% \item Added information about setting up a development version of \pkg{lwarp}. +% \margintag{docs} +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.58:] Extensive improvements in indexing, glossaries. % Adds \PDF-inclusion packages. % \begin{itemize} -% \item Due to changes in \prog{lwarpmk} and the configuration files -% \watchout[recompile from scratch] -% \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf}, -% \textred{it is necessary to recompile an existing project a single time} -% using \cmds{pdflatex filename.tex}, or similar for \prog{xelatex} or \prog{lualatex}. -% After this single recompile, the configuration files will work with the -% new version of \prog{lwarpmk}. +% \item \newlwarpmkconf % \item \prog{lwarpmk}: Added the |-p| option to specify the project name. % \margintag{\prog{lwarpmk}} % \item \prog{lwarpmk}: Now uses \prog{makeglossaries} for glossary generation, @@ -2736,6 +2825,7 @@ This boolean may be tested by the user for later use. % \needspace{2\baselineskip} % \item[v0.54:] Float \cs{centering}, improved image checks. % \begin{itemize} +% \item \newlwarpmkconf % \item \progcode{lwarpmk limages} checks for the presence of the \HTML\ version % \margintag{\prog{lwarpmk}} % of the document and valid image references before attempting @@ -2771,11 +2861,6 @@ This boolean may be tested by the user for later use. % to process documents in an encoding other than UTF-8. % See \cref{sec:fonts}. % -% \textred{For an existing document, \watchout[Reset the configuration] -% recompile the print version with \prog{pdflatex}, \prog{xelatex}, or -% \prog{lualatex} a single time, -% to readjust the \filenm{lwarpmk.conf} configuration file, -% before recompiling the \HTML\ version.} % \item Floats now honor \cs{centering}, \cs{raggedright}, \cs{raggedleft}, % \margintag{floats with \cs{centering}, etc.} % and their \pkg{ragged2e} equivalents, @@ -3745,7 +3830,7 @@ This boolean may be tested by the user for later use. % % ^^A *supported features % -% \begin{longtable}{>{\raggedright}m{.3\linewidth}m{.6\linewidth}} +% \begin{longtable}{>{\raggedright}p{.3\linewidth}p{.6\linewidth}} % \caption{\protect\LaTeX--HTML generation --- % \pkg{lwarp} package --- % Supported features\label{tab:supported}} \endfirsthead @@ -3758,7 +3843,7 @@ This boolean may be tested by the user for later use. % % \midrule % -% Engines: & pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\ +% Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\ % % \midrule % @@ -3774,13 +3859,16 @@ This boolean may be tested by the user for later use. % % Page layout: & \pkg{a4}, \pkg{a4wide}, \pkg{a5comb}, % \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi}, -% \pkg{blowup}, \pkg{clrdblpg}, \pkg{continue}, \pkg{draftwatermark}, +% \pkg{blowup}, \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{clrdblpg}, +% \pkg{continue}, \pkg{draftcopy}, \pkg{draftwatermark}, % \pkg{ebook}, \pkg{everyshi}, % \pkg{fancyhdr}, \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{gridset}, -% \pkg{ltxgrid}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview}, +% \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview}, % \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{titleps}, \pkg{tocenter}, % \pkg{turnthepage}, \pkg{typearea}, \pkg{vmargin}, -% \pkg{watermark}, \pkg{zwpagelayout}. \\ +% \pkg{watermark}, \pkg{zwpagelayout}. +% +% Tested to work as-is: \pkg{underlin}.\\ % % Sectioning: & Adds \progcode{FileDepth} for splitting the \HTML\ output. % Files may be numbered sequentially or named according to section name. @@ -3800,7 +3888,7 @@ This boolean may be tested by the user for later use. % % \pkg{idxlayout}, \pkg{imakeidx}, \pkg{index}, \pkg{makeidx}, \pkg{repeatindex}, \pkg{splitidx}. % -% Tested to work as-is: \pkg{hvindex}.\\ +% Tested to work as-is: \pkg{hvindex}, \pkg{sepfootnotes}.\\ % % Glossary: & \pkg{glossaries} and \prog{xindy} are used. \\ % @@ -3823,23 +3911,25 @@ This boolean may be tested by the user for later use. % Margin notes: & \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\ % % Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks. -% \pkg{endheads}, \pkg{endnotes}, +% \pkg{dblfnote}, +% \pkg{endheads}, \pkg{endnotes}, \pkg{fnbreak}, \pkg{fnpos}, % \pkg{footmisc}, \pkg{footnote}, \pkg{footnpag}, -% \pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenote}. \\ +% \pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote}, +% \pkg{parnotes}, \pkg{pfnote}, \pkg{sidenote}. \\ % % \midrule % % Math: & Converted to \SVG\ images with \HTML\ \element{alt} tags containing the % \LaTeX\ source for the math expression. % \brand{MathJax} supported as an alternative. -% \AmS\ environments are supported. +% \pkg{amsmath}: \AmS\ environments are supported. % User-defined macros are available during converson, % due to native \LaTeX\ processing.\\ % % Theorems: & Native \LaTeX\ theorems, % \pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}. \\ % -% Additional math: & Math fonts via \SVG\ images, \pkg{cases}, \pkg{resizegather}, \pkg{xy}. +% Additional math: & Math fonts via \SVG\ images, \pkg{breqn}, \pkg{cases}, \pkg{resizegather}, \pkg{xy}. % % Tested to work as-is: % \pkg{amscd}, \pkg{bm}, \pkg{braket}, \pkg{delarray}, \pkg{guass}, \pkg{nicematrix}, @@ -3850,7 +3940,7 @@ This boolean may be tested by the user for later use. % % \midrule % -% Units and fractions: & \pkg{nicefrac}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}. +% Units and fractions: & \pkg{nicefrac}, \pkg{SIunits}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}. % % Tested to work as-is: \pkg{SIunits}. \\ % @@ -3884,10 +3974,11 @@ 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{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic}. +% \pkg{asymptote}, \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic}, +% \pkg{pdftricks}, \pkg{pst-eps}, \pkg{pstricks}. % % Tested to work as-is: -% \pkg{tikz-3dplot}. \\ +% \pkg{eepic}, \pkg{tikz-3dplot}. \\ % % % @@ -3966,7 +4057,7 @@ This boolean may be tested by the user for later use. % Fonts: & Used as-is. Appear in \SVG\ math expressions or embedded image environments. \\ % % Symbols: & Native \LaTeX\ diacriticals, -% \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}. \\ +% \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}, \pkg{xunicode}. \\ % % \midrule % @@ -3998,6 +4089,10 @@ This boolean may be tested by the user for later use. % % \midrule % +% Accessibility: & Nullified: \pkg{accsupp}, \pkg{axessibility}. \\ +% +% \midrule +% % Working as-is: & % Various utility, calculation, file, and text-only packags, such as % \pkg{calc}, @@ -4005,7 +4100,7 @@ This boolean may be tested by the user for later use. % \pkg{somedefs}, % \pkg{trace}, % \pkg{xspace}. -% Also, any math-only packages, including specialized typesetting for +% Also, most math-only packages, including specialized typesetting for % various fields of science and engineering. \\ % % \bottomrule @@ -4031,7 +4126,7 @@ This boolean may be tested by the user for later use. % % The closest to \pkg{lwarp} in design principle is the % \DescribeClass{internet} -% \verb+internet+ class by Andrew Stacey --- +% \verb+internet+ class by Andrew Stacey \Dash % an interesting project which directly produces several versions % of markdown, and also \HTML\ and \EPUB. % \url{https://github.com/loopspace/latex-to-internet} @@ -4641,7 +4736,8 @@ This boolean may be tested by the user for later use. % \item Compile the project: \userentry{pdflatex tutorial.tex} % \quad (several times) % -% (\prog{xelatex} or \prog{lualatex} may be used as well.) +% (\prog{xelatex} or \prog{lualatex} may be used as well. +% \pkg{lwarp} also supports \DVI\ \prog{latex} for use with \filenm{.eps} images.) % % \item View the resulting |tutorial.pdf| with a \PDF\ viewer. % @@ -4655,7 +4751,7 @@ This boolean may be tested by the user for later use. % (Two of the new files are configuration files for the helper program \prog{lwarpmk}. % Whenever a print version of the document is created, % the configuration files for \prog{lwarpmk} are updated to -% record the operating system, \LaTeX\ program (\prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}), +% record the operating system, \LaTeX\ engine (\prog{latex}, \prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}), % the filenames of the source code and \HTML\ output, and whether % the additional helper program \prog{latexmk} will be used to compile the document.) % @@ -5038,6 +5134,19 @@ This boolean may be tested by the user for later use. % \end{enumerate} % % +% \subsection{Using 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. +% +% To convert \EPS\ files to \PDF: +% \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}} +% +% To convert \PDF\ files to \SVG: +% \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}} +% +% % % \clearpage % @@ -5092,17 +5201,21 @@ This boolean may be tested by the user for later use. % \userentry{lwarpmk cleanlimages} % % -% \subsection{Converting PDF images to SVG} +% \subsection{Converting PDF or EPS images to SVG} % \changes{v0.56}{2018/04/29}{Docs: \cmds{lwarpmk pdftosvg}.} +% \changes{v0.59}{2018/09/05}{Docs: \cmds{lwarpmk epstopdf}.} % -% \HTML\ cannot display \PDF\ images, so any external \PDF\ graphics images must +% \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must % be converted to \SVG\ format. -% \prog{pdftocairo} may be used one image at a time, -% but \prog{lwarpmk} provides a way to convert images in bulk: +% \index{SVG>converting from PDF or EPS} +% \index{PDF images>converting} +% \index{EPS images>converting} +% \index{images>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)}} % \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}} -% \index{SVG>converting from PDF} -% \index{PDF images>converting to SVG} -% \index{images>PDF>converting to SVG} +% Be sure to always provide \SVG\ files for \HTML\ output. % % % \subsection{Creating HTML from an incomplete compile} @@ -5169,16 +5282,16 @@ This boolean may be tested by the user for later use. % \item Load \pkg{lwarp}. % \item Load remaining packages. % \end{enumerate} -% \item Also modify the document: +% \item Modify the document: % \begin{enumerate} -% \item Remove \filenm{.pdf} file extensions. Change: -% \begin{sourcedisplay} -% \cs{includegraphics}\{filename.pdf\} -% \end{sourcedisplay} to: -% \begin{sourcedisplay} -% \cs{includegraphics}\{filename\} -% \end{sourcedisplay} -% Other image formats may have a file extension. +% ^^A \item Remove \filenm{.pdf} file extensions. Change: +% ^^A \begin{sourcedisplay} +% ^^A \cs{includegraphics}\{filename.pdf\} +% ^^A \end{sourcedisplay} to: +% ^^A \begin{sourcedisplay} +% ^^A \cs{includegraphics}\{filename\} +% ^^A \end{sourcedisplay} +% ^^A Other image formats may have a file extension. % \item Avoid the \optn{scale} option. Change: % \begin{sourcedisplay} % \cs{includegraphics}[scale=<xx>] @@ -5197,7 +5310,7 @@ This boolean may be tested by the user for later use. % \item Other changes as per \nameref{sec:limitations}, \cref{sec:limitations}. % \end{enumerate} % \item Convert any \PDF\ images to \SVG. See \cref{sec:limitsgraphics}. -% \item Manually compile the print version with \prog{pdflatex}, +% \item Manually compile the print version with \prog{latex}, \prog{pdflatex}, % \prog{lualatex}, or \prog{xelatex}. % \item |lwarpmk print| to finish the print version. % \item |lwarpmk html| to create the \HTML\ version. @@ -5275,7 +5388,7 @@ This boolean may be tested by the user for later use. % \watchout[\prog{xelatex} and \prog{lualatex}] % Do NOT use \pkg{fontenc}! % -% Place \pkg{fontspec} or \pkg{fontenc} and other font and UTF-8 related commands +% 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] @@ -5384,7 +5497,10 @@ This boolean may be tested by the user for later use. % Option & Description \\ \midrule % mathsvg & Show math using \SVG\ images. \\ % mathjax & Show math using \brand{MathJax}. \\ -% latexmk & Boolean for \prog{lwarpmk} to use \prog{latexmk} for compiling documents. \\ +% latexmk & Use \prog{latexmk} for compiling documents. \\ +% dvips & Use \prog{dvips} and \prog{ps2pdf} to convert \DVI\ documents. \\ +% dvipdfm & Use \prog{dvipdfm} to convert \DVI\ documents. \\ +% 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. \\ % \midrule @@ -5444,6 +5560,21 @@ This boolean may be tested by the user for later use. % Otherwise, \prog{lwarpmk} attempts to determing for itself whether to recompile. % See \cref{sec:htmlsettings}. % +% \item[\optn{dvips}:] +% \DescribeOption{dvips} +% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvips} and \prog{ps2pdf} to convert +% \DVI\ output to \PDF. +% +% \item[\optn{dvipdfm}:] +% \DescribeOption{dvipdfm} +% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfm} to convert +% \DVI\ output to \PDF. +% +% \item[\optn{dvipdfmx}:] +% \DescribeOption{dvipdfmx} +% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfmx} to convert +% \DVI\ output to \PDF. +% % % \item[\optn{HomeHTMLFilename}:] % \DescribeOption{HomeHTMLFilename} @@ -7464,11 +7595,8 @@ This boolean may be tested by the user for later use. % \subsection{Graphics} % \label{sec:limitsgraphics} % -% \DescribePackage{graphics} -% \DescribePackage{graphicx} -% \index{SVG>converting from PDF} -% \index{PDF images>converting to SVG} -% \index{images>PDF>converting to SVG} +% \DescribePackage{graphics}% +% \DescribePackage{graphicx}% % \limitsgraphics % % @@ -7504,6 +7632,18 @@ This boolean may be tested by the user for later use. % \limitsepstopdf % % +% \subsubsection{\pkg{pstricks} package} +% +% \DescribePackage{pstricks} +% \limitspstricks +% +% +% \subsubsection{\pkg{pdftricks} package} +% +% \DescribePackage{pdftricks} +% \limitspdftricks +% +% % \subsubsection{\pkg{overpic} package} % % \DescribePackage{overpic} @@ -8150,6 +8290,74 @@ This boolean may be tested by the user for later use. % \end{Verbatim} % % +% \subsection{Creating a development system} +% +% The following creates a local development system for \pkg{lwarp} on a TeXLive system +% in a Unix-like environment. +% Doing so allows anything requesting \pkg{lwarp} to use the development version +% instead of whichever version is installed in TeXLive. +% +% \begin{description} +% \item [Create a development directory:] \ +% +% Place into this directory \filenm{lwarp.dtx} and \filenm{lwarp.ins}. +% +% To create \filenm{lwarp.sty}, +% execute \userentry{pdflatex lwarp.ins} which creates \filenm{lwarp.sty} and several +% hundred additional \filenm{lwarp-*.sty} files for the various packages which are +% supported. +% +% To create the documentation \filenm{lwarp.pdf}, +% execute \userentry{pdflatex lwarp.dtx} +% +% \item[To make the development files visible to other projects:] \ +% +% Create the directory +% \begin{quote} +% \filenm{/usr/local/texlive/texmf-local/tex/latex/local/lwarp} +% \end{quote} +% +% Inside this directory, create the file \filenm{update}, containing: +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% ln -s /path_to_dev_directory/lwarp*.sty . +% ln -s /path_to_dev_directory/lwarp_baseline_marker.png . +% ln -s /path_to_dev_directory/lwarp_baseline_marker.eps . +% mktexlsr +% \end{Verbatim} +% Run ./update now, and whenever a new lwarp-* package is added. + +% \item[To make the development version of \prog{lwarpmk} visible to other projects:] \ +% +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% cd /opt +% ln -s /usr/local/texlive/texmf-local/bin/x86_64-linux texbin_local +% cd texbin_local +% ln -s ../../scripts/lwarp/lwarpmk.lua lwarpmk +% cd /usr/local/texlive/texmf-local/scripts/ +% mkdir lwarp +% cd lwarp +% ln -s /path_to_dev_directory/lwarpmk.lua lwarpmk +% \end{Verbatim} +% Verify that the correct version is found with \userentry{which lwarpmk} +% +% \item [To make the local versions visible to the shell:] \ +% +% Paths must be set by the shell startup, such as in \filenm{.bashrc} and \filenm{.cshrc}: +% +% In \filenm{.bashrc}: +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% PATH=/opt/texbin_local:/opt/texbin:$PATH +% \end{Verbatim} +% +% In \filenm{.cshrc}: +% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines] +% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH} +% \end{Verbatim} +% +% \end{description} +% +% +% % \subsection{Modifying a package for \pkg{lwarp}} % % \index{package>modifying for \pkg{lwarp}} @@ -8226,6 +8434,8 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % to |lwarp.dtx| in \cref{sec:loadafter}. This causes \pkg{lwarp} to stop with % an error if \pkg{packagename} is loaded before \pkg{lwarp}. +% Finally, add an entry in \cref{tab:supported}, \nameref{tab:supported}, +% and also the Updates section. % % % \subsection{Modifying a class for \pkg{lwarp}} @@ -8303,13 +8513,6 @@ This boolean may be tested by the user for later use. % \item Use \filenm{mymake.lua} instead of \filenm{lwarpmk.lua}. % \end{enumerate} % -% To adjust the command-line arguments for compiling the document, -% look in \filenm{mymake.lua} for ``|latexname|''. -% -% To adjust the command-line arguments for processing the index, -% look for ``|xindy|''. -% -% % % % \clearpage @@ -8498,12 +8701,6 @@ This boolean may be tested by the user for later use. % the captions |above| or |below| to match their use in the source code. % \end{description} % -% \item [Print document contains \HTML\ tags:] ~ -% \begin{itemize} -% \item Be sure that the document -% selects |\usepackage[warpprint]{lwarp}| instead of |[warpHTML]|. -% \end{itemize} - % \item [Images are appearing in strange places:] ~ % \index{images>in strange places} % \begin{itemize} @@ -8597,7 +8794,7 @@ This boolean may be tested by the user for later use. % \label{sec:changesend} % \PrintIndex % \vfill -% For the most recent changes and the start of the Index, +% For the most recent changes, followed by the start of the Index, % see page \pageref{sec:changesend}. % } % @@ -8753,6 +8950,8 @@ This boolean may be tested by the user for later use. \ifLuaTeX \RequirePackage{luatex85}% until the geometry package is updated \fi + +\RequirePackage{ifpdf} % \end{macrocode} % % @@ -8826,7 +9025,6 @@ This boolean may be tested by the user for later use. % the source code, even though they are not printed in the following % listing. % \begin{macrocode} - \RequirePackage{newunicodechar} \newunicodechar{⨯}{\texttimes} @@ -8848,7 +9046,6 @@ This boolean may be tested by the user for later use. % \end{macrocode} % % -%macrocode % % \section{Miscellaneous tools} % @@ -8934,13 +9131,14 @@ This boolean may be tested by the user for later use. % % \subsection{Common portability code} % -% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used. +% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used, +% or if \brand{Windows} is automatically detected. % \begin{macrocode} \newbool{usingOSWindows} \boolfalse{usingOSWindows} % \end{macrocode} -% + % \subsection{Unix, Linux, and Mac\,OS} % \begin{macro}{\OSPathSymbol} @@ -9288,21 +9486,51 @@ This boolean may be tested by the user for later use. % \end{macrocode} +% \DescribeOption{latexmk} +% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents. +% +% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.} +% +% \begin{macrocode} +\DeclareBoolOption[false]{latexmk} +% \end{macrocode} + +% \DescribeOption{dvips} +% Option \optn{dvips} tells \prog{lwarpmk} to use \prog{dvips} +% when compiling \DVI\ \prog{latex} documents. +% +% \changes{v0.59}{2018/09/02}{Added option \optn{dvips}.} +% +% \begin{macrocode} +\DeclareBoolOption[false]{dvips} +% \end{macrocode} +% \DescribeOption{dvipdfm} +% Option \optn{dvipdfm} tells \prog{lwarpmk} to use \prog{dvipdfm} +% when compiling \DVI\ \prog{latex} documents. +% +% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfm}.} +% +% \begin{macrocode} +\DeclareBoolOption[false]{dvipdfm} +% \end{macrocode} -% \DescribeOption{latexmk} -% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents. +% \DescribeOption{dvipdfmx} +% Option \optn{dvipdfmx} tells \prog{lwarpmk} to use \prog{dvipdfmx} +% when compiling \DVI\ \prog{latex} documents. % -% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.} +% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfmx}.} % % \begin{macrocode} -\DeclareBoolOption[false]{latexmk} +\DeclareBoolOption[false]{dvipdfmx} % \end{macrocode} + + % Execute the package options, with the defaults which have been set just above: % \margintag{Execute options} % \begin{macrocode} @@ -9406,6 +9634,9 @@ This boolean may be tested by the user for later use. % % \DescribePackage{comment} Provides conditional code blocks. % +% Attempts to use \pkg{versions} or \pkg{verbatim} fail in some cases, and do not +% provide much of a speed benefit even when they do work. +% % \begin{macrocode} \RequirePackage{comment} % \end{macrocode} @@ -9633,6 +9864,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{a4wide} \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} +\LWR@loadafter{accsupp} \LWR@loadafter{acro} \LWR@loadafter{acronym} \LWR@loadafter{adjmulticol} @@ -9650,10 +9882,13 @@ For a possible alternative, see package(s) #2.} \LWR@notmemoirloadafter{appendix} \LWR@loadafter{arabicfront} \LWR@notmemoirloadafter{array} +\LWR@loadafter{arydshln} +\LWR@loadafter{asymptote} % \LWR@loadafter{atbegshi}% used by morewrites \LWR@loadafter{attachfile} \LWR@loadafter{attachfile2} \LWR@loadafter{authblk} +\LWR@loadafter{axessibility} \LWR@loadafter{axodraw2} \LWR@loadafter{backref} \LWR@loadafter{balance} @@ -9665,8 +9900,11 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{boxedminipage} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{breakurl} +\LWR@loadafter{breqn} +\LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{cancel} +\LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} \LWR@loadafter{cases} @@ -9692,6 +9930,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{dblfnote} \LWR@notmemoirloadafter{dcolumn} \LWR@loadafter{diagbox} +\LWR@loadafter{draftcopy} \LWR@loadafter{draftwatermark} \LWR@loadafter{easy-todo} \LWR@loadafter{ebook} @@ -9727,6 +9966,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{floatrow} \LWR@loadafter{fltrace} \LWR@loadafter{flushend} +\LWR@loadafter{fnbreak} \LWR@loadafter{fncychap} \LWR@loadafter{fnlineno} \LWR@loadafter{fnpos} @@ -9804,6 +10044,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{multitoc} \LWR@loadafter{nameref} \LWR@loadafter{natbib} +\LWR@notmemoirloadafter{nccfancyhdr} \LWR@notmemoirloadafter{needspace} % newclude must be loaded before lwarp \LWR@loadafter{newtxmath} @@ -9827,6 +10068,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{pdflscape} \LWR@loadafter{pdfpages} \LWR@loadafter{pdfsync} +\LWR@loadafter{pdftricks} \LWR@loadafter{pdfx} \LWR@loadafter{pfnote} \LWR@loadafter{phfqit} @@ -9834,6 +10076,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{prelim2e} \LWR@loadafter{prettyref} \LWR@loadafter{preview} +\LWR@loadafter{pst-eps} +\LWR@loadafter{pstricks} \LWR@loadafter{quotchap} \LWR@loadafter{quoting} \LWR@loadafter{ragged2e} @@ -9863,6 +10107,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{showkeys} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} +\LWR@loadafter{SIunits} \LWR@loadafter{siunitx} \LWR@loadafter{soul} \LWR@loadafter{soulpos} @@ -9905,6 +10150,7 @@ For a possible alternative, see package(s) #2.} % \LWR@loadafter{typearea}% preloaded by koma-script classes \LWR@loadafter{ulem} \LWR@loadafter{underscore} +\LWR@loadafter{units} \LWR@loadafter{upref} \LWR@loadafter{url} \LWR@loadafter{varioref}% no lwarp package provided @@ -9925,6 +10171,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{xmpincl} \LWR@loadafter{xpiano} \LWR@loadafter{xtab} +% xunicode must be loaded before lwarp \LWR@loadafter{xurl} \LWR@loadafter{xy} \LWR@loadafter{zwpagelayout} @@ -10337,33 +10584,6 @@ top=1in,bottom=1in,% % \end{macrocode} -% \DescribePackage{amsmath} -% Preloaded to avoid options clash and to add patches. -% -% ^^A \changes{v0.16}{2016/04/09}{Fix: amsmath options clash} -% -% ^^A \pkg{newtxmath} automatically loads \pkg{amsmath}, -% ^^A so the option \optn{leqno} is passed beforehand to be -% ^^A picked up both here and by \pkg{newtxmath} if it is used. -% ^^A \changes{v0.16}{2016/04/11}{Fix: newtxmath compatibility.} -% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.} -% -% ^^A *8* remove leqno and references -% \begin{macrocode} -% \PassOptionsToPackage{leqno}{amsmath}% disabled to test centered display math -\RequirePackage{amsmath} -% \end{macrocode} -% -% Patches to allow \cs{eqref} inside a caption: -% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.} -% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.} -% \begin{macrocode} -\def\maketag@@@#1{\text{#1}} -\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}} -% \end{macrocode} - - - % \changes{v0.40}{2017/09/07}{No longer preloads \pkg{xfrac}.} @@ -10995,8 +11215,8 @@ top=1in,bottom=1in,% % are processed by the print or \HTML\ version. % % Expandable versions are also provided as well. -% These areusually necessary for anything which could appear inside a \env{tabular}, -% without which an |Misplaced \omit| error may occur. +% 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] % \begin{sourcedisplay} % \cs{LWR@expandableformatted} \\ @@ -11558,8 +11778,378 @@ top=1in,bottom=1in,% % \end{macrocode} +% \subsection{\prog{lwarpmk} configuration files} % ^^A *lwarpmk.conf -% \subsection{lwarpmk.conf} + +% \codeprint +% \begin{macrocode} +\begin{warpprint} +% \end{macrocode} + + +% \begin{macro}{\LWR@lwarpconfversion} +% The version number of the configuration file, allowing \prog{lwarpmk} to detect +% an obsolete configuration file format. +% Incremented by one each time the configuration file format changes. +% (This is NOT the same as the \pkg{lwarp} version number.) +% \begin{macrocode} +\newcommand*{\LWR@lwarpconfversion}{1}% also in lwarpmk.lua +% \end{macrocode} +% \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} +% +% +% \begin{macro}{\LWR@shellescapecmd} +% The LaTeX compile option for shell escape, if used. +% \begin{macrocode} +\ifshellescape + \def\LWR@shellescapecmd{--shell-escape } +\else + \def\LWR@shellescapecmd{} +\fi +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@compilecmd} \marg{engine} \marg{suffix} +% +% Used to form the basic compilation command for a document, adding +% the optional shell escape. +% +% Engine is \prog{pdflatex}, etc. Suffix is empty or \filenm{\_html} +% \begin{macrocode} +\newcommand*{\LWR@compilecmd}[2]{% + #1 \LWR@shellescapecmd \jobname#2% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@addcompilecmd} \marg{cmd} \marg{suffix} +% +% Adds to the compilation command. +% +% Cmd is \prog{dvipdfmx}, etc. Suffix is empty or \filenm{\_html} +% \begin{macrocode} +\newcommand*{\LWR@addcompilecmd}[2]{% + \space \LWR@opsequence \space\space + #1 \jobname#2% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@unknownengine} +% Error message if not sure which \LaTeX\ engine is being used. +% \begin{macrocode} +\newcommand*{\LWR@unknownengine}{% + \PackageError{lwarp} + {Unknown LaTeX engine.} + {Lwarp only knows about pdflatex, dvi latex, xelatex, and lualatex.} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@latexmkvar} \marg{varname} \marg{value} +% +% Adds a \prog{latexmk} variable assignment. +% \begin{macrocode} +\newcommand*{\LWR@latexmkvar}[2]{% + -e + \LWR@opquote% + \LWR@dollarchar #1=q/#2/% + \LWR@opquote +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LWR@latexmkcmd} \marg{\prog{latexmk} options} +% +% 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}.} +% \begin{macrocode} +\newcommand*{\LWR@latexmkcmd}[1]{% + latexmk \space \LWR@shellescapecmd \space #1 \space + -recorder \space + \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@latexmkdvipdfm} \marg{\prog{dvipdfm} or \prog{dvipdfmx}} +% +% Adds the options settings for \prog{dvipdfm} or \prog{dvipdfmx}. +% \begin{macrocode} +\newcommand*{\LWR@latexmkdvipdfm}[1]{% + -pdfdvi \space + \LWR@latexmkvar{dvipdf}{% + #1 + \@percentchar O + -o \@percentchar D + \@percentchar S% + } +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LWR@printlatexcmd} +% \begin{macro}{\LWR@HTMLlatexcmd} +% +% 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}: +% \begin{Verbatim}[tabsize=4,gobble=2,frame=lines] +% [[latexmk -xelatex --shell-escape -recorder +% -e '$makeindex = q/makeindex -s lwarp.ist/' <jobname>_html]] +% \end{Verbatim} +% +% For \prog{dvipdfmx}: +% \begin{Verbatim}[tabsize=4,gobble=2,frame=lines] +% [[latexmk -pdfdvi -e '$dvipdf=q/dvipdfmx %O -o %D %S/' +% -recorder +% -e '$makeindex=q/makeindex -s lwarp.ist/' <jobname>_html]] +% \end{Verbatim} +% +% \begin{macrocode} +\ifbool{LWR@latexmk}{ +% \end{macrocode} +% For \prog{latexmk} with \prog{pdflatex} or \prog{lualatex}: +% \begin{macrocode} + \ifpdf +% \end{macrocode} +% For \prog{latexmk} with \prog{pdflatex}: +% \begin{macrocode} + \ifPDFTeX + \def\LWR@latexcmd{\LWR@latexmkcmd{-pdf -dvi- -ps-}} + \else +% \end{macrocode} +% For \prog{latexmk} with \prog{lualatex}: +% \begin{macrocode} + \ifLuaTeX + \def\LWR@latexcmd{\LWR@latexmkcmd{-lualatex}} + \else + \LWR@unknownengine + \fi + \fi + \else% \ifpdf +% \end{macrocode} +% For \prog{latexmk} with \prog{xelatex} or \DVI\ \prog{latex}: +% \begin{macrocode} + \ifXeTeX +% \end{macrocode} +% For \prog{latexmk} with \prog{xelatex}: +% \begin{macrocode} + \def\LWR@latexcmd{\LWR@latexmkcmd{-xelatex}} + \else% \ifXeTeX +% \end{macrocode} +% For \prog{latexmk} with \DVI\ \prog{latex}: +% \begin{macrocode} + \ifbool{LWR@dvipdfm}{ + \def\LWR@latexcmd{% + \LWR@latexmkcmd{% + \LWR@latexmkdvipdfm{dvipdfm}% + } + } + }{ + \ifbool{LWR@dvipdfmx}{ + \def\LWR@latexcmd{% + \LWR@latexmkcmd{% + \LWR@latexmkdvipdfm{dvipdfmx}% + } + } + }{ + \def\LWR@latexcmd{\LWR@latexmkcmd{-pdfps}} + } + } + \fi + \fi% \ifpdf +% \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} +}% latexmk +% \end{macrocode} +% Without \prog{latexmk}, the compiling command is simply the compiler name +% and the optional shell escape: +% \begin{macrocode} +{% not latexmk + \ifpdf +% \end{macrocode} +% For \prog{pdflatex} or \prog{lualatex}: +% \begin{macrocode} + \ifPDFTeX +% \end{macrocode} +% For \prog{pdflatex}: +% \begin{macrocode} + \def\LWR@printlatexcmd{\LWR@compilecmd{pdflatex}{}} + \def\LWR@HTMLlatexcmd{\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}} + \else + \LWR@unknownengine + \fi + \fi + \else% \ifpdf +% \end{macrocode} +% For \DVI\ \prog{latex} or \prog{xelatex}: +% \begin{macrocode} + \ifXeTeX +% \end{macrocode} +% For \prog{xelatex}: +% \begin{macrocode} + \def\LWR@printlatexcmd{\LWR@compilecmd{xelatex}{}} + \def\LWR@HTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} + \else +% \end{macrocode} +% For \DVI\ \prog{latex}. Default to \prog{dvips}, unless +% told to use \prog{dvipdfm} or \prog{dvipdfmx}: +% \begin{macrocode} + \ifbool{LWR@dvipdfm}{ +% \end{macrocode} +% For \DVI\ \prog{latex} with \prog{dvipdfm}: +% \begin{macrocode} + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvipdfm}{} + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvipdfm}{_html} + } + }{ + \ifbool{LWR@dvipdfmx}{ +% \end{macrocode} +% For \DVI\ \prog{latex} with \prog{dvipdfmx}: +% \begin{macrocode} + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvipdfmx}{} + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvipdfmx}{_html} + } + }{% dvips +% \end{macrocode} +% For \DVI\ \prog{latex} with \prog{dvips} and \prog{ps2pdf}: +% \begin{macrocode} + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvips}{} + \LWR@addcompilecmd{ps2pdf}{}.ps + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvips}{_html} + \LWR@addcompilecmd{ps2pdf}{_html}.ps + } + } + } + \fi% \ifXeTeX + \fi% \ifpdf +}% latexmk +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\LWR@writeconf} \marg{filename} +% +% Common code for each of \filenm{lwarpmk.conf} and \filenm{<project>.lwarpmkconf}. +% Each entry is a variable name, the equal sign, and a quoted string +% inside |[[| and |]]|, which are \prog{lua}'s long quote characters, allowing the +% use of single and double quotes inside. +% +% \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]{% +\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} +\immediate\openout\LWR@quickfile=#1 +\immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]} +\ifbool{usingOSWindows}{ + \immediate\write\LWR@quickfile{opsystem = [[Windows]]} +}{ + \immediate\write\LWR@quickfile{opsystem = [[Unix]]} +} +\immediate\write\LWR@quickfile{sourcename = [[\jobname]]} +\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{printindexcmd = [[\LWR@PrintIndexCmd]]} +\immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]} +\immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]} +\immediate\write\LWR@quickfile{glossarycmd = [[\LWR@GlossaryCmd]]} +\immediate\write\LWR@quickfile{pdftotextenc = [[\LWR@pdftotextEnc]]} +\immediate\closeout\LWR@quickfile +} + +% \end{macrocode} +% \end{macro} + +% \begin{macrocode} +\end{warpprint} +% \end{macrocode} + + + +% \subsubsection{lwarpmk.conf} % % \DescribeFile{lwarpmk.conf} % |lwarpmk.conf| is automatically (re-)created by the \pkg{lwarp} package when @@ -11583,49 +12173,15 @@ top=1in,bottom=1in,% % \codeprint % \begin{macrocode} \begin{warpprint} -\AtBeginDocument{ -\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} -\immediate\openout\LWR@quickfile=lwarpmk.conf -\ifbool{usingOSWindows}{ -\immediate\write\LWR@quickfile{opsystem = "Windows"} -}{ -\immediate\write\LWR@quickfile{opsystem = "Unix"} -} -\ifPDFTeX -\immediate\write\LWR@quickfile{latexname = "pdflatex"} -\fi -\ifXeTeX -\immediate\write\LWR@quickfile{latexname = "xelatex"} -\fi -\ifLuaTeX -\immediate\write\LWR@quickfile{latexname = "lualatex"} -\fi -\immediate\write\LWR@quickfile{sourcename = "\jobname"} -\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{shellescape = "\ifshellescape true\else false\fi"} -\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"} -\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"} -\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"} -\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"} -% \end{macrocode} -% ^^A \immediate\write\LWR@quickfile{makeindexstyle = "\LWR@makeindexStyle"} -% ^^A \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"} -% ^^A \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"} -% ^^A \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"} -% \begin{macrocode} -\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"} -\immediate\closeout\LWR@quickfile -}% AtBeginDocument + +\AtBeginDocument{\LWR@writeconf{lwarpmk.conf}} + \end{warpprint} % \end{macrocode} -% \subsection{project.lwarpmkconf} +% \subsubsection{<project>.lwarpmkconf} % % \DescribeFile{project.lwarpmkconf} A project-specific configuration file for \prog{lwarpmk}. % @@ -11640,47 +12196,13 @@ homehtmlfilename = "\HomeHTMLFilename"% % \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 previously been handled +% The \optn{makeindex} and \optn{xindy} options have already been handled % for \filenm{lwarp.conf}. % \begin{macrocode} \begin{warpprint} -\AtBeginDocument{ -\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} -\immediate\openout\LWR@quickfile=\jobname.lwarpmkconf -\ifbool{usingOSWindows}{ -\immediate\write\LWR@quickfile{opsystem = "Windows"} -}{ -\immediate\write\LWR@quickfile{opsystem = "Unix"} -} -\ifPDFTeX -\immediate\write\LWR@quickfile{latexname = "pdflatex"} -\fi -\ifXeTeX -\immediate\write\LWR@quickfile{latexname = "xelatex"} -\fi -\ifLuaTeX -\immediate\write\LWR@quickfile{latexname = "lualatex"} -\fi -\immediate\write\LWR@quickfile{sourcename = "\jobname"} -\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{shellescape = "\ifshellescape true\else false\fi"} -\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"} -\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"} -\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"} -\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"} -% \end{macrocode} -% ^^A \immediate\write\LWR@quickfile{makeindexstyle = "\LWR@makeindexStyle"} -% ^^A \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"} -% ^^A \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"} -% ^^A \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"} -% \begin{macrocode} -\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"} -\immediate\closeout\LWR@quickfile -}% AtBeginDocument + +\AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}} + \end{warpprint} % \end{macrocode} @@ -13830,6 +14352,8 @@ exit % \changes{v0.42}{2017/10/16}{File: \filenm{lwarp\_mathjax.txt}: Updated \pkg{siunitx} script.} % \changes{v0.45}{2017/12/21}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.} % \changes{v0.45}{2018/01/23}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.} +% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp\_mathjax.txt}: Updated to MathJax v2.7.4.} +% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp\_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.} % % % ^^A *lwarp_mathjax.txt @@ -13856,18 +14380,20 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { seteqsection.num = AMS.number; var n = this.GetArgument(name); if (n === "") { - seteqsection = seteqsectionDefault; + seteqsection = seteqsectionDefault; } else { - if (!seteqsections["_"+n]) - seteqsections["_"+n] = {name:n, num:0}; - seteqsection = seteqsections["_"+n]; + if (!seteqsections["_"+n]) + seteqsections["_"+n] = {name:n, num:0}; + seteqsection = seteqsections["_"+n]; } AMS.number = seteqsection.num; }, mySetEqNumber: function (name) { var n = this.GetArgument(name); if (!n || !n.match(/^ *[0-9]+ *$/)) - n = ""; else n = parseInt(n)-1; + n = ""; + else + n = parseInt(n)-1; <!-- $ syntax highlighting --> if (n === "" || n < 1) TEX.Error @@ -13878,13 +14404,19 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { MathJax.Hub.Config({ TeX: { equationNumbers: { - formatTag: function (n) - {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"}, - formatID: function (n) { - n = (seteqsection.name+'.'+n).replace - (/[:"'<>&]/g,"").replace(/^\./,""); - return 'mjx-eqn-' + n; - } + formatTag: function (n) { + <!-- if not numeric, don't include the chapter --> + if (!n.match(/^ *[0-9]+ *$/ )) + <!-- $ syntax highlighting --> + return "("+(n).replace(/^\./,"")+")" ; + else + return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")" ; + }, + formatID: function (n) { + n = (seteqsection.name+'.'+n).replace + (/[:"'<>&]/g,"").replace(/^\./,""); + return 'mjx-eqn-' + n; + } } } }); @@ -13924,7 +14456,7 @@ MathJax.Hub.Config({ <!-- Alternative CDN provider: --> <script type="text/javascript" async -src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full"> +src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full"> </script> <!-- No longer supported after April 30, 2017: --> @@ -14007,6 +14539,11 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX- % \changes{v0.58}{2018/06/18}{\prog{lwarpmk}: Glossary generation now uses \prog{makeglossaries}.} % \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: Added \optn{makeindex} and \optn{xindy} options.} % \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/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.} +% \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.} % % The following is only generated if the \optn{lwarpmk} option % was given to \pkg{lwarp}. @@ -14022,8 +14559,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.58" - +printversion = "v0.59" +requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -14051,6 +14588,7 @@ lwarpmk pdftohtml [-p project]: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. +lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl* lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -14062,39 +14600,6 @@ lwarpmk --help: Print this help message. end --- function printconf () --- -- --- -- Print the format of the configuration file lwarpmk.conf: --- -- --- print ( [[ --- An example lwarpmk.conf or <project>.lwarpmkconf project file: --- -- --- opsystem = "Unix" (or "Windows") --- latexname = "pdflatex" (or "lualatex", or "xelatex") --- sourcename = "projectname" (the source-code filename w/o .tex) --- homehtmlfilename = "index" (or perhaps the project name) --- htmlfilename = "" (or "projectname" - filename prefix) --- latexmk = "false" (or "true" to use latexmk to build PDFs) --- shellescape = "false" --- printindexcmd = "makeindex -s lwarp.ist <name>.idx" --- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx" --- latexmkindexcmd = "makeindex -s lwarp.ist" --- -- indexprog = "makeindex" or "xindy" --- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist) --- -- xindylanguge = "english" (use a language supported by xindy) --- -- xindycodepage = "utf8" (use a codepage supported by xindy) --- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy) --- glossarycmd = "makeglossaries" --- pdftotextenc = "UTF-8" (use an encoding supported by pdftotext) --- -- --- Filenames must contain only letters, numbers, underscore, or dash. --- Values must be in upright "quotes". --- --- ]] ) ; --- end - - - function splitfile (destfile,sourcefile) -- -- Split one large sourcefile into a number of files, @@ -14134,6 +14639,11 @@ function cvalueerror ( line, linenum , cvalue ) end +function ignoreconf () +-- Global argument index +argindex = 2 +end + function loadconf () -- -- Load settings from the project's "lwarpmk.conf" file: @@ -14151,9 +14661,11 @@ if ( arg[argindex] == "-p" ) then argindex = argindex + 1 end -- Additional defaults: +confversion = "0" opsystem = "Unix" latexmk = "false" -shellescape = "false" +printlatexcmd = "" +HTMLlatexcmd = "" printindexcmd = "" HTMLindexcmd = "" latexmkindexcmd = "" @@ -14186,11 +14698,11 @@ else -- file exists -- Read the file: print ("lwarpmk: Reading " .. conffile ..".") local cfile = io.open(conffile) --- Scan each line: +-- Scan each line, parsing each line as: name = [[string]] local linenum = 0 for line in cfile:lines() do -- scan lines linenum = linenum + 1 -i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ; +i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ; -- Error if incorrect enclosing characters: if ( i == nil ) then print ("lwarpmk: ===") @@ -14200,48 +14712,25 @@ if ( i == nil ) then -- printconf () ; os.exit(1) ; end -- nil -if ( cvarname == "opsystem" ) then +if ( cvarname == "confversion" ) then + confversion = cvalue +elseif ( cvarname == "opsystem" ) then -- Verify choice of opsystem: if ( (cvalue == "Unix") or (cvalue == "Windows") ) then opsystem = cvalue else cvalueerror ( line, linenum , cvalue ) end -elseif ( cvarname == "latexname" ) then - -- Verify choice of LaTeX compiler: - if ( - (cvalue == "pdflatex") or - (cvalue == "xelatex") or - (cvalue == "lualatex") - ) then - latexname = cvalue - else - cvalueerror ( line, linenum , cvalue ) - end elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue -elseif ( cvarname == "shellescape" ) then shellescape = cvalue +elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue +elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue --- to be removed: --- elseif ( cvarname == "indexprog" ) then --- -- Verify choice of indexing program: --- if ( --- (cvalue == "makeindex") or --- (cvalue == "xindy") --- ) then --- indexprog = cvalue --- else --- cvalueerror ( line, linenum , cvalue ) --- end --- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue --- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue --- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue --- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue else print ("lwarpmk: ===") @@ -14261,7 +14750,7 @@ end -- file exists -- This could happen if a local copy of lwarp has recently been recompiled. if sourcename=="lwarp" then print ("lwarpmk: ===") - print ("lwarpmk: Lwarp has recently been recompiled in this directory,") + print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,") print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.") print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.") print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,") @@ -14296,9 +14785,33 @@ elseif opsystem=="Windows" then -- For Windows cmdgroupclosename = "" seqname = " & " bgname = "" -else print ( "lwarpmk: Select Unix or Windows for opsystem" ) +else + print ("lwarpmk: ===") + print ("lwarpmk: Select Unix or Windows for opsystem." ) + print ("lwarpmk: ===") + os.exit(1) end --- for Windows - +-- Warning if the operating system does not appear to be correct, +-- in case files were transferred to another system. +if ( (package.config:sub(1,1)) ~= dirslash ) then + print ("lwarpmk: ===") + print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." ) + print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," ) + print ("lwarpmk: recompile the original document using xe/lua/pdflatex." ) + print ("lwarpmk: ") + print ("lwarpmk: lwarpmk shall attempt to continue...") + print ("lwarpmk: ===") +end +-- Error if the configuration file's version is not current: +if ( confversion ~= requiredconfversion ) then + print ("lwarpmk: ===") + print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" ) + print ("lwarpmk: must be updated. To update the configuration files," ) + print ("lwarpmk: recompile "..sourcename..".tex using xe/lua/pdflatex," ) + print ("lwarpmk: then use lwarpmk again.") + print ("lwarpmk: ===") + os.exit(1) +end end -- loadconf @@ -14343,36 +14856,30 @@ end -function onetime (fsuffix) +function onetime (latexcmd, fsuffix) -- -- Compile one time, return true if should compile again. -- fsuffix is "" for print, "_html" for HTML output. -- -print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix) -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end +print("lwarpmk: Compiling with: " .. latexcmd) executecheckerror ( - latexname .. thisshellescape .. sourcename..fsuffix , + latexcmd , "Compile error." ) return (reruntoget(sourcename .. fsuffix .. ".log") ) ; end -function manytimes (fsuffix) +function manytimes (latexcmd, fsuffix) -- -- Compile up to five times. -- fsuffix is "" for print, "_html" for HTML output -- -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then end end end end end end @@ -14408,7 +14915,7 @@ end function removeaux () -- -- Remove auxiliary files: --- All aux files are removed since there may be many bbl*.aux files. +-- All .aux files are removed since there may be many bbl*.aux files. -- os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. @@ -14416,6 +14923,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. " *.idx " .. " *.ind " .. + sourcename ..".ps " .. sourcename .."_html.ps " .. sourcename ..".log " .. sourcename .. "_html.log " .. sourcename ..".gl* " .. sourcename .. "_html.gl* " .. " *_html_inc.* " @@ -14648,34 +15156,22 @@ end -- pagezerowarning end -- function -function compilelatexmk ( fsuffix ) +function convertepstopdf () -- --- Use latexmk to compile source and index: --- fsuffix is "" for print, or "_html" for HTML +-- Converts EPS files to PDF files. +-- The filenames are arg[argindex] and up. +-- arg[1] is the command "pdftosvg". -- --- Maybe select the shell-escape option: -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end --- The recorder option is required to detect changes in <project>.tex --- while we are loading <project>_html.tex. -executecheckerror ( - "latexmk -pdf -dvi- -ps- -recorder " - .. "-e " - .. opquote - .. "$makeindex = q/" -- $ - .. latexmkindexcmd - .. " /" - .. opquote - .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" " - .. sourcename..fsuffix ..".tex" - , - "Compile error." -) -end -- function +ignoreconf () +for i = argindex , #arg do + if (lfs.attributes(arg[i],"mode")==nil) then + print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") + else + print ("lwarpmk: Converting \"" .. arg[i] .. "\"") + os.execute ( "epstopdf " .. arg[i] ) + end -- if +end -- do +end --function function convertpdftosvg () @@ -14684,6 +15180,7 @@ function convertpdftosvg () -- The filenames are arg[argindex] and up. -- arg[1] is the command "pdftosvg". -- +ignoreconf () for i = argindex , #arg do if (lfs.attributes(arg[i],"mode")==nil) then print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") @@ -14725,7 +15222,11 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack if arg[1] == "print" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("") + print ("lwarpmk: Compiling with: " .. printlatexcmd) + executecheckerror ( + printlatexcmd , + "Compile error." + ) print ("lwarpmk: Done.") else -- not latexmk verifyfileexists (sourcename .. ".tex") ; @@ -14738,7 +15239,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("") + manytimes(printlatexcmd, "") print ("lwarpmk: Done.") ; else print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ; @@ -14751,7 +15252,7 @@ end -- not latexmk elseif arg[1] == "print1" then loadconf () verifyfileexists (sourcename .. ".tex") ; - onetime("") + onetime(printlatexcmd, "") print ("lwarpmk: Done.") ; @@ -14783,7 +15284,11 @@ updateanddone () elseif arg[1] == "html" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("_html") + print ("lwarpmk: Compiling with: " .. HTMLlatexcmd) + executecheckerror ( + HTMLlatexcmd , + "Compile error." + ) pdftohtml () print ("lwarpmk: Done.") else -- not latexmk @@ -14797,7 +15302,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("_html") + manytimes(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") else @@ -14811,7 +15316,7 @@ end -- not latexmk elseif arg[1] == "html1" then loadconf () verifyfileexists ( sourcename .. ".tex" ) ; - onetime("_html") + onetime(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") @@ -14874,13 +15379,14 @@ print ("lwarpmk: Done.") -- lwarpmk cleanall -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl* --- and also project.pdf, *.html +-- and also project.pdf, project.dvi, *.html elseif arg[1] == "cleanall" then loadconf () removeaux () os.execute ( rmname .. " " .. sourcename .. ".pdf " .. sourcename .. "_html.pdf " .. + sourcename .. ".dvi " .. sourcename .. "_html.dvi " .. "*.html" ) print ("lwarpmk: Done.") @@ -14894,8 +15400,15 @@ loadconf () os.execute ( rmname .. " lateximages/*" ) print ("lwarpmk: Done.") +-- lwarpmk epstopdf <list of file names> +-- Convert EPS files to PDF using epstopdf +elseif arg[1] == "epstopdf" then +convertepstopdf () +print ("lwarpmk: Done.") + + -- lwarpmk pdftosvg <list of file names> --- Convert PDf files to SVG using pdftocairo +-- Convert PDF files to SVG using pdftocairo elseif arg[1] == "pdftosvg" then convertpdftosvg () print ("lwarpmk: Done.") @@ -17674,7 +18187,7 @@ end -- not --version \newcommand{\LWR@customizeMathJax}{% \ifbool{mathjax}{ \LWR@stoppars -\LWR@htmlcomment{Nullify \textbackslash{}ensuremath for MathJax:} +\LWR@htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:} \(\newcommand\ensuremath[1]{##1}\) @@ -23517,7 +24030,6 @@ rowspan="#2" % % |\@ifpackageloaded{multirow}| determines if v2.0 or later of % \pkg{multirow} was used, which included the \cs{ProvidesPackage} macro. % -% \begin{macrocode} % The print version: % \begin{macrocode} \@ifpackageloaded{multirow}{% v2.0 or newer @@ -26499,6 +27011,7 @@ autopage-\theLWR@currentautosec% % \DescribeFile{lwarp_baseline_marker.png} +% \DescribeFile{lwarp_baseline_marker.eps} % A marker to be used to help \prog{pdfcrop} identify the inline math baseline % and width. If either \pkg{graphicx} or \pkg{graphics} is loaded, this marker is % placed at the lower left and lower right corners of the inline math. @@ -26525,36 +27038,41 @@ autopage-\theLWR@currentautosec% % \changes{v0.51}{2018/03/16}{Improved \SVG\ math baseline.} % \changes{v0.52}{2018/03/24}{Warnings if \filenm{lwarp\_baseline\_marker.png} is not present % or if graphicx/s not loaded.} +% \changes{v0.59}{2018/09/02}{Uses \filenm{.eps} if \DVI\ \prog{latex}.} % \begin{macrocode} \AtBeginDocument{ -\IfFileExists{lwarp_baseline_marker.png}% +\ifpdf + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png} +\else + \ifXeTeX + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png} + \else + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.eps} + \fi +\fi + +\IfFileExists{\LWR@baselinename}% { \@ifpackageloaded{graphicx}{ \newcommand*{\LWR@addbaselinemarker}{% - \LWR@origincludegraphics[% - width=10sp,height=10sp% - ]{lwarp_baseline_marker.png}% + \LWR@origincludegraphics{\LWR@baselinename}% } }{ \@ifpackageloaded{graphics}{ \newcommand*{\LWR@addbaselinemarker}{% - \LWR@origincludegraphics{lwarp_baseline_marker.png}% + \LWR@origincludegraphics{\LWR@baselinename}% } }{ \PackageWarning{lwarp}{Load graphicx or graphics for improved SVG math baselines,} - \newcommand*{\LWR@addbaselinemarker}{% - \hspace*{10sp}% - } + \newcommand*{\LWR@addbaselinemarker}{} } } -}{% lwarp_baseline_marker.png not present - \PackageWarning{lwarp}{File lwarp_baseline_marker.png is not installed alongside +}{% lwarp_baseline_marker.png or .eps is not present + \PackageWarning{lwarp}{File \LWR@baselinename\space is not installed alongside the lwarp-*.sty files, so SVG math baselines may not be accurate,} - \newcommand*{\LWR@addbaselinemarker}{% - \hspace*{10sp}% - } + \newcommand*{\LWR@addbaselinemarker}{} } }% AtBeginDocument @@ -26698,7 +27216,6 @@ autopage-\theLWR@currentautosec% % \begin{macrocode} \global\sbox{\LWR@singledollarbox}{% \usebox{\LWR@singledollarbox}% - \hspace*{-10sp}% \raisebox{-\dp\LWR@singledollarbox}{% \LWR@addbaselinemarker% }% @@ -26836,7 +27353,6 @@ autopage-\theLWR@currentautosec% % \changes{v0.51}{2018/03/10}{SVG math baseline improved with invisible rule at corner.} % \begin{macrocode} \LWR@addbaselinemarker% - \hspace*{-10sp}% % \end{macrocode} % Typeset the contents: % \begin{macrocode} @@ -26844,7 +27360,6 @@ autopage-\theLWR@currentautosec% % \end{macrocode} % The closing baseline marker: % \begin{macrocode} - \hspace*{-10sp}% \LWR@addbaselinemarker% % \end{macrocode} % \begin{macrocode} @@ -26966,16 +27481,22 @@ autopage-\theLWR@currentautosec% % \begin{macro}{\(} -% \begin{macro}{\)} +% \begin{macro}{\[} % Redefine to the above dollar macros. % \begin{macrocode} +\AtBeginDocument{ \protected\gdef\(#1\){$#1$} \protected\gdef\[#1\]{$$#1$$} +} \endgroup - +% \end{macrocode} +% \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.} +% \begin{macrocode} +\AtBeginDocument{ \LetLtxMacro\LWR@openbracketnormal\[ \LetLtxMacro\LWR@closebracketnormal\] +} % \end{macrocode} % \end{macro} % \end{macro} @@ -27243,10 +27764,12 @@ autopage-\theLWR@currentautosec% % % Remember existing \env{equation} environment: % \begin{macrocode} +\AtBeginDocument{ \let\LWR@origequation\equation \let\LWR@origendequation\endequation \csletcs{LWR@origequation*}{equation*} \csletcs{LWR@origendequation*}{endequation*} +} % \end{macrocode} % % @@ -27352,10 +27875,12 @@ autopage-\theLWR@currentautosec% % Remove existing \env{equation} environment: % \begin{macrocode} +\AtBeginDocument{ \let\equation\relax \let\endequation\relax \csletcs{equation*}{relax} \csletcs{endequation*}{relax} +} % \end{macrocode} @@ -27365,36 +27890,42 @@ autopage-\theLWR@currentautosec% % which stores the contents of its environment in a % macro called \cs{BODY}. % \begin{macrocode} +\AtBeginDocument{ \NewEnviron{equation}% {\LWR@doequation{\BODY}{equation}}% [\LWR@doendequation{equation}] \LetLtxMacro\LWR@equationnormal\equation -\LetLtxMacro\LWR@endequationnormal\endequation +\LetLtxMacro\endLWR@equationnormal\endequation +} % \end{macrocode} % \end{environment} % \begin{environment}{equation*} % \begin{macrocode} +\AtBeginDocument{ \NewEnviron{equation*}% {\LWR@doequation{\BODY}{equation*}}% [\LWR@doendequation{equation*}] \csletcs{LWR@equationnormalstar}{equation*} \csletcs{LWR@endequationnormalstar}{endequation*} +} % \end{macrocode} % \end{environment} -% Remember the ``less'' version of \env{equation}, which use \brand{MathJax} +% Remember the ``less'' version of \env{equation}, which uses \brand{MathJax} % and \attribute{alt} tags, but does not support complicated contents such as % some \tikz\ expressions. % \begin{macrocode} +\AtBeginDocument{ \LetLtxMacro\LWR@equationless\equation -\LetLtxMacro\LWR@endequationless\endequation +\LetLtxMacro\endLWR@equationless\endequation \csletcs{LWR@equationlessstar}{equation*} \csletcs{LWR@endequationlessstar}{endequation*} +} % \end{macrocode} @@ -27414,7 +27945,7 @@ autopage-\theLWR@currentautosec% \LetLtxMacro\displaymath\LWR@displaymathnormal% \LetLtxMacro\enddisplaymath\endLWR@displaymathnormal% \LetLtxMacro\equation\LWR@equationnormal% -\LetLtxMacro\endequation\LWR@endequationnormal% +\LetLtxMacro\endequation\endLWR@equationnormal% \csletcs{equation*}{LWR@equationnormalstar}% \csletcs{endequation*}{LWR@endequationnormalstar}% } @@ -27572,7 +28103,7 @@ autopage-\theLWR@currentautosec% % \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.} % \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.} % -% The following \pkg{amsmath} environments already collect their contents +% The \pkg{amsmath} environments already collect their contents % in \cs{@envbody} for further processing. \env{eqnarray} is not an \AmS\ package, % and thus requires special handling. % @@ -27718,335 +28249,6 @@ autopage-\theLWR@currentautosec% % \end{environment} % % -% The following \AmS\ environments are more easily patched in-place: -% -% \changes{v0.44}{2017/11/16}{AMS environments: Fix: Groups for \env{lateximage}s.} -% \changes{v0.50}{2018/03/01}{AMS environments: Improved \SVG\ math display.} -% \changes{v0.51}{2018/03/11}{AMS environments: Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.} -% -% \begin{environment}{multline} -% \begin{macrocode} -\BeforeBeginEnvironment{multline}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \booltrue{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{multline}] -} -} - -\AfterEndEnvironment{multline}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \boolfalse{LWR@amsmultline} - \LWR@addmathjax{multline}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{multline*} -% \begin{macrocode} -\BeforeBeginEnvironment{multline*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \booltrue{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{multline*}] -} -} - -\AfterEndEnvironment{multline*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \boolfalse{LWR@amsmultline} - \LWR@addmathjax{multline*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{gather} -% \begin{macrocode} -\BeforeBeginEnvironment{gather}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{gather}] -} -} - -\AfterEndEnvironment{gather}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{gather}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - -% \begin{environment}{gather*} -% \begin{macrocode} -\BeforeBeginEnvironment{gather*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{gather*}] -} -} - -\AfterEndEnvironment{gather*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{gather*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{align} -% \begin{macrocode} -\BeforeBeginEnvironment{align}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{align}] -} -} - -\AfterEndEnvironment{align}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{align}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{align*} -% \begin{macrocode} -\BeforeBeginEnvironment{align*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{align*}] -} -} - -\AfterEndEnvironment{align*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{align*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{flalign} -% \begin{macrocode} -\BeforeBeginEnvironment{flalign}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{flalign}] -} -} - -\AfterEndEnvironment{flalign}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{flalign}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{flalign*} -% \begin{macrocode} -\BeforeBeginEnvironment{flalign*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{flalign*}] -} -} - -\AfterEndEnvironment{flalign*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{flalign*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{alignat} -% \changes{v0.51}{2018/03/11}{Fix: Added.} -% \begin{macrocode} -\BeforeBeginEnvironment{alignat}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{alignat}] -} -} - -\AfterEndEnvironment{alignat}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{alignat}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - -% \begin{environment}{alignat*} -% \begin{macrocode} -\BeforeBeginEnvironment{alignat*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{alignat*}] -} -} - -\AfterEndEnvironment{alignat*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{alignat*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} -% \end{macrocode} -% \end{environment} - - % \begin{macrocode} \end{warpHTML} % \end{macrocode} @@ -28365,21 +28567,7 @@ autopage-\theLWR@currentautosec% % \end{macrocode} % \end{macro} -% Patches for \AmS\ math \cs{tag} macro to remember the first tag: % \begin{macrocode} -\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@ -\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@ - -\renewcommand*{\make@df@tag@@}[1]{% -\LWR@remembertag{#1}% -\LWR@origmake@df@tag@@{#1}% -} - -\renewcommand*{\make@df@tag@@@}[1]{% -\LWR@remembertag{#1}% -\LWR@origmake@df@tag@@@{#1}% -} - }% not mathjax }% AtBeginDocument % \end{macrocode} @@ -28869,21 +29057,21 @@ autopage-\theLWR@currentautosec% % perhaps as part of the font-related packages, % explicitly load the lwarp patches now: % \begin{macrocode} -\@ifpackageloaded{textcomp} -{ -\LWR@origRequirePackage{lwarp-textcomp} -} -{} +\@ifpackageloaded{textcomp}{\LWR@origRequirePackage{lwarp-textcomp}}{} +% \end{macrocode} + +% If \pkg{xunicode} was loaded before \pkg{lwarp}, +% perhaps as part of the font-related packages, +% explicitly load the lwarp patches now: +% \begin{macrocode} +\@ifpackageloaded{xunicode}{\LWR@origRequirePackage{lwarp-xunicode}}{} % \end{macrocode} % If \pkg{graphics} or \pkg{graphicx} were loaded before \pkg{lwarp}, % perhaps by \pkg{xunicode}, explicitly load the lwarp patches now: % \begin{macrocode} -\@ifpackageloaded{graphics} -{ -\LWR@origRequirePackage{lwarp-graphics} -} -{} +\@ifpackageloaded{graphics}{\LWR@origRequirePackage{lwarp-graphics}}{} +\@ifpackageloaded{graphicx}{\LWR@origRequirePackage{lwarp-graphicx}}{} % \end{macrocode} % \begin{macrocode} @@ -29456,8 +29644,9 @@ autopage-\theLWR@currentautosec% % \changes{v0.24}{2017/03/13}{Fix for inline images.} % \changes{v0.26}{2017/03/30}{Fix for \cs{makebox} in \env{picture}.} % \changes{v0.44}{2017/11/16}{\pkg{overpic}: Fix: Groups for lateximages.} +% \changes{v0.59}{2018/09/05}{Added an \attribute{alt} tag.} % \begin{macrocode} -\BeforeBeginEnvironment{picture}{\begin{lateximage}} +\BeforeBeginEnvironment{picture}{\begin{lateximage}[(picture)]} \AfterEndEnvironment{picture}{\end{lateximage}} % \end{macrocode} @@ -31413,7 +31602,7 @@ width:\LWR@printlength{\LWR@tempwidth}% % % \changes{v0.20}{2016/12/12}{Code factored into independent \filenm{lwarp\_html} files.} % -% The following adjustments apply to the lwarp-* package listings: +% ^^A The following adjustments apply to the lwarp-* package listings: % % \titleformat{\part}[hang] % {\hrule\nopagebreak[4]\large\ttfamily\bfseries}{}{0pt}{}[\marginpar{\hfill{}File\,\thepart}] @@ -31663,6 +31852,36 @@ width:\LWR@printlength{\LWR@tempwidth}% % % % \iffalse +%<*accsupp> +% \fi +% +% \part{lwarp-accsupp.sty} +% +% \section{accsupp} +% +% \DescribePackage{accsupp} +% \pkg{accsupp} is ignored. +% +% \changes{v0.59}{2018/07/25}{\pkg{accsupp}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{accsupp} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\BeginAccSupp}[1]{} +\newcommand*{\EndAccSupp}[1]{} +% \end{macrocode} +% +% \iffalse +%</accsupp> +% \fi +% +% +% +% \iffalse %<*acro> % \fi % @@ -32401,6 +32620,394 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % +% +% \iffalse +%<*amsmath> +% \fi +% +% \part{lwarp-amsmath.sty} +% +% \section{amsmath} +% +% \credits{American Mathematical Society, \LaTeX3 Project} +% +% \DescribePackage{amsmath} +% \pkg{amsmath} is patched for use by \pkg{lwarp}. +% +% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.} +% \changes{v0.59}{2018/07/13}{\pkg{amsmath}: Moved from the \pkg{lwarp} core.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{amsmath} +% \end{macrocode} +% +% Patches to allow \cs{eqref} inside a caption: +% +% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.} +% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.} +% \begin{macrocode} +\def\maketag@@@#1{\text{#1}} +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}} +% \end{macrocode} + +% Patches for \AmS\ math \cs{tag} macro to remember the first tag: +% \begin{macrocode} +\ifbool{mathjax}{}{% not mathjax + +\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@ +\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@ + +\renewcommand*{\make@df@tag@@}[1]{% +\LWR@remembertag{#1}% +\LWR@origmake@df@tag@@{#1}% +} + +\renewcommand*{\make@df@tag@@@}[1]{% +\LWR@remembertag{#1}% +\LWR@origmake@df@tag@@@{#1}% +} + +}% not mathjax +% \end{macrocode} +% +% The following \AmS\ environments are more easily patched in-place: +% +% \changes{v0.44}{2017/11/16}{AMS environments: Fix: Groups for \env{lateximage}s.} +% \changes{v0.50}{2018/03/01}{AMS environments: Improved \SVG\ math display.} +% \changes{v0.51}{2018/03/11}{AMS environments: Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.} +% +% \begin{environment}{multline} +% \begin{macrocode} +\BeforeBeginEnvironment{multline}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \booltrue{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{multline}] +} +} + +\AfterEndEnvironment{multline}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \boolfalse{LWR@amsmultline} + \LWR@addmathjax{multline}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{multline*} +% \begin{macrocode} +\BeforeBeginEnvironment{multline*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \booltrue{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{multline*}] +} +} + +\AfterEndEnvironment{multline*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \boolfalse{LWR@amsmultline} + \LWR@addmathjax{multline*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{gather} +% \begin{macrocode} +\BeforeBeginEnvironment{gather}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{gather}] +} +} + +\AfterEndEnvironment{gather}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{gather}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + +% \begin{environment}{gather*} +% \begin{macrocode} +\BeforeBeginEnvironment{gather*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{gather*}] +} +} + +\AfterEndEnvironment{gather*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{gather*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{align} +% \begin{macrocode} +\BeforeBeginEnvironment{align}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{align}] +} +} + +\AfterEndEnvironment{align}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{align}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{align*} +% \begin{macrocode} +\BeforeBeginEnvironment{align*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{align*}] +} +} + +\AfterEndEnvironment{align*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{align*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{flalign} +% \begin{macrocode} +\BeforeBeginEnvironment{flalign}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{flalign}] +} +} + +\AfterEndEnvironment{flalign}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{flalign}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{flalign*} +% \begin{macrocode} +\BeforeBeginEnvironment{flalign*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{flalign*}] +} +} + +\AfterEndEnvironment{flalign*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{flalign*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{alignat} +% \changes{v0.51}{2018/03/11}{Fix: Added.} +% \begin{macrocode} +\BeforeBeginEnvironment{alignat}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{alignat}] +} +} + +\AfterEndEnvironment{alignat}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{alignat}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} + + +% \begin{environment}{alignat*} +% \begin{macrocode} +\BeforeBeginEnvironment{alignat*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{alignat*}] +} +} + +\AfterEndEnvironment{alignat*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{alignat*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +% \end{macrocode} +% \end{environment} +% +% \iffalse +%</amsmath> +% \fi +% +% +% +% +% % \iffalse %<*amsthm> % \fi @@ -32409,7 +33016,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \section{amsthm} % -% \credits{Publications Technical Group --- American Mathematical Society} +% \credits{Publications Technical Group \Dash American Mathematical Society} % % The original source code is located in |amsclass.dtx|, and printed in % |amsclass.pdf|. @@ -32421,7 +33028,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % \begin{table}[ht] % \hrule\smallskip -% \caption{AMSthm package --- CSS styling of theorems and proofs} +% \caption{AMSthm package \Dash CSS styling of theorems and proofs} % \begin{description} % \item [Theorem:] \element{div} of class |amsthmbody<theoremstyle>| % \item [Theorem Name:] \element{span} of class |amsthmname<theoremtyle>| @@ -32943,6 +33550,52 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % +% +% \iffalse +%<*asymptote> +% \fi +% +% \part{lwarp-asymptote.sty} +% +% \section{asymptote} +% +% \credits{Andy Hammerlindl, John Bowman, Tom Prince} +% +% \DescribePackage{asymptote} +% \pkg{asymptote} is patched for use by \pkg{lwarp}. +% +% \changes{v0.59}{2018/07/10}{\pkg{asymptote}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{asymptote} +% \end{macrocode} +% +% \begin{macrocode} +\BeforeBeginEnvironment{asy}{\begin{lateximage}} +\AfterEndEnvironment{asy}{\end{lateximage}} + +\xpatchcmd{\asyinclude} + {\begingroup} + {\begin{lateximage}} + {} + {\LWR@patcherror{asymptote}{asyinclude-begingroup}} + +\xpatchcmd{\asyinclude} + {\endgroup} + {\end{lateximage}} + {} + {\LWR@patcherror{asymptote}{asyinclude-endgroup}} +% \end{macrocode} +% +% \iffalse +%</asymptote> +% \fi +% +% +% +% % \iffalse %<*atbegshi> % \fi @@ -33265,6 +33918,34 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % \iffalse +%<*axessibility> +% \fi +% +% \part{lwarp-axessibility.sty} +% +% \section{axessibility} +% +% \DescribePackage{axessibility} +% \pkg{axessibility} is ignored. +% +% \changes{v0.59}{2018/07/25}{\pkg{axessibility}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{axessibility} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\wrap}[1]{} +% \end{macrocode} +% +% \iffalse +%</axessibility> +% \fi +% +% +% \iffalse %<*axodraw2> % \fi % @@ -33804,6 +34485,143 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % \iffalse +%<*breqn> +% \fi +% +% \part{lwarp-breqn.sty} +% +% \section{breqn} +% +% \credits{Michael J. Downes, Morten Høgholm} +% +% \DescribePackage{breqn} +% \pkg{breqn} is patched for use by \pkg{lwarp}. +% +% \env{darray} is not supported. +% \watchout +% +% MathJax does not support \pkg{breqn}. +% \watchout +% +% \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{breqn} +% \end{macrocode} +% +% \begin{macrocode} +\setkeys{breqn}{spread={5pt}} + +\def\eqnumside{R} +% \def\eqnumplace{T} + +\BeforeBeginEnvironment{dmath}{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dmath- \mathimagename] +} + +\AfterEndEnvironment{dmath}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dmath*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dmath*- \mathimagename] +} + +\AfterEndEnvironment{dmath*}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dseries}{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dseries- \mathimagename] +} + +\AfterEndEnvironment{dseries}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dseries*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dseries*- \mathimagename] +} + +\AfterEndEnvironment{dseries*}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dgroup}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dgroup- \mathimagename] +} + +\AfterEndEnvironment{dgroup}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dgroup*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dgroup*- \mathimagename] +} + +\AfterEndEnvironment{dgroup*}{ + \end{lateximage}\end{BlockClass} +} +% \end{macrocode} +% +% \iffalse +%</breqn> +% \fi +% +% +% +% \iffalse +%<*bxpapersize> +% \fi +% +% \part{lwarp-bxpapersize.sty} +% +% \section{bxpapersize} +% +% \DescribePackage{bxpapersize} +% \pkg{bxpapersize} is ignored. +% +% \changes{v0.59}{2018/09/06}{\pkg{bxpapersize}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{bxpapersize} +% \end{macrocode} +% +% \begin{macrocode} +\providecommand*\papersizesetup{\bxpapersizesetup} +\newcommand*\bxpapersizesetup[1]{} +% \end{macrocode} +% +% \iffalse +%</bxpapersize> +% \fi +% +% +% +% +% \iffalse %<*bytefield> % \fi % @@ -33909,6 +34727,39 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % +% +% +% \iffalse +%<*canoniclayout> +% \fi +% +% \part{lwarp-canoniclayout.sty} +% +% \section{canoniclayout} +% +% \DescribePackage{canoniclayout} +% \pkg{canoniclayout} is ignored. +% +% \changes{v0.59}{2018/07/10}{\pkg{canoniclayout}: Added.} +% +% \codehtml +s% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{canoniclayout} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\currentfontletters}{} +\newcommand*{\charactersperpage}{} +% \end{macrocode} +% +% \iffalse +%</canoniclayout> +% \fi +% +% +% +% % \iffalse %<*caption> % \fi @@ -34132,6 +34983,11 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \DescribePackage{cases} % \pkg{cases} is patched for use by \pkg{lwarp}. % +% +% +% MathJax does not support \pkg{cases}. +% \watchout +% % \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.} % % \codehtml @@ -35434,7 +36290,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \begin{macrocode} \AtBeginDocument{ \@ifchemmacrosmoduleloaded{reactions}{ -\PackageInfo{lwarp}{Patching~chemmacros~module~orbital} +\PackageInfo{lwarp}{Patching~chemmacros~module~reactions} \cs_gset_protected:Npn \chemmacros_declare_reaction_env:nnnn #1#2#3#4 { @@ -35710,7 +36566,11 @@ name = \chemmacros_translate:n {scheme-name} \bool_if:NT \l__chemmacros_nmr_solvent_bool { \bool_if:NTF \l__chemmacros_nmr_parse_bool - { \chemformula_ch:nn { } {#4} } +% \end{macrocode} +% \changes{v0.59}{2018/08/30}{\pkg{chemformula}: Fix for \cs{NMR}.} +% \begin{macrocode} +% { \chemformula_ch:nn { } {#4} }% original + {\ch{#4}}% lwarp {#4} } \bool_if:NT \l__chemmacros_nmr_delimiters_bool @@ -36533,6 +37393,46 @@ name = \chemmacros_translate:n {scheme-name} % % % +% \iffalse +%<*draftcopy> +% \fi +% +% \part{lwarp-draftcopy.sty} +% +% \section{draftcopy} +% +% \DescribePackage{draftcopy} +% \pkg{draftcopy} is ignored. +% +% \changes{v0.59}{2018/09/06}{\pkg{draftcopy}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{draftcopy} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\draftcopyVersion}[1]{} +\newcommand{\draftcopySetGrey}[1]{} +\newcommand{\draftcopySetScale}[1]{} +\newcommand{\draftcopySetScaleFactor}[1]{} +\newcommand{\draftcopyFirstPage}[1]{} +\newcommand{\draftcopyLastPage}[1]{} +\newcommand{\draftcopyName}[2]{} +\newcommand{\draftcopyPageTransform}[1]{} +\newcommand{\draftcopyBottomTransform}[1]{} +\newcommand{\draftcopyPageX}[1]{} +\newcommand{\draftcopyPageY}[1]{} +\newcommand{\draftcopyBottomX}[1]{} +\newcommand{\draftcopyBottomY}[1]{} +% \end{macrocode} +% +% \iffalse +%</draftcopy> +% \fi +% +% % % \iffalse %<*draftwatermark> @@ -37088,23 +37988,20 @@ name = \chemmacros_translate:n {scheme-name} % \section{epstopdf} % % \DescribePackage{epstopdf} -% \pkg{epstopdf} is ignored. +% Previous versions of \pkg{lwarp} had a nullfied verison, but +% now \pkg{epstopdf-base} is supported. +% \pkg{lwarp-epstopdf} becomes a placeholder to overwrite +% previous versions. % -% Filenames should be used without a suffix so that -% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output. +% See package \pkg{epstopdf-base} for details. % % \changes{v0.50}{2018/02/21}{\pkg{epstopdf}: Added.} +% \changes{v0.59}{2018/08/27}{\pkg{epstopdf}: Improved.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackageDrop{epstopdf} -% \end{macrocode} -% -% \begin{macrocode} -\providecommand*{\epstopdfsetup}[1]{} -\providecommand*{\epstopdfcall}[1]{} -\providecommand*{\epstopdfDeclareGraphicsRule}[4]{} +\LWR@ProvidesPackagePass{epstopdf}[2016/05/15] % \end{macrocode} % % \iffalse @@ -37122,23 +38019,57 @@ name = \chemmacros_translate:n {scheme-name} % \section{epstopdf-base} % % \DescribePackage{epstopdf-base} -% \pkg{epstopdf-base} is ignored. % -% Filenames should be used without a suffix so that -% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output. +% \limitsepstopdf % % \changes{v0.51}{2018/03/03}{\pkg{epstopdf-base}: Added.} +% \changes{v0.59}{2018/08/27}{\pkg{epstopdf-base}: Improved.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackageDrop{epstopdf-base}[2016/05/15] +\LWR@ProvidesPackagePass{epstopdf-base}[2016/05/15] % \end{macrocode} % +% Redefine to remember the image filename, replacing |.pdf| with |.svg|. +% Use the \pkg{epstopdf} print version inside a \env{lateximage}. % \begin{macrocode} -\providecommand*{\epstopdfsetup}[1]{} -\providecommand*{\epstopdfcall}[1]{} -\providecommand*{\epstopdfDeclareGraphicsRule}[4]{} +\newcommand*{\LWR@HTML@ETE@OrgGin@setfile}[3]{% + \edef\LWR@tempone{#3}% + \StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% + \StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% + \xdef\LWR@parsedfilename{\LWR@tempone}% +} + +\LWR@formatted{ETE@OrgGin@setfile} +% \end{macrocode} +% +% \cs{includegraphics} in \HTML\ mode redefines \cs{Gin@setfile} to +% be \cs{LWR@HTML@Gin@setfile}, which is now redirected to \pkg{epstopdf}'s version: +% \begin{macrocode} +\renewcommand*{\LWR@HTML@Gin@setfile}[3]{% + \ETE@Gin@setfile{#1}{#2}{#3}% +} +% \end{macrocode} +% +% Allow \filenm{.eps} images to be found if a suffix is not provided: +% \begin{macrocode} +\AtBeginDocument{ +\DeclareGraphicsExtensions{% + .eps,.EPS,.svg,.SVG,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG% +} +\DeclareGraphicsRule{.svg}{svg}{.svg}{} +\DeclareGraphicsRule{.SVG}{svg}{.SVG}{} +} +% \end{macrocode} +% +% Likewise when inside a \env{lateximage}: +% \begin{macrocode} +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{% + .eps,.EPS,.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG% +}% +} % \end{macrocode} % % \iffalse @@ -39070,7 +40001,7 @@ solid \LWR@origpound\LWR@tempcolor ; % % Discard all options for \pkg{lwarp-flushend}: % \begin{macrocode} \LWR@ProvidesPackageDrop{flushend} -% \end{ma-crocode} +% \end{macrocode} % % \begin{macrocode} \newcommand*{\flushend}{} @@ -39089,6 +40020,39 @@ solid \LWR@origpound\LWR@tempcolor ; % % % % +% \iffalse +%<*fnbreak> +% \fi +% +% \part{lwarp-fnbreak.sty} +% +% \section{fnbreak} +% +% \DescribePackage{fnbreak} +% \pkg{fnbreak} is ignored. +% +% \changes{v0.59}{2018/07/09}{\pkg{fnbreak}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{fnbreak} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\fnbreakverbose}{} +\newcommand*{\fnbreaknonverbose}{} +\newcommand*{\fnbreaklabel}{} +\newcommand*{\fnbreaknolabel}{} +% \end{macrocode} +% +% \iffalse +%</fnbreak> +% \fi +% +% +% +% % % \iffalse %<*fncychap> @@ -40236,6 +41200,7 @@ solid \LWR@origpound\LWR@tempcolor ; % \boolfalse{LWR@infloatrow} % \end{macrocode} + % \begin{macro}{\LWR@opacity} For \HTML, used only for \cs{includegraphics}. % % \cs{LWR@opacity} may be set by the \pkg{transparent} package. @@ -40253,9 +41218,12 @@ solid \LWR@origpound\LWR@tempcolor ; % % \end{macro} -% \begin{macro}{\Gin@setfile} Sets the parsed filename. +% \begin{macro}{\LWR@HTML@Gin@setfile} \marg{w} \marg{h} \marg{filename} +% Sets the parsed filename for \HTML output. % \begin{macrocode} -\let\LWR@origGin@setfile\Gin@setfile +\newcommand*{\LWR@HTML@Gin@setfile}[3]{% + \xdef\LWR@parsedfilename{#3}% +} % \end{macrocode} % \end{macro} @@ -40272,6 +41240,27 @@ solid \LWR@origpound\LWR@tempcolor ; % % \end{macrocode} +% \begin{macro}{\LWR@replaceEPSSVG} +% +% Usually, references to \EPS\ files become \SVG\ files, +% but if the \pkg{epstopdf} package is being used, it automatically +% converts \EPS\ to \PDF, and the following must NOT be done. +% \begin{macrocode} +\AtBeginDocument{ +\@ifpackageloaded{epstopdf} +{ + \newcommand*{\LWR@replaceEPSSVG}{} +}{% + \newcommand*{\LWR@replaceEPSSVG}{% + \StrSubstitute{\LWR@tempone}{.eps}{.svg}[\LWR@tempone]% + \StrSubstitute{\LWR@tempone}{.EPS}{.SVG}[\LWR@tempone]% + } +}% +} +% \end{macrocode} +% \end{macro} + + % \begin{macro}{\LWR@includegraphicsb} * \oarg{2: options} \oarg{3: options} \marg{4: filename} % % \pkg{graphics} syntax is \cs{includegraphics} * \oarg{llx,lly} \oarg{urx,ury} \marg{file} @@ -40292,6 +41281,8 @@ solid \LWR@origpound\LWR@tempcolor ; % % \changes{v0.40}{2017/09/08}{Add: Full \cs{graphicspath} support.} % \changes{v0.42}{2017/10/26}{Fix: Filename expansion.} % \changes{v0.45}{2017/12/29}{Improved URLs with underscores.} +% \changes{v0.59}{2018/09/07}{Now works with \filenm{.pdf} and \filenm{.eps} +% filename extensions.} % \begin{macrocode} \NewDocumentCommand{\LWR@includegraphicsb}{s o o m} {% @@ -40317,13 +41308,18 @@ 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% -\renewcommand*{\Gin@setfile}[3]{% -\LWR@traceinfo{Gin@setfile ##3}% -\xdef\LWR@parsedfilename{##3}% -}% -\Ginclude@graphics{\detokenize\expandafter{#4}}% +\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}% @@ -45275,6 +46271,67 @@ class="td% % % % +% \iffalse +%<*nccfancyhdr> +% \fi +% +% \part{lwarp-nccfancyhdr.sty} +% +% \section{nccfancyhdr} +% +% \credits{Alexander I. Rozhenko} +% +% \DescribePackage{nccfancyhdr} +% \pkg{nccfancyhdr} is ignored. +% +% \changes{v0.59}{2018/08/06}{\pkg{nccfancyhdr}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{nccfancyhdr} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\headrulewidth}{} +\newcommand*{\footrulewidth}{} +\newcommand{\headstrutheight}{} +\newcommand{\footstrutheight}{} +\newcommand*{\headrule}{} +\newcommand*{\footrule}{} + +\newdimen\headwidth +\newcommand*{\extendedheaders}{} +\newcommand*{\normalheaders}{} + +\newcommand*{\fancyhead}[2][]{} +\newcommand*{\fancyfoot}[2][]{} +\newcommand*{\fancyhf}[2][]{} +\newcommand*{\fancypagestyle}[2]{} +\newcommand*{\lhead}[2][]{} +\newcommand*{\chead}[2][]{} +\newcommand*{\rhead}[2][]{} +\newcommand*{\lfoot}[2][]{} +\newcommand*{\cfoot}[2][]{} +\newcommand*{\rfoot}[2][]{} + +\newcommand{\nouppercase}[1]{#1} + +\NewDocumentCommand{\fancycenter}{o o m m m}{} + +\NewDocumentCommand{\newpagestyle}{m o m}{} + +\newcommand*{\iffloatpage}[2]{#2} +\newcommand*{\ifftopfloat}[2]{#2} +\newcommand*{\iffbotfloat}[2]{#2} +% \end{macrocode} +% +% \iffalse +%</nccfancyhdr> +% \fi +% +% +% % % % @@ -45445,6 +46502,11 @@ class="td% \endgroup% } % \end{macrocode} +% +% For Mathjax: +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}} +% \end{macrocode} % \iffalse %</nicefrac> @@ -45615,7 +46677,7 @@ class="td% % \begin{table}[ht] % \hrule % \smallskip -% \caption{Ntheorem package --- CSS styling of theorems and proofs}\unskip +% \caption{Ntheorem package \Dash CSS styling of theorems and proofs}\unskip % \begin{description} % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>| % \item [Theorem Header:] \element{span} of class |theoremheader<style>| @@ -46877,6 +47939,59 @@ class="td% % % % \iffalse +%<*pdftricks> +% \fi +% +% \part{lwarp-pdftricks.sty} +% +% \section{pdftricks} +% +% \credits{C. V. RadÂhakrÂishÂnan, C. V. RaÂjagopal, Antoine Chambert-Loir} +% +% \DescribePackage{pdftricks} +% \pkg{pdftricks} is patched for use by \pkg{lwarp}. +% +% \limitspdftricks +% +% \changes{v0.59}{2018/08/29}{\pkg{pdftricks}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{pdftricks} +% \end{macrocode} +% +% Reuse the print-mode images: +% \begin{macrocode} +\def\PDFTfigname{\BaseJobname-fig\thepsfig} +% \end{macrocode} +% +% If the \filenm{.pdf} images have not yet been converted to \filenm{.svg} then +% an error about a missing file will occur. +% Warn the user to convert the images. +% \begin{macrocode} +\PackageWarning{lwarp-pdftricks}{ +When the pdftricks images change, +remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', +} + +\AfterEndDocument{\typeout{***}} +\AfterEndDocument{\typeout{*** Note: If pdftricks images are not found, new, or updated,}} +\AfterEndDocument{\typeout{*** \space use 'lwarpmk pdftosvg \BaseJobname-fig*.pdf'}} +\AfterEndDocument{\typeout{***}} +% \end{macrocode} +% +% \begin{macrocode} +% \end{macrocode} +% +% \iffalse +%</pdftricks> +% \fi +% +% +% +% +% \iffalse %<*pdfx> % \fi % @@ -47113,6 +48228,72 @@ class="td% % % % +% \iffalse +%<*pst-eps> +% \fi +% +% \part{lwarp-pst-eps.sty} +% +% \section{pst-eps} +% +% \credits{Herbert Voß} +% +% \DescribePackage{pst-eps} +% \pkg{pst-eps} is patched for use by \pkg{lwarp}. +% +% \changes{v0.59}{2018/09/05}{\pkg{pst-eps}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{pst-eps} +% \end{macrocode} +% +% \begin{macrocode} +\renewenvironment{TeXtoEPS}{}{} +\renewcommand{\PSTtoEPS}[3][]{} +% \end{macrocode} +% +% \iffalse +%</pst-eps> +% \fi +% +% +% +% \iffalse +%<*pstricks> +% \fi +% +% \part{lwarp-pstricks.sty} +% +% \section{pstricks} +% +% \credits{Timothy Van Zandt} +% +% \DescribePackage{pstricks} +% \pkg{pstricks} is patched for use by \pkg{lwarp}. +% +% \limitspstricks +% +% \changes{v0.59}{2018/09/05}{\pkg{pstricks}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{pstricks} +% \end{macrocode} +% +% \begin{macrocode} +\BeforeBeginEnvironment{pspicture}{\begin{lateximage}[(pspicture)]} +\AfterEndEnvironment{pspicture}{\end{lateximage}} +% \end{macrocode} +% +% \iffalse +%</pstricks> +% \fi +% +% +% % % \iffalse %<*quotchap> @@ -48762,6 +49943,60 @@ class="td% % % % +% \iffalse +%<*SIunits> +% \fi +% +% \part{lwarp-SIunits.sty} +% +% \section{SIunits} +% +% \credits{Marcel Heldoorn} +% +% \DescribePackage{SIunits} +% \pkg{SIunits} is patched for use by \pkg{lwarp}. +% +% It is recommended to use \cs{unit} where possible, which +% combines the entire expression into a single \env{lateximage}, +% and adds the \attribute{alt} tag containing the \LaTeX\ code, allowing for +% copy/paste. When units are used outside of the \cs{unit} macro, +% each unit macro will have its own \env{lateximage}, +% and each will have the \attribute{alt} tag set to ``|(|<\cs{mathimagename}>|)|'', +% which defaults to ``|(math image)|''. +% +% \changes{v0.59}{2018/07/11}{\pkg{SIunits}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{SIunits} +% \end{macrocode} +% +% Patched for copy/paste with the \HTML\ \attribute{alt} tag: +% \begin{macrocode} +\DeclareRobustCommand{\unit}[2]{% +\@inunitcommandtrue% original +\LWR@subsingledollar*% lwarp +{% alt tag + \textbackslash{}unit\{\LWR@HTMLsanitize{#1}\}% + \{ \LWR@HTMLsanitize{#2}\}% extra space +}% +{SIunits}% add'l hashing +{% + \LWR@origensuredmath{% lwarp modification + \SI@fstyle{#1\@qsk\period@active{#2}}% original + }% +}% contents +\@inunitcommandfalse% original +} +% \end{macrocode} +% +% \iffalse +%</SIunits> +% \fi +% +% +% % % \iffalse %<*siunitx> @@ -50078,7 +51313,7 @@ class="td% % \credits{Alexander I. Rozhenko} % % \DescribePackage{textarea} -% \pkg{textarea} is emulated. +% \pkg{textarea} is ignored. % % \changes{v0.39}{2017/08/27}{\pkg{textarea}: Added.} % @@ -50398,7 +51633,7 @@ class="td% % \begin{table}[ht] % \hrule % \smallskip -% \caption{Theorem package --- CSS styling of theorems and proofs} +% \caption{Theorem package \Dash CSS styling of theorems and proofs} % \begin{description} % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>| % \item [Theorem Header:] \element{span} of class |theoremheader| @@ -52922,6 +54157,39 @@ class="td% % % % \iffalse +%<*units> +% \fi +% +% \part{lwarp-units.sty} + +% \section{units} +% +% \credits{Axel Reichert} +% +% \DescribePackage{units} +% \pkg{units} is patched for use by \pkg{lwarp}. +% +% \changes{v0.59}{2018/07/13}{\pkg{units}: Added support for \pkg{MathJax.}} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{units}[1998/08/04] +% \end{macrocode} +% +% For Mathjax: +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}} +\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}} +% \end{macrocode} + +% \iffalse +%</units> +% \fi +% +% +% +% \iffalse %<*upref> % \fi % @@ -54747,6 +56015,44 @@ scaling = false % % % \iffalse +%<*xunicode> +% \fi +% +% \part{lwarp-xunicode.sty} +% +% \section{xunicode} +% +% \DescribePackage{xunicode} +% Error if \pkg{xunicode} is loaded after \pkg{lwarp}. +% +% \changes{v0.59}{2018/08/03}{\pkg{xunicode}: Added.} + +% Patch \pkg{lwarp-xunicode}, but also verify that is was loaded before \pkg{lwarp}: +% +% \codehtml +% \begin{macrocode} +\@ifpackageloaded{lwarp}{\LWR@loadbefore{xunicode}}{} + +\LWR@ProvidesPackagePass{xunicode}[2011/09/09] +% \end{macrocode} +% +% \cs{textcircled} becomes a span with a rounded border: +% \begin{macrocode} +\newcommand*{\LWR@HTML@textcircled}[1]{% +\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}% +} + +\LWR@formatted{textcircled} +% \end{macrocode} + +% \iffalse +%</xunicode> +% \fi +% +% +% +% +% \iffalse %<*xurl> % \fi % @@ -56518,7 +57824,7 @@ scaling = false % \part{Change History and Index} % \label{sec:changehistory} % -% For the most recent changes and the start of the Index, +% For the most recent changes, followed by the start of the Index, % see page \pageref{sec:changesend}. % % \pagestyle{plain} diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins index 2c1e67662fa..661b5c8d70b 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins @@ -37,6 +37,7 @@ version 2005/12/01 or later. \file{lwarp-a4wide.sty}{\from{lwarp.dtx}{a4wide}} \file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}} \file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}} +\file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}} \file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}} \file{lwarp-acronym.sty}{\from{lwarp.dtx}{acronym}} \file{lwarp-adjmulticol.sty}{\from{lwarp.dtx}{adjmulticol}} @@ -47,6 +48,7 @@ version 2005/12/01 or later. \file{lwarp-algorithm2e.sty}{\from{lwarp.dtx}{algorithm2e}} \file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}} \file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}} +\file{lwarp-amsmath.sty}{\from{lwarp.dtx}{amsmath}} \file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}} \file{lwarp-anonchap.sty}{\from{lwarp.dtx}{anonchap}} \file{lwarp-anysize.sty}{\from{lwarp.dtx}{anysize}} @@ -54,10 +56,12 @@ version 2005/12/01 or later. \file{lwarp-arabicfront.sty}{\from{lwarp.dtx}{arabicfront}} \file{lwarp-array.sty}{\from{lwarp.dtx}{array}} \file{lwarp-arydshln.sty}{\from{lwarp.dtx}{arydshln}} +\file{lwarp-asymptote.sty}{\from{lwarp.dtx}{asymptote}} \file{lwarp-atbegshi.sty}{\from{lwarp.dtx}{atbegshi}} \file{lwarp-attachfile.sty}{\from{lwarp.dtx}{attachfile}} \file{lwarp-attachfile2.sty}{\from{lwarp.dtx}{attachfile2}} \file{lwarp-authblk.sty}{\from{lwarp.dtx}{authblk}} +\file{lwarp-axessibility.sty}{\from{lwarp.dtx}{axessibility}} \file{lwarp-axodraw2.sty}{\from{lwarp.dtx}{axodraw2}} \file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}} \file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}} @@ -70,8 +74,11 @@ version 2005/12/01 or later. \file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}} \file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}} \file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}} +\file{lwarp-breqn.sty}{\from{lwarp.dtx}{breqn}} +\file{lwarp-bxpapersize.sty}{\from{lwarp.dtx}{bxpapersize}} \file{lwarp-bytefield.sty}{\from{lwarp.dtx}{bytefield}} \file{lwarp-cancel.sty}{\from{lwarp.dtx}{cancel}} +\file{lwarp-canoniclayout.sty}{\from{lwarp.dtx}{canoniclayout}} \file{lwarp-caption.sty}{\from{lwarp.dtx}{caption}} \file{lwarp-caption2.sty}{\from{lwarp.dtx}{caption2}} \file{lwarp-cases.sty}{\from{lwarp.dtx}{cases}} @@ -98,6 +105,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-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}} \file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}} \file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}} \file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}} @@ -133,6 +141,7 @@ version 2005/12/01 or later. \file{lwarp-floatrow.sty}{\from{lwarp.dtx}{floatrow}} \file{lwarp-fltrace.sty}{\from{lwarp.dtx}{fltrace}} \file{lwarp-flushend.sty}{\from{lwarp.dtx}{flushend}} +\file{lwarp-fnbreak.sty}{\from{lwarp.dtx}{fnbreak}} \file{lwarp-fncychap.sty}{\from{lwarp.dtx}{fncychap}} \file{lwarp-fnlineno.sty}{\from{lwarp.dtx}{fnlineno}} \file{lwarp-fnpos.sty}{\from{lwarp.dtx}{fnpos}} @@ -210,6 +219,7 @@ version 2005/12/01 or later. \file{lwarp-multitoc.sty}{\from{lwarp.dtx}{multitoc}} \file{lwarp-nameref.sty}{\from{lwarp.dtx}{nameref}} \file{lwarp-natbib.sty}{\from{lwarp.dtx}{natbib}} +\file{lwarp-nccfancyhdr.sty}{\from{lwarp.dtx}{nccfancyhdr}} \file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}} \file{lwarp-newclude.sty}{\from{lwarp.dtx}{newclude}} \file{lwarp-newunicodechar.sty}{\from{lwarp.dtx}{newunicodechar}} @@ -232,6 +242,7 @@ version 2005/12/01 or later. \file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}} \file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}} \file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}} +\file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}} \file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}} \file{lwarp-pfnote.sty}{\from{lwarp.dtx}{pfnote}} \file{lwarp-phfqit.sty}{\from{lwarp.dtx}{phfqit}} @@ -239,6 +250,8 @@ 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-pst-eps.sty}{\from{lwarp.dtx}{pst-eps}} +\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}} @@ -268,6 +281,7 @@ version 2005/12/01 or later. \file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}} \file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}} \file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}} +\file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}} \file{lwarp-siunitx.sty}{\from{lwarp.dtx}{siunitx}} \file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}} \file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}} @@ -309,6 +323,7 @@ version 2005/12/01 or later. \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-verse.sty}{\from{lwarp.dtx}{verse}} @@ -328,6 +343,7 @@ version 2005/12/01 or later. \file{lwarp-xmpincl.sty}{\from{lwarp.dtx}{xmpincl}} \file{lwarp-xpiano.sty}{\from{lwarp.dtx}{xpiano}} \file{lwarp-xtab.sty}{\from{lwarp.dtx}{xtab}} +\file{lwarp-xunicode.sty}{\from{lwarp.dtx}{xunicode}} \file{lwarp-xurl.sty}{\from{lwarp.dtx}{xurl}} \file{lwarp-xy.sty}{\from{lwarp.dtx}{xy}} \file{lwarp-zwpagelayout.sty}{\from{lwarp.dtx}{zwpagelayout}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty new file mode 100644 index 00000000000..d210dc7a038 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty @@ -0,0 +1,36 @@ +%% +%% This is file `lwarp-SIunits.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `SIunits') +%% 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{SIunits} +\DeclareRobustCommand{\unit}[2]{% +\@inunitcommandtrue% original +\LWR@subsingledollar*% lwarp +{% alt tag + \textbackslash{}unit\{\LWR@HTMLsanitize{#1}\}% + \{ \LWR@HTMLsanitize{#2}\}% extra space +}% +{SIunits}% add'l hashing +{% + \LWR@origensuredmath{% lwarp modification + \SI@fstyle{#1\@qsk\period@active{#2}}% original + }% +}% contents +\@inunitcommandfalse% original +} +\endinput +%% +%% End of file `lwarp-SIunits.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty new file mode 100644 index 00000000000..73f2939e9f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty @@ -0,0 +1,23 @@ +%% +%% This is file `lwarp-accsupp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `accsupp') +%% 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{accsupp} +\newcommand*{\BeginAccSupp}[1]{} +\newcommand*{\EndAccSupp}[1]{} +\endinput +%% +%% End of file `lwarp-accsupp.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty new file mode 100644 index 00000000000..2a08c69341a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty @@ -0,0 +1,312 @@ +%% +%% This is file `lwarp-amsmath.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `amsmath') +%% 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{amsmath} +\def\maketag@@@#1{\text{#1}} +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}} + +\ifbool{mathjax}{}{% not mathjax + +\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@ +\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@ + +\renewcommand*{\make@df@tag@@}[1]{% +\LWR@remembertag{#1}% +\LWR@origmake@df@tag@@{#1}% +} + +\renewcommand*{\make@df@tag@@@}[1]{% +\LWR@remembertag{#1}% +\LWR@origmake@df@tag@@@{#1}% +} + +}% not mathjax +\BeforeBeginEnvironment{multline}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \booltrue{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{multline}] +} +} + +\AfterEndEnvironment{multline}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \boolfalse{LWR@amsmultline} + \LWR@addmathjax{multline}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{multline*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \booltrue{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{multline*}] +} +} + +\AfterEndEnvironment{multline*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \boolfalse{LWR@amsmultline} + \LWR@addmathjax{multline*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + + +\BeforeBeginEnvironment{gather}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{gather}] +} +} + +\AfterEndEnvironment{gather}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{gather}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{gather*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{gather*}] +} +} + +\AfterEndEnvironment{gather*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{gather*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{align}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{align}] +} +} + +\AfterEndEnvironment{align}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{align}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{align*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{align*}] +} +} + +\AfterEndEnvironment{align*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{align*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{flalign}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{flalign}] +} +} + +\AfterEndEnvironment{flalign}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{flalign}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{flalign*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{flalign*}] +} +} + +\AfterEndEnvironment{flalign*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{flalign*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{alignat}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbodynumbered{alignat}] +} +} + +\AfterEndEnvironment{alignat}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{alignat}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} + +\BeforeBeginEnvironment{alignat*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@syncmathjax + \boolfalse{LWR@amsmultline} + \LWR@beginhideamsmath +} +{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[\LWR@amsmathbody{alignat*}] +} +} + +\AfterEndEnvironment{alignat*}{ + +\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% +{ + \LWR@endhideamsmath + \LWR@addmathjax{alignat*}{\the\@envbody} +} +{\end{lateximage}\end{BlockClass}} + +} +\endinput +%% +%% End of file `lwarp-amsmath.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty new file mode 100644 index 00000000000..da16201e2df --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty @@ -0,0 +1,35 @@ +%% +%% This is file `lwarp-asymptote.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `asymptote') +%% 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{asymptote} +\BeforeBeginEnvironment{asy}{\begin{lateximage}} +\AfterEndEnvironment{asy}{\end{lateximage}} + +\xpatchcmd{\asyinclude} + {\begingroup} + {\begin{lateximage}} + {} + {\LWR@patcherror{asymptote}{asyinclude-begingroup}} + +\xpatchcmd{\asyinclude} + {\endgroup} + {\end{lateximage}} + {} + {\LWR@patcherror{asymptote}{asyinclude-endgroup}} +\endinput +%% +%% End of file `lwarp-asymptote.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty new file mode 100644 index 00000000000..75bcbbc8c2f --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty @@ -0,0 +1,22 @@ +%% +%% This is file `lwarp-axessibility.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `axessibility') +%% 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{axessibility} +\newcommand{\wrap}[1]{} +\endinput +%% +%% End of file `lwarp-axessibility.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty new file mode 100644 index 00000000000..3b69a0e9bb7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty @@ -0,0 +1,90 @@ +%% +%% This is file `lwarp-breqn.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `breqn') +%% 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{breqn} +\setkeys{breqn}{spread={5pt}} + +\def\eqnumside{R} + +\BeforeBeginEnvironment{dmath}{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dmath- \mathimagename] +} + +\AfterEndEnvironment{dmath}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dmath*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dmath*- \mathimagename] +} + +\AfterEndEnvironment{dmath*}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dseries}{ + \begin{BlockClass}{displaymathnumbered} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dseries- \mathimagename] +} + +\AfterEndEnvironment{dseries}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dseries*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dseries*- \mathimagename] +} + +\AfterEndEnvironment{dseries*}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dgroup}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dgroup- \mathimagename] +} + +\AfterEndEnvironment{dgroup}{ + \end{lateximage}\end{BlockClass} +} + +\BeforeBeginEnvironment{dgroup*}{ + \begin{BlockClass}{displaymath} + \LWR@newautoidanchor% + \booltrue{LWR@indisplaymathimage}% + \begin{lateximage}[-breqn dgroup*- \mathimagename] +} + +\AfterEndEnvironment{dgroup*}{ + \end{lateximage}\end{BlockClass} +} +\endinput +%% +%% End of file `lwarp-breqn.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty new file mode 100644 index 00000000000..b6711dc6e8d --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty @@ -0,0 +1,23 @@ +%% +%% This is file `lwarp-bxpapersize.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `bxpapersize') +%% 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{bxpapersize} +\providecommand*\papersizesetup{\bxpapersizesetup} +\newcommand*\bxpapersizesetup[1]{} +\endinput +%% +%% End of file `lwarp-bxpapersize.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty new file mode 100644 index 00000000000..6c0ffa3f425 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty @@ -0,0 +1,24 @@ +%% +%% This is file `lwarp-canoniclayout.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `canoniclayout') +%% 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. +s% +\LWR@ProvidesPackageDrop{canoniclayout} +\newcommand*{\currentfontletters}{} +\newcommand*{\charactersperpage}{} +\endinput +%% +%% End of file `lwarp-canoniclayout.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty index ca0052c3cda..71a336e8140 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty @@ -484,7 +484,7 @@ }% AtBeginDocument \AtBeginDocument{ \@ifchemmacrosmoduleloaded{reactions}{ -\PackageInfo{lwarp}{Patching~chemmacros~module~orbital} +\PackageInfo{lwarp}{Patching~chemmacros~module~reactions} \cs_gset_protected:Npn \chemmacros_declare_reaction_env:nnnn #1#2#3#4 { @@ -734,7 +734,7 @@ name = \chemmacros_translate:n {scheme-name} \bool_if:NT \l__chemmacros_nmr_solvent_bool { \bool_if:NTF \l__chemmacros_nmr_parse_bool - { \chemformula_ch:nn { } {#4} } + {\ch{#4}}% lwarp {#4} } \bool_if:NT \l__chemmacros_nmr_delimiters_bool diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty new file mode 100644 index 00000000000..f830e128976 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty @@ -0,0 +1,34 @@ +%% +%% This is file `lwarp-draftcopy.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `draftcopy') +%% 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{draftcopy} +\newcommand{\draftcopyVersion}[1]{} +\newcommand{\draftcopySetGrey}[1]{} +\newcommand{\draftcopySetScale}[1]{} +\newcommand{\draftcopySetScaleFactor}[1]{} +\newcommand{\draftcopyFirstPage}[1]{} +\newcommand{\draftcopyLastPage}[1]{} +\newcommand{\draftcopyName}[2]{} +\newcommand{\draftcopyPageTransform}[1]{} +\newcommand{\draftcopyBottomTransform}[1]{} +\newcommand{\draftcopyPageX}[1]{} +\newcommand{\draftcopyPageY}[1]{} +\newcommand{\draftcopyBottomX}[1]{} +\newcommand{\draftcopyBottomY}[1]{} +\endinput +%% +%% End of file `lwarp-draftcopy.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty index 2e32fac7440..177a33c9161 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty @@ -15,10 +15,30 @@ %% 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{epstopdf-base}[2016/05/15] -\providecommand*{\epstopdfsetup}[1]{} -\providecommand*{\epstopdfcall}[1]{} -\providecommand*{\epstopdfDeclareGraphicsRule}[4]{} +\LWR@ProvidesPackagePass{epstopdf-base}[2016/05/15] +\newcommand*{\LWR@HTML@ETE@OrgGin@setfile}[3]{% + \edef\LWR@tempone{#3}% + \StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]% + \StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]% + \xdef\LWR@parsedfilename{\LWR@tempone}% +} + +\LWR@formatted{ETE@OrgGin@setfile} +\renewcommand*{\LWR@HTML@Gin@setfile}[3]{% + \ETE@Gin@setfile{#1}{#2}{#3}% +} +\AtBeginDocument{ +\DeclareGraphicsExtensions{% + .eps,.EPS,.svg,.SVG,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG% +} +\DeclareGraphicsRule{.svg}{svg}{.svg}{} +\DeclareGraphicsRule{.SVG}{svg}{.SVG}{} +} +\appto\LWR@restoreorigformatting{% +\DeclareGraphicsExtensions{% + .eps,.EPS,.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG% +}% +} \endinput %% %% End of file `lwarp-epstopdf-base.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty index d25150f6484..4dc7a2592bb 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty @@ -15,10 +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{epstopdf} -\providecommand*{\epstopdfsetup}[1]{} -\providecommand*{\epstopdfcall}[1]{} -\providecommand*{\epstopdfDeclareGraphicsRule}[4]{} +\LWR@ProvidesPackagePass{epstopdf}[2016/05/15] \endinput %% %% End of file `lwarp-epstopdf.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty new file mode 100644 index 00000000000..d27d5d3e63f --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty @@ -0,0 +1,25 @@ +%% +%% This is file `lwarp-fnbreak.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `fnbreak') +%% 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{fnbreak} +\newcommand*{\fnbreakverbose}{} +\newcommand*{\fnbreaknonverbose}{} +\newcommand*{\fnbreaklabel}{} +\newcommand*{\fnbreaknolabel}{} +\endinput +%% +%% End of file `lwarp-fnbreak.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty index 6a8c37a1207..deaef2c9227 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty @@ -130,12 +130,26 @@ \newsavebox{\LWR@imagesizebox} -\let\LWR@origGin@setfile\Gin@setfile +\newcommand*{\LWR@HTML@Gin@setfile}[3]{% + \xdef\LWR@parsedfilename{#3}% +} \AtBeginDocument{ \define@key{Gin}{class}{} } +\AtBeginDocument{ +\@ifpackageloaded{epstopdf} +{ + \newcommand*{\LWR@replaceEPSSVG}{} +}{% + \newcommand*{\LWR@replaceEPSSVG}{% + \StrSubstitute{\LWR@tempone}{.eps}{.svg}[\LWR@tempone]% + \StrSubstitute{\LWR@tempone}{.EPS}{.SVG}[\LWR@tempone]% + } +}% +} + \NewDocumentCommand{\LWR@includegraphicsb}{s o o m} {% \LWR@traceinfo{LWR@includegraphicsb #4}% @@ -152,11 +166,13 @@ }% }{}% \begingroup% -\renewcommand*{\Gin@setfile}[3]{% -\LWR@traceinfo{Gin@setfile ##3}% -\xdef\LWR@parsedfilename{##3}% -}% -\Ginclude@graphics{\detokenize\expandafter{#4}}% +\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}% diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty new file mode 100644 index 00000000000..3a856513eda --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty @@ -0,0 +1,52 @@ +%% +%% This is file `lwarp-nccfancyhdr.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `nccfancyhdr') +%% 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{nccfancyhdr} +\newcommand*{\headrulewidth}{} +\newcommand*{\footrulewidth}{} +\newcommand{\headstrutheight}{} +\newcommand{\footstrutheight}{} +\newcommand*{\headrule}{} +\newcommand*{\footrule}{} + +\newdimen\headwidth +\newcommand*{\extendedheaders}{} +\newcommand*{\normalheaders}{} + +\newcommand*{\fancyhead}[2][]{} +\newcommand*{\fancyfoot}[2][]{} +\newcommand*{\fancyhf}[2][]{} +\newcommand*{\fancypagestyle}[2]{} +\newcommand*{\lhead}[2][]{} +\newcommand*{\chead}[2][]{} +\newcommand*{\rhead}[2][]{} +\newcommand*{\lfoot}[2][]{} +\newcommand*{\cfoot}[2][]{} +\newcommand*{\rfoot}[2][]{} + +\newcommand{\nouppercase}[1]{#1} + +\NewDocumentCommand{\fancycenter}{o o m m m}{} + +\NewDocumentCommand{\newpagestyle}{m o m}{} + +\newcommand*{\iffloatpage}[2]{#2} +\newcommand*{\ifftopfloat}[2]{#2} +\newcommand*{\iffbotfloat}[2]{#2} +\endinput +%% +%% End of file `lwarp-nccfancyhdr.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty index a74f58bf1a2..de194222e08 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty @@ -25,6 +25,7 @@ \LWR@origUnitsNiceFrac[#1]{#2}{#3}% \endgroup% } +\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}} \endinput %% diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty new file mode 100644 index 00000000000..63b6da8d004 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty @@ -0,0 +1,31 @@ +%% +%% This is file `lwarp-pdftricks.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `pdftricks') +%% 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{pdftricks} +\def\PDFTfigname{\BaseJobname-fig\thepsfig} +\PackageWarning{lwarp-pdftricks}{ +When the pdftricks images change, +remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', +} + +\AfterEndDocument{\typeout{***}} +\AfterEndDocument{\typeout{*** Note: If pdftricks images are not found, new, or updated,}} +\AfterEndDocument{\typeout{*** \space use 'lwarpmk pdftosvg \BaseJobname-fig*.pdf'}} +\AfterEndDocument{\typeout{***}} +\endinput +%% +%% End of file `lwarp-pdftricks.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty new file mode 100644 index 00000000000..1a1654db8fd --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty @@ -0,0 +1,23 @@ +%% +%% This is file `lwarp-pst-eps.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `pst-eps') +%% 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{pst-eps} +\renewenvironment{TeXtoEPS}{}{} +\renewcommand{\PSTtoEPS}[3][]{} +\endinput +%% +%% End of file `lwarp-pst-eps.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty new file mode 100644 index 00000000000..d4f3e032de2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty @@ -0,0 +1,23 @@ +%% +%% This is file `lwarp-pstricks.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `pstricks') +%% 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{pstricks} +\BeforeBeginEnvironment{pspicture}{\begin{lateximage}[(pspicture)]} +\AfterEndEnvironment{pspicture}{\end{lateximage}} +\endinput +%% +%% End of file `lwarp-pstricks.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty new file mode 100644 index 00000000000..28e7405a572 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty @@ -0,0 +1,25 @@ +%% +%% This is file `lwarp-units.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `units') +%% 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{units}[1998/08/04] +\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}} +\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}} + +\endinput +%% +%% End of file `lwarp-units.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty new file mode 100644 index 00000000000..636cd518cc6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty @@ -0,0 +1,30 @@ +%% +%% This is file `lwarp-xunicode.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `xunicode') +%% 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. + +\@ifpackageloaded{lwarp}{\LWR@loadbefore{xunicode}}{} + +\LWR@ProvidesPackagePass{xunicode}[2011/09/09] +\newcommand*{\LWR@HTML@textcircled}[1]{% +\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}% +} + +\LWR@formatted{textcircled} + +\endinput +%% +%% End of file `lwarp-xunicode.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty index a1b52d3adf8..719adc22c37 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty @@ -17,7 +17,7 @@ %% version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{lwarp} - [2018/07/07 v0.58 Allows LaTeX to directly produce HTML5 output.] + [2018/09/07 v0.59 Allows LaTeX to directly produce HTML5 output.] @@ -38,6 +38,8 @@ \ifLuaTeX \RequirePackage{luatex85}% until the geometry package is updated \fi + +\RequirePackage{ifpdf} \newcommand{\LWR@mdfive}[1]{% \PackageError{lwarp} {No MD5 macro was found.} @@ -68,7 +70,6 @@ } } \fi - \RequirePackage{newunicodechar} \newunicodechar{⨯}{\texttimes} @@ -194,6 +195,12 @@ \DeclareBoolOption[false]{latexmk} +\DeclareBoolOption[false]{dvips} + +\DeclareBoolOption[false]{dvipdfm} + +\DeclareBoolOption[false]{dvipdfmx} + \ProcessKeyvalOptions*\relax \providecommand*{\BaseJobname}{\LWR@BaseJobname} @@ -334,6 +341,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{a4wide} \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} +\LWR@loadafter{accsupp} \LWR@loadafter{acro} \LWR@loadafter{acronym} \LWR@loadafter{adjmulticol} @@ -351,9 +359,12 @@ For a possible alternative, see package(s) #2.} \LWR@notmemoirloadafter{appendix} \LWR@loadafter{arabicfront} \LWR@notmemoirloadafter{array} +\LWR@loadafter{arydshln} +\LWR@loadafter{asymptote} \LWR@loadafter{attachfile} \LWR@loadafter{attachfile2} \LWR@loadafter{authblk} +\LWR@loadafter{axessibility} \LWR@loadafter{axodraw2} \LWR@loadafter{backref} \LWR@loadafter{balance} @@ -365,8 +376,11 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{boxedminipage} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{breakurl} +\LWR@loadafter{breqn} +\LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{cancel} +\LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} \LWR@loadafter{cases} @@ -391,6 +405,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{dblfnote} \LWR@notmemoirloadafter{dcolumn} \LWR@loadafter{diagbox} +\LWR@loadafter{draftcopy} \LWR@loadafter{draftwatermark} \LWR@loadafter{easy-todo} \LWR@loadafter{ebook} @@ -426,6 +441,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{floatrow} \LWR@loadafter{fltrace} \LWR@loadafter{flushend} +\LWR@loadafter{fnbreak} \LWR@loadafter{fncychap} \LWR@loadafter{fnlineno} \LWR@loadafter{fnpos} @@ -495,6 +511,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{multitoc} \LWR@loadafter{nameref} \LWR@loadafter{natbib} +\LWR@notmemoirloadafter{nccfancyhdr} \LWR@notmemoirloadafter{needspace} \LWR@loadafter{newtxmath} \LWR@notmemoirloadafter{nextpage} @@ -516,6 +533,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{pdflscape} \LWR@loadafter{pdfpages} \LWR@loadafter{pdfsync} +\LWR@loadafter{pdftricks} \LWR@loadafter{pdfx} \LWR@loadafter{pfnote} \LWR@loadafter{phfqit} @@ -523,6 +541,8 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{prelim2e} \LWR@loadafter{prettyref} \LWR@loadafter{preview} +\LWR@loadafter{pst-eps} +\LWR@loadafter{pstricks} \LWR@loadafter{quotchap} \LWR@loadafter{quoting} \LWR@loadafter{ragged2e} @@ -551,6 +571,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{showkeys} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} +\LWR@loadafter{SIunits} \LWR@loadafter{siunitx} \LWR@loadafter{soul} \LWR@loadafter{soulpos} @@ -587,6 +608,7 @@ For a possible alternative, see package(s) #2.} \LWR@loadafter{turnthepage} \LWR@loadafter{ulem} \LWR@loadafter{underscore} +\LWR@loadafter{units} \LWR@loadafter{upref} \LWR@loadafter{url} \LWR@loadafter{varioref}% no lwarp package provided @@ -704,10 +726,6 @@ top=1in,bottom=1in,% \RequirePackage{zref} -\RequirePackage{amsmath} -\def\maketag@@@#1{\text{#1}} -\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}} - \RequirePackage{printlen} @@ -1236,72 +1254,189 @@ top=1in,bottom=1in,% \immediate\closeout\LWR@quickfile \end{warpprint} + \begin{warpprint} -\AtBeginDocument{ -\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} -\immediate\openout\LWR@quickfile=lwarpmk.conf + +\newcommand*{\LWR@lwarpconfversion}{1}% also in lwarpmk.lua +\catcode`\$=12 +\def\LWR@dollarchar{$} +\catcode`\$=3 +\catcode`\&=12 +\def\LWR@ampersand{&} +\catcode`\&=4 \ifbool{usingOSWindows}{ -\immediate\write\LWR@quickfile{opsystem = "Windows"} + \def\LWR@opquote{"} }{ -\immediate\write\LWR@quickfile{opsystem = "Unix"} + \def\LWR@opquote{'} } -\ifPDFTeX -\immediate\write\LWR@quickfile{latexname = "pdflatex"} -\fi -\ifXeTeX -\immediate\write\LWR@quickfile{latexname = "xelatex"} -\fi -\ifLuaTeX -\immediate\write\LWR@quickfile{latexname = "lualatex"} -\fi -\immediate\write\LWR@quickfile{sourcename = "\jobname"} -\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{shellescape = "\ifshellescape true\else false\fi"} -\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"} -\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"} -\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"} -\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"} -\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"} -\immediate\closeout\LWR@quickfile -}% AtBeginDocument -\end{warpprint} - -\begin{warpprint} -\AtBeginDocument{ -\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} -\immediate\openout\LWR@quickfile=\jobname.lwarpmkconf \ifbool{usingOSWindows}{ -\immediate\write\LWR@quickfile{opsystem = "Windows"} + \def\LWR@opsequence{\LWR@ampersand} }{ -\immediate\write\LWR@quickfile{opsystem = "Unix"} + \def\LWR@opsequence{\LWR@ampersand\LWR@ampersand} } -\ifPDFTeX -\immediate\write\LWR@quickfile{latexname = "pdflatex"} -\fi -\ifXeTeX -\immediate\write\LWR@quickfile{latexname = "xelatex"} -\fi -\ifLuaTeX -\immediate\write\LWR@quickfile{latexname = "lualatex"} +\ifshellescape + \def\LWR@shellescapecmd{--shell-escape } +\else + \def\LWR@shellescapecmd{} \fi -\immediate\write\LWR@quickfile{sourcename = "\jobname"} -\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{shellescape = "\ifshellescape true\else false\fi"} -\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"} -\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"} -\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"} -\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"} -\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"} +\newcommand*{\LWR@compilecmd}[2]{% + #1 \LWR@shellescapecmd \jobname#2% +} +\newcommand*{\LWR@addcompilecmd}[2]{% + \space \LWR@opsequence \space\space + #1 \jobname#2% +} +\newcommand*{\LWR@unknownengine}{% + \PackageError{lwarp} + {Unknown LaTeX engine.} + {Lwarp only knows about pdflatex, dvi latex, xelatex, and lualatex.} +} +\newcommand*{\LWR@latexmkvar}[2]{% + -e + \LWR@opquote% + \LWR@dollarchar #1=q/#2/% + \LWR@opquote +} +\newcommand*{\LWR@latexmkcmd}[1]{% + latexmk \space \LWR@shellescapecmd \space #1 \space + -recorder \space + \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd} +} +\newcommand*{\LWR@latexmkdvipdfm}[1]{% + -pdfdvi \space + \LWR@latexmkvar{dvipdf}{% + #1 + \@percentchar O + -o \@percentchar D + \@percentchar S% + } +} +\ifbool{LWR@latexmk}{ + \ifpdf + \ifPDFTeX + \def\LWR@latexcmd{\LWR@latexmkcmd{-pdf -dvi- -ps-}} + \else + \ifLuaTeX + \def\LWR@latexcmd{\LWR@latexmkcmd{-lualatex}} + \else + \LWR@unknownengine + \fi + \fi + \else% \ifpdf + \ifXeTeX + \def\LWR@latexcmd{\LWR@latexmkcmd{-xelatex}} + \else% \ifXeTeX + \ifbool{LWR@dvipdfm}{ + \def\LWR@latexcmd{% + \LWR@latexmkcmd{% + \LWR@latexmkdvipdfm{dvipdfm}% + } + } + }{ + \ifbool{LWR@dvipdfmx}{ + \def\LWR@latexcmd{% + \LWR@latexmkcmd{% + \LWR@latexmkdvipdfm{dvipdfmx}% + } + } + }{ + \def\LWR@latexcmd{\LWR@latexmkcmd{-pdfps}} + } + } + \fi + \fi% \ifpdf + \def\LWR@printlatexcmd{\LWR@latexcmd \space \jobname} + \def\LWR@HTMLlatexcmd{\LWR@latexcmd \space \jobname_html} +}% latexmk +{% not latexmk + \ifpdf + \ifPDFTeX + \def\LWR@printlatexcmd{\LWR@compilecmd{pdflatex}{}} + \def\LWR@HTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} + \else + \ifLuaTeX + \def\LWR@printlatexcmd{\LWR@compilecmd{lualatex}{}} + \def\LWR@HTMLlatexcmd{\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}} + \else + \ifbool{LWR@dvipdfm}{ + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvipdfm}{} + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvipdfm}{_html} + } + }{ + \ifbool{LWR@dvipdfmx}{ + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvipdfmx}{} + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvipdfmx}{_html} + } + }{% dvips + \def\LWR@printlatexcmd{% + \LWR@compilecmd{latex}{} + \LWR@addcompilecmd{dvips}{} + \LWR@addcompilecmd{ps2pdf}{}.ps + } + \def\LWR@HTMLlatexcmd{% + \LWR@compilecmd{latex}{_html} + \LWR@addcompilecmd{dvips}{_html} + \LWR@addcompilecmd{ps2pdf}{_html}.ps + } + } + } + \fi% \ifXeTeX + \fi% \ifpdf +}% latexmk +\newcommand{\LWR@writeconf}[1]{% +\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} +\immediate\openout\LWR@quickfile=#1 +\immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]} +\ifbool{usingOSWindows}{ + \immediate\write\LWR@quickfile{opsystem = [[Windows]]} +}{ + \immediate\write\LWR@quickfile{opsystem = [[Unix]]} +} +\immediate\write\LWR@quickfile{sourcename = [[\jobname]]} +\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{printindexcmd = [[\LWR@PrintIndexCmd]]} +\immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]} +\immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]} +\immediate\write\LWR@quickfile{glossarycmd = [[\LWR@GlossaryCmd]]} +\immediate\write\LWR@quickfile{pdftotextenc = [[\LWR@pdftotextEnc]]} \immediate\closeout\LWR@quickfile -}% AtBeginDocument +} + + +\end{warpprint} + +\begin{warpprint} + +\AtBeginDocument{\LWR@writeconf{lwarpmk.conf}} + +\end{warpprint} + +\begin{warpprint} + +\AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}} + \end{warpprint} @@ -3225,18 +3360,20 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { seteqsection.num = AMS.number; var n = this.GetArgument(name); if (n === "") { - seteqsection = seteqsectionDefault; + seteqsection = seteqsectionDefault; } else { - if (!seteqsections["_"+n]) - seteqsections["_"+n] = {name:n, num:0}; - seteqsection = seteqsections["_"+n]; + if (!seteqsections["_"+n]) + seteqsections["_"+n] = {name:n, num:0}; + seteqsection = seteqsections["_"+n]; } AMS.number = seteqsection.num; }, mySetEqNumber: function (name) { var n = this.GetArgument(name); if (!n || !n.match(/^ *[0-9]+ *$/)) - n = ""; else n = parseInt(n)-1; + n = ""; + else + n = parseInt(n)-1; <!-- $ syntax highlighting --> if (n === "" || n < 1) TEX.Error @@ -3247,13 +3384,19 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { MathJax.Hub.Config({ TeX: { equationNumbers: { - formatTag: function (n) - {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"}, - formatID: function (n) { - n = (seteqsection.name+'.'+n).replace - (/[:"'<>&]/g,"").replace(/^\./,""); - return 'mjx-eqn-' + n; - } + formatTag: function (n) { + <!-- if not numeric, don't include the chapter --> + if (!n.match(/^ *[0-9]+ *$/ )) + <!-- $ syntax highlighting --> + return "("+(n).replace(/^\./,"")+")" ; + else + return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")" ; + }, + formatID: function (n) { + n = (seteqsection.name+'.'+n).replace + (/[:"'<>&]/g,"").replace(/^\./,""); + return 'mjx-eqn-' + n; + } } } }); @@ -3293,7 +3436,7 @@ MathJax.Hub.Config({ <!-- Alternative CDN provider: --> <script type="text/javascript" async -src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full"> +src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full"> </script> <!-- No longer supported after April 30, 2017: --> @@ -3313,7 +3456,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.58" +printversion = "v0.59" +requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -3340,6 +3484,7 @@ lwarpmk pdftohtml [-p project]: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. +lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl* lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -3350,37 +3495,6 @@ lwarpmk --help: Print this help message. -- printconf () end --- function printconf () --- -- --- -- Print the format of the configuration file lwarpmk.conf: --- -- --- print ( [[ --- An example lwarpmk.conf or <project>.lwarpmkconf project file: --- -- --- opsystem = "Unix" (or "Windows") --- latexname = "pdflatex" (or "lualatex", or "xelatex") --- sourcename = "projectname" (the source-code filename w/o .tex) --- homehtmlfilename = "index" (or perhaps the project name) --- htmlfilename = "" (or "projectname" - filename prefix) --- latexmk = "false" (or "true" to use latexmk to build PDFs) --- shellescape = "false" --- printindexcmd = "makeindex -s lwarp.ist <name>.idx" --- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx" --- latexmkindexcmd = "makeindex -s lwarp.ist" --- -- indexprog = "makeindex" or "xindy" --- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist) --- -- xindylanguge = "english" (use a language supported by xindy) --- -- xindycodepage = "utf8" (use a codepage supported by xindy) --- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy) --- glossarycmd = "makeglossaries" --- pdftotextenc = "UTF-8" (use an encoding supported by pdftotext) --- -- --- Filenames must contain only letters, numbers, underscore, or dash. --- Values must be in upright "quotes". --- --- ]] ) ; --- end - function splitfile (destfile,sourcefile) -- -- Split one large sourcefile into a number of files, @@ -3418,6 +3532,11 @@ function cvalueerror ( line, linenum , cvalue ) os.exit(1) ; end +function ignoreconf () +-- Global argument index +argindex = 2 +end + function loadconf () -- -- Load settings from the project's "lwarpmk.conf" file: @@ -3435,9 +3554,11 @@ if ( arg[argindex] == "-p" ) then argindex = argindex + 1 end -- Additional defaults: +confversion = "0" opsystem = "Unix" latexmk = "false" -shellescape = "false" +printlatexcmd = "" +HTMLlatexcmd = "" printindexcmd = "" HTMLindexcmd = "" latexmkindexcmd = "" @@ -3470,11 +3591,11 @@ else -- file exists -- Read the file: print ("lwarpmk: Reading " .. conffile ..".") local cfile = io.open(conffile) --- Scan each line: +-- Scan each line, parsing each line as: name = [[string]] local linenum = 0 for line in cfile:lines() do -- scan lines linenum = linenum + 1 -i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ; +i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ; -- Error if incorrect enclosing characters: if ( i == nil ) then print ("lwarpmk: ===") @@ -3484,48 +3605,25 @@ if ( i == nil ) then -- printconf () ; os.exit(1) ; end -- nil -if ( cvarname == "opsystem" ) then +if ( cvarname == "confversion" ) then + confversion = cvalue +elseif ( cvarname == "opsystem" ) then -- Verify choice of opsystem: if ( (cvalue == "Unix") or (cvalue == "Windows") ) then opsystem = cvalue else cvalueerror ( line, linenum , cvalue ) end -elseif ( cvarname == "latexname" ) then - -- Verify choice of LaTeX compiler: - if ( - (cvalue == "pdflatex") or - (cvalue == "xelatex") or - (cvalue == "lualatex") - ) then - latexname = cvalue - else - cvalueerror ( line, linenum , cvalue ) - end elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue elseif ( cvarname == "latexmk" ) then latexmk = cvalue -elseif ( cvarname == "shellescape" ) then shellescape = cvalue +elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue +elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue --- to be removed: --- elseif ( cvarname == "indexprog" ) then --- -- Verify choice of indexing program: --- if ( --- (cvalue == "makeindex") or --- (cvalue == "xindy") --- ) then --- indexprog = cvalue --- else --- cvalueerror ( line, linenum , cvalue ) --- end --- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue --- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue --- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue --- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue else print ("lwarpmk: ===") @@ -3545,7 +3643,7 @@ end -- file exists -- This could happen if a local copy of lwarp has recently been recompiled. if sourcename=="lwarp" then print ("lwarpmk: ===") - print ("lwarpmk: Lwarp has recently been recompiled in this directory,") + print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,") print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.") print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.") print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,") @@ -3580,9 +3678,33 @@ elseif opsystem=="Windows" then -- For Windows cmdgroupclosename = "" seqname = " & " bgname = "" -else print ( "lwarpmk: Select Unix or Windows for opsystem" ) +else + print ("lwarpmk: ===") + print ("lwarpmk: Select Unix or Windows for opsystem." ) + print ("lwarpmk: ===") + os.exit(1) end --- for Windows - +-- Warning if the operating system does not appear to be correct, +-- in case files were transferred to another system. +if ( (package.config:sub(1,1)) ~= dirslash ) then + print ("lwarpmk: ===") + print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." ) + print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," ) + print ("lwarpmk: recompile the original document using xe/lua/pdflatex." ) + print ("lwarpmk: ") + print ("lwarpmk: lwarpmk shall attempt to continue...") + print ("lwarpmk: ===") +end +-- Error if the configuration file's version is not current: +if ( confversion ~= requiredconfversion ) then + print ("lwarpmk: ===") + print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" ) + print ("lwarpmk: must be updated. To update the configuration files," ) + print ("lwarpmk: recompile "..sourcename..".tex using xe/lua/pdflatex," ) + print ("lwarpmk: then use lwarpmk again.") + print ("lwarpmk: ===") + os.exit(1) +end end -- loadconf function executecheckerror ( executecommands , errormessage ) @@ -3621,35 +3743,29 @@ io.close(fsource) return false end -function onetime (fsuffix) +function onetime (latexcmd, fsuffix) -- -- Compile one time, return true if should compile again. -- fsuffix is "" for print, "_html" for HTML output. -- -print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix) -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end +print("lwarpmk: Compiling with: " .. latexcmd) executecheckerror ( - latexname .. thisshellescape .. sourcename..fsuffix , + latexcmd , "Compile error." ) return (reruntoget(sourcename .. fsuffix .. ".log") ) ; end -function manytimes (fsuffix) +function manytimes (latexcmd, fsuffix) -- -- Compile up to five times. -- fsuffix is "" for print, "_html" for HTML output -- -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then -if onetime(fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then +if onetime(latexcmd, fsuffix) == true then end end end end end end @@ -3681,7 +3797,7 @@ end function removeaux () -- -- Remove auxiliary files: --- All aux files are removed since there may be many bbl*.aux files. +-- All .aux files are removed since there may be many bbl*.aux files. -- os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. @@ -3689,6 +3805,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. " *.idx " .. " *.ind " .. + sourcename ..".ps " .. sourcename .."_html.ps " .. sourcename ..".log " .. sourcename .. "_html.log " .. sourcename ..".gl* " .. sourcename .. "_html.gl* " .. " *_html_inc.* " @@ -3914,34 +4031,22 @@ if ( pagezerowarning == true ) then end -- pagezerowarning end -- function -function compilelatexmk ( fsuffix ) +function convertepstopdf () -- --- Use latexmk to compile source and index: --- fsuffix is "" for print, or "_html" for HTML +-- Converts EPS files to PDF files. +-- The filenames are arg[argindex] and up. +-- arg[1] is the command "pdftosvg". -- --- Maybe select the shell-escape option: -local thisshellescape = " " -if ( shellescape == "true" ) then - thisshellescape = " -shell-escape " -else - thisshellescape = " " -end --- The recorder option is required to detect changes in <project>.tex --- while we are loading <project>_html.tex. -executecheckerror ( - "latexmk -pdf -dvi- -ps- -recorder " - .. "-e " - .. opquote - .. "$makeindex = q/" -- $ - .. latexmkindexcmd - .. " /" - .. opquote - .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" " - .. sourcename..fsuffix ..".tex" - , - "Compile error." -) -end -- function +ignoreconf () +for i = argindex , #arg do + if (lfs.attributes(arg[i],"mode")==nil) then + print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") + else + print ("lwarpmk: Converting \"" .. arg[i] .. "\"") + os.execute ( "epstopdf " .. arg[i] ) + end -- if +end -- do +end --function function convertpdftosvg () -- @@ -3949,6 +4054,7 @@ function convertpdftosvg () -- The filenames are arg[argindex] and up. -- arg[1] is the command "pdftosvg". -- +ignoreconf () for i = argindex , #arg do if (lfs.attributes(arg[i],"mode")==nil) then print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.") @@ -3985,7 +4091,11 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack if arg[1] == "print" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("") + print ("lwarpmk: Compiling with: " .. printlatexcmd) + executecheckerror ( + printlatexcmd , + "Compile error." + ) print ("lwarpmk: Done.") else -- not latexmk verifyfileexists (sourcename .. ".tex") ; @@ -3998,7 +4108,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("") + manytimes(printlatexcmd, "") print ("lwarpmk: Done.") ; else print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ; @@ -4010,7 +4120,7 @@ end -- not latexmk elseif arg[1] == "print1" then loadconf () verifyfileexists (sourcename .. ".tex") ; - onetime("") + onetime(printlatexcmd, "") print ("lwarpmk: Done.") ; -- lwarpmk printindex: @@ -4039,7 +4149,11 @@ updateanddone () elseif arg[1] == "html" then loadconf () if ( latexmk == "true" ) then - compilelatexmk ("_html") + print ("lwarpmk: Compiling with: " .. HTMLlatexcmd) + executecheckerror ( + HTMLlatexcmd , + "Compile error." + ) pdftohtml () print ("lwarpmk: Done.") else -- not latexmk @@ -4053,7 +4167,7 @@ else -- not latexmk ) ) then -- Recompile if not yet up to date: - manytimes("_html") + manytimes(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") else @@ -4066,7 +4180,7 @@ end -- not latexmk elseif arg[1] == "html1" then loadconf () verifyfileexists ( sourcename .. ".tex" ) ; - onetime("_html") + onetime(HTMLlatexcmd, "_html") pdftohtml () print ("lwarpmk: Done.") @@ -4122,13 +4236,14 @@ print ("lwarpmk: Done.") -- lwarpmk cleanall -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl* --- and also project.pdf, *.html +-- and also project.pdf, project.dvi, *.html elseif arg[1] == "cleanall" then loadconf () removeaux () os.execute ( rmname .. " " .. sourcename .. ".pdf " .. sourcename .. "_html.pdf " .. + sourcename .. ".dvi " .. sourcename .. "_html.dvi " .. "*.html" ) print ("lwarpmk: Done.") @@ -4141,8 +4256,14 @@ loadconf () os.execute ( rmname .. " lateximages/*" ) print ("lwarpmk: Done.") +-- lwarpmk epstopdf <list of file names> +-- Convert EPS files to PDF using epstopdf +elseif arg[1] == "epstopdf" then +convertepstopdf () +print ("lwarpmk: Done.") + -- lwarpmk pdftosvg <list of file names> --- Convert PDf files to SVG using pdftocairo +-- Convert PDF files to SVG using pdftocairo elseif arg[1] == "pdftosvg" then convertpdftosvg () print ("lwarpmk: Done.") @@ -5313,7 +5434,7 @@ end -- not --version \newcommand{\LWR@customizeMathJax}{% \ifbool{mathjax}{ \LWR@stoppars -\LWR@htmlcomment{Nullify \textbackslash{}ensuremath for MathJax:} +\LWR@htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:} \(\newcommand\ensuremath[1]{##1}\) @@ -8955,33 +9076,37 @@ autopage-\theLWR@currentautosec% \AtBeginDocument{ -\IfFileExists{lwarp_baseline_marker.png}% +\ifpdf + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png} +\else + \ifXeTeX + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png} + \else + \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.eps} + \fi +\fi + +\IfFileExists{\LWR@baselinename}% { \@ifpackageloaded{graphicx}{ \newcommand*{\LWR@addbaselinemarker}{% - \LWR@origincludegraphics[% - width=10sp,height=10sp% - ]{lwarp_baseline_marker.png}% + \LWR@origincludegraphics{\LWR@baselinename}% } }{ \@ifpackageloaded{graphics}{ \newcommand*{\LWR@addbaselinemarker}{% - \LWR@origincludegraphics{lwarp_baseline_marker.png}% + \LWR@origincludegraphics{\LWR@baselinename}% } }{ \PackageWarning{lwarp}{Load graphicx or graphics for improved SVG math baselines,} - \newcommand*{\LWR@addbaselinemarker}{% - \hspace*{10sp}% - } + \newcommand*{\LWR@addbaselinemarker}{} } } -}{% lwarp_baseline_marker.png not present - \PackageWarning{lwarp}{File lwarp_baseline_marker.png is not installed alongside +}{% lwarp_baseline_marker.png or .eps is not present + \PackageWarning{lwarp}{File \LWR@baselinename\space is not installed alongside the lwarp-*.sty files, so SVG math baselines may not be accurate,} - \newcommand*{\LWR@addbaselinemarker}{% - \hspace*{10sp}% - } + \newcommand*{\LWR@addbaselinemarker}{} } }% AtBeginDocument @@ -9041,7 +9166,6 @@ autopage-\theLWR@currentautosec% \fi% \global\sbox{\LWR@singledollarbox}{% \usebox{\LWR@singledollarbox}% - \hspace*{-10sp}% \raisebox{-\dp\LWR@singledollarbox}{% \LWR@addbaselinemarker% }% @@ -9124,9 +9248,7 @@ autopage-\theLWR@currentautosec% }% }% \LWR@addbaselinemarker% - \hspace*{-10sp}% \usebox{\LWR@singledollarbox}% - \hspace*{-10sp}% \LWR@addbaselinemarker% \end{lateximage}% }% not mathjax @@ -9195,13 +9317,16 @@ autopage-\theLWR@currentautosec% }% not mathjax } +\AtBeginDocument{ \protected\gdef\(#1\){$#1$} \protected\gdef\[#1\]{$$#1$$} +} \endgroup - +\AtBeginDocument{ \LetLtxMacro\LWR@openbracketnormal\[ \LetLtxMacro\LWR@closebracketnormal\] +} \LetLtxMacro\LWR@origensuredmath\@ensuredmath @@ -9314,10 +9439,12 @@ autopage-\theLWR@currentautosec% \LWR@orignewline } +\AtBeginDocument{ \let\LWR@origequation\equation \let\LWR@origendequation\endequation \csletcs{LWR@origequation*}{equation*} \csletcs{LWR@origendequation*}{endequation*} +} \newcommand*{\LWR@doequation}[2]{% \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% @@ -9361,29 +9488,37 @@ autopage-\theLWR@currentautosec% } +\AtBeginDocument{ \let\equation\relax \let\endequation\relax \csletcs{equation*}{relax} \csletcs{endequation*}{relax} +} +\AtBeginDocument{ \NewEnviron{equation}% {\LWR@doequation{\BODY}{equation}}% [\LWR@doendequation{equation}] \LetLtxMacro\LWR@equationnormal\equation -\LetLtxMacro\LWR@endequationnormal\endequation +\LetLtxMacro\endLWR@equationnormal\endequation +} +\AtBeginDocument{ \NewEnviron{equation*}% {\LWR@doequation{\BODY}{equation*}}% [\LWR@doendequation{equation*}] \csletcs{LWR@equationnormalstar}{equation*} \csletcs{LWR@endequationnormalstar}{endequation*} +} +\AtBeginDocument{ \LetLtxMacro\LWR@equationless\equation -\LetLtxMacro\LWR@endequationless\endequation +\LetLtxMacro\endLWR@equationless\endequation \csletcs{LWR@equationlessstar}{equation*} \csletcs{LWR@endequationlessstar}{endequation*} +} \newcommand*{\displaymathnormal}{% \ifbool{LWR@origmathjax}{\booltrue{mathjax}}{\boolfalse{mathjax}}% @@ -9392,7 +9527,7 @@ autopage-\theLWR@currentautosec% \LetLtxMacro\displaymath\LWR@displaymathnormal% \LetLtxMacro\enddisplaymath\endLWR@displaymathnormal% \LetLtxMacro\equation\LWR@equationnormal% -\LetLtxMacro\endequation\LWR@endequationnormal% +\LetLtxMacro\endequation\endLWR@equationnormal% \csletcs{equation*}{LWR@equationnormalstar}% \csletcs{endequation*}{LWR@endequationnormalstar}% } @@ -9515,279 +9650,6 @@ autopage-\theLWR@currentautosec% } \csgpreto{eqnarray*}{\boolfalse{LWR@numbereqnarray}} -\BeforeBeginEnvironment{multline}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \booltrue{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{multline}] -} -} - -\AfterEndEnvironment{multline}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \boolfalse{LWR@amsmultline} - \LWR@addmathjax{multline}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{multline*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \booltrue{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{multline*}] -} -} - -\AfterEndEnvironment{multline*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \boolfalse{LWR@amsmultline} - \LWR@addmathjax{multline*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - - -\BeforeBeginEnvironment{gather}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{gather}] -} -} - -\AfterEndEnvironment{gather}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{gather}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{gather*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{gather*}] -} -} - -\AfterEndEnvironment{gather*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{gather*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{align}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{align}] -} -} - -\AfterEndEnvironment{align}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{align}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{align*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{align*}] -} -} - -\AfterEndEnvironment{align*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{align*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{flalign}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{flalign}] -} -} - -\AfterEndEnvironment{flalign}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{flalign}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{flalign*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{flalign*}] -} -} - -\AfterEndEnvironment{flalign*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{flalign*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{alignat}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymathnumbered} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{alignat}] -} -} - -\AfterEndEnvironment{alignat}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{alignat}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - -\BeforeBeginEnvironment{alignat*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@syncmathjax - \boolfalse{LWR@amsmultline} - \LWR@beginhideamsmath -} -{ - \begin{BlockClass}{displaymath} - \LWR@newautoidanchor% - \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbody{alignat*}] -} -} - -\AfterEndEnvironment{alignat*}{ - -\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }% -{ - \LWR@endhideamsmath - \LWR@addmathjax{alignat*}{\the\@envbody} -} -{\end{lateximage}\end{BlockClass}} - -} - \end{warpHTML} \begin{warpHTML} @@ -9881,19 +9743,6 @@ autopage-\theLWR@currentautosec% \xdef\LWR@equationtag{#1}% }% -\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@ -\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@ - -\renewcommand*{\make@df@tag@@}[1]{% -\LWR@remembertag{#1}% -\LWR@origmake@df@tag@@{#1}% -} - -\renewcommand*{\make@df@tag@@@}[1]{% -\LWR@remembertag{#1}% -\LWR@origmake@df@tag@@@{#1}% -} - }% not mathjax }% AtBeginDocument @@ -10106,17 +9955,12 @@ autopage-\theLWR@currentautosec% \end{warpHTML} \begin{warpHTML} -\@ifpackageloaded{textcomp} -{ -\LWR@origRequirePackage{lwarp-textcomp} -} -{} +\@ifpackageloaded{textcomp}{\LWR@origRequirePackage{lwarp-textcomp}}{} -\@ifpackageloaded{graphics} -{ -\LWR@origRequirePackage{lwarp-graphics} -} -{} +\@ifpackageloaded{xunicode}{\LWR@origRequirePackage{lwarp-xunicode}}{} + +\@ifpackageloaded{graphics}{\LWR@origRequirePackage{lwarp-graphics}}{} +\@ifpackageloaded{graphicx}{\LWR@origRequirePackage{lwarp-graphicx}}{} \end{warpHTML} @@ -10385,7 +10229,7 @@ autopage-\theLWR@currentautosec% \begin{warpHTML} -\BeforeBeginEnvironment{picture}{\begin{lateximage}} +\BeforeBeginEnvironment{picture}{\begin{lateximage}[(picture)]} \AfterEndEnvironment{picture}{\end{lateximage}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps b/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps new file mode 100644 index 00000000000..f5c93c7ed61 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps @@ -0,0 +1,32 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner +%%Title: lwarp_baseline_marker.eps +%%CreationDate: Sun Sep 2 17:10:42 2018 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 0 0 1 1 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +0 0 translate +% Translate to begin of first scanline +0 0.22677165354330711 translate +0.22677165354330711 -0.22677165354330711 scale +% Image geometry +1 1 8 +% Transformation matrix +[ 1 0 0 1 0 0 ] +currentfile /ASCII85Decode filter /RunLengthDecode filter +%%BeginData: 13 ASCII Bytes +image +!<%E~> +%%EndData +showpage +%%Trailer +end +%%EOF |