summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-26 03:02:41 +0000
committerNorbert Preining <norbert@preining.info>2020-04-26 03:02:41 +0000
commit7d9d2e08fcab92adcc759e3f1e4bb0a15a63f220 (patch)
tree8b20347f7722711d9a3577782906d96684424c9a /macros
parent7a7be7eaa67109eac37916ea48662c24ddc570d0 (diff)
CTAN sync 202004260302
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/animate/ChangeLog8
-rw-r--r--macros/latex/contrib/animate/README.md35
-rw-r--r--macros/latex/contrib/animate/animate.pdfbin3909427 -> 3911070 bytes
-rw-r--r--macros/latex/contrib/animate/animate.sty134
-rw-r--r--macros/latex/contrib/animate/animate.tex89
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/LICENSE35
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/Makefile46
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/README.md68
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib98
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/english-software.lbx15
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/french-software.lbx15
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/history.tex10
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/manual.bib79
-rwxr-xr-xmacros/latex/contrib/biblatex-contrib/biblatex-software/mkbiblatexstubs.sh23
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.pdfbin0 -> 109881 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.tex86
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/sample.tex78
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdfbin0 -> 167058 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.sty15
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.tex241
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx231
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx184
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/stublist27
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/swentries.tex248
-rw-r--r--macros/latex/contrib/knowledge/README.md4
-rw-r--r--macros/latex/contrib/knowledge/knowledge-code.dtx13
-rw-r--r--macros/latex/contrib/knowledge/knowledge.pdfbin729501 -> 729897 bytes
-rw-r--r--macros/latex/contrib/knowledge/knowledge.tex2
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx4335
-rw-r--r--macros/latex/contrib/lwarp/lwarp.ins1
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin2653336 -> 2701656 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua7
-rw-r--r--macros/latex/contrib/tuda-ci/README.md6
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin574094 -> 574095 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin618685 -> 618688 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin567646 -> 571236 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin586984 -> 583232 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin588989 -> 588996 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin822667 -> 822678 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin558960 -> 558962 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin848535 -> 848530 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin550583 -> 550566 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin586724 -> 586726 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin815848 -> 815850 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex16
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls82
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls10
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls16
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg8
84 files changed, 4675 insertions, 1750 deletions
diff --git a/macros/latex/contrib/animate/ChangeLog b/macros/latex/contrib/animate/ChangeLog
index 44a258a0da..66592c1bb6 100644
--- a/macros/latex/contrib/animate/ChangeLog
+++ b/macros/latex/contrib/animate/ChangeLog
@@ -1,3 +1,11 @@
+2020-04-25
+ * fix: compilation error in case of `dvisvgm' + [french]{babel}. For
+ slightly better performance, \animategraphics doesn't pass `clip' anymore
+ automatically to graphicx' \includegraphics; instead, the new `clip'
+ pkg/command option should be set if need be (mostly when using dvisvgm
+ together with trimming options). Interaction with animation on mobile
+ devices: single tap for play/pause
+
2020-03-25
* fix: using `controlsaligned' as package option
diff --git a/macros/latex/contrib/animate/README.md b/macros/latex/contrib/animate/README.md
index b91efeaad2..e9af5c9f3b 100644
--- a/macros/latex/contrib/animate/README.md
+++ b/macros/latex/contrib/animate/README.md
@@ -26,11 +26,16 @@ Note, this file only gives a summary of usage and available package and command
````
width=<h-size>, height=<v-size>, totalheight=<v-size>,
-keepaspectratio, scale=<factor>, nomouse,
-hiresbb,pagebox,interpolate,
-autopause, autoplay, autoresume, controls[=all | none | ...],
+keepaspectratio, scale=<factor>,
+bb=<llx> <lly> <urx> <ury>,
+viewport=<llx> <lly> <urx> <ury>,
+trim=<left> <bottom> <right> <top>,
+clip, hiresbb, pagebox=..., interpolate,
+type=[<file ext>],
+final, draft, nomouse,
+autopause, autoplay, autoresume,
+controls[=all | none | ...],
controlsaligned=left[+<indent>] | center | right[+<indent>],
-final, draft,
buttonsize=<size>,
buttonbg=<colour>, buttonfg=<colour>, buttonalpha=<opacity>,
loop, palindrome, step,
@@ -38,7 +43,6 @@ poster[=first | <num> | last | none],
alttext=none | {<alternative description>},
method=icon | widget | ocg,
dvipdfmx, dvisvgm, xetex,
-type=[<file ext>],
export
````
@@ -64,21 +68,26 @@ export
````
width=<h-size>, height=<v-size>, totalheight=<v-size>,
-keepaspectratio, scale=<factor>, nomouse,
-hiresbb,pagebox,interpolate,
-autopause, autoplay, autoresume, final, draft,
+keepaspectratio, scale=<factor>,
+bb=<llx> <lly> <urx> <ury>,
+viewport=<llx> <lly> <urx> <ury>,
+trim=<left> <bottom> <right> <top>,
+clip, hiresbb, pagebox=..., interpolate,
+type=[<file ext>],
+final, draft, nomouse,
+autopause, autoplay, autoresume,
controls[=all | none | ...],
+controlsaligned=left[+<indent>] | center | right[+<indent>],
buttonsize=<size>,
buttonbg=<colour>, buttonfg=<colour>, buttonalpha=<opacity>,
-loop, palindrome, step, measure,
+loop, palindrome, step,
+measure,
poster[=first | <num> | last | none],
+alttext=none | {<alternative description>},
begin={<begin text>}, end={<end text>},
timeline=<timeline file>,
method=icon | widget | ocg,
-every=<number>, bb=<llx> <lly> <urx> <ury>,
-viewport=<llx> <lly> <urx> <ury>,
-trim=<left> <bottom> <right> <top>,
-label=<label text>, type=[<file ext>]
+every=<number>, label=<label text>
````
## Requirements
diff --git a/macros/latex/contrib/animate/animate.pdf b/macros/latex/contrib/animate/animate.pdf
index b404cbf505..75dad51500 100644
--- a/macros/latex/contrib/animate/animate.pdf
+++ b/macros/latex/contrib/animate/animate.pdf
Binary files differ
diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty
index 75fca7a6a4..b4e05000ab 100644
--- a/macros/latex/contrib/animate/animate.sty
+++ b/macros/latex/contrib/animate/animate.sty
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}
-\def\@anim@version{2020/03/25}
+\def\@anim@version{2020/04/25}
\ProvidesPackage{animate}
[\@anim@version\space PDF & SVG animations from files and inline graphics]
@@ -104,7 +104,7 @@
\endlinechar`\:% `:' appended to every line read
\IfFileExists{#1.xbb}{%
%read from xbb file
- {\catcode`\%=0\sbox0{\input{#1.xbb}}}%
+ {\catcode`\:=12\catcode`\%=0\sbox0{\input{#1.xbb}}}%
\ifdefined#3\else%
\PackageError{animate}{%
Cannot read number of pages from file\MessageBreak%
@@ -118,23 +118,22 @@
%read from command pipe (`extractbb')
%firstly, check whether reading from pipe is allowed
\immediate\closein\@inputcheck%
- \immediate\openin\@inputcheck="|extractbb -h"%
- \let\@anim@foo\@anim@bar% <-- needed for some reason to make
- \ifeof\@inputcheck% <-- this test work correctly
+ \immediate\openin\@inputcheck="|extractbb -h"\relax%
+ \ifeof\@inputcheck%
\immediate\closein\@inputcheck%
\PackageError{animate}{%
Cannot determine number of pages in file\MessageBreak%
----------------------------------------\MessageBreak%
#1.#2\MessageBreak%
----------------------------------------\MessageBreak%
- Try --shell-escape option (--enable-pipes in MikTeX),%
+ Try --shell-escape option (--enable-pipes in MiKTeX),%
\MessageBreak or run\MessageBreak%
\space\space extractbb #1.#2\MessageBreak%
on the command line to provide a valid `xbb' file%
}{}%
\else%
\immediate\closein\@inputcheck%
- {\catcode`\%=0\sbox0{\@@input "|extractbb -O #1.#2"}}%
+ {\catcode`\:=12\catcode`\%=0\sbox0{\@@input "|extractbb -O #1.#2"}}%
\fi%
}%
}}
@@ -349,14 +348,14 @@
%helper macro that typesets graphics file into savebox
\if@anim@dvips
\def\@anim@filebox#1#2{% dvips: no multi-page support
- \edef\@anim@curfile{[clip\@anim@gropts]{#1}}%
+ \edef\@anim@curfile{[\@anim@gropts]{#1}}%
\global\setbox\@anim@box=\hbox{%
\expandafter\includegraphics\@anim@curfile}%
}
\else
%pdfTeX, LuaTeX, dvipdfmx, xetex, dvisvgm
\def\@anim@filebox#1#2{%
- \edef\@anim@curfile{[clip\@anim@gropts,page=#2]{#1}}%
+ \edef\@anim@curfile{[\@anim@gropts,page=#2]{#1}}%
\global\setbox\@anim@box=\hbox{%
\expandafter\includegraphics\@anim@curfile}%
}
@@ -398,7 +397,8 @@
\gdef\@anim@boxscale{\@ne}%
%append final dims to inclusion opts, also used for the remaining files
%of the current animation
- \xdef\@anim@gropts{\@anim@gropts,width=\@anim@animwidth%
+ \xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi width=\@anim@animwidth%
,height=\@anim@animheight,totalheight=\@anim@animtotalheight}%
\fi%
\fi%
@@ -1535,10 +1535,22 @@
\ifnum\@anim@resizeflags=7\relax% height+totalheight+width->totalheight+width
\global\@anim@resizeflags=5%
\fi%
- \if@anim@hiresbb\xdef\@anim@gropts{\@anim@gropts,hiresbb}\fi%
- \if@anim@interpolate\xdef\@anim@gropts{\@anim@gropts,interpolate}\fi%
- \ifx\@anim@pagebox\@empty\else%
- \xdef\@anim@gropts{\@anim@gropts,pagebox=\@anim@pagebox}\fi%
+ \ifx\@anim@bb\@empty\else\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi\@anim@bb}\fi%
+ \ifx\@anim@viewport\@empty\else\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi\@anim@viewport}\fi%
+ \ifx\@anim@trim\@empty\else\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi\@anim@trim}\fi%
+ \ifx\@anim@angle\@empty\else\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi\@anim@angle}\fi%
+ \if@anim@clip\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi clip}\fi%
+ \if@anim@hiresbb\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi hiresbb}\fi%
+ \if@anim@interpolate\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi interpolate}\fi%
+ \ifx\@anim@pagebox\@empty\else\xdef\@anim@gropts{\@anim@gropts%
+ \ifx\@anim@gropts\@empty\else,\fi\@anim@pagebox}\fi%
\ifthenelse{\boolean{@anim@autoplay}\OR\boolean{@anim@autoresume}}{%
\setboolean{@anim@autoplayorresume}{true}%
}{}%
@@ -2790,6 +2802,22 @@
\define@key{anim@user}{keepaspectratio}[true]{%
\setboolean{@anim@iso}{#1}%
}
+\define@key{anim@user}{bb}{%
+ \xdef\@anim@bb{bb=#1}%
+}
+\define@key{anim@user}{viewport}{%
+ \xdef\@anim@viewport{viewport=#1}%
+}
+\define@key{anim@user}{trim}{%
+ \xdef\@anim@trim{trim=#1}%
+}
+\define@key{anim@user}{angle}{%
+ \xdef\@anim@angle{angle=#1}%
+}
+\newboolean{@anim@clip}
+\define@key{anim@usr}{clip}[true]{%
+ \setboolean{@anim@clip}{#1}%
+}
\newboolean{@anim@hiresbb}
\define@key{anim@user}{hiresbb}[true]{%
\setboolean{@anim@hiresbb}{#1}%
@@ -2799,10 +2827,10 @@
\setboolean{@anim@interpolate}{#1}%
}
\define@key{anim@user}{pagebox}{%
- \gdef\@anim@pagebox{#1}%
+ \xdef\@anim@pagebox{pagebox=#1}%
}
\define@key{anim@user}{scale}{%
- \gdef\@anim@boxscale{#1}%
+ \xdef\@anim@boxscale{#1}%
}
\define@key{anim@user}{buttonsize}{%
\gdef\@anim@btnsize{#1}%
@@ -2946,7 +2974,7 @@
\newboolean{@anim@ctrlright}
\newboolean{@anim@ctrlcentre}
\define@key{anim@user}{controlsaligned}{%
- \@anim@parse@ctrlsalignarg\@anim@tmpvar\@anim@tmpdima#1+\@nil%
+ \@anim@parse@ctrlsalignarg\@anim@tmpvar\@anim@tmpdima#1+\@nil%
\ifthenelse{\equal{\@anim@tmpvar}{left}}{%
\setboolean{@anim@ctrlleft}{true}%
\setboolean{@anim@ctrlright}{false}%
@@ -3063,18 +3091,6 @@
\define@key{anim@user}{every}{% embed every #1th frame
\ifnum#1<\@ne\relax\gdef\@anim@every{1}\else\gdef\@anim@every{#1}\fi%
}
-\define@key{anim@user}{bb}{%
- \g@addto@macro\@anim@gropts{, bb=#1}%
-}
-\define@key{anim@user}{viewport}{%
- \g@addto@macro\@anim@gropts{, viewport=#1}%
-}
-\define@key{anim@user}{trim}{%
- \g@addto@macro\@anim@gropts{, trim=#1}%
-}
-\define@key{anim@user}{angle}{%
- \g@addto@macro\@anim@gropts{, angle=#1}%
-}
\newboolean{@anim@meas}
\define@key{anim@user}{measure}[true]{%
\setboolean{@anim@meas}{#1}%
@@ -3107,6 +3123,11 @@
\setboolean{@anim@doscaling}{true}%
\global\let\@anim@boxscale\@anim@@boxscale%
\global\let\if@anim@iso=\if@anim@@iso%
+ \global\let\@anim@bb\@anim@@bb%
+ \global\let\@anim@viewport\@anim@@viewport%
+ \global\let\@anim@trim\@anim@@trim%
+ \global\let\@anim@angle\@anim@@angle%
+ \global\let\if@anim@clip=\if@anim@@clip%
\global\let\if@anim@hiresbb=\if@anim@@hiresbb%
\global\let\if@anim@interpolate=\if@anim@@interpolate%
\global\let\@anim@pagebox\@anim@@pagebox%
@@ -3308,6 +3329,26 @@
\define@key{anim@pkg}{keepaspectratio}[true]{%
\setboolean{@anim@@iso}{#1}%
}
+\def\@anim@@bb{}
+\define@key{anim@pkg}{bb}{%
+ \xdef\@anim@bb{bb=#1}%
+}
+\def\@anim@@viewport{}
+\define@key{anim@pkg}{viewport}{%
+ \xdef\@anim@@viewport{viewport=#1}%
+}
+\def\@anim@@trim{}
+\define@key{anim@pkg}{trim}{%
+ \xdef\@anim@@trim{trim=#1}%
+}
+\def\@anim@@angle{}
+\define@key{anim@pkg}{angle}{%
+ \xdef\@anim@@angle{angle=#1}%
+}
+\newboolean{@anim@@clip}
+\define@key{anim@pkg}{clip}[true]{%
+ \setboolean{@anim@@clip}{#1}%
+}
\newboolean{@anim@@hiresbb}
\define@key{anim@pkg}{hiresbb}[true]{%
\setboolean{@anim@@hiresbb}{#1}%
@@ -3318,7 +3359,7 @@
}
\def\@anim@@pagebox{}
\define@key{anim@pkg}{pagebox}{%
- \def\@anim@@pagebox{#1}%
+ \xdef\@anim@@pagebox{pagebox=#1}%
}
\def\@anim@@boxscale{1}%
\define@key{anim@pkg}{scale}{%
@@ -3389,7 +3430,7 @@
\setboolean{@anim@@ctrlcentre}{true}
\def\@anim@@ctrlsindent{\z@}
\define@key{anim@pkg}{controlsaligned}{%
- \@anim@parse@ctrlsalignarg\@anim@tmpvar\@anim@tmpdima#1+\@nil%
+ \@anim@parse@ctrlsalignarg\@anim@tmpvar\@anim@tmpdima#1+\@nil%
\setboolean{@anim@@ctrlcentre}{false}%
\ifthenelse{\equal{\@anim@tmpvar}{left}}{%
\setboolean{@anim@@ctrlleft}{true}%
@@ -3569,7 +3610,7 @@
\if@anim@controls@play%
var a#1_btnPauseLeft,a#1_btnPlayLeft,a#1_btnPauseRight,a#1_btnPlayRight;$%
\fi%
- var a#1_playsRight,a#1_isPaused;$%
+ var a#1_playsRight,a#1_isPaused\if@anim@step\else,a#1_playing\fi;$%
\if@anim@step\else
var a#1_int;$% timer id (takes return val of setIntervall())
% function pointers
@@ -4228,7 +4269,7 @@
\@anim@@jsvardecls{#1}% variables that are supposed to be global
(function(){$% IIFE (self-executing anon. function) to limit scope
function onload(){$%
- \@anim@@jsinit{#1}%
+ \@anim@@jsinit{#1}$%
\if@anim@nomouse\else
document.getElementById('anm#1').addEventListener('mouseup',%
onMouseUpWdgt);$%
@@ -4236,10 +4277,6 @@
onMouseDownWdgt);$%
document.getElementById('anm#1').addEventListener('touchend',%
onTouchEndWdgt);$%
- document.getElementById('anm#1').addEventListener('touchstart',%
- onTouchStartWdgt);$%
- document.getElementById('anm#1').addEventListener('touchmove',%
- onTouchMove);$%
\fi%
onvisible();$% in case of `autoplay' option
}$%
@@ -4259,28 +4296,19 @@
document.addEventListener('visibilitychange',onVisibilityChange);$%
window.addEventListener('load',onload);$%
\if@anim@nomouse\else
- var permPause#1=false;
function onWidgetUpAction(event){$%
\@anim@wdgtUpJS{#1}%
}$%
- function onTouchStartWdgt(event){$%
- event.preventDefault();$%
- event.stopPropagation();$%
- permPause#1=false;
- \@anim@wdgtDownJS{#1}%
- }$%
function onTouchEndWdgt(event){$%
event.preventDefault();$%
event.stopPropagation();$%
- if(event.targetTouches.length>0){permPause#1=true;}$%
- else{$%
- if(permPause#1){permPause#1=false;}$%
- else{onWidgetUpAction(event);}$%
- }$%
- }$%
- function onTouchMove(event){$%
- event.preventDefault();$%
- event.stopPropagation();$%
+ \if@anim@step\else
+ if(a#1_playing){try{a#1_pause();}catch(e){}}else{$%
+ \fi%
+ \@anim@wdgtUpJS{#1}%
+ \if@anim@step\else%
+ }$%
+ \fi%
}$%
function onMouseDownWdgt(event){$%
event.preventDefault();$%
diff --git a/macros/latex/contrib/animate/animate.tex b/macros/latex/contrib/animate/animate.tex
index 684d9216df..0249961249 100644
--- a/macros/latex/contrib/animate/animate.tex
+++ b/macros/latex/contrib/animate/animate.tex
@@ -1,11 +1,11 @@
-\ifdefined\outputmode\outputmode=0\fi
-\ifdefined\pdfoutput\pdfoutput=0\fi
% Copyright 2007--\today Alexander Grahn
%
% This material is subject to the LaTeX Project Public License. See
% http://mirrors.ctan.org/macros/latex/base/lppl.txt
% for the details of that license.
%
+\ifdefined\outputmode\outputmode=0\fi
+\ifdefined\pdfoutput\pdfoutput=0\fi
\documentclass[a4paper]{article}
\frenchspacing
\usepackage[buttonbg=0.9]{animate}
@@ -112,13 +112,16 @@
\section{Introduction}
This package provides an interface for creating PDF and SVG files with animated content from sets of graphics or image files, from inline graphics, such as \LaTeX-picture, PSTricks or pgf/TikZ generated pictures, or just from typeset text. Unlike standard movie/video formats, package `animate' allows for animating vector graphics. The result is roughly similar to the SWF (Flash) format, although not as space-efficient.
-Package `animate' supports the usual workflows for making PDF, i.\,e. pdf\LaTeX{}, Lua\LaTeX{}, \LaTeX{} $\rightarrow$ \verb+dvips+ $\rightarrow$ \verb+ps2pdf+/Distiller and \pXepLaTeX{} $\rightarrow$ \verb+(x)dvipdfmx+. For animated SVG, it supports the \verb+dvisvgm+ driver. The DVI/XDV used as input for \verb+dvisvgm+ can be generated with \LaTeX{}, Lua\LaTeX{} (in DVI mode) and \XeLaTeX.
+Package `animate' supports the usual workflows for making PDF, i.\,e. pdf\LaTeX{}, Lua\LaTeX{}, \LaTeX{} $\rightarrow$ \verb+dvips+ $\rightarrow$ \verb+ps2pdf+/Distiller and \pXepLaTeX{} $\rightarrow$ \verb+(x)dvipdfmx+. For animated SVG, it supports the \verb+dvisvgm+ driver. The DVI/XDV used as input for \verb+dvisvgm+ can be generated with \LaTeX{}, Lua\LaTeX{} (in DVI mode with command `\verb+dvilualatex+') and \XeLaTeX{} (with option `\verb+--no-pdf+').
-PDF files with animations can be viewed in Acrobat Reader (except on mobile devices), PDF-XChange and Foxit Reader. Animated SVG produced by means of \LaTeX{} and \verb+dvisvgm+ are self-contained files that can be embedded into HTML using the \verb+<object>+ tag or opened directly in a Web browser, such as Chromium or Firefox.
+PDF files with animations can be viewed in Acrobat Reader (except on mobile devices), PDF-XChange and Foxit Reader.
-The user interacts with the animation through optional animation controls or using the mouse like so: pressing the mouse button over the animation widget immediately pauses a playing animation and releasing it resumes playback. Pressing the shift-key at the same time reverses the playback direction. Keeping the mouse button pressed while moving the mouse pointer off the animation widget permanently pauses playback.
+Animated SVG produced by means of \LaTeX{} and \verb+dvisvgm+ are self-sufficient files that can be embedded into HTML using the \verb+<object>+ tag or opened directly in a Web browser, such as Chromium or Firefox. Also, presentations, such as `beamer'-class documents, with embedded animations can be exported to SVG instead of PDF and viewed in a Web browser. SVG-capable Web browsers are standard on many platforms and operating systems and thus make SVG a very portable file format. A \LaTeX{} package for embedding video and audio into SVG is also available\cite{media4svg}.
+
+The user interacts with the animation through optional animation controls or using the mouse like so: pressing the mouse button over the animation widget immediately pauses a playing animation and releasing it resumes playback. Pressing the shift-key at the same time reverses the playback direction. Keeping the mouse button pressed while moving the mouse pointer off the animation widget permanently pauses playback. On mobile devices, tapping on the animation toggles between play and pause.
+
+%On mobile devices, interaction with an animated SVG is similar to that on desktop devices, just using finger touches instead of mouse button press/release. To permanently pause an animation without the pause button, touch the animation with a second finger, then lift both fingers off.
-On mobile devices, interaction with an animated SVG is similar to that on desktop devices, just using finger touches instead of mouse button press/release. To permanently pause an animation without the pause button, touch the animation with a second finger, then lift both fingers off.
\section{Requirements}
\begin{trivlist}
@@ -129,7 +132,7 @@ On mobile devices, interaction with an animated SVG is similar to that on deskto
\item dvipdfmx, version $\ge 20190503$, for DVI to PDF conversion
\item \verb+dvisvgm+ for DVI to SVG conversion (also requires Ghostscript)
\item PDF: Acrobat Reader, PDF-XChange, Foxit Reader
-\item SVG: Chromium-based browsers, Firefox and others
+\item SVG: Chromium-based browsers for best performance
\end{trivlist}
\section{Installation}
@@ -166,9 +169,13 @@ width=<h-size>
height=<v-size> | totalheight=<v-size>
keepaspectratio
scale=<factor>
+bb=<llx> <lly> <urx> <ury>
+viewport=<llx> <lly> <urx> <ury>
+trim=<left> <bottom> <right> <top>
+clip
hiresbb
interpolate
-pagebox
+pagebox=...
buttonsize=<size>
buttonbg=<colour>
buttonfg=<colour>
@@ -266,9 +273,9 @@ For example, the line
\end{verbatim}
would create an animation from all pages of the file `frames.pdf', running at 12 fps.
-\clearpage
+%\clearpage
\section{Command options}
-The following options to \verb+\animategraphics+ and `\verb+animateinline+' have been provided:
+The following options to \verb+\animategraphics+ and `\verb+animateinline+' have been provided.
\subsection{Basic options}
\begin{verbatim}
label=<label text>
@@ -281,7 +288,7 @@ Overrides the searching procedure for graphics files explained in the previous s
\begin{verbatim}
poster[=first | <num> | last | none]
\end{verbatim}
-Specifies which frame to display and print if the animation is not activated. The first frame is shown by default. Thus `\verb+poster+' or `\verb+poster=first+' need not be explicitly set. A frame number \verb+<num>+ may as well be given; \verb+<num>+ is zero-based, that is, the first frame has number `0'.
+Specifies which frame to display and print if the animation is not activated. The first frame is shown by default. Thus, `\verb+poster+' or `\verb+poster=first+' need not be explicitly set. A frame number \verb+<num>+ may as well be given; \verb+<num>+ is zero-based, that is, the first frame has number `0'.
\begin{verbatim}
every=<num>
\end{verbatim}
@@ -331,9 +338,13 @@ viewport=<llx> <lly> <urx> <ury>
\begin{verbatim}
trim=<left> <bottom> <right> <top>
\end{verbatim}
-(\verb+\animategraphics+ only.) Crops graphics at the edges. The four lengths specify the amount to be removed from or, if negative values have been provided, to be added to each side of the graphics.
+(\verb+\animategraphics+ only.) Crops graphic at the edges. The four lengths specify the amount to be removed from or, if negative values have been provided, to be added to each side of the graphic.
\begin{verbatim}
-pagebox
+clip
+\end{verbatim}
+(\verb+\animategraphics+ only.) Clips the graphic to the (possibly modified) bounding box.
+\begin{verbatim}
+pagebox=...
hiresbb
interpolate
\end{verbatim}
@@ -534,25 +545,7 @@ or
\end{verbatim}
`\verb+anim+' is an array of animation object references. Animations must be labelled using the `\verb+label=...+' command option in order to be present in the `\verb+anim+' array. As usual, properties and methods are accessed via the dot notation. Properties and methods of the animation object are summarized in Tables \ref{tab:props} and \ref{tab:methods}.
-One potential use of the JavaScript interface could be within a timeline file associated with an animation. For example, loops over a sub-range of frames can be programmed by setting the `\verb+frameNum+' property. See Section~\ref{sect:timeline}, p.~\pageref{sect:jsfield} for details.
-
-Also, the programming interface can be used to create custom buttons for playback control. The command \verb+\mediabutton+ from the `media9' package provides a convenient way for achieving this:
-\begin{lstlisting}
- \usepackage{media9}
- \usepackage{animate}
- ...
-
- \animategraphics[label=my_anim]{12}{...}{...}{...}
-
- \mediabutton[
- jsaction={anim['my_anim'].playFwd();}
- ]{\fbox{Play}}
- \mediabutton[
- jsaction={anim['my_anim'].frameNum=5;}
- ]{\fbox{Goto 6th frame}}
-\end{lstlisting}
-
-\begin{table}[p]%[hbp]
+\begin{table}[hbp]%[p]%[hbp]
\centering
\caption{Animation object properties}\label{tab:props}
\begin{tabularx}{\linewidth}[t]{lllX}\hline
@@ -568,7 +561,7 @@ name & type & access & description\\\hline\hline
\end{tabularx}
\end{table}
-\begin{table}[p]%[htbp]
+\begin{table}[htp]%[p]%[htbp]
\centering
\caption{Animation object methods}\label{tab:methods}
\begin{tabularx}{\linewidth}[t]{lX}\hline
@@ -582,6 +575,24 @@ name & description\\\hline\hline
\end{tabularx}
\end{table}
+One potential use of the JavaScript interface could be within a timeline file associated with an animation. For example, loops over a sub-range of frames can be programmed by setting the `\verb+frameNum+' property. See Section~\ref{sect:timeline}, p.~\pageref{sect:jsfield} for details.
+
+Also, the programming interface can be used to create custom buttons for playback control. The command \verb+\mediabutton+ from the `media9' package provides a convenient way for achieving this:
+\begin{lstlisting}
+ \usepackage{media9}
+ \usepackage{animate}
+ ...
+
+ \animategraphics[label=my_anim]{12}{...}{...}{...}
+
+ \mediabutton[
+ jsaction={anim['my_anim'].playFwd();}
+ ]{\fbox{Play}}
+ \mediabutton[
+ jsaction={anim['my_anim'].frameNum=5;}
+ ]{\fbox{Goto 6th frame}}
+\end{lstlisting}
+
\clearpage
\section{Examples}
\subsection{Animations from sets of files, using {\tt\textbackslash animategraphics}}\label{sect:examples}
@@ -1337,17 +1348,16 @@ The following code may serve as a template for generating standalone animated SV
\begin{lstlisting}
\documentclass[dvisvgm]{standalone}
-\usepackage{animate}
-\usepackage{graphicx}
-
%\usepackage{xcolor}
%\pagecolor{white} % opaque background with solid colour
%\usepackage{pstricks} % enable as needed
%\usepackage{tikz}
-\begin{document}
+\usepackage{animate}
+\usepackage{graphicx}
+\begin{document}
%
% \animategraphics{..}{...}{...}{...}
%
@@ -1355,7 +1365,6 @@ The following code may serve as a template for generating standalone animated SV
%
% \begin{animateinline}{..} ... \end{animateinline}
%
-
\end{document}
\end{lstlisting}
Note that when animating external graphics with \verb+\animategraphics+, only PDF and PostScript (EPS, PS, MPS) files are converted to inline SVG code; files in other formats (SVG, PNG, JPEG) remain external and must be bundled with the final SVG output. Thus, for obtaining self-contained SVG, it is recommended to convert PNG, JPEG and SVG files to PDF or PostScript first. Also note that PostScript files must have all required fonts embedded. This is not always the case for \MP-generated PostScript. Here, embedding of fonts is ensured by putting `\verb+prologues := 3;+' into the header of the \MP{} input.
@@ -1455,13 +1464,15 @@ In \TeX4ht documents, the whole \verb+<object>...</object>+ tag can be inserted
\section{Acknowledgements}
I would like to thank François Lafont who discovered quite a few bugs and made many suggestions that helped to improve the functionality of the package. Many thanks to Jin-Hwan Cho, the developer of \verb+dvipdfmx+, for contributing the \verb+dvipdfmx+ specific code, and to Walter Scott for proof-reading the documentation.
+\enlargethispage{4ex}
\begin{thebibliography}{8}
- \bibitem{chupin} Chupin, M.: \emph{Syracuse MetaPost/Animations.} URL: \href{http://melusine.eu.org/syracuse/metapost/animations/chupin/?idsec=scara}{\url{http://melusine.eu.org/}} \href{http://melusine.eu.org/syracuse/metapost/animations/chupin/?idsec=scara}{\url{syracuse/metapost/animations/chupin/?idsec=scara}}
+\bibitem{chupin} Chupin, M.: \emph{Syracuse MetaPost/Animations.} URL: \href{http://melusine.eu.org/syracuse/metapost/animations/chupin/?idsec=scara}{\url{http://melusine.eu.org/}} \href{http://melusine.eu.org/syracuse/metapost/animations/chupin/?idsec=scara}{\url{syracuse/metapost/animations/chupin/?idsec=scara}}
\bibitem{dvisvgm} \emph{dvisvgm: A fast DVI to SVG converter} URL: \url{http://dvisvgm.de}
\bibitem{gilg05} Gilg, J.: PDF-Animationen. In: \emph{Die \TeX nische Kom\"odie}, Issue 4, 2005, pp.~30--37
%\bibitem{hol} Holeček, J.: \emph{Animations in a pdf\TeX-generated PDF}. URL: \url{http://www.fi.muni.cz/~xholecek/tex/pdfanim.xhtml}
\bibitem{hol} Holeček, J.; Sojka, P.: Animations in pdf\TeX-generated PDF. In: \emph{\TeX, XML, and Digital Typography}, Springer, 2004, pp.~179--191. doi:10.1007/978-3-540-27773-6\textunderscore14
\bibitem{luque12} Luque, M.: \emph{PSTricks : applications.} URL: \url{http://pstricks.blogspot.com}
+\bibitem{media4svg} \emph{The media4svg Package}. URL: \url{http://www.ctan.org/pkg/media4svg}
\bibitem{media9} \emph{The media9 Package}. URL: \url{http://www.ctan.org/pkg/media9}
\bibitem{texsx} \emph{Beamer: animate package and overlay}. URL: \href{https://tex.stackexchange.com/a/385209}{\url{https://tex.stackexchange.com}}\\ \href{https://tex.stackexchange.com/a/385209}{\url{/a/385209}}
\end{thebibliography}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/LICENSE b/macros/latex/contrib/biblatex-contrib/biblatex-software/LICENSE
new file mode 100644
index 0000000000..387307b03e
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/LICENSE
@@ -0,0 +1,35 @@
+%% software extension for biblatex styles
+%% Copyright 2020 Roberto Di Cosmo <roberto@dicosmo.org>
+%
+% 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.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Roberto Di Cosmo.
+%
+% This work consists of the files:
+%
+% LICENSE
+% Makefile
+% README.md
+% biblio.bib
+% english-software.lbx
+% french-software.lbx
+% manual.bib
+% mkbiblatexstubs.sh
+% sample-use-sty.tex
+% sample.tex
+% software-biblatex.pdf (generated)
+% software-biblatex.sty
+% software-biblatex.tex
+% software.bbx
+% software.dbx
+% stublist
+% swentries.tex
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/Makefile b/macros/latex/contrib/biblatex-contrib/biblatex-software/Makefile
new file mode 100644
index 0000000000..9db14d0e6d
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/Makefile
@@ -0,0 +1,46 @@
+TEXS = $(wildcard *.tex)
+MAIN = sample-use-sty
+
+all: $(MAIN).pdf
+
+biblatex-styles: stublist mkbiblatexstubs.sh
+ bash mkbiblatexstubs.sh < stublist
+
+swentries.tex: ../swentry.org
+ ../bin/export-org-to-latex $<
+ ../bin/extract-entries.pl < ../swentry.tex > $@
+
+software-biblatex.pdf: software-biblatex.tex swentries.tex history.tex
+ pdflatex software-biblatex.tex
+ bibtex software-biblatex
+ pdflatex software-biblatex.tex
+ pdflatex software-biblatex.tex
+
+history.tex:
+ git for-each-ref --format="\begin{release}{%(refname:short)}{%(taggerdate:short)} \item %(subject) \end{release}" refs/tags | grep bltx | tac > history.tex
+
+sample.tex : biblatex-styles
+
+%.pdf: %.tex
+ifeq (, $(shell PATH=$(PATH) which rubber))
+ echo "No rubber in $(PATH), falling back to basic pdflatex calls"
+ pdflatex $<
+ biber $*
+ pdflatex $<
+else
+ rubber -m pdftex $<
+endif
+
+distrib:
+ # update history
+ rm history.tex
+ make software-biblatex.pdf
+ tar --transform 's,^\(.\),biblatex-software/\1,' -czhvf biblatex-software.tar.gz `git ls-files`
+
+clean: $(patsubst %,%/clean,$(TEXS))
+ rm -f *+sw.bbx *+sw.dbx *+sw.cbx *+sw.lbx *~
+
+%/clean:
+ if [ -f $* ]; then rubber -m pdftex --clean $* ; fi
+
+distclean: clean
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/README.md b/macros/latex/contrib/biblatex-contrib/biblatex-software/README.md
new file mode 100644
index 0000000000..766e85a125
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/README.md
@@ -0,0 +1,68 @@
+# biblatex software style
+
+This directory contains the reference `biblatex` implementation of a
+bibliography style extension that includes software-specific BibTeX entries.
+
+## Relevant files
+
+The key files are the following:
+
+ - `software.bbx` for the bibliography style extension
+ - `software.dbx` for the data model extension to support the new entries
+ - `english-software.lbx` and `french-software.lbx` for the localization
+ - `software-biblatex.sty` the LaTeX package to include for using the style as an extension
+
+The distribution contains other material, for demonstration purposes, and for
+more advanced use.
+
+## Documentation
+
+Full documentation of the style, with a description of the new entries and
+fields and detailed examples, is in `software-biblatex.tex`; a compiled PDF
+version is included as `software-biblatex.pdf` for ease of reference.
+
+We recall briefly here the two main approaches available for using this style extension.
+
+### Using the software biblatex style as an extension
+
+The simplest way to use this style is to follow the example given
+in the file `sample-use-sty.tex` that shows how one can *extend* any
+existing `biblatex` style by simply doing the following:
+
+ - pass the `model=software` option to the `biblatex` package
+ - load the software biblatex style with `\usepackage{software-biblatex}`
+ - set software specific bibliography options using the macro `\ExecuteBibliographyOptions`;
+ the options with their default values are as in
+ `\ExecuteBibliographyOptions{halid=true,swhid=true,swlabels=true,vcs=true,license=true}`
+
+This approach is extremely simple: it only requires that you include the relevant files
+mentioned above in the directory where your LaTeX file is located.
+
+### Generating biblatex styles that include the software entries
+
+It may be useful to generate a new biblatex style that includes support for the
+software entries right away.
+
+A simple mechanism is provided for this use case:
+
+ - add to the `stublist` file the names of all the existing styles one needs to extend
+ - run `make biblatex-styles` to produce new style files, with an added `+sw` suffix,
+ for each of the existing style
+ - install the newly generated files in the standard path where `biblatex` files are found
+
+The stock `stublist` file contains the names of all the standard `biblatex`
+styles. If this approach is followed, then one can load directly the extended
+file, and the software specific bibliography options become available when
+loading the `biblatex` package directly. See the `sample.tex` file for a
+concrete example.
+
+# License
+
+This material is subject to the LATEX Project Public License version 1.3 or (at
+your option) any later version.
+
+# Contact author
+
+This style is maintained by Roberto Di Cosmo <roberto@dicosmo.org>
+
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib b/macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib
new file mode 100644
index 0000000000..41f7c02532
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib
@@ -0,0 +1,98 @@
+@softwareversion {delebecque:hal-02090402-condensed,
+ title = {Scilab},
+ author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
+ and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
+ url = {https://www.scilab.org/},
+ year = {1994},
+ month = jan,
+ file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
+ institution = {Inria},
+ license = {Scilab license},
+ hal_id = {hal-02090402},
+ hal_version = {v1},
+ swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
+ origin=https://hal.inria.fr/hal-02090402},
+ version = {1.1},
+ note = {First Scilab version. It was distributed by anonymous ftp.},
+ repository= {https://github.com/scilab/scilab},
+ abstract = {Software for Numerical Computation freely distributed.}
+}
+@software {delebecque:hal-02090402,
+ title = {Scilab},
+ author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
+ and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
+ year = {1994},
+ institution = {Inria},
+ license = {Scilab license},
+ hal_id = {hal-02090402},
+ hal_version = {v1},
+ url = {https://www.scilab.org/},
+ abstract = {Software for Numerical Computation freely distributed.},
+ repository= {https://github.com/scilab/scilab},
+}
+
+@softwareversion {delebecque:hal-02090402v1,
+ version = {1.1},
+ year = {1994},
+ month = jan,
+ file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
+ swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
+ origin=https://hal.inria.fr/hal-02090402},
+ note = {First Scilab version. It was distributed by anonymous ftp.},
+ crossref = {delebecque:hal-02090402}
+}
+ @software {cgal,
+ title = {The Computational Geometry Algorithms Library},
+ author = {{The CGAL Project}},
+ editor = {{CGAL Editorial Board}},
+ year = 1996,
+ url = {https://cgal.org/}
+ }
+
+ @softwareversion{cgal:5-0-2,
+ crossref = {cgal},
+ version = {{5.0.2}},
+ url = {https://docs.cgal.org/5.02},
+ year = 2020,
+ swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
+ origin=https://github.com/CGAL/cgal/}
+ }
+
+ @softwaremodule{cgal:lp-gi-20a,
+ crossref = {cgal:5-0-2},
+ author = {Menelaos Karavelas},
+ subtitle = {{2D} Voronoi Diagram Adaptor},
+ license = {GPL},
+ introducedin = {cgal:3-1},
+ url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
+ }
+ @softwaremodule{cgal:lp-gi-20a-condensed,
+ title = {The Computational Geometry Algorithms Library},
+ subtitle = {{2D} Voronoi Diagram Adaptor},
+ author = {Menelaos Karavelas},
+ editor = {{CGAL Editorial Board}},
+ license = {GPL},
+ version = {{5.0.2}},
+ introducedin = {cgal:3-1},
+ year = 2020,
+ swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
+ origin=https://github.com/CGAL/cgal/},
+ url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
+ }
+@software {parmap,
+ title = {The Parmap library},
+ author = {Di Cosmo, Roberto and Marco Danelutto},
+ year = {2020},
+ version = {1.1.1},
+ institution = {Inria},
+ license = {LGPL-2.0},
+ url = {https://rdicosmo.github.io/parmap/},
+ repository= {https://github.com/rdicosmo/parmap},
+}
+
+@codefragment {simplemapper,
+ subtitle = {Core mapping routine},
+ swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5;lines=192-228;
+ origin=https://github.com/rdicosmo/parmap},
+ crossref = {parmap}
+}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/english-software.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-software/english-software.lbx
new file mode 100644
index 0000000000..3d3220e352
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/english-software.lbx
@@ -0,0 +1,15 @@
+ \ProvidesFile{english-software.lbx}[2020/04/02 english with additions for software]
+ \InheritBibliographyExtras{english}
+ \InheritBibliographyStrings{english}
+ \NewBibliographyString{software,edited,swmodule,swpartof,swversion,swexcerpt,swexc,refart,manual}
+ \DeclareBibliographyStrings{%
+ software = {{\sc [Software]}{\sc [SW]}},
+ swmodule = {{\sc [Software Module]}{\sc [SW Mod\adddot]}},
+ swpartof = {{part of}}{{part of}},
+ swversion = {{\sc [Software Release]}{\sc [SW Rel\adddot]}},
+ swexcerpt = {{\sc [Software excerpt]}{\sc [SW exc\adddot]}},
+ swexc = {{from}}{{from}},
+ edited = {{Coordinated by}{Coord\adddot by}},
+ refart = {{Described in}{Descr\adddot in}},
+ manual = {{Manual: }{Manual:}}
+ }
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/french-software.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-software/french-software.lbx
new file mode 100644
index 0000000000..5a77fd3dee
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/french-software.lbx
@@ -0,0 +1,15 @@
+ \ProvidesFile{french-software.lbx}[2020/04/02 french with additions for software]
+ \InheritBibliographyExtras{french}
+ \InheritBibliographyStrings{french}
+ \NewBibliographyString{software,edited,swmodule,swpartof,swversion,swexcerpt,swexc,refart,manual}
+ \DeclareBibliographyStrings{%
+ software = {{[Logiciel]}{[Log\adddot]}},
+ swmodule = {{[Module logiciel]}{[Mod\adddot log\adddot]}},
+ swpartof = {{partie de}}{{partie de}},
+ swversion = {{[Version de logiciel]}{[Ver\adddot log\adddot]}},
+ swexcerpt = {{[Fragment logiciel]}{[Frag\adddot log\adddot]}},
+ swexc = {{dans}}{{dans}},
+ edited = {{Coordonn\'e par}{Coord\adddot par}},
+ refart = {{D\'ecrit en}{D\'ecrit en}},
+ manual = {{Manuel: }{Manuel: }}
+ }
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/history.tex b/macros/latex/contrib/biblatex-contrib/biblatex-software/history.tex
new file mode 100644
index 0000000000..e193b2d319
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/history.tex
@@ -0,0 +1,10 @@
+\begin{release}{bltx-v0.9}{2020-04-25} \item Preparing for public release: Licence, Readme, update documentation, handle suggestions from the Working Group \end{release}
+\begin{release}{bltx-v0.8}{2020-04-09} \item Make the style usable as an extension, and keep possibility of generating extended styles \end{release}
+\begin{release}{bltx-v0.7}{2020-04-09} \item Move to diff model approach to be more portable \end{release}
+\begin{release}{bltx-v0.6}{2020-04-08} \item Standardise file names, make softwarebib.tex self contained, separate out sample.tex, update Makefile, use printdate macro \end{release}
+\begin{release}{bltx-v0.5}{2020-04-08} \item Added standard list format for licenses \end{release}
+\begin{release}{bltx-v0.4}{2020-04-07} \item Added repository and licence field \end{release}
+\begin{release}{bltx-v0.3}{2020-04-05} \item Biblatex style with first complete example \end{release}
+\begin{release}{bltx-v0.2}{2020-04-02} \item Biblatex style sent for review \end{release}
+\begin{release}{bltx-v0.1}{2020-04-02} \item First version of the biblatex style \end{release}
+\begin{release}{bltx-1.0}{2020-04-25} \item First public release \end{release}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/manual.bib b/macros/latex/contrib/biblatex-contrib/biblatex-software/manual.bib
new file mode 100644
index 0000000000..44b3746534
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/manual.bib
@@ -0,0 +1,79 @@
+
+@manual {scilabdoc,
+ title = {The offical Scilab documentation},
+ related = {delebecque:hal-02090402v1},
+ relatedstring = "In the official distribution of "
+}
+
+@Article{ swhcacm2018,
+ Author = {Abramatic, Jean-Fran\c{c}ois and Di Cosmo, Roberto and
+ Zacchiroli, Stefano},
+ Title = {Building the Universal Archive of Source Code},
+ Journal = {Commun. ACM},
+ issue_date = {October 2018},
+ Volume = {61},
+ Number = {10},
+ Month = sep,
+ Year = {2018},
+ ISSN = {0001-0782},
+ Pages = {29--31},
+ numpages = {3},
+ URL = {http://doi.acm.org/10.1145/3183558},
+ DOI = {10.1145/3183558},
+ acmid = {3183558},
+ Publisher = {ACM},
+ Address = {New York, NY, USA}
+}
+
+@ARTICLE{2020GtCitation,
+ author={Pierre {Alliez} and Di Cosmo, Roberto and Benjamin {Guedj} and Alain {Girault} and Mohand-Said {Hacid} and Arnaud {Legrand} and Nicolas {Rougier}},
+ journal={Computing in Science and Engineering},
+ title={Attributing and Referencing (Research) Software: Best Practices and Outlook From Inria},
+ year=2020,
+ volume=22,
+ number=1,
+ pages={39-52},
+ abstract={Software is a fundamental pillar of modern scientific research, across all fields and disciplines. However, there is a lack of adequate means to cite and reference software due to the complexity of the problem in terms of authorship, roles, and credits. This complexity is further increased when it is considered over the lifetime of a software that can span up to several decades. Building upon the internal experience of Inria, the French research institute for digital sciences, we provide in this article a contribution to the ongoing efforts in order to develop proper guidelines and recommendations for software citation and reference. Namely, we recommend: first, a richer taxonomy for software contributions with a qualitative scale; second, to put humans at the heart of the evaluation; and third, to distinguish citation from reference.},
+ keywords={Software packages;Complexity theory;Research and development;Libraries;Metadata;Best practices;Guidelines;Software citation;software reference;authorship;development process},
+ doi={10.1109/MCSE.2019.2949413},
+ ISSN={1558-366X},
+ month={Jan},
+ DMI-CATEGORY={jour},
+ x-topic = "opensc",
+ note = {Available from \url{https://hal.archives-ouvertes.fr/hal-02135891}},
+ urllocal = "http://www.dicosmo.org/Articles/2020-CiSE-AttributingReferencing.pdf"
+}
+
+@Article{ cise-2020-doi,
+ Author = {Di Cosmo, Roberto and Gruenpeter, Morane and Stefano Zacchiroli},
+ Title = {Referencing Source Code Artifacts: a Separate Concern in Software Citation},
+ Abstract = {Among the entities involved in software citation, software
+ source code requires special attention, due to the role it
+ plays in ensuring scientific reproducibility. To reference
+ source code we need identifiers that are not only unique
+ and persistent, but also support integrity checking
+ intrinsically. Suitable iden- tifiers must guarantee that
+ denoted objects will always stay the same, without relying
+ on external third parties and administrative processes. We
+ analyze the role of identifiers for digital objects (IDOs),
+ whose properties are different from, and complementary to,
+ those of the various digital identifiers of objects (DIOs)
+ that are today popular building blocks of software and data
+ citation toolchains. We argue that both kinds of
+ identifiers are needed and detail the syntax, semantics,
+ and practical implementation of the persistent identifiers
+ (PIDs) adopted by the Software Heritage project to
+ reference billions of software source code artifacts such
+ as source code files, directories, and commits.},
+ Publisher = {IEEE},
+ Year = {2020},
+ ISSN = {1521-9615},
+ volume = 22,
+ number = 2,
+ pages = {33-43},
+ DMI-CATEGORY={jour},
+ x-topic = "opensc",
+ doi = {10.1109/MCSE.2019.2963148},
+ urllocal = "http://www.dicosmo.org/Articles/2020-CiSE-swhid.pdf",
+ Journal = {Computing in Science and Engineering}
+}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/mkbiblatexstubs.sh b/macros/latex/contrib/biblatex-contrib/biblatex-software/mkbiblatexstubs.sh
new file mode 100755
index 0000000000..cb02d549b7
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/mkbiblatexstubs.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+while read NAME
+do
+# bbx
+cat <<EOF > $NAME+sw.bbx
+\ProvidesFile{$NAME+sw.bbx}[2020/04/02 $NAME style with software, Roberto Di Cosmo]
+\RequireBibliographyStyle{$NAME}
+\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}
+\endinput
+EOF
+# dbx
+cat <<EOF > $NAME+sw.dbx
+\ProvidesFile{$NAME+sw.dbx}[2020/04/02 biblatex-software data model, Roberto Di Cosmo]
+\blx@inputonce{software.dbx}{biblatex data model extension for software}{}{}{}{}
+\endinput
+EOF
+# cbx
+cat <<EOF > $NAME+sw.cbx
+\ProvidesFile{$NAME+sw.bbx}[2020/04/02 $NAME citation style with software, Roberto Di Cosmo]
+\RequireCitationStyle{$NAME}
+\endinput
+EOF
+done< stublist
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.pdf
new file mode 100644
index 0000000000..31ee8ffde3
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.tex b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.tex
new file mode 100644
index 0000000000..93c502933b
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.tex
@@ -0,0 +1,86 @@
+\documentclass[10pt]{article}
+\usepackage{a4wide}
+\usepackage{hyperref}
+\usepackage[
+ style=numeric,
+ datamodel=software, % extend the datamodel with entries for software
+ abbreviate=false,
+ natbib=true,
+ sorting=ydnt,
+ backend=biber,
+ bibencoding=utf8,
+ giveninits=true,
+ url=false,
+ doi=false,
+ defernumbers,
+ maxcitenames=10,
+ defernumbers=true,
+ maxbibnames=100]{biblatex}
+%
+% load the software biblatex style
+%
+\usepackage{software-biblatex}
+%
+% set software specific bibliography options
+%
+\ExecuteBibliographyOptions{
+ halid=true,
+ swhid=true,
+ swlabels=true,
+ vcs=true,
+ license=false}
+%
+% Make title an hyperlink to the DOI or URL to make the result leaner (suggested by N. Rougier 4/4/2020)
+%
+
+\newcommand{\doiorurl}{%
+ \iffieldundef{doi}
+ {\iffieldundef{url}
+ {}
+ {\strfield{url}}}
+ {http://dx.doi.org/\strfield{doi}}%
+}
+\newcommand{\myhref}[1]{%
+ \ifboolexpr{%
+ test {\ifhyperref}
+ and
+ not test {\iftoggle{bbx:url}}
+ and
+ not test {\iftoggle{bbx:doi}}
+ }
+ {\href{\doiorurl}{#1}}
+ {#1}%
+}
+\DeclareFieldFormat{title}{\myhref{\mkbibemph{#1}}}
+\DeclareFieldFormat
+ [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
+ {title}{\myhref{\mkbibquote{#1\isdot}}}
+
+
+\addbibresource{biblio.bib}
+\addbibresource{manual.bib}
+\author{Inria Software Citation Working Group}
+\date{\today}
+\title{Test document for software entries}
+\begin{document}
+
+\maketitle
+
+This is how the proposed entries are rendered with the standard BibLaTeX style
+extended with the \texttt{software} module.
+
+\begin{itemize}
+\item software entry CGAL \cite{cgal} and Scilab \cite{delebecque:hal-02090402}
+\item softwareversion entry CGAL 5.0.2 \cite{cgal:5-0-2}
+\item softwareversion Scilab 1.1.1 : from the chain of crossrefs \cite{delebecque:hal-02090402v1}, and from the condensed bibtem \cite{delebecque:hal-02090402-condensed} (they should be identical)
+\item softwaremodule entry Voronoi: from the chain of crossrefs \cite{cgal:lp-gi-20a}, and the from the condensed bibtem \cite{cgal:lp-gi-20a-condensed} (they should be identical)
+\item software entry Parmap \cite{parmap}
+\item codefragment entry simplemapper \cite{simplemapper}
+\item documentation in a software entry \cite{scilabdoc}
+\end{itemize}
+
+\printbibheading
+\printbibliography[heading=subbibliography,type=software,title={Software Projects}]
+\printbibliography[heading=subbibliography,nottype=software,title={Software versions, modules, excerpts and manuals}]
+
+\end{document}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/sample.tex b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample.tex
new file mode 100644
index 0000000000..bb4ba7fdfb
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/sample.tex
@@ -0,0 +1,78 @@
+\documentclass[10pt]{article}
+\usepackage{a4wide}
+\usepackage{hyperref}
+\usepackage[
+ style=numeric+sw, % numeric bibliography style with software
+ halid=true, % toggle typesetting of halid
+ swhid=true, % toggle typesetting of swhid
+ vcs=true, % toggle typesetting of repository
+ license=true, % toggle typesetting of software licenses
+ swlabels=true, % toggle typesetting of software type labels in the bibliography
+ abbreviate=false,
+ natbib=true,
+ sorting=ydnt,
+ backend=biber,
+ bibencoding=utf8,
+ giveninits=true,
+ url=false,
+ doi=false,
+ defernumbers,
+ maxcitenames=10,
+ defernumbers=true,
+ maxbibnames=100]{biblatex}
+
+%
+% Make title an hyperlink to the DOI or URL to make the result leaner (suggested by N. Rougier 4/4/2020)
+%
+
+\newcommand{\doiorurl}{%
+ \iffieldundef{doi}
+ {\iffieldundef{url}
+ {}
+ {\strfield{url}}}
+ {http://dx.doi.org/\strfield{doi}}%
+}
+\newcommand{\myhref}[1]{%
+ \ifboolexpr{%
+ test {\ifhyperref}
+ and
+ not test {\iftoggle{bbx:url}}
+ and
+ not test {\iftoggle{bbx:doi}}
+ }
+ {\href{\doiorurl}{#1}}
+ {#1}%
+}
+\DeclareFieldFormat{title}{\myhref{\mkbibemph{#1}}}
+\DeclareFieldFormat
+ [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
+ {title}{\myhref{\mkbibquote{#1\isdot}}}
+
+
+\addbibresource{biblio.bib}
+\addbibresource{manual.bib}
+\author{Inria Software Citation Working Group}
+\date{\today}
+\title{Test document for software entries}
+\begin{document}
+
+\maketitle
+
+This is how the proposed entries are rendered with the standard BibLaTeX style
+extended with the \texttt{software} module.
+
+\begin{itemize}
+\item software entry CGAL \cite{cgal} and Scilab \cite{delebecque:hal-02090402}
+\item softwareversion entry CGAL 5.0.2 \cite{cgal:5-0-2}
+\item softwareversion Scilab 1.1.1 : from the chain of crossrefs \cite{delebecque:hal-02090402v1}, and from the condensed bibtem \cite{delebecque:hal-02090402-condensed} (they should be identical)
+\item softwaremodule entry Voronoi: from the chain of crossrefs \cite{cgal:lp-gi-20a}, and the from the condensed bibtem \cite{cgal:lp-gi-20a-condensed} (they should be identical)
+\item software entry Parmap \cite{parmap}
+\item codefragment entry simplemapper \cite{simplemapper}
+\item documentation in a software entry \cite{scilabdoc}
+\end{itemize}
+
+\printbibheading
+\printbibliography[heading=subbibliography,type=software,title={Software Projects}]
+\printbibliography[heading=subbibliography,nottype=software,title={Software versions, modules, excerpts and manuals}]
+
+\end{document}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf
new file mode 100644
index 0000000000..d445d6ed78
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.sty b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.sty
new file mode 100644
index 0000000000..486b3760ce
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.sty
@@ -0,0 +1,15 @@
+%
+% Reference implementation of a BibLaTeX style for the software family of bibliographic entries
+%
+% 2020/04/02 Roberto Di Cosmo <roberto@dicosmo.org>
+%
+%
+% style file wrapper to software.bbx to make software entries available on the fly
+%
+% use after loading biblatex with the datamodel=software option
+% - special toggles may be controlled with the directive \ExecuteBibliographyOptions
+% that defaults to
+% \ExecuteBibliographyOptions{halid=true,swhid=true,swlabels=true,vcs=true,license=true}
+%
+\ProvidesPackage{software-biblatex}[Software entries for biblatex]
+\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.tex b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.tex
new file mode 100644
index 0000000000..71aeac1350
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.tex
@@ -0,0 +1,241 @@
+\documentclass{ltxdockit}
+\usepackage{a4wide}
+\usepackage{hyperref}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{alltt}
+\usepackage{listings}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+
+\titlepage{%
+ title={Bib\LaTeX\ style extension for Software},
+ subtitle={Citation and References macros for Bib\LaTeX},
+ url={http://mirror.ctan.org/macros/latex/exptl/biblatex-contrib/biblatex-software/},
+ author={Roberto Di Cosmo},
+ email={roberto@dicosmo.org},
+ revision={1.0},
+ date={\today}}
+
+\hypersetup{%
+ pdftitle={Bib\LaTeX\ style extension for Software},
+ pdfsubject={Style for Bib\LaTeX},
+ pdfauthor={Roberto Di Cosmo},
+ pdfkeywords={latex, biblatex, software, style}}
+
+\begin{document}
+
+\printtitlepage
+\tableofcontents
+
+\section{Introduction}\label{sec:intro}
+
+\subsection{About}
+
+Software plays a significant role in modern research, and it must be properly
+acknowledged and referenced in scholarly works. To this end, specific
+bibliographic entries for describing \emph{software}, \emph{software versions},
+\emph{software modules} and \emph{code fragments} have been designed by a
+dedicated task force at Inria in 2020 that brought together researchers from
+Computer Science and Applied Mathematics to discuss best practices for archiving
+and referencing software source code~\cite{2020GtCitation}.\\
+
+This package is a Bib\LaTeX\ \emph{style extension} that adds support for these
+four \emph{software entry types} to any other Bib\LaTeX\ style used in documents
+typeset in \latex. It is made up of the following key components: a references
+section style (\path{software.bbx}), a data model extension
+(\path{software.dbx}) and string localisation files
+(\path{<language>-software.lbx})\footnote{String localisations are provided for
+ some languages: localisations for other languages are welcome, feel free to
+ contribute them on the official repository, see Section \emph{Contributing} below.}.\\
+
+The distribution contains other material, for demonstration purposes, and for
+more advanced use.
+
+\subsection{License}
+
+Permission is granted to copy, distribute and/or modify this software under
+the terms of the \latex Project Public License, version
+1.3c\footnote{\url{http://www.latex-project.org/lppl.txt}}. The current
+maintainer is Roberto Di Cosmo (\textcopyright\ 2020).
+
+\subsection{History}
+
+When I decided to start the Software Heritage initiative in 2015, software in
+general and research software in particular was not yet a first class citizen in
+the scholarly world. The absence of support for properly citing software in a
+bibliography was just one of the many signs of this lack of recognition.
+
+In order to properly reference a software project, and ensure that these
+references are stable enough to pass the test of time, it was necessary to build
+a \emph{universal archive} for software source code, and to equip every software
+artifact with \emph{intrinsic} identifiers.
+
+Now that \href{https://www.softwareheritage.org}{Software Heritage} is providing
+the universal archive~\cite{swhcacm2018}, with Software Heritage \emph{intrinsic
+ identifiers} (SWH-IDs) widely available~\cite{cise-2020-doi}, it is finally
+possible to propose proper bibliographic entries for software, at various levels
+of granularity, down to the line of code.
+
+\subsection{Acknowledgments}
+
+Thanks to the Inria working group members for their precious feedback and
+contribution to the desing of the software bibliography entries: Pierre Alliez,
+Benjamin Guedj, Alain Girault, Morane Gruenpeter, Mohand-Said Hacid, Arnaud
+Legrand, Xavier Leroy, Nicolas Rougier and Manuel Serrano.
+
+\section{Software entries}
+\input{swentries}
+
+\section{Use}\label{ref:use}
+\label{use}
+
+This package can be used as a standalone on the fly extension, or to produce
+full bibliographic styles that extend pre-existing styles.
+
+\subsection{Use as an \emph{on the fly} extension}
+
+The simplest way to use this package is to follow the example given in the
+\path{sample-use-sty.tex} that shows how one can \emph{extend on the fly} any
+existing Bib\LaTeX\ style by just doing the following:
+
+\begin{itemize}
+\item pass the \texttt{datamodel=software} option to the \texttt{biblatex} package as in
+ \begin{ltxcode}
+ \usepackage[datamodel=software]{biblatex}
+ \end{ltxcode}
+ \item load the software biblatex style using
+ \begin{ltxcode}
+ \usepackage{software-biblatex}
+ \end{ltxcode}
+ \item set software specific bibliography options using the macro |\ExecuteBibliographyOptions|;
+ the options with their default values are as in
+ \begin{ltxcode}
+ \ExecuteBibliographyOptions{
+ halid=true,
+ swhid=true,
+ swlabels=true,
+ vcs=true,
+ license=true}
+ \end{ltxcode}
+\end{itemize}
+
+This is quite handy to add support for software entries in a single article, as
+it is enough to add \path{software.dbx}, \path{software.bbx},
+\path{<language>-software.lbx} and \path{software-biblatex.sty} to make it work.
+
+\subsection{Generate extended styles}
+
+When a more systematic use is foreseen, as for institution-wide reports, or
+conference and journal proceedings, it is more appropriate to generate a new
+biblatex style that includes support for the software entries right away.
+
+The following simple mechanism is provided for this use case:
+
+\begin{itemize}
+\item add to the \path{stublist} file the names of all the existing styles that must be extended
+\item run \texttt{make biblatex-styles} to produce new style files, with an added \texttt{+sw} suffix,
+ for each of the existing style
+\item install the newly generated files in the standard path where Bib\LaTeX\ files are found
+\end{itemize}
+
+The stock \path{stublist} file contains the names of all the standard Bib\LaTeX\
+styles. If this approach is followed, then one can load directly the extended
+file, and the software specific bibliography options become available when
+loading the Bib\LaTeX\ package directly. See the \path{sample.tex} file for a
+working example.
+
+\subsection{Installation}\label{sec:install}
+
+This package may become available in standard distributions like \TeX Live as
+|biblatex-software|. To install manually, you can download it from CTAN and
+then, put the relevant files in your texmf tree, usually:\\
+
+\noindent\path{<texmf>/tex/latex/biblatex-software/software-biblatex.sty}\\
+\path{<texmf>/tex/latex/biblatex-software/software.bbx}\\
+\path{<texmf>/tex/latex/biblatex-software/software.dbx}\\
+\path{<texmf>/tex/latex/biblatex-software/<language>-software.lbx}\\
+
+
+\subsection{Package options}\label{sec:options}
+
+The following options are available to control the typesetting of
+software related entries.
+
+\begin{ltxcode}
+ swlabels=true|false
+\end{ltxcode}
+
+\noindent Software is a special research output, distinct from
+publications, hence software entries in a bibliography are
+distinguished by a special label by default.
+This behaviour can be disabled by setting this option to |false|.
+
+\begin{ltxcode}
+ license=true|false
+\end{ltxcode}
+
+\noindent This option controls whether license information for
+the software entry is typeset. The default is |true|.
+
+\begin{ltxcode}
+ halid=true|false
+\end{ltxcode}
+
+\noindent This option controls the inclusion of the identifier on the HAL repository of the
+metadata record for the software described in the entry. The default is |true|.
+
+\begin{ltxcode}
+ swhid=true|false
+\end{ltxcode}
+
+\noindent This option controls the inclusion of the identifier on the Software Heritage archive
+of the source code of the software described in the entry. The default is |true|.
+
+\begin{ltxcode}
+ vcs=true|false
+\end{ltxcode}
+
+\noindent This option controls the inclusion of the url of the code hosting
+platform where the software described in the enttry is developed. The default is |true|.
+
+\section{Details}
+
+The detailed information for this style is contained in the example document and
+accompanying \path{.bib} files:
+\begin{description}
+\item[\path{software-biblatex.tex}] This document.
+\item[\path{biblio.bib}] An example bibliography showcasing all the software entries.
+\item[\path{sample-use-sty.tex}]\footnote{\path{sample-use-sty.pdf} is also
+ provided and is the typeset version of this \latex source file.} This document
+ exerces most useful feature of this style extension, using the
+ \path{biblio.bib} entries.
+\item[\path{sample.tex}] This document produces the same output as
+ \path{sample-use-sty.tex}, but instead of extending on the fly and existing
+ style, it assumes that an extended bibliographic style \texttt{numeric+sw} has
+ been created starting from the standard \texttt{numeric} style.
+\item[\path{software.bbx}] The |biblatex-software| references style.
+\item[\path{software.dbx}] The |biblatex-software| data model additions.
+\item[\path{*.lbx}] The |biblatex-software| localisation files.
+\item[\path{software-biblatex.sty}] The |software-biblatex| \LaTeX\ package for extending on the fly any preloaded Bib \LaTeX\ style.
+\end{description}
+
+\section{Contributing}
+
+This style extension is currently developed on a git-based repository at
+\url{https://gitlab.inria.fr/gt-sw-citation/bibtex-sw-entry/}.
+Contributions and bug reports are very welcome. In particular, translation
+of the localization strings for other languages are needed.
+
+\section{Revision history}\label{rev}
+
+\begin{changelog}
+
+\input{history}
+
+\end{changelog}
+
+\bibliography{manual}
+\bibliographystyle{abbrv}
+
+\end{document}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx
new file mode 100644
index 0000000000..3b7f8d0736
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx
@@ -0,0 +1,231 @@
+%
+% Reference implementation of a BibLaTeX style for the software family of bibliographic entries
+%
+% 2020/04/02 Roberto Di Cosmo <roberto@dicosmo.org>
+%
+\RequireBiber[3]
+\RequirePackage{xurl}
+%
+% Toggles for typesetting additional ids and printing labels
+%
+\newtoggle{bbx:halid}
+\newtoggle{bbx:swhid}
+\newtoggle{bbx:vcs}
+\newtoggle{bbx:swlabels}
+\newtoggle{bbx:license}
+
+\DeclareBibliographyOption[boolean]{halid}[true]{%
+ \settoggle{bbx:halid}{#1}}
+\DeclareBibliographyOption[boolean]{swhid}[true]{%
+ \settoggle{bbx:swhid}{#1}}
+\DeclareBibliographyOption[boolean]{swlabels}[true]{%
+ \settoggle{bbx:swlabels}{#1}}
+\DeclareBibliographyOption[boolean]{vcs}[true]{%
+ \settoggle{bbx:vcs}{#1}}
+\DeclareBibliographyOption[boolean]{license}[true]{%
+ \settoggle{bbx:license}{#1}}
+
+\ExecuteBibliographyOptions{halid,swhid,swlabels,vcs,license}
+
+%
+% Declare inheritance rules (valid only in LaTeX preamble!)
+%
+\DeclareDataInheritance{software}{softwareversion,softwaremodule,codefragment}{\inherit{*}{*}}
+\DeclareDataInheritance{softwareversion}{softwaremodule,codefragment}{\inherit{*}{*}}
+\DeclareDataInheritance{softwaremodule}{codefragment}{\inherit{*}{*}}
+
+%
+% Localization
+%
+\DeclareLanguageMapping{english}{english-software}
+\DeclareLanguageMapping{french}{french-software}
+
+%
+% Formatting fields for the software entries
+%
+
+\DeclareFieldFormat[softwaremodule,codefragment]{subtitle}{\mkbibquote{#1\isdot}}
+\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{url}{
+ \iftoggle{bbx:url}%
+ {\mkbibacro{URL}\addcolon\addspace%
+ \ifhyperref%
+ {\href{#1}{\nolinkurl{#1}}}%
+ {\nolinkurl{#1}}%
+ }%
+ {}%
+}
+\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{hal_id}{
+ \iftoggle{bbx:halid}%
+ {\mkbibacro{HAL}\addcolon\addspace%
+ \ifhyperref%
+ {\href{https://hal.archives-ouvertes.fr/#1\thefield{hal_version}}{\(\langle\)\nolinkurl{#1\thefield{hal_version}}\(\rangle\)}}%
+ {\(\langle\)\nolinkurl{#1\thefield{hal_version}}\(\rangle\)}%
+ }%
+ {}%
+}
+\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{swhid}{%
+ \iftoggle{bbx:swhid}%
+ {\mkbibacro{SWHID}\addcolon\addspace%
+ \ifhyperref%
+ {\href{http://archive.softwareheritage.org/#1}{\(\langle\)\nolinkurl{#1}\(\rangle\)}}%
+ {\(\langle\)\nolinkurl{#1}\(\rangle\)}%
+ }%
+ {}%
+}
+\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{repository}{%
+ \iftoggle{bbx:vcs}%
+ {\mkbibacro{VCS}\addcolon\addspace%
+ \ifhyperref%
+ {\href{#1}{\nolinkurl{#1}}}%
+ {\nolinkurl{#1}}%
+ }%
+ {}%
+}
+\DeclareListFormat[software,softwareversion,softwaremodule,codefragment]{license}{%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \usebibmacro{list:andothers}}
+
+%
+% Macros to format output
+%
+\newbibmacro*{swtitleauthoreditoryear}{%
+ \printnames{author}\addcomma%
+ \setunit{\addspace}%
+ \printfield{title}\addspace%
+ \printfield{version}\addspace%
+ \ifnameundef{editor}%
+ {}%
+ {\printtext[parens]{%
+ \bibstring{edited}\addspace%
+ \printnames{editor}}}%
+ \addcomma%
+ \addspace%
+ \printdate%
+}
+
+%
+\newbibmacro*{swsubtitleauthoreditoryear}{%
+ \printnames{author}\addcomma%
+ \setunit{\addspace}%
+ \iffieldundef{subtitle}%
+ {}
+ {\printfield{subtitle}\addcomma\addspace%
+ \bibstring{swpartof}\addspace
+ }%
+ \printfield{title}\addspace%
+ \printfield{version}\addspace%
+ \ifnameundef{editor}%
+ {}
+ {\printtext[parens]{%
+ \bibstring{edited}\addspace%
+ \printnames{editor}}}%
+ \addcomma%
+ \addspace%
+ \printdate%
+}
+
+\newbibmacro*{codefragmenttitleauthoreditoryear}{%
+ \printnames{author}\addcomma%
+ \setunit{\addspace}%
+ \iffieldundef{subtitle}%
+ {}
+ {\printfield{subtitle}\addcomma\addspace%
+ \bibstring{swexc}\addspace
+ }%
+ \printfield{title}\addspace%
+ \printfield{version}\addspace%
+ \ifnameundef{editor}%
+ {}
+ {\printtext[parens]{%
+ \bibstring{edited}\addspace%
+ \printnames{editor}}}%
+ \setunit*{\addcomma\addspace}%
+ \printdate%
+}
+
+\newbibmacro{licenses}{%
+ \iflistundef{license}
+ {}
+ {\iftoggle{bbx:license}%
+ {\newunitpunct
+ \mkbibacro{Lic}\addcolon
+ \printlist{license}
+ }%
+ {}%
+ }
+}
+
+\newbibmacro*{swids}{%
+ \printfield{doi}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{hal_id}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{url}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{repository}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{swhid}%
+}
+
+\newbibmacro*{swrelated}{%
+ \iffieldundef{related}%
+ {}%
+ {\usebibmacro{related}}%
+}
+
+%
+% Formatting the entries
+%
+
+\DeclareBibliographyDriver{software}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \iftoggle{bbx:swlabels}{\bibstring{software}{\addspace}}{}%
+ \usebibmacro{swtitleauthoreditoryear}%
+ \newunit\newblock%
+ \usebibmacro{licenses}%
+ \newunit\newblock%
+ \usebibmacro{swids}%
+ \newunit\newblock%
+ \usebibmacro{swrelated}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{softwareversion}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \iftoggle{bbx:swlabels}{\bibstring{swversion}\addspace}{}%
+ \usebibmacro{swsubtitleauthoreditoryear}%
+ \newunit\newblock%
+ \usebibmacro{licenses}%
+ \newunit\newblock%
+ \usebibmacro{swids}%
+ \newunit\newblock%
+ \usebibmacro{swrelated}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{softwaremodule}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \iftoggle{bbx:swlabels}{\bibstring{swmodule}\addspace}{}%
+ \usebibmacro{swsubtitleauthoreditoryear}%
+ \newblock\newblock%
+ \usebibmacro{licenses}%
+ \newunit\newblock%
+ \usebibmacro{swids}%
+ \newunit\newblock%
+ \usebibmacro{swrelated}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{codefragment}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \iftoggle{bbx:swlabels}{\bibstring{swexcerpt}\addspace}{}%
+ \usebibmacro{codefragmenttitleauthoreditoryear}%
+ \newunit\newblock%
+ \usebibmacro{licenses}%
+ \newunit\newblock%
+ \usebibmacro{swids}%
+ \newunit\newblock%
+ \usebibmacro{swrelated}%
+ \usebibmacro{finentry}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
new file mode 100644
index 0000000000..0542273880
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
@@ -0,0 +1,184 @@
+\ProvidesFile{software.dbx}[2020/04/02 datamodel extension for software entries, Roberto Di Cosmo]
+\RequireBiber[3]
+%
+% the software entry type family, with their fields
+%
+\DeclareDatamodelEntrytypes{software,softwareversion,softwaremodule,codefragment}
+\DeclareDatamodelFields[type=field,datatype=literal]{
+ introducedin,
+}
+\DeclareDatamodelFields[type=list,datatype=literal]{
+ license,
+}
+\DeclareDatamodelFields[type=field,datatype=uri]{
+ repository,
+}
+\DeclareDatamodelFields[type=field, datatype=verbatim]{
+ hal_id,
+ hal_version,
+ swhid,
+}
+
+%
+% Fields for software entry
+%
+\DeclareDatamodelEntryfields[software]{
+ abstract,
+ author,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ repository,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[software]{
+ \constraint[type=mandatory]{
+ \constraintfieldsor{
+ \constraintfield{author}
+ \constraintfield{editor}
+ }
+ \constraintfield{title}
+ \constraintfield{url}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for softwareversion entry
+%
+\DeclareDatamodelEntryfields[softwareversion]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[softwareversion]{
+ \constraint[type=mandatory]{
+ \constraintfieldsor{
+ \constraintfield{author}
+ \constraintfield{editor}
+ }
+ \constraintfield{title}
+ \constraintfield{url}
+ \constraintfield{version}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for softwaremodule entry
+%
+\DeclareDatamodelEntryfields[softwaremodule]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[softwaremodule]{
+ \constraint[type=mandatory]{
+ \constraintfield{author}
+ \constraintfield{subtitle}
+ \constraintfield{url}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for codefragment entry
+%
+\DeclareDatamodelEntryfields[codefragment]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[codefragment]{
+ \constraint[type=mandatory]{
+ \constraintfield{url}
+ }
+}
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/stublist b/macros/latex/contrib/biblatex-contrib/biblatex-software/stublist
new file mode 100644
index 0000000000..72463d9e80
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/stublist
@@ -0,0 +1,27 @@
+alphabetic
+alphabetic-verb
+authortitle
+authortitle-comp
+authortitle-ibid
+authortitle-icomp
+authortitle-tcomp
+authortitle-terse
+authortitle-ticomp
+authoryear
+authoryear-comp
+authoryear-ibid
+authoryear-icomp
+debug
+draft
+numeric
+numeric-comp
+numeric-verb
+reading
+standard
+verbose
+verbose-ibid
+verbose-inote
+verbose-note
+verbose-trad1
+verbose-trad2
+verbose-trad3
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/swentries.tex b/macros/latex/contrib/biblatex-contrib/biblatex-software/swentries.tex
new file mode 100644
index 0000000000..1419970700
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/swentries.tex
@@ -0,0 +1,248 @@
+
+There are four entry types, corresponding to different granularities
+in the identification of the (part of) software artifacts that one
+whishes to cite. They are listed below in order of granularity.
+
+\subsection{software}
+Computer software.
+
+\emph{Required fields:} \texttt{author} / \texttt{editor}, \texttt{title}, \texttt{url}, \texttt{year}
+
+\emph{Optional fields:} \texttt{abstract}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\texttt{institution}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
+\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{urldate}, \texttt{version}
+
+\subsection{softwareversion}
+A specific version of a software. Inherits values of missing
+fields from the entry mentioned in the \texttt{crossref} field.
+
+\emph{Required fields:} \texttt{author} / \texttt{editor}, \texttt{title}, \texttt{url}, \texttt{version}, \texttt{year}
+
+\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
+\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{subtitle}, \texttt{urldate}
+
+\subsection{softwaremodule}
+
+A specific module of a larger software project. Inherits values of missing
+fields from the entry mentioned in the \texttt{crossref} field.
+
+\emph{Required fields:} \texttt{author}, \texttt{subtitle}, \texttt{url}, \texttt{year}
+
+\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{editor}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
+\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{title}, \texttt{urldate}, \texttt{version}
+
+\subsection{codefragment}
+
+A code fragment (e.g. a specific algorithm in a program or library).
+Inherits values of missing fields from the entry mentioned in the \texttt{crossref} field.
+
+\emph{Required fields:} \texttt{url}
+
+\emph{Optional fields:} \texttt{author}, \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
+\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{subtitle}, \texttt{title}, \texttt{urldate}, \texttt{version}, \texttt{year}
+
+The \textbf{softwareversion}, \textbf{softwaremodule} and \textbf{codefragment} entries can inherit
+the missing fields from another entry designated by the \emph{crossref} field, which
+is expected to be higher in the granularity hierarchy: \textbf{softwareversion} may
+inherit from a \textbf{software} entry, \textbf{softwaremodule} may inherit from a
+\textbf{softwareversion} or a \textbf{software} entry, and \textbf{codefragment} may inherit from all
+other entries.
+
+\section{Field description}
+The field description is based on the \href{http://mirrors.ibiblio.org/CTAN/macros/latex/exptl/biblatex/doc/biblatex.pdf}{biblatex documentation}
+\subsection{Data fields}
+\begin{description}
+\item[{abstract}] field (literal). This field is intended for recording
+abstracts in a bib file, to be printed by a special bibliography
+style. It is not used by all standard bibliography styles.
+\item[{author}] list (name). The authors of the title.
+\item[{date [biblatex only]}] field (date). The date of creation or release in ISO format.
+\item[{editor}] list (name). The coordinator(s) of large modular software projects.
+\item[{file}] field (verbatim). A link to download a copy of the work.
+\item[{doi}] field (verbatim). The Digital Object Identifier of the work.
+\item[{\texttt{hal\_id} [not in biblatex standard styles]}] field (verbatim). A digital identifier for the
+software record including its description and metadata on HAL.
+\item[{\texttt{hal\_version} [not in biblatex standard styles]}] field (verbatim). The version of the HAL software record designated by \texttt{hal\_id}.
+\item[{license [not in biblatex standard styles]}] list (literal). The license/s of the title
+in SPDX format.
+\item[{month}] field (literal). The month of creation or release.
+In BibLaTeX, this must be an integer, not an ordinal or a string.
+For compatibility with BibTeX, one can also use the three letter
+abbreviations \emph{jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec},
+which must be given without any braces or quotes.
+\item[{note}] field (literal). Release note of the cited version.
+\item[{institution}] field (literal). The institution(s) that took part in the
+software project.
+\item[{introducedin [not in biblatex standard styles]}] field (literal). If this is a software module or fragment,
+the version of the containing project where it has been first introduced.
+\item[{organization}] field (literal). The organization(s) that took part in the
+software project.
+\item[{publisher}] list (literal). The name(s) of the publisher(s) of the software
+record (we need to define the notion of a research software publisher, see issue \href{https://gitlab.inria.fr/gt-sw-citation/bibtex-sw-entry/issues/2}{\#2}).
+\item[{related [biblatex only]}] field (separated values). Citation keys of other entries which have a relationship to this entry.
+\item[{relatedtype [biblatex only]}] field (identifier).
+\item[{relatedstring [biblatex only]}] field (literal).
+\item[{repository [not in biblatex standard styles]}] field (uri). The url of the code repository (e.g on GitHub, GitLab).
+\item[{swhid [not in biblatex standard styles]}] field (verbatim). The identifier of the digital
+object (a.k.a the software artifact itself). The intrinsic identifier
+of the item is an swh-id (swh:cnt for a content, swh:dir for a directory, swh:rev for
+a revision, swh:rel for a release, etc.). See \href{https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html}{the SWH-ID specification}.
+\item[{subtitle}] field (literal). The title of a component of the software artifact.
+\item[{title}] field (literal). The title of the software artifact.
+\item[{url}] field (uri). The url of a reference resource (e.g the project's official webpage).
+\item[{urldate}] field (date). The access date of the address specified in the url field.
+\item[{version}] field (literal). The revision number of a piece of software, a manual, etc.
+\item[{year}] field (literal). The year of creation or release.
+\end{description}
+\subsection{Special fields}
+\begin{description}
+\item[{crossref}] field (entry key). This field holds an entry key for the
+cross-referencing feature. Child entries with a crossref field inherit data
+from the parent entry specified in the crossref field.
+\end{description}
+
+\section{Examples}
+
+Here are a few example of use of the proposed entries.
+
+\subsection{software and softwareversion}
+
+This is an example description of a software release using a single \texttt{@softwareversion} entry.
+
+\begin{verbatim}
+@softwareversion {delebecque:hal-02090402-condensed,
+ title = {Scilab},
+ author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
+ and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
+ url = {https://www.scilab.org/},
+ year = {1994},
+ month = jan,
+ file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
+ institution = {Inria},
+ license = {Scilab license},
+ hal_id = {hal-02090402},
+ hal_version = {v1},
+ swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
+ origin=https://hal.inria.fr/hal-02090402},
+ version = {1.1},
+ note = {First Scilab version. It was distributed by anonymous ftp.},
+ repository= {https://github.com/scilab/scilab},
+ abstract = {Software for Numerical Computation freely distributed.}
+}
+\end{verbatim}
+
+The same information can also be represented using a \texttt{@software} / \texttt{@softwareversion}
+pair that factors out the general information in the \texttt{@software} entry, so for
+other versions only the changes need to be added in a new \texttt{@softwareversion} entry:
+
+\begin{verbatim}
+@software {delebecque:hal-02090402,
+ title = {Scilab},
+ author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice
+ and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe},
+ year = {1994},
+ institution = {Inria},
+ license = {Scilab license},
+ hal_id = {hal-02090402},
+ hal_version = {v1},
+ url = {https://www.scilab.org/},
+ abstract = {Software for Numerical Computation freely distributed.},
+ repository= {https://github.com/scilab/scilab},
+}
+
+@softwareversion {delebecque:hal-02090402v1,
+ version = {1.1},
+ year = {1994},
+ month = jan,
+ file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz},
+ swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a;
+ origin=https://hal.inria.fr/hal-02090402},
+ note = {First Scilab version. It was distributed by anonymous ftp.},
+ crossref = {delebecque:hal-02090402}
+}
+\end{verbatim}
+
+\subsection{softwaremodule}
+
+For highly modular software projects, like CGAL, one may need to
+reference specifically a particular module, that has distinguished
+authors, and may heve been introduced in the project at a later time.
+
+
+The following example uses \href{https://doc.cgal.org/latest/Manual/how\_to\_cite\_cgal.bib}{the informations in the existing BibTeX entries for CGAL}
+that currently refer to the user manual, to create the corresponding software entries.
+
+\begin{verbatim}
+@software {cgal,
+ title = {The Computational Geometry Algorithms Library},
+ author = {{The CGAL Project}},
+ editor = {{CGAL Editorial Board}},
+ year = 1996,
+ url = {https://cgal.org/}
+}
+
+@softwareversion{cgal:5-0-2,
+ crossref = {cgal},
+ version = {{5.0.2}},
+ url = {https://docs.cgal.org/5.02},
+ year = 2020,
+ swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
+ origin=https://github.com/CGAL/cgal/}
+}
+
+@softwaremodule{cgal:lp-gi-20a,
+ crossref = {cgal:5-0-2},
+ author = {Menelaos Karavelas},
+ subtitle = {{2D} Voronoi Diagram Adaptor},
+ license = {GPL},
+ introducedin = {cgal:3-1},
+ url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
+}
+\end{verbatim}
+
+Of course, it is always be possible to use only one entry to get an equivalent
+result; here one would use just \texttt{@softwaremodule} with all the needed data
+fields as follows:
+
+\begin{verbatim}
+@softwaremodule{cgal:lp-gi-20a-condensed,
+ title = {The Computational Geometry Algorithms Library},
+ subtitle = {{2D} Voronoi Diagram Adaptor},
+ author = {Menelaos Karavelas},
+ editor = {{CGAL Editorial Board}},
+ license = {GPL},
+ version = {{5.0.2}},
+ introducedin = {cgal:3-1},
+ year = 2020,
+ swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855;
+ origin=https://github.com/CGAL/cgal/},
+ url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2},
+}
+\end{verbatim}
+
+\subsection{codefragment}
+
+Finally, if one wants to have a particular code fragment appear in the bibliography,
+we can do this as follows:
+\begin{verbatim}
+@software {parmap,
+ title = {The Parmap library},
+ author = {Di Cosmo, Roberto and Marco Danelutto},
+ year = {2020},
+ version = {1.1.1},
+ institution = {Inria},
+ license = {LGPL-2.0},
+ url = {https://rdicosmo.github.io/parmap/},
+ repository= {https://github.com/rdicosmo/parmap},
+}
+
+@codefragment {simplemapper,
+ subtitle = {Core mapping routine},
+ swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5;lines=192-228;
+ origin=https://github.com/rdicosmo/parmap},
+ crossref = {parmap}
+}
+\end{verbatim}
diff --git a/macros/latex/contrib/knowledge/README.md b/macros/latex/contrib/knowledge/README.md
index 864921ac52..5d3e671a10 100644
--- a/macros/latex/contrib/knowledge/README.md
+++ b/macros/latex/contrib/knowledge/README.md
@@ -3,8 +3,8 @@ This directory contains the package
name: knowledge
license: LaTeX Project Public License version 1.2 or above
- version: v1.22
- date: 2020/03/05
+ version: v1.23
+ date: 2020/04/25
author: Thomas Colcombet
mail: thomas.colcombet@irif.fr
web: https://www.irif.fr/~colcombe/knowledge_en.html
diff --git a/macros/latex/contrib/knowledge/knowledge-code.dtx b/macros/latex/contrib/knowledge/knowledge-code.dtx
index 73ec799f18..c76b3f0aac 100644
--- a/macros/latex/contrib/knowledge/knowledge-code.dtx
+++ b/macros/latex/contrib/knowledge/knowledge-code.dtx
@@ -23,7 +23,7 @@
%
% \iffalse
%<head>\usepackage{expl3}
-%<head>\ProvidesExplPackage{knowledge}{2020/03/05}{1.22}{}
+%<head>\ProvidesExplPackage{knowledge}{2020/03/05}{1.23}{}
%<*driver>
\def\knowledgecode{active}
\input{knowledge.tex}
@@ -55,6 +55,7 @@
% \changes{1.20}{2019/12/03}{bug fix} %
% \changes{1.21}{2020/01/26}{bug fix} %
% \changes{1.22}{2020/03/05}{improvements} %
+% \changes{1.23}{2020/04/25}{minor change} %
% \GetFileInfo{knowledge.sty} %
% \DoNotIndex{}
%
@@ -74,8 +75,8 @@ This directory contains the package
name: knowledge
license: LaTeX Project Public License version 1.2 or above
- version: v1.22
- date: 2020/03/05
+ version: v1.23
+ date: 2020/04/25
author: Thomas Colcombet
mail: thomas.colcombet@irif.fr
web: https://www.irif.fr/~colcombe/knowledge_en.html
@@ -145,6 +146,12 @@ Content of the file knowledge-sources.zip:
{}
% \end{macrocode}
%
+% When uploading to arXiv, a 2016 version of LaTeX is used and one macro name has changed since this in \kl{expl3}. Let us correct it: it makes it possible to include the latest version of \kl(package){knowledge} as a .sty file:
+% \begin{macrocode}
+\cs_if_exist:NTF\ior_str_get:NN{}
+ {\cs_set_eq:NN\ior_str_get:NN\ior_get_str:NN}
+% \end{macrocode}
+%
%\AP One defines the code of \csintro{\klparse_ifnextchar:NTF}
% which is a link to \cs{\@ifnextchar},
% as well as the constant \csintro{\klparse_novalue_tl} which contains
diff --git a/macros/latex/contrib/knowledge/knowledge.pdf b/macros/latex/contrib/knowledge/knowledge.pdf
index 0dd621bdd4..272989ef3c 100644
--- a/macros/latex/contrib/knowledge/knowledge.pdf
+++ b/macros/latex/contrib/knowledge/knowledge.pdf
Binary files differ
diff --git a/macros/latex/contrib/knowledge/knowledge.tex b/macros/latex/contrib/knowledge/knowledge.tex
index 720156a3ea..98fc76744c 100644
--- a/macros/latex/contrib/knowledge/knowledge.tex
+++ b/macros/latex/contrib/knowledge/knowledge.tex
@@ -744,6 +744,7 @@ I have seen Till Tantau who explained me how to test whether a material is displ
\item[2020-01-25] Corrected bug when "knowledge@@package" is used without "hyperref@@package" (thanks to Rémi Nollet).
\item[2020-01-25] Corrected bug that made the kaux file not stabilize (thanks to Rémi Nollet). V1.21 on CTAN.
\item[2020-03-05] No \texttt{hidelinks} and \texttt{breaklinks} are automatically activated unless the new option \kl{no patch} is activated. Doc update. V1.22 on CTAN.
+\item[2020-04-25] Made the package compatible with 2016 versions of LaTeX. Useful when \texttt{knowledge.sty} is included with and compile in arXiv. V1.23 on CTAN.
\end{compactdesc}
\normalsize
%\restoregeometry
@@ -2652,7 +2653,6 @@ Another possibility is to force some environment to deactivate systematically th
\end{code}\noindent
will deactivate the "quotation notation" in all the "tikzcd@@env" environments.
-
\subsection{Problems with \kl(package){amsmath}}
\label{section:amsmath questions}
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index 1a9232fc82..d4c0b0a650 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.83 README.txt
+LaTeX lwarp package v0.84 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 26c58843b5..f073d2bc36 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2020/03/25 v0.83 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2020/04/24 v0.84 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -565,8 +565,8 @@ bibtex <projectname>\textred{\_html}.gls
\DescribeOption{GlossaryCmd}\DescribeDefault{makeglossaries}
\DescribeOption[lwarpmk]{printglossary}
\DescribeOption[lwarpmk]{htmlglossary}
-\prog{lwarpmk} has the commands \texttt{lwarpmk printglossary} and
-\texttt{lwarpmk htmlglossary}, which process the glossaries created by the
+\prog{lwarpmk} has the commands \cmds{lwarpmk printglossary} and
+\cmds{lwarpmk htmlglossary}, which process the glossaries created by the
\pkg{glossaries} package using that package's \prog{makeglossaries} program.
The shell command to execute is set by the \pkg{lwarp} option \optn{GlossaryCmd},
@@ -760,6 +760,10 @@ allowing other packages to work with it.
\newcommand*{\limitspagenote}{%
\pkg{pagenote} works as-is, but the \optn{page} option is disabled.
+
+Note that labels in page notes do not appear as expected,
+\trouble[labels]{pagenote=\pkg{pagenote}}
+even in the print version.
}
\newcommand*{\limitsendnotes}{%
@@ -848,6 +852,11 @@ In the \CSS\ try referencing fonts which are more complete, but expect to see ga
\newcommand{\limitsaccents}{%
Native \LaTeX\ accents such as \cs{"} will work, but many more kinds of
accents are available when using Unicode-aware \XeLaTeX\ and \LuaLaTeX.
+If using accents in section names which will become file names, it is recommended
+to use the \LaTeX\ accents such as \cs{"} and \cs{v} instead of Unicode accents.
+The \LaTeX\ accents will have the accents stripped when creating the filenames,
+whereas the Unicode accents will appear in the file names, which may cause
+issues with some operating systems.
}
\newcommand{\limitsrelsize}{%
@@ -1025,7 +1034,6 @@ instead of pdf\LaTeX.
Many features are ignored during the \HTML\ conversion.
The goal is source-level compatibility.
-\cs{titlehead}, \cs{subject},
\cs{captionformat}, \cs{figureformat}, and \cs{tableformat} are not yet emulated.
\testthis
@@ -1035,6 +1043,10 @@ Please contact the author with any bug reports.
}
\newcommand{\limitsmemoir}{
+\pkg{lwarp} uses \pkg{caption}, which causes a warning from \pkg{memoir}.
+\trouble[captions]{memoir=\pkg{memoir}>captions}
+This is normal. Adjust captions via \pkg{caption}, instead of \pkg{memoir}.
+
While emulating \pkg{memoir}, \pkg{lwarp} pre-loads
a number of packages (\cref{sec:patch-memoir-packages}).
This can cause an options clash when the user's document later loads the same
@@ -1062,19 +1074,52 @@ Since \pkg{lwarp} is intended to support the freestanding packages,
which are often newer than the date declared by \pkg{memoir}, it is hoped that
\pkg{memoir} will update and change its emulated version numbers to match.
-\cs{verbfootnote} is not supported.
+\cs{label} accepts an optional \optn{(bookmark)} argument, but this is
+\margintag{\texttt{\cs{label}(bookmark)\{tag\}}}
+ignored in \HTML.
+
+The \env{comment} environment is from the \pkg{comment} package, and thus
+\trouble[\env{comment}]{comment=\env{comment}}
+\trouble{memoir=\pkg{memoir}>comment=\env{comment}}
+requires that the \cs{begin} and \cs{end} each be on its own line:
+\begin{sourcedisplay}
+\cs{begin}\{comment\} \\
+This is a comment. \\
+\cs{end}\{comment\}
+\end{sourcedisplay}
+Comments defined with \cs{newcomment} use \pkg{memoir}'s defintions, and
+\margintag{\cs{newcomment}}
+behave as expected, where the \cs{begin} and \cs{end} do have to each be on its own line.
+
+\cs{verbfootnote} is not supported.\watchout[verbatim footnotes]
-\cs{newfootnoteseries}, etc. are not supported.
+\cs{newfootnoteseries}, etc. are not supported.\watchout[\cs{newfootnoteseries}]
\pkg{lwarp} loads \pkg{pagenote} to perform \pkg{memoir}'s pagenote functions,
+\watchout[page notes]
but there are minor differences in \cs{pagenotesubhead} and related macros.
-Poem numbering is not supported.
+To add support for pagenotes with \pkg{cleveref}, add:
+\margintag{page notes with cleveref}
+\trouble{memoir=\pkg{memoir}>page notes}
+\begin{sourcedisplay}
+\cs{crefname}\{pagenote\}\{page note\}\{page notes\} \\
+\cs{Crefname}\{pagenote\}\{Page note\}\{Page notes\}
+\end{sourcedisplay}
+
+Note that for print mode,
+\margintag{page note \cs{nameref}}
+\cs{nameref} print the section name where the page notes are
+declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+
+Poem numbering is not supported.\watchout[poems]
The \env{verbatim} environment does not yet support the \pkg{memoir} enhancements.
+\watchout[\env{verbatim}]
It is currently recommended to load and use \pkg{fancyvrb} instead.
The \pkg{memoir} glossary system is not yet supported by \prog{lwarpmk}.
+\watchout[glossaries]
The \pkg{glossaries} package may be used instead,
but does require the glossary entries be
changed from the \pkg{memoir} syntax to the \pkg{glossaries} syntax.
@@ -1116,6 +1161,10 @@ Horizontal spacing relies on \prog{pdftotext}'s ability to discern the layout
text in the \HTML-tagged \PDF\ output. For some settings of
\cs{HTMLleftmargini} or \cs{HTMLleftskip} the horizontal alignment may not work out
exactly, in which case a label may be shifted by one space.
+\trouble[\env{verse} margin]{verse=\pkg{verse}>margin}
+\trouble{memoir=\pkg{memoir}>verse>margin}
+During translation to \HTML, the stanza numbers are kept out of the left margin,
+which would have caused \prog{pdftotext} to shift everything over.
}
@@ -1553,11 +1602,34 @@ This conversion is not total.
Font control is via \CSS, and the custom \LaTeX\ font settings
are ignored.
+If the print version does not use \pkg{cleveref},
+\trouble[cref reference format undefined]{ntheorem=\pkg{ntheorem}>cref reference format}
+\trouble{cref reference format}
+\trouble{cleveref=\pkg{cleveref}>cref reference format}
+place all \cs{theoremstyle} and \cs{newtheorem}
+declarations in the preamble inside \cs{AtBeginDocument}.\footnote{%
+ \pkg{lwarp} uses \pkg{cleveref} for the \HTML\ conversion,
+ and loads \pkg{cleveref} \cs{AtEndPreamble}, just before \cs{AtBeginDocument}.%
+}
+For some theorems, it may also be required to add inside \cs{AtBeginDocument}
+something such as:
+\begin{sourcedisplay}
+\cs{AtBeginDocument}\{ \% if not using cleveref package \\
+ \fquad \cs{theoremstyle}\{definition\} \\
+ \fquad \cs{newtheorem}\{dtheorem\}\{Definition\} \\
+ \fquad \dots \\
+ \fquad \cs{usepackage}\{etoolbox\} \% for \cs{ifdef} \\
+ \fquad \cs{ifdef}\{\cs{cref}\}\{ \\
+ \fqquad \cs{crefname}\{Proof\}\{Proof\}\{Proofs\} \\
+ \fquad \}\{\} \\
+\}
+\end{sourcedisplay}
+
\limitsntheoremnumbering
}
\newcommand{\limitsntheoremnumbering}{%
-\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments%
+\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments
\trouble[Equation numbering]{ntheorem=\pkg{ntheorem}>numbering}
\trouble{math>equation numbering>ntheorem=\pkg{ntheorem}}
\trouble{AMSmath>ntheorem=\pkg{ntheorem}>numbering}
@@ -1777,9 +1849,9 @@ by an \SVG, \PNG, or \JPG\ version for \HTML.
}
\newcommand{\limitscolor}{%
-\pkg{color} is superceded by \pkg{xcolor}, and
-\pkg{lwarp} requires several of the features of \pkg{xcolor}.
-When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
+ \pkg{color} is superceded by \pkg{xcolor}, and
+ \pkg{lwarp} requires several of the features of \pkg{xcolor}.
+ When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
}
\newcommand{\limitsxcolor}{%
@@ -2432,11 +2504,12 @@ Unfortunately, the \HTML\ \attribute{alt} attribute is not used here.
Also see \pkg{lwarp}'s \cs{fboxBlock} macro and \env{fminipage} environment for
alternatives to \cs{fbox} for framing environments.
-The \pkg{fancybox} documentation's example framed table
+The \pkg{fancybox} documentation's example of a framed table
\margintag{framed table example}
using an \cs{fbox} containing a \env{tabular}
does not work with \pkg{lwarp}, but the \env{FramedTable} environment does work if
-\cs{fbox} is replaced by \cs{fboxBlock}. This method loses \HTML\ formatting.
+\cs{fbox} is replaced by \cs{fboxBlock}.
+This method does lose some \HTML\ formatting.
A better method is to enclose the table's contents inside a \env{fminipage} environment.
The caption may be placed either inside or outside the \env{fminipage}:
\begin{sourcedisplay}
@@ -2743,7 +2816,8 @@ These are not the same as the third-party \brand{MathJax} extension.
\newcommand{\limitsbabeltwo}{%
When French is used, the caption separator is
\trouble[\cs{CaptionSeparator}]{babel=\pkg{babel}>French}
-changed to a dash. The following may be used to restore it to a colon:
+changed to a dash. To restore it to a colon,
+the following may be placed before \pkg{lwarp} is loaded:
\begin{sourcedisplay}
\cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\}
\end{sourcedisplay}
@@ -2925,7 +2999,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{43597}
+% \CheckSum{44148}
%
% \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
@@ -3051,6 +3125,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.81}{2020/03/04}{\ 2020/03/04}
% \changes{v0.82}{2020/03/25}{\ 2020/03/25}
% \changes{v0.83}{2020/03/27}{\ 2020/03/27}
+% \changes{v0.84}{2020/04/24}{\ 2020/04/24}
@@ -3273,11 +3348,57 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.84:] Previous/next page links, numerous fixes.
+% \begin{itemize}
+% \item Added documentation of \env{BlockClass} and \cs{InlineClass}
+% for \CSS\ \element{div}s and \element{span}s.
+% \margintag{docs}
+% See \cref{sec:classstyle}.
+% \item Added \cs{LinkPrevious}, \cs{LinkNext} page links.
+% See \cref{sec:htmlsettings}.
+% \item Added \cs{FirstPageBottom}.
+% \watchout[home page footer changed]
+% Home page no longer shares \cs{PageBottom}.
+% See \cref{sec:htmlsettings}.
+% \item Improved coexistence with \pkg{comment}, support for nested environments.
+% \margintag{core}
+% \item No longer requires but still supports the \pkg{caption} package.
+% \item Improved filenames and \HTML\ titles when using special characters.
+% \item Change: Append \filenm{-0} to section named Index
+% \watchout{previously \_index}
+% to distinguish from \filenm{index.html}
+% \item Fixed style tags for \cs{multicolumn}, \cs{multirow}.
+% \item Fixed spacing in \env{tabbing}.
+% \item Fixed \env{lateximage} for: \env{quote}, \env{quotation}, \env{verse},
+% \env{center}, \env{flushleft}, \env{flushright},
+% \element{par} tags, packages \pkg{verbatim}, \pkg{alltt}, \pkg{epigraph}.
+% \item Fixed \pkg{textcomp} due to integration into \LaTeX\ kernel.
+% \item Fixed \cs{itshape}, etc. Adapted to \LaTeX\ \pkg{fontaxes} integration.
+% \item Fixed \cs{@fnsymbol}.
+% \item Warns about section names with dollar-delimited math.
+% \item Warns about a \element{span} containing a float, caption, section,
+% \pkg{mdframed}, or other \element{div} object.
+% \item Only warn about \XeTeX\ logo and \pkg{graphics} if actually used \cs{Xe}.
+% \item \cmds{lwarpmk clean} also removes \filenm{comment_*.cut}.
+% \margintag{\prog{lwarpmk}}
+% \item \pkg{scrextend}, \pkg{scrartcl}, \pkg{scrbook}: Added \cs{titlehead},
+% \margintag{packages}
+% \cs{subject}, \cs{subtitle}, \cs{publishers}.
+% \item \pkg{titling}: Fixed \cs{printthanks}.
+% \item \pkg{memoir}, \pkg{abstract}: Fixed for updated \pkg{memoir}.
+% \item \pkg{memoir}: Fixed \cs{newcomment}, pagenotes, crossreferences.
+% Fixed setting a recursive name.
+% \item Fixed or improved: \pkg{amsthm}, \pkg{backref}, \pkg{biblatex}, \pkg{fixme},
+% \pkg{nfssext-cfr}, \pkg{ntheorem}, \pkg{parcolumns},
+% \pkg{realscripts}, \pkg{rotfloat}, \pkg{titling}.
+% \item Added \pkg{boxedminipage}, renamed from \pkg{boxedminipage2e} per author.
+% \item Verified to work as-is with \pkg{mcite}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.83:] \pkg{memoir} fixes.
% \begin{itemize}
-% \item \pkg{memoir}: Various fixes and updates, but subcaption labels
+% \item \pkg{memoir}: Various fixes and updates.
% \margintag{packages}
-% still need work. (Out of time\dots)
% \item \pkg{physunits}: Updated to v1.0.4.
% \end{itemize}
% \needspace{2\baselineskip}
@@ -3447,7 +3568,7 @@ This boolean may be tested by the user for later use.
% \cmidrule(r){1-1}\cmidrule(l){2-2}
% (hard coded as ``image'') & \cs{ImageAltText} \\
% \cs{mathimagename} & \cs{MathImageAltText} \\
-% \cs{pacakgediagramname} & \cs{PackageDiagramAltText} \\
+% \cs{packagediagramname} & \cs{PackageDiagramAltText} \\
% \end{tabular}
% \end{center}
% \item Added \cs{ImageAltText} for the default \HTML\ \attribute{alt} text for
@@ -5197,7 +5318,7 @@ This boolean may be tested by the user for later use.
% Glossary: & \mpkg{gloss}, \mpkg{glossaries} and \prog{xindy}, \mpkg{nomencl}.\\
%
% Bibliography: & \spkg{babelbib}, \mpkg{backref}, \mpkg{biblatex}, \mpkg{bibunits},
-% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \mpkg{natbib},
+% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \spkg{mcite}, \mpkg{natbib},
% \spkg{notes2bib}, \ipkg{showtags}.
%
% \\
@@ -5339,7 +5460,8 @@ This boolean may be tested by the user for later use.
% Verbatim: &
% \mpkg{fancyvrb}, \mpkg{moreverb}, \spkg{shortvrb}, \mpkg{verbatim}. \\
%
-% Frames: & \mpkg{boxedminipage2e}, \mpkg{fancybox}, \mpkg{framed}, \mpkg{mdframed},
+% Frames: & \mpkg{boxedminipage}, \mpkg{boxedminipage2e},
+% \mpkg{fancybox}, \mpkg{framed}, \mpkg{mdframed},
% \epkg{niceframe}, \epkg{shadow}, \epkg{vertbars}. \\
%
% Multi-columns: & \epkg{adjmulticol}, \epkg{multicol},
@@ -5359,7 +5481,7 @@ This boolean may be tested by the user for later use.
% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \epkg{nolbreaks},
% \ipkg{normalcolor},
% \ipkg{pdfcol}, \ipkg{pdfcolmk},
-% \ipkg{pdfrender}, \epkg{realscripts}, \mpkg{relsize}\ejax,
+% \ipkg{pdfrender}, \mpkg{realscripts}, \mpkg{relsize}\ejax,
% \ipkg{scalefnt}, \epkg{soul}, \epkg{soulpos}, \epkg{soulutf8}, \mpkg{stackengine},
% \epkg{textfit}, \epkg{thinsp}, \ipkg{trimclip}, \ipkg{truncate},
% \mpkg{ulem}, \mpkg{umoline}, \ipkg{underscore}, \ipkg{uspace},
@@ -6213,8 +6335,8 @@ This boolean may be tested by the user for later use.
% \brand{MathJax} is used to display math.
% This file should not be modified by the user.
%
-% \item [|comment.cut|:] A temporary file used by \pkg{lwarp} to
-% conditionally process blocks of text. This file may be ignored.
+% \item [|comment\_*.cut|:] Temporary files used by \pkg{lwarp} to
+% conditionally process blocks of text. These files may be ignored.
% \end{description}
%
% \hrule \medskip
@@ -6586,7 +6708,7 @@ This boolean may be tested by the user for later use.
%
% The \filenm{<project>-images} directory contains \SVG\ images
% automatically generated for inline and display math, \pkg{tikz}, etc.
-% To remove all the images from the \filenm{lateximages} directory:
+% To remove all the images from the \filenm{<project>-images} directory:
% \userentry{lwarpmk cleanlimages}
%
%
@@ -6783,15 +6905,20 @@ This boolean may be tested by the user for later use.
% \gindex{sideTOC=side\TOC>name}
% \gindex{settings>language}
%
-% Regional localization is supported by \pkg{lwarp} via the following package options
-% and macros:
+% Regional localization is supported by \pkg{lwarp} via the package options
+% and macros shown in \cref{tab:localization}.
%
+% \begin{table}
+% \caption{Localization settings}
+% \label{tab:localization}
% \begin{description}
% \item [Object names:] \LaTeX\ provides redefinable names for various objects,
% and \pkg{lwarp} adds a few more. Use \cs{renewcommand} to change these.
% \begin{description}
% \item [\cs{abstractname}:] This macro is honored by \pkg{lwarp}.
% \item [\cs{linkhomename}:] Displayed by the link to the homepage.
+% \item [\cs{linkpreviousname}:] Displayed by the link to the previous page
+% \item [\cs{linknextname}:] Displayed by the link to the next page.
% \item [\cs{sidetocname}:] Displayed at the head of the side\TOC.
% \end{description}
% \item [\HTML\ settings:] See \cref{tab:htmlsettings} and
@@ -6815,6 +6942,7 @@ This boolean may be tested by the user for later use.
% \item [\optn{pdftotextEnc}:] To adjust the encoding of \prog{pdftotext}.
% \end{description}
% \end{description}
+% \end{table}
%
%
% \subsection{Accessibility}
@@ -6838,8 +6966,11 @@ This boolean may be tested by the user for later use.
% \HTML\ also provides the \attribute{title} attribute, which usually
% generates a pop-up text. \pkg{lwarp} can add this to a reference or hyperlink.
% \brand{MathJax} also has provisions for improved accessibility
-% as well.
+% as well. See \cref{tab:accessibility}.
%
+% \begin{table}
+% \caption{Accessibiltiy settings}
+% \label{tab:accessibility}
% \begin{description}
% \item [\cs{ImageAltText}:] The default \HTML\ \attribute{alt} text
% for \cs{includegraphics} and \env{lateximage}s.
@@ -6897,6 +7028,7 @@ This boolean may be tested by the user for later use.
% This may be changed by redefining \cs{AltTextOpen} and \cs{AltTextClose}.
% Set with \cs{renewcommand}.
% \end{description}
+% \end{table}
%
%
%
@@ -7077,6 +7209,23 @@ This boolean may be tested by the user for later use.
% with \pkg{fontspec} after loading the traditional font packages.
% Monospaced output ligatures must be turned off
% to produce the correct \HTML\ characters.
+%
+% Any monospace font with built-in ligatures may require these ligatures to
+% \changes{v0.84}{2020/04/15}{Docs: \brand{JetBrain Mono} font.}
+% be disabled for \HTML. In one example, \brand{JetBrain Mono},
+% \trouble[\brand{JetBrain Mono}]{font>JetBrain Mono=\brand{JetBrain Mono}}
+% \trouble{jetbrain mono=\brand{JetBrain Mono}}
+% \trouble[\HTML\ corrupted]{HTML>corrupted}
+% \trouble{font>ligatures}
+% it is required to use
+% \begin{sourcedisplay}
+% \cs{setmonofont}\{JetBrains Mono\}[\% \\
+% \dots \\
+% \textgreen{Contextuals=AlternateOff,} \\
+% ]
+% \end{sourcedisplay}
+% After \pkg{lwarp} is loaded, the ligature may be re-enabled for print mode
+% by using \cs{setmonofont} again inside a \env{warpprint} environment.
% \item \ldots{} the rest of the preamble and the main document.
% \end{enumerate}
%
@@ -7109,7 +7258,7 @@ This boolean may be tested by the user for later use.
% \gindex{settings>lwarp=\pkg{lwarp} package options}
%
% \begin{table}
-% \caption{\pkg{lwarp} package options\label{tab:options}}
+% \caption{\pkg{Lwarp} package options\label{tab:options}}
% \centering
% \renewcommand{\arraystretch}{1.2}
% \begin{tabular}{>{\ttfamily}lp{3.25in}}
@@ -7478,10 +7627,13 @@ This boolean may be tested by the user for later use.
% \begin{table}[p]
% \caption{\HTML\ settings}
% \label{tab:htmlsettings}
+% \renewcommand{\arraystretch}{1.1}
% \begin{tabular}{>{\ttfamily}lp{3in}}
% \toprule
% Macro \Slash Cntr \Slash Bool & Description \\ \midrule
% \cs{linkhomename} & Name of the link to the homepage. \\
+% \cs{linkpreviousname} & Name of the link to the previous page. \\
+% \cs{linknextname} & Name of the link to the next page. \\
% \midrule
% SideTOCDepth & Sectioning depth of the side\TOC. \\
% \cs{sidetocname} & Name of the side\TOC. \\
@@ -7515,8 +7667,9 @@ This boolean may be tested by the user for later use.
% \cs{HTMLDescription} & The \HTML\ \attribute{description} meta tag. \\
% \midrule
% \cs{HTMLFirstPageTop} & Heading for the home page. \\
+% \cs{HTMLFirstPageTop} & Footer for the home page. \\
% \cs{HTMLPageTop} & Heading for the other pages. \\
-% \cs{HTMLPageBottom} & Footing for all pages. \\
+% \cs{HTMLPageBottom} & Footer for the other pages. \\
% \midrule
% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
% \bottomrule
@@ -7591,6 +7744,7 @@ This boolean may be tested by the user for later use.
%
% \end{description} \bigskip
%
+% \needspace{3\baselineskip}
% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
%
% \begin{description}
@@ -7600,6 +7754,16 @@ This boolean may be tested by the user for later use.
% Redefine with \cs{renewcommand}.
% \changes{v0.63}{2018/11/29}{Docs: \cs{linkhomename}.}
%
+% \ItemDescribeMacro{\linkpreviousname} \DescribeDefault{Previous}
+% Name of the link to the previous page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
+% \ItemDescribeMacro{\linknextname} \DescribeDefault{Next}
+% Name of the link to the next page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
% See \cref{sec:stackdepths} for a list of \LaTeX{} stack depths.
%
@@ -7729,7 +7893,7 @@ This boolean may be tested by the user for later use.
%
% \end{description}
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed before \texttt{\cs{begin}\{document\}},
% or before any sectioning command which causes a file break:] \
%
@@ -7806,6 +7970,14 @@ This boolean may be tested by the user for later use.
% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied
% to the top of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
+% Defaults empty.
+% Ignored in print output.
+%
+% \ItemDescribeMacro{\HTMLFirstPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied
+% to the bottom of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
% Defaults empty.
% Ignored in print output.
%
@@ -7813,21 +7985,34 @@ This boolean may be tested by the user for later use.
% A user-definable custom action applied to
% the top of pages other than the home page. Useful for logos, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
% \ItemDescribeMacro{\HTMLPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied to the
-% bottom of each web page.
+% bottom of pages other than the home page.
% Useful for authors, copyright notices, contact information, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
+% \ItemDescribeMacro{\LinkHome} Creates a link to the home page.
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkPrevious} Creates a link to the previous \HTML\ page,
+% unless already at the home page.
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkNext} Creates a link to the next \HTML\ page, unless
+% already at the end.
+% Usually used in \cs{HTMLPageTop} and related.
+%
% \end{description}
%
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed in the home page before the first sectioning command which causes a file break:] \
%
% \begin{description}
@@ -7883,13 +8068,15 @@ This boolean may be tested by the user for later use.
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpprint\}}}.
% \watchout
+% Also do not nest \env{warpprint} inside itself.
%
-% \ItemDescribeEnv{warpHTML} An environment which is only used
+% \ItemDescribeEnv{warpHTML} An environment which is only included
% while generating \HTML\ output. This is useful for website logos and
% other items which have no purpose in printed output.
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpHTML\}}}.
% \watchout
+% Also do not nest \env{warpHTML} inside itself.
%
% \ItemDescribeMacro{\warpprintonly} \marg{contents} \quad
% A macro version of the \env{warpprint} environment.
@@ -8011,8 +8198,46 @@ This boolean may be tested by the user for later use.
% \VerbatimInput[frame=lines]{sample_project.css}
%
% Finally use |\CSSFilename{<project>.css}| in the document to activate the custom \CSS.
-%
-%
+%
+%
+% \subsection{Assigning \CSS\ classes and styles}
+% \label{sec:classstyle}
+%
+% \gindex{CSS>class=\attribute{class}}
+% \gindex{CSS>style=\attribute{span}}
+% \gindex{HTML>class=\attribute{class}}
+% \gindex{HTML>style=\attribute{style}}
+% \gindex{HTML>div=\element{div}}
+% \gindex{HTML>span=\element{span}}
+%
+% \HTML\ \CSS\ classes and styles may be assigned to fragments of the document.
+%
+% \DescribeEnv{BlockClass} \oarg{style} \marg{class}
+%
+% An entire block of text, including paragraphs, may be assigned a \CSS\ class
+% and optional \CSS\ style using the \env{BlockClass} environment.
+% The result is placed inside a \element{div}.
+% A \env{BlockClass} may nest other \env{BlockClass}es or \cs{InlineClass}es.
+%
+% \DescribeMacro{\InlineClass}
+% \parg{\acro{wp} \CSS\ style} \oarg{web \CSS\ style}
+% \marg{\CSS\ class} \marg{text}
+%
+% A section of text without paragraphs may be assinged a \CSS\ class and optional
+% \CSS\ style using the \cs{InlineClass} macro.
+% The result is placed inside a \element{span}.
+% \cs{InlineClass} may be nested, but per the \HTML\ standard it must not contain
+% \env{BlockClass}, nor may it contain a paragraph, nor several other objects
+% such as \HTML\ figures.
+% \cs{InlineClass} also accepts a second optional parameter, enclosed inside
+% parentheses, which assigns the style while generating output for a word processor,
+% while ignoring the web style.
+%
+% Nullified versions of \env{BlockClass} and \cs{InlineClass} are provided
+% for the print version, so they may be used in the document without
+% placing them inside \env{warpHTML} or \cs{warpHTMLonly}.
+%
+%
% \subsection{Selecting the operating system}
% \label{sec:OSportabilityusage}
% \changes{v0.11}{2016/03/11}{Added section: Selecting the operating system.}
@@ -8022,7 +8247,7 @@ This boolean may be tested by the user for later use.
%
% \subsection{Selecting actions for print, \HTML, or \brand{MathJax} output}
% \label{sec:selectingoutput}
-% \gindex{settings>selecting output}
+% \gindex{settings>selecting print/\HTML\ output}
% \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
%
% The following environments and macros are used to select actions which only apply
@@ -8050,6 +8275,7 @@ This boolean may be tested by the user for later use.
% Do \emph{not} place anything else on the same line as |\end{warpHTML}|.
% \trouble[\texttt{\cs{end}\{warpHTML\}}]{warpHTML}
% The exact phrase is used to mark the end of the environment.
+% Do not nest \env{warpHTML} inside itself.\watchout[nesting]
%
% \DescribeEnv{warpprint}
% Anything which is to be done only for print output
@@ -8061,6 +8287,7 @@ This boolean may be tested by the user for later use.
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpprint}|.
% \trouble[\texttt{\cs{end}\{warpprint\}}]{warpprint}
+% Do not nest \env{warpprint} inside itself.\watchout[nesting]
%
% \DescribeEnv{warpall}
% Anything which is to be done for any output
@@ -8071,6 +8298,8 @@ This boolean may be tested by the user for later use.
% \end{warpall}
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpall}|.
+% \trouble[\texttt{\cs{end}\{warpall\}}]{warpall}
+% Do not nest \env{warpall} inside itself.\watchout[nesting]
%
%
% Macros are also provided for print-only or \HTML-only code:
@@ -8087,6 +8316,9 @@ This boolean may be tested by the user for later use.
% Anything which is to be done only while using \HTML\ output with \brand{MathJax}
% is surrounded by a \env{warpMathJax} environment.
% Usually, this is \cs{CustomizeMathJax}, used to add emulation macros.
+% |\end{warpMathJax}| must appear on its own line.
+% \trouble[\texttt{\cs{end}\{warpMathJax\}}]{warpMathJax}
+% Do not nest \env{warpMathJax} inside itself.\watchout[nesting]
%
%
% \subsection{Commands to be placed into the \env{warpprint} environment}
@@ -8474,7 +8706,7 @@ This boolean may be tested by the user for later use.
% and \cs{StopDefiningTabulars} afterwards.
% Also see the \pkg{lwarp} documentation for the \pkg{fancybox} package.
% \item [To frame equations:] See \cref{sec:fancybox} for the \pkg{fancybox} package.
-% \item [For fancy framed minipages:] See packages \pkg{boxedminipage2e},
+% \item [For fancy framed minipages:] See packages \pkg{boxedminipage},
% \pkg{shadow}, \pkg{fancybox}, \pkg{framed}, \pkg{mdframed}.
% \item [Custom environments:] Use a custom environment to create a sidebar,
% containing a \env{BlockClass} environment
@@ -8601,6 +8833,14 @@ This boolean may be tested by the user for later use.
% \DescribePackage{varioref}
% \limitscpageref
%
+% \pkg{cleveref} changes the behavior of \pkg{varioref} in that
+% \trouble[\pkg{varioref} types]{varioref=\pkg{varioref}}
+% the reference type is automatically printed if \pkg{cleveref} is loaded.
+% \pkg{Lwarp} requires \pkg{cleveref}, so the \HTML\ version will always
+% automatically print the reference types even if the print mode does not.
+% The simplest way to make them match is to require the \pkg{cleveref} package
+% for the document.
+%
% \subsubsection{Hyperlinks, \pkg{hyperref}, and \pkg{url}}
%
% \DescribePackage{hyperref}
@@ -9751,6 +9991,41 @@ This boolean may be tested by the user for later use.
% \DescribeClass{memoir}
% \limitsmemoir
%
+% The custom frame commands in the \pkg{memoir} manual may be emulated by
+% \trouble[\env{framewithtitle}, \env{titledframe}]{framewithtitle=\env{framewithtitle}}
+% \trouble{titledframe=\env{titledframe}}
+% \trouble{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% \gindex{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% placing the original defintions in the preamble inside \env{warpprint}
+% environments, and then providing an \HTML\ equivalent:
+% \begin{sourceverb}
+% \begin{warpHTML}
+% \newcommand{\FrameTitle}[2]{%
+% \textbf{#2}
+% }
+%
+% \newenvironment{framewithtitle}[2][\FrameFirst@Lab\ (cont.)]{%
+% \begin{fminipage}{\linewidth}
+% \textbf{#2}
+% \begin{minipage}{\linewidth}
+% }
+% {\end{minipage}\end{fminipage}}
+%
+% \newcommand{\TitleFrame}[2]{%
+% \par
+% \textbf{#1}\par
+% \fboxBlock{#2}
+% }
+%
+% \newenvironment{titledframe}[2][\FrameFirst@Lab\ (cont.)]{%
+% \par
+% \textbf{#2}
+% \begin{fminipage}{\linewidth}
+% }
+% {\end{fminipage}}
+% \end{warpHTML}
+% \end{sourceverb}
+%
%
% \subsection{International languages}
% \label{sec:international}
@@ -10920,10 +11195,13 @@ This boolean may be tested by the user for later use.
% \item[\ctr{SideTOCDepth} < \ctr{FileDepth}:] A warning is displayed if these
% counters are set such that the side\TOC\ will not be able to access all pages
% of the website.
-% \item[Duplicate filenames:] \pkg{lwarp} may generate file names from section names.
-% While doing so, the filenames are simplified and special characters are removed.
+% \item[Filenames:] \pkg{lwarp} may generate file names from section names.
+% While doing so, the filenames are simplified, and special characters
+% and math are removed.
% If this process generates a duplicate filename, and error is generated,
% describing the filename and which section name generated it.
+% A warning is issued if dollar-delimited math is used.
+% Parenthesis-delimited math is recommended instead.
% \item[Multirow:] When \cs{multirow} or \cs{multicolrow} are used,
% \trouble[\HTML\ corrupted]{HTML>corrupted}
% \cs{mrowcell} or \cs{mcolrowcell} must be placed in the appropriate cells to
@@ -10985,9 +11263,20 @@ This boolean may be tested by the user for later use.
% that your document's \LaTeX{} code is correct, before attempting
% to generate an \HTML\ version.
%
-% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\}, \cs{end}\{warpall\}}:]
-% \trouble{warpHTML}\trouble{warpprint}\trouble{warpall}
+% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\},
+% \cs{end}\{warpall\}, \cs{end}\{warpMathJax\}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
% Each of these must be without any other characters on the same line.
+% \watchout[\env{warpHTML}, \env{warpprint}, \env{warpMathJax}, \env{warpall}]
+%
+% \item[``\texttt{Runaway argument? File ended while scanning use of \cs{next}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
+% \trouble{Runaway argument? File ended \dots}
+% \trouble{File ended while scanning use of \cs{next}}
+% Don't use \env{warpHTML}, \env{warpprint}, \env{warpall}, or
+% \env{warpMathJax} inside itself.
%
% \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}.
%
@@ -11051,7 +11340,7 @@ This boolean may be tested by the user for later use.
% inside a group first.
%
% Also, custom macros which appear inside a section,
-% \trouble[macros in section,table,figure names]{sectioning>macro in name}
+% \trouble[macros in section, table, figure names]{sectioning>macro in name}
% \trouble{table>macro in name}
% \trouble{figure>macro in name}
% figure, or table name should be
@@ -11080,6 +11369,19 @@ This boolean may be tested by the user for later use.
% define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml}
% regarding \cs{LWR@expandableformatted}.
%
+% \item[''\texttt{Token not allowed in a PDF string}'':] This \pkg{hyperref}
+% \trouble{Token not allowed in a PDF string}
+% \trouble{hyperref=\pkg{hyperref}>Token not allowed in a PDF string}
+% warning appears while creating the print-mode document, not \HTML.
+% A low-level macro is being used in a section name which appears
+% in the \PDF\ bookmarks. \pkg{hyperref} removes this macro from
+% the bookmark, and warns of doing so.
+% To avoid this warning, use \cs{pdfstringdefDisableCommands} in
+% the preamble to define simplified replacement macros for each, or use
+% \cs{texorpdfstring} in the \cs{section} or related macro
+% to declare what to use for the \TeX\ text, v.s. the \PDF\ bookmark.
+% See the \pkg{hyperref} manual.
+%
% \item[Complicated objects inside math:] Some objects, such as \tikz,
% \trouble[``impure'' math objects]{math>non-math contents}
% may not compile in \pkg{lwarp}'s normal math emulation.
@@ -11610,12 +11912,13 @@ This boolean may be tested by the user for later use.
{%
Package #1,\MessageBreak
or one which uses #1,\MessageBreak
- must be loaded after lwarp
+ must be loaded after Lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
- {Move \detokenize{\usepackage}{#1} after
- \detokenize{\usepackage}{lwarp}.\MessageBreak
+ {Move ``\protect\usepackage{#1}'' after
+ ``\protect\usepackage{lwarp}''.\MessageBreak
Package #1 may also be loaded by something else,\MessageBreak
- which must also be moved after lwarp.}
+ which must also be moved after Lwarp.}
}
{}
}
@@ -11671,8 +11974,11 @@ This boolean may be tested by the user for later use.
{}
{
\PackageError{lwarp}
- {Package #1 must be loaded before lwarp}
- {Move \detokenize{\usepackage}{#1} before \detokenize{\usepackage}{lwarp}.}
+ {%
+ Package #1 must be loaded before lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
+ }
+ {Move ``\protect\usepackage{#1}'' before ``\protect\usepackage{lwarp}''.}
}
}
% \end{macrocode}
@@ -11808,7 +12114,6 @@ This boolean may be tested by the user for later use.
\LWR@earlyloadnever{alg}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{algorithmic}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{bitfield}{bytefield}
-\LWR@earlyloadnever{boxedminipage}{boxedminipage2e}
\LWR@earlyloadnever{caption2}{caption}
% \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR@earlyloadnever{colortab}{colortbl}
@@ -11915,6 +12220,7 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{booktabs}
\LWR@loadafter{bophook}
\LWR@loadafter{bounddvi}
+\LWR@loadafter{boxedminipage}
\LWR@loadafter{boxedminipage2e}
\LWR@loadafter{braket}
\LWR@loadafter{breakurl}
@@ -12368,9 +12674,12 @@ This boolean may be tested by the user for later use.
%
% \begin{macrocode}
\newcommand{\LWR@mdfive}[1]{%
-\PackageError{lwarp}
-{No MD5 macro was found}
-{Lwarp must find the macros pdfmdfivesum or mdfivesum.}
+ \PackageError{lwarp}
+ {No MD5 macro was found}
+ {%
+ Lwarp must find the macros \protect\pdfmdfivesum\space
+ or \protect\mdfivesum.%
+ }
}
% \end{macrocode}
%
@@ -12499,7 +12808,8 @@ This boolean may be tested by the user for later use.
{%
Lwarp requires a vector font.\MessageBreak
Install and load cm-super, lmodern, or another\MessageBreak
- Type-1 vector font before loading lwarp%
+ Type-1 vector font before loading lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
{%
Install cm-super or lmodern.\MessageBreak
@@ -12537,6 +12847,16 @@ This boolean may be tested by the user for later use.
% \section{Miscellaneous tools}
%
%
+% \subsection{Variables}
+%
+% \begin{macrocode}
+\newlength{\LWR@templengthone}
+\newlength{\LWR@templengthtwo}
+\newlength{\LWR@templengththree}
+\newcounter{LWR@tempcountone}
+% \end{macrocode}
+%
+%
% \subsection{Lengths and units}
%
% \begin{macro}{\LWR@providelength} \marg{\cs{lengthname}}
@@ -12595,9 +12915,12 @@ This boolean may be tested by the user for later use.
% Prints an error if could not patch a macro.
% \begin{macrocode}
\newcommand*{\LWR@patcherror}[2]{%
-\PackageError{lwarp}
-{Unable to patch package #1, macro #2}
-{Please contact the author of the Lwarp package.}
+ \PackageError{lwarp}%
+ {%
+ Unable to patch package #1, macro #2.\MessageBreak
+ Lwarp may need to be updated%
+ }%
+ {Please contact the maintainer of the Lwarp package.}%
}
% \end{macrocode}
% \end{macro}
@@ -12728,7 +13051,8 @@ This boolean may be tested by the user for later use.
% Results in the macro name without the leading backslash.
%
% Ref: \href{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}
-% {\texttt{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}}
+% {\texttt{https://tex.stackexchange.com/questions/42318/ \\
+% \hspace*{\fill}removing-a-backslash-from-a-character-sequence}}
%
% \changes{v0.79}{2020/01/18}{Added.}
% \begin{macrocode}
@@ -13474,28 +13798,37 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
-% Use |comment_print.cut| for print mode, and
-% |comment_html.cut| for \HTML\ mode.
-% This helps \prog{latexmk} to more reliably know whether to recompile.
-%
-% \changes{v0.37}{2017/08/19}{\pkg{comment}: Maintains independent
-% cutfiles for print, \HTML.}
+% \begin{macro}{\LWR@includecomment} \marg{env name} \marg{partial filename}
+% \begin{macro}{\LWR@excludecomment} \marg{env name} \marg{partial filename}
%
+% Use many \pkg{comment} cut files to avoid collision in case the
+% user uses the \pkg{comment} package. Each filename is ``|comment_#2.cut|''.
+% Based on the \pkg{comment} package.
+% \changes{v0.84}{2020/03/30}{Independent cut files.}
% \begin{macrocode}
-\ifbool{warpingHTML}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_html.cut}}
-}{}
+\def\LWR@includecomment
+ #1#2{\message{Lwarp: Including comment '#1'}%
+ \csarg\def{After#1Comment}{\CloseAndInputCutFile}
+ \csarg\def{#1}{\endgroup \message{Including '#1' comment.}%
+ \def\CommentCutFile{comment_#2.cut} \SetUpCutFile \ProcessComment{#1}}%
+ \CommentEndDef{#1}}
-\ifbool{warpingprint}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}}
-}{}
+\def\LWR@excludecomment
+ #1#2{\message{Lwarp: Excluding comment '#1'}%
+ \csarg\def{#1}{\endgroup \message{Excluding '#1' comment.}%
+ \begingroup
+ \def\CommentCutFile{comment_#2.cut} \def\ProcessCutFile{}%
+ \def\ThisComment####1{}\ProcessComment{#1}}%
+ \csarg\def{After#1Comment}{\CloseAndInputCutFile \endgroup}
+ \CommentEndDef{#1}}
% \end{macrocode}
-
+% \end{macro}
+% \end{macro}
% \begin{environment}{warpall}
% Anything in the |warpall| environment will be generated for print or \HTML\ outputs.
% \begin{macrocode}
-\includecomment{warpall}
+\LWR@includecomment{warpall}{all}
% \end{macrocode}
% \end{environment}
@@ -13505,8 +13838,8 @@ This boolean may be tested by the user for later use.
% For \HTML\ output:
% \begin{macrocode}
\ifbool{warpingHTML}
- {\includecomment{warpHTML}}
- {\excludecomment{warpHTML}}%
+ {\LWR@includecomment{warpHTML}{html}}
+ {\LWR@excludecomment{warpHTML}{html}}
% \end{macrocode}
% \end{environment}
@@ -13515,8 +13848,8 @@ This boolean may be tested by the user for later use.
% Anything in the |warpprint| environment will be generated for print output only.
% \begin{macrocode}
\ifbool{warpingprint}
- {\includecomment{warpprint}}
- {\excludecomment{warpprint}}
+ {\LWR@includecomment{warpprint}{print}}
+ {\LWR@excludecomment{warpprint}{print}}
% \end{macrocode}
% \end{environment}
@@ -13526,25 +13859,25 @@ This boolean may be tested by the user for later use.
% \changes{v0.79}{2020/01/26}{Added.}
% \begin{macrocode}
\begin{warpprint}
-\excludecomment{warpMathJax}
+\LWR@excludecomment{warpMathJax}{mathjax}
\end{warpprint}
\begin{warpHTML}
\ifbool{mathjax}
- {\includecomment{warpMathJax}}
- {\excludecomment{warpMathJax}}
+ {\LWR@includecomment{warpMathJax}{mathjax}}
+ {\LWR@excludecomment{warpMathJax}{mathjax}}
\end{warpHTML}
% \end{macrocode}
% \end{environment}
-% \begin{environment}{LWR@creatinglwarpmk}
+% \begin{environment}{LWRcreatelwarpmk}
% Optionally generate a local copy of \prog{lwarpmk}.
% Default to no.
% \begin{macrocode}
\ifbool{LWR@creatinglwarpmk}
- {\includecomment{LWR@createlwarpmk}}
- {\excludecomment{LWR@createlwarpmk}}
+ {\LWR@includecomment{LWRcreatelwarpmk}{lwarpmk}}
+ {\LWR@excludecomment{LWRcreatelwarpmk}{lwarpmk}}
% \end{macrocode}
% \end{environment}
%
@@ -14254,7 +14587,6 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{#1}{alg}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{bitfield}{bytefield}
-\LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e}
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
@@ -14455,8 +14787,9 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\NewDocumentCommand{\LWR@ProvidesPackagePass}{m o}{
\PackageInfo{lwarp}{%
- Using package `#1' and adding lwarp modifications,\MessageBreak
- including options,}%
+ Using package `#1',\MessageBreak
+ and adding lwarp modifications, including options,\MessageBreak%
+ }%
\IfValueTF{#2}%
{\ProvidesPackage{lwarp-#1}[#2]}%
{\ProvidesPackage{lwarp-#1}}%
@@ -14565,28 +14898,6 @@ This boolean may be tested by the user for later use.
-% \section{Additional required packages}
-
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \DescribePackage{caption}
-% \changes{v0.47}{2018/01/29}{\pkg{caption}: Also loads \pkg{lwarp-caption}.}
-% \changes{v0.66}{2018/12/29}{\pkg{caption}: Fix for options clash.}
-% \begin{macrocode}
-\LWR@origRequirePackage{caption}
-\AtBeginDocument{\RequirePackage{lwarp-caption}}%
-% \end{macrocode}
-
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
-
-
-
% \section{File handles}
% Defines file handles for writes.
@@ -14847,9 +15158,7 @@ This boolean may be tested by the user for later use.
% The new \HTML\ versions of macros and environments are used most of the time.
% Copies of the print versions are used inside a \env{lateximage} environment,
% which draws and remembers an image of the printed output, and also several
-% other places. The copies of the print versions may also be used by the \HTML\
-% versions, such as when the \HTML\ version merely encloses the print version
-% inside \HTML\ tags.
+% other places.
%
% The general structure for providing print and \HTML\ versions of a macro or
% environment is as follows:
@@ -14859,13 +15168,14 @@ This boolean may be tested by the user for later use.
% \item[For a preexisting macro, not defined with \pkg{xparse}:] An \HTML\ version
% is provided with a special name, inside a \env{warpHTML} environment,
% then \cs{LWR@formatted} is used to redefine and patch various macros:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newcommand{\LWR@HTML@name}{...}% may also use xparse
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% |\LWR@formatted{name}| copies the original print version,
% then redefines \cs{name} to use either the print or \HTML\ version depending
% on which mode \pkg{lwarp} is using. \pkg{xparse} may be used to
@@ -14874,16 +15184,18 @@ This boolean may be tested by the user for later use.
% \item[For a preexisiting environment, not defined with \pkg{xparse}:] The process
% is similar. Note the use of \cs{LWR@formattedenv} instead of \cs{LWR@formatted}.
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newenvironment{LWR@HTML@name}{...}% may also use xparse
%
% \LWR@formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% \item[If the original used \pkg{xparse}:] A copy must be made using a new name:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{7\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \NewDocumentCommand{\LWR@print@name}{..}{..}% copy the original
%
@@ -14891,7 +15203,7 @@ This boolean may be tested by the user for later use.
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment, using \cs{LWR@formattedenv}.
% (\cs{LWR@formatted} and \cs{LWR@formattedenv} use \cs{LetLtxMacro} to
% copy the original print definiton,
@@ -14899,7 +15211,8 @@ This boolean may be tested by the user for later use.
% so the print version must be manually recreated in the \pkg{lwarp} source.)
% \item[For a new macro or environment, not using \pkg{xparse} for the print version:] \
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{9\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \newcommand{\name}{...}% NOT xparse!
% \end{warpall}
@@ -14909,7 +15222,7 @@ This boolean may be tested by the user for later use.
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment.
% The plain \cs{name} or environment \env{name} is used for the printed
% version, and is placed inside \env{warpall}.
@@ -14921,7 +15234,8 @@ This boolean may be tested by the user for later use.
% by defining the \cs{LWR@print@<name>} version with \pkg{xparse}, along with
% \cs{name} defined without \pkg{xparse} to refer directly to the \cs{LWR@print}
% version:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{16\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \NewDocumentCommand{\LWR@print@name}{...} {...}% -or-
% \NewDocumentEnvironment{\LWR@print@name}{...} {...} {...}
@@ -14938,7 +15252,7 @@ This boolean may be tested by the user for later use.
% \LWR@formatted{name}% -or-
% \LWR@formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
%
% \end{description}
%
@@ -15353,13 +15667,6 @@ This boolean may be tested by the user for later use.
\let\LWR@origsp\sp
\let\LWR@origsb\sb
-\LetLtxMacro\LWR@origtextsuperscript\textsuperscript
-\LetLtxMacro\LWR@orig@textsuperscript\@textsuperscript
-
-\AtBeginDocument{
-\LetLtxMacro\LWR@origtextsubscript\textsubscript
-\LetLtxMacro\LWR@orig@textsubscript\@textsubscript
-}
\LetLtxMacro\LWR@origunderline\underline
% \end{macrocode}
@@ -15415,6 +15722,7 @@ This boolean may be tested by the user for later use.
% \limitsaccents
%
% \changes{v0.37}{2017/08/18}{\protect\LaTeX\ accents: Added.}
+% \changes{v0.84}{2020/04/12}{\protect\LaTeX\ accents: Add'l symbols.}
%
% \codehtml
% \begin{macrocode}
@@ -15430,29 +15738,41 @@ This boolean may be tested by the user for later use.
%
% For Unicode engines, only \cs{t} needs to be redefined:
% \begin{macrocode}
-\LetLtxMacro\LWR@origt\t
+\LetLtxMacro\LWR@origtie\t
% \end{macrocode}
% For pdf\LaTeX, additional work is required:
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
-\LetLtxMacro\LWR@origequalaccent\=
+\LetLtxMacro\LWR@origgraveaccent\`
+\LetLtxMacro\LWR@origacuteaccent\'
+\LetLtxMacro\LWR@origcircumflexaccent\^
+\LetLtxMacro\LWR@origtildeaccent\~
+\LetLtxMacro\LWR@origmacronaccent\=
+\LetLtxMacro\LWR@origbreve\u
\LetLtxMacro\LWR@origdotaccent\.
-\LetLtxMacro\LWR@origu\u
-\LetLtxMacro\LWR@origv\v
-\LetLtxMacro\LWR@origc\c
-\LetLtxMacro\LWR@origd\d
-\LetLtxMacro\LWR@origb\b
+\LetLtxMacro\LWR@origdiaeresisaccent\"
+\LetLtxMacro\LWR@origdoubleacuteaccent\H
+\LetLtxMacro\LWR@origcaronaccent\v
+\LetLtxMacro\LWR@origdotbelowaccent\d
+\LetLtxMacro\LWR@origcedillaaccent\c
+\LetLtxMacro\LWR@origmacronbelowaccent\b
% \end{macrocode}
% The \HTML\ redefinitions follow.
%
% For pdf\LaTeX, Unicode diacritical marks are used:
% \begin{macrocode}
-\renewcommand*{\=}[1]{#1\HTMLunicode{0305}}
-\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
+\renewcommand*{\`}[1]{#1\HTMLunicode{0300}}
+\renewcommand*{\'}[1]{#1\HTMLunicode{0301}}
+\renewcommand*{\^}[1]{#1\HTMLunicode{0302}}
+\renewcommand*{\~}[1]{#1\HTMLunicode{0303}}
+\renewcommand*{\=}[1]{#1\HTMLunicode{0304}}
\renewcommand*{\u}[1]{#1\HTMLunicode{0306}}
+\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
+\renewcommand*{\"}[1]{#1\HTMLunicode{0308}}
+\renewcommand*{\H}[1]{#1\HTMLunicode{030B}}
\renewcommand*{\v}[1]{#1\HTMLunicode{030C}}
-\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
+\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\b}[1]{#1\HTMLunicode{0331}}
\fi
% \end{macrocode}
@@ -15467,18 +15787,24 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\=\LWR@origequalaccent%
-\LetLtxMacro\.\LWR@origdotaccent%
-\LetLtxMacro\u\LWR@origu%
-\LetLtxMacro\v\LWR@origu%
-\LetLtxMacro\t\LWR@origt%
-\LetLtxMacro\c\LWR@origc%
-\LetLtxMacro\d\LWR@origd%
-\LetLtxMacro\b\LWR@origb%
+ \LetLtxMacro\`\LWR@origgraveaccent%
+ \LetLtxMacro\'\LWR@origacuteaccent%
+ \LetLtxMacro\^\LWR@origcircumflexaccent%
+ \LetLtxMacro\~\LWR@origtildeaccent%
+ \LetLtxMacro\=\LWR@origmacronaccent%
+ \LetLtxMacro\u\LWR@origbreve%
+ \LetLtxMacro\.\LWR@origdotaccent%
+ \LetLtxMacro\"\LWR@origdiaeresisaccent%
+ \LetLtxMacro\H\LWR@origdoubleacuteaccent%
+ \LetLtxMacro\v\LWR@origcaronaccent%
+ \LetLtxMacro\t\LWR@origtie%
+ \LetLtxMacro\d\LWR@origdotbelowaccent%
+ \LetLtxMacro\c\LWR@origcedillaaccent%
+ \LetLtxMacro\b\LWR@origmacronbelowaccent%
}%
\else% XeLaTeX, LuaLaTeX:
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\t\LWR@origt%
+ \LetLtxMacro\t\LWR@origtie%
}%
\fi%
}% AtBeginDocument
@@ -15513,7 +15839,7 @@ This boolean may be tested by the user for later use.
% Default to no configuration files:
% \changes{v0.61}{2018/10/02}{Don't write configuration files if processing \pkg{pstool} image.}
% \begin{macrocode}
-\excludecomment{LWRwriteconf}
+\LWR@excludecomment{LWRwriteconf}{writeconf}
% \end{macrocode}
%
% Generate configuration files if print mode and not \filenm{-pstool}:
@@ -15531,7 +15857,7 @@ This boolean may be tested by the user for later use.
}
{
\PackageInfo{lwarp}{Generating lwarp configuration files,}%
- \includecomment{LWRwriteconf}
+ \LWR@includecomment{LWRwriteconf}{writeconf}
}
\end{warpprint}
% \end{macrocode}
@@ -15626,9 +15952,12 @@ This boolean may be tested by the user for later use.
% 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, lualatex, and upLateX.}
+ \PackageError{lwarp}%
+ {Unknown LaTeX engine}%
+ {%
+ Lwarp only knows about pdflatex, dvi latex,
+ xelatex, lualatex, and upLateX.%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -16041,6 +16370,11 @@ This boolean may be tested by the user for later use.
% \changes{v0.76}{2019/10/02}{\filenm{lwarp.css}: Fix for small caps.}
% \changes{v0.79}{2020/01/17}{\filenm{lwarp.css}: Fix: Nested \env{tabular}s.}
% \changes{v0.81}{2020/02/22}{\filenm{lwarp.css}: Added \pkg{nolbreaks}.}
+% \changes{v0.84}{2020/03/28}{\filenm{lwarp.css}: Added \pkg{koma-*} subject.}
+% \changes{v0.84}{2020/04/10}{\filenm{lwarp.css}: Improved \pkg{realscripts}.}
+% \changes{v0.84}{2020/04/13}{\filenm{lwarp.css}: Improved \pkg{nfssext-cfr}.}
+% \changes{v0.84}{2020/04/18}{\filenm{lwarp.css}: Fix: Minipage tex align.}
+% \changes{v0.84}{2020/04/24}{\filenm{lwarp.css}: Fix: Top nav if narrow window.}
%
% ^^A *lwarp.css
%
@@ -16126,10 +16460,6 @@ span.textit, div.textit { font-style: italic; }
span.textmd, div.textmd { font-weight: normal; }
-span.texteb { font-weight: bolder; }
-
-span.textlg { font-weight: lighter; }
-
span.textup, div.textup {
font-style: normal;
font-variant: normal;
@@ -16158,6 +16488,52 @@ span.textsf, div.textsf {
Geneva, Verdana, sans-serif ;
}
+/* nfssext-cfr lining figures */
+span.textln, div.textln {
+ font-variant-numeric: lining-nums ;
+}
+
+/* nfssext-cfr proportional figures */
+span.textp, div.textp {
+ font-variant-numeric: proportional-nums ;
+}
+
+/* nfssext-cfr tabular figures */
+span.textt, div.textt {
+ font-variant-numeric: tabular-nums ;
+}
+
+/* nfssext-cfr font weights */
+span.textdb, div.textdb {
+ font-weight: 500 ;
+}
+
+span.textsb, div.textsb {
+ font-weight: 600 ;
+}
+
+span.texteb, div.texteb {
+ font-weight: 800 ;
+}
+
+span.textub, div.textub {
+ font-weight: 900 ;
+}
+
+span.textlg, div.textlg {
+ font-weight: 300 ;
+}
+
+span.textel, div.textel {
+ font-weight: 200 ;
+}
+
+span.textul, div.textul {
+ font-weight: 100 ;
+}
+
+
+
span.textcircled { border: 1px solid black ; border-radius: 1ex ; }
span.underline {
@@ -16202,16 +16578,16 @@ div.diagboxW {
.supsubscript sub {
position: relative;
display: block;
- font-size: .5em;
+ font-size: .7em;
line-height: 1;
}
.supsubscript sup {
- top: .5em;
+ top: .3em;
}
.supsubscript sub {
- top: .5em;
+ top: .3em;
}
div.attribution p {
@@ -16693,6 +17069,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
.minipage, .fminipage, .fcolorminipage {
/* display: inline-block ; */
/* Mini pages which follow each other will be tiled. */
+ text-align:left;
margin: .25em .25em .25em .25em;
padding: .25em .25em .25em .25em;
display: inline-flex;
@@ -17188,6 +17565,26 @@ span.verbatim {
+div.titlehead
+{
+ text-align: left ;
+ font-style: normal ;
+ font-weight: normal ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
+div.subject
+{
+ text-align: center ;
+ font-style: normal ;
+ font-weight: bold ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
div.published
{
text-align: center ;
@@ -17282,6 +17679,7 @@ footer {
}
+/* for \LinkHome, \LinkPrevious, and \LinkNext: */
a.linkhome { font-weight:bold ; font-size: 1em ;}
@@ -17620,6 +18018,7 @@ span.sidetocthetitle { display: none }
box-shadow: none ;
}
span.sidetocthetitle { display: inline }
+ nav.topnavigation { display:block }
nav.botnavigation { display:block }
div.bodycontainer { width: 100% }
.marginpar {
@@ -18599,11 +18998,12 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.}%
% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.}%
% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.}%
+% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}}%
%
% The following is only generated if the \optn{lwarpmk} option
% was given to \pkg{lwarp}.
% \begin{macrocode}
-\begin{LWR@createlwarpmk}
+\begin{LWRcreatelwarpmk}
% \end{macrocode}
%
% ^^A *lwarpmk.lua
@@ -18614,7 +19014,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.84"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -19008,7 +19408,7 @@ function removeaux ()
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -19022,7 +19422,8 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -19568,7 +19969,7 @@ end -- not --version
% \end{macrocode}
%
% \begin{macrocode}
-\end{LWR@createlwarpmk}
+\end{LWRcreatelwarpmk}
% \end{macrocode}
%
@@ -20082,7 +20483,7 @@ end -- not --version
% such as 100+ for one chapter, 200+ for another chapter, etc.
% \begin{macrocode}
\newcommand*{\SetHTMLFileNumber}[1]{%
-\setcounter{LWR@htmlfilenumber}{#1}%
+ \setcounter{LWR@htmlfilenumber}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -20108,9 +20509,43 @@ end -- not --version
% \end{macrocode}
+% Updated each time a new \HTML\ file is begun.
+% Used to provide \HTML\ previous/next web page links.
+% \begin{macrocode}
+\newcounter{LWR@HTMLpagenum}
+\setcounter{LWR@HTMLpagenum}{0}
+% \end{macrocode}
+
+
+% \DescribeCounter{LWR@htmlseqfilenumber}
+% A sequential count of the number of each \HTML\ file as it is being created.
+% Number 0 is the home page.
+% Unlike \cs{LWR@htmlfilenumber}, this one is known to increment by one
+% for each file. This is used to generate previous \slash next links for
+% each web page, via labels called |\BaseJobname-autofile-*|, and the
+% last page is also labelled |\BaseJobname-autofile-last|.
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcounter{LWR@htmlseqfilenumber}
+\setcounter{LWR@htmlseqfilenumber}{0}
+% \end{macrocode}
+
+% \DescribeBoolean{LWR@setseqfilelabel}
+% At each new \HTML\ file, this is false until a sectional unit is used,
+% at which point this is set true and a label is placed.
+% In this way, the previous/next labels will point to a named section.
+% \begin{macrocode}
+\newbool{LWR@setseqfilelabel}
+\setbool{LWR@setseqfilelabel}{false}
+% \end{macrocode}
+
+
% \DescribeCounter{LWR@htmlfilenumber}
% Records the number of each \HTML\ file as it is being created.
% Number 0 is the home page.
+% This might not be sequential, as the user may use
+% \cs{SetHTMLFileNumber} to create groups of numbered nodes.
% \begin{macrocode}
\newcounter{LWR@htmlfilenumber}
\setcounter{LWR@htmlfilenumber}{0}
@@ -20125,6 +20560,8 @@ end -- not --version
% \changes{v0.20}{2016/09/11}{Sections called ``Index'' or ``index'' have an underscore
% prepended to their filenames if no prefix.}
% \changes{v0.66}{2019/01/30}{Sanitize underscores.}
+% \changes{v0.84}{2020/04/10}{Fix: Sections called ``Index'' or ``index'' have \filenm{-0}
+% appended to their filenames if no prefix.}
%
% Prints the filename for a given section: |\HTMLFilename{}filenumber/name.html|
% \begin{macrocode}
@@ -20144,33 +20581,35 @@ end -- not --version
% \LWR@traceinfo{about to assign temp}%
\LWR@sanitize{#1}%
\LWR@traceinfo{about to compare with ??}%
-\ifthenelse{\equal{\LWR@sanitized}{??}}%
+\ifdefstring{\LWR@sanitized}{??}
{\LWR@traceinfo{found ??}}%
{\LWR@traceinfo{not found ??}}%
\LWR@traceinfo{about to compare with zero or empty}%
-\ifthenelse{%
- \equal{\LWR@sanitized}{0}%
- \OR \equal{\LWR@sanitized}{}%
- \OR \equal{\LWR@sanitized}{??}%
-}%
+\ifboolexpr{
+ test {\ifdefstring{\LWR@sanitized}{0}} or
+ test {\ifdefstring{\LWR@sanitized}{}} or
+ test {\ifdefstring{\LWR@sanitized}{??}}
+}
{%
\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}%
\HomeHTMLFilename.html%
}%
% \end{macrocode}
% For a \LaTeX\ section named ``Index'' or ``index'' without a prefix, create a filename
-% with a leading underscore to avoid colliding with the \HTML\ filename |index.html|:
+% with a trailing \filenm{-0} to avoid colliding with the \HTML\ filename |index.html|:
% \begin{macrocode}
{%
\LWR@traceinfo{LWR@htmlsectionfilename C \LWR@sanitized}%
- \ifthenelse{%
- \equal{\HTMLFilename}{} \AND
- \equal{\LWR@sanitized}{Index} \OR
- \equal{\LWR@sanitized}{index}%
+ \ifboolexpr{
+ test{\ifdefvoid{\HTMLFilename}} and
+ (
+ test{\ifdefstring{\LWR@sanitized}{Index}} or
+ test{\ifdefstring{\LWR@sanitized}{index}}
+ )
}%
{%
- \LWR@traceinfo{Prefixing the index name with an underscore.}%
- \_\LWR@sanitized.html%
+ \LWR@traceinfo{Adding a zero to the index filename.}%
+ \LWR@sanitized-0.html%
}%
% \end{macrocode}
% Otherwise, create a filename with the chosen prefix:
@@ -20192,15 +20631,15 @@ end -- not --version
% \changes{v0.50}{2018/02/20}{Fix: SVG math in a section name.}
% \begin{macrocode}
\newcommand*{\LWR@htmlrefsectionfilename}[1]{%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
% \end{macrocode}
% \cs{LWR@nullfonts} to allow math in a section name.
% \begin{macrocode}
-\begingroup%
-\LWR@nullfonts%
-\LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
-\endgroup%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
+ \begingroup%
+ \LWR@nullfonts%
+ \LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
+ \endgroup%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
}
% \end{macrocode}
% \end{macro}
@@ -20243,7 +20682,7 @@ end -- not --version
% The filename must be detokenized for underscores.
% \begin{macrocode}
\newcommand*{\LinkHome}{%
-\LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
+ \LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
}
% \end{macrocode}
% \end{macro}
@@ -20302,8 +20741,8 @@ end -- not --version
% Creates a link to the homepage at the top of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR@topnavigation}{
-\LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
+\newcommand*{\LWR@topnavigation}{%
+ \LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20313,8 +20752,8 @@ end -- not --version
% Creates a link to the homepage at the bottom of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR@botnavigation}{
-\LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
+\newcommand*{\LWR@botnavigation}{%
+ \LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20324,6 +20763,110 @@ end -- not --version
% \end{macrocode}
+% \section{Previous \Slash next navigation links}
+
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \begin{macro}{\linkpreviousname} What to call the link to the previous web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linkpreviousname}{Previous}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\linknextname} What to call the link to the next web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linknextname}{Next}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
+% \codeprint
+% \begin{macrocode}
+\begin{warpprint}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkNext}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpprint}
+% \end{macrocode}
+
+
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}-1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linkpreviousname}{linkhome}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*| \\
+% and the last is the label |\Basejobname-autofile-last|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkNext}{%
+ \ifcsdef{r@\BaseJobname-autofile-last@lwarp}{%
+ \edef\LWR@tempone{%
+ \LWR@htmlfileref{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ }%
+ \edef\LWR@temptwo{%
+ \LWR@htmlfileref{\BaseJobname-autofile-last}%
+ }%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}+1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linknextname}{linkhome}%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+
% \section{\cs{LWRPrintStack} diagnostic tool}
@@ -20689,6 +21232,35 @@ end -- not --version
% \end{macro}
%
+% \begin{macro}{\LWR@spanwarnformat} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarnformat}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ Formatting may be lost,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@spanwarninvalid} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarninvalid}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ This generates invalid HTML,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
% \begin{environment}{LWR@nestspan} Disable \env{minipage}, \cs{parbox},
% and \HTML\ \element{div}s inside a \element{span}.
@@ -20706,6 +21278,8 @@ end -- not --version
% \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
% \changes{v0.70}{2019/04/02}{Improved \env{minipage}, \cs{parbox} inside a span.}
% \changes{v0.73}{2019/06/23}{Fix: \env{quote}, \env{quotation} inside a span.}
+% \changes{v0.84}{2020/04/22}{Nullified \env{minipage}, \cs{parbox} inside a span.}
+% \changes{v0.84}{2020/04/22}{Issue warnings inside a span.}
%
% \begin{macrocode}
\newcommand*{\LWR@nestspanitem}{%
@@ -20723,11 +21297,21 @@ end -- not --version
{% not in a lateximage
\LWR@traceinfo{LWR@nestspan: NOT inside a lateximage}%
\addtocounter{LWR@spandepth}{1}%
+% \end{macrocode}
+% Nullify several objects inside the span:
+% ^^A {\LWR@subhtmlelementclass{span}{inlineminipage}}%
+% ^^A {\LWR@htmltagc{/span}}%
+% \begin{macrocode}
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
- {\LWR@subhtmlelementclass{span}{inlineminipage}}%
- {\LWR@htmltagc{/span}}%
- \RenewDocumentEnvironment{BlockClass}{o m}{}{}%
- \renewcommand{\BlockClassSingle}[2]{##2}%
+ {\LWR@spanwarnformat{minipage or \protect\parbox}}%
+ {}%
+ \RenewDocumentEnvironment{BlockClass}{o m}%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ {}%
+ \renewcommand{\BlockClassSingle}[2]{%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ ##2%
+ }%
\renewcommand{\LWR@forcenewpage}{}%
\renewcommand{\LWR@liststart}{%
\let\item\LWR@nestspanitem%
@@ -21043,12 +21627,12 @@ end -- not --version
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
+
\NewDocumentEnvironment{LWR@print@BlockClass}{o m}{}{}%
+
\NewDocumentEnvironment{LWR@HTML@BlockClass}{o m}%
-{%
- \LWR@htmldivclass[#1]{#2}%
-}
-{\LWR@htmldivclassend{#2}}
+ {\LWR@htmldivclass[#1]{#2}}
+ {\LWR@htmldivclassend{#2}}
\LWR@formattedenv{BlockClass}
\end{warpHTML}
@@ -21073,7 +21657,7 @@ end -- not --version
% \begin{macrocode}
\begin{warpHTML}
\newcommand{\LWR@HTML@BlockClassSingle}[2]{%
-\LWR@htmlelementclassline{div}{#1}{#2}%
+ \LWR@htmlelementclassline{div}{#1}{#2}%
}
\LWR@formatted{BlockClassSingle}
@@ -21497,14 +22081,18 @@ end -- not --version
% \begin{macro}{\LWR@startpars}
% Begin handling \HTML\ paragraphs.
% This allows an \HTML\ paragraph to start, but one has not yet begun.
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR@startpars}%
{%
% \LWR@traceinfo{LWR@startpars}%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21550,13 +22138,17 @@ end -- not --version
% Any currently open \HTML\ paragraph is closed, and no more will be opened.
%
% \changes{v0.36}{2017/08/15}{Extra \protect\HTML\ source space after paragraphs.}
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR@stoppars}%
{%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21635,14 +22227,12 @@ end -- not --version
% \begin{macrocode}
\AtBeginDocument{
-\def\@afterindentfalse{\let\if@afterindent\iffalse}
-\@afterindentfalse
+ \def\@afterindentfalse{\let\if@afterindent\iffalse}
+ \@afterindentfalse
}
\let\LWR@afterindent@syntaxhighlight\fi% syntax highlighting
% \end{macrocode}
-
-
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -21658,8 +22248,10 @@ end -- not --version
% In the following, catcode is manually changed back and forth
% without groups, since new macros are being defined which must
% not be contained within the groups.
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
% \begin{macrocode}
\newcommand{\LWR@firstpagetop}{} % for the home page alone
+\newcommand{\LWR@firstpagebottom}{} % for the home page alone
\newcommand{\LWR@pagetop}{} % for all other pages
\newcommand{\LWR@pagebottom}{}
% \end{macrocode}
@@ -21678,6 +22270,19 @@ end -- not --version
%
% \end{macro}
%
+% \begin{macro}{\HTMLFirstPageBottom} \marg{text and logos}
+%
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+%
+% \begin{macrocode}
+\newcommand{\HTMLFirstPageBottom}[1]{%
+ \renewcommand{\LWR@firstpagebottom}{#1}%
+}
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
%
% \begin{macro}{\HTMLPageTop} \marg{text and logos}
%
@@ -22198,7 +22803,7 @@ end -- not --version
% \changes{v0.48}{2018/02/11}{Removed \cs{itshape}.}
% \begin{macrocode}
\AtBeginDocument{
-\def\thempfootnote{\@alph\c@mpfootnote}
+ \def\thempfootnote{\@alph\c@mpfootnote}
}
% \end{macrocode}
% \end{macro}
@@ -22440,6 +23045,7 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
% \begin{macro}{\LWR@thisfilename}
% The currently-active filename or number.
% At first, this is the homepage.
@@ -22513,6 +23119,27 @@ end -- not --version
% \end{macro}
+% \begin{macro}{\LWR@avoiddupfilenames} \qquad
+% Instructions for how to avoid duplicate filenames.
+% This is used in a warning in \cs{LWR@filenamenoblanks},
+% and in an error in \cs{LWR@newhtmlfile}.
+% \begin{macrocode}
+\newcommand*{\LWR@avoiddupfilenames}{%
+ To avoid duplicate filenames, use the optional\MessageBreak
+ short Table of Contents entry:\MessageBreak
+ \space\space\protect\section[Unique name, no math]{Name with math}%
+ \MessageBreak
+ or use \protect\texorpdfstring, from the hyperref package:\MessageBreak
+ \space\space%
+ \protect\section{\MessageBreak
+ \space\space\space\space\protect\texorpdfstring\MessageBreak
+ \space\space\space\space\space\space%
+ {Name with math}{Unique name, no math}\MessageBreak
+ \space\space}
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\LWR@filenamenoblanks} \marg{filename}
%
@@ -22539,6 +23166,7 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{#1}%
% \end{macrocode}
+%
% Replaces common macros with hyphens.
% (\cs{\&} is done by \cs{LWR@nullfonts}.)
% \begin{macrocode}
@@ -22555,6 +23183,31 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{\detokenize\expandafter{\LWR@thisnewfilename}}%
% \end{macrocode}
+%
+% Warn if there is dollar math in the section name:
+% \begin{macrocode}
+\ifbool{FileSectionNames}{%
+ \IfSubStr{\LWR@thisnewfilename}{\LWRdollar}{%
+ \PackageWarning{lwarp}
+ {%
+ This section name:\MessageBreak
+ \space\space``\detokenize\expandafter{#1}''\MessageBreak
+ at the line number listed below,\MessageBreak
+ is using $dollar-delimited math$,
+ which generates\MessageBreak
+ complicated file names. It is better to use\MessageBreak
+ \space\space%
+ \protect\section{Name with \protect\(parenthesis math\protect\)}%
+ \MessageBreak
+ The math then will be removed from the file name.\MessageBreak
+ \MessageBreak
+ \LWR@avoiddupfilenames%
+ \MessageBreak
+ This section is found before or%
+ }
+ }{}%
+}{}
+% \end{macrocode}
% \begin{macrocode}
\LWR@traceinfo{LWR@filenamenoblanks edef: !\LWR@thisnewfilename!}%
\fullexpandarg%
@@ -22631,28 +23284,31 @@ end -- not --version
% \begin{macrocode}
\LWR@simplifycustom%
% \end{macrocode}
-% Convert multiple hyphens:
-% \begin{macrocode}
-\LWR@simplifyname*{-----}
-\LWR@simplifyname*{----}
-\LWR@simplifyname*{---}
-\LWR@simplifyname*{--}
-% \end{macrocode}
+%
% If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
+% \changes{v0.84}{2020/04/21}{Fix: Dashes in filename.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
-\LWR@simplifyname*{—}
+ \LWR@simplifyname*{—}
% emdash
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{–}
% endash
}{}%
\else% not PDFTeX
-\LWR@simplifyname*{—}
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{—}
+ \LWR@simplifyname*{–}
\fi%
% \end{macrocode}
+%
+% Convert multiple hyphens:
+% \begin{macrocode}
+\LWR@simplifyname*{-----}
+\LWR@simplifyname*{----}
+\LWR@simplifyname*{---}
+\LWR@simplifyname*{--}
+% \end{macrocode}
% If starts with a dash, remove the leading dash:
% \begin{macrocode}
\IfBeginWith{\LWR@thisnewfilename}{\detokenize{-}}{%
@@ -22899,7 +23555,7 @@ end -- not --version
\ifbool{LWR@warnedcustomizemathjax}{}{%
\StrLen{\detokenize{#1}}[\LWR@tempone]%
\ifnumgreater{\LWR@tempone}{200}{%
- \AtBeginDocument{%
+ \AtEndDocument{%
\PackageWarningNoLine{lwarp}{%
To ensure faster MathJax compilation, place each\MessageBreak
custom macro in its own \protect\CustomizeMathJax.\MessageBreak
@@ -23122,6 +23778,34 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
+% \begin{macro}{\LWR@createfooter} If specified, create the first or later web page footer.
+% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+% \begin{macrocode}
+\newcommand*{\LWR@createfooter}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{%
+ \ifdefempty{\LWR@firstpagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@firstpagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }{%
+ \ifdefempty{\LWR@pagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@pagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@newhtmlfile} \marg{section name}
% \changes{v0.18}{2016/04/23}{side\TOC\ after title, improving responsive design.}
% \changes{v0.21}{2017/02/22}{Skip title if not given.}
@@ -23151,20 +23835,7 @@ end -- not --version
%
% No footer between files if \EPUB:
% \begin{macrocode}
-\ifbool{FormatEPUB}
-{}
-{
-% \end{macrocode}
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
-% \begin{macrocode}
- \ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
- }
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
%
%
@@ -23183,8 +23854,11 @@ end -- not --version
\LWR@htmltag{/html}\LWR@orignewline
\LWR@traceinfo{LWR@newhtmlfile: about to LWR@orignewpage}
\LWR@orignewpage
-
+% \end{macrocode}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
\addtocounter{LWR@htmlfilenumber}{1}%
+\addtocounter{LWR@htmlseqfilenumber}{1}%
% \end{macrocode}
%
%
@@ -23221,23 +23895,25 @@ end -- not --version
% \end{macrocode}
% If the filename is not unique, create an error.
% \begin{macrocode}
- \PackageError{lwarp}
+ \PackageError{lwarp}%
{%
- Section name\MessageBreak
+ The section name:\MessageBreak
``#1'',\MessageBreak
at the line number listed below,\MessageBreak
generates the filename\MessageBreak
``\LWR@thisfilename'',\MessageBreak
- which appears to be a duplicate.\MessageBreak
- There is a previous section with an\MessageBreak
- identical or similar name%
- }
+ which appears to be a duplicate. There is a\MessageBreak
+ previous section with an identical or similar name.\MessageBreak
+ While generating file names, Lwarp sanitizes math,\MessageBreak
+ most symbols, and a few common short words,\MessageBreak
+ and this may cause a conflict.\MessageBreak
+ Enter 'H' for possible solutions%
+ }%
{%
- Lwarp sanitizes most symbols and a few common short words
- when generating file names, and this may cause a conflict.
- }
- }
-}
+ \LWR@avoiddupfilenames%
+ }%
+ }%
+}%
% \end{macrocode}
% If using file numbers instead of names, the name is set to the next file number.
% \begin{macrocode}
@@ -23278,7 +23954,7 @@ end -- not --version
% \end{macrocode}
%
-% Track the page numbers:
+% Track the \PDF\ page numbers of the \HTML\ output:
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \begin{macrocode}
\setcounter{LWR@latestautopage}{\value{page}}%
@@ -23332,10 +24008,17 @@ end -- not --version
%
% Start of the \element{textbody}:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
\LWR@htmlelementclass{div}{bodycontainer}
\LWR@htmlelementclass{section}{textbody}
-
+% \end{macrocode}
+%
+% Not yet found a new section in this file.
+% Once one is found, a label will be placed for
+% previous/next links.
+% \begin{macrocode}
+\boolfalse{LWR@setseqfilelabel}
% \end{macrocode}
%
%
@@ -23396,18 +24079,24 @@ end -- not --version
% \prog{pdflatex} to generate characters and \prog{pdftotext} to read them.
% If extra symbols appear in the text,
% \trouble[accents in filenames]{filename>accents}
+% \trouble{accents>file names}
% \trouble{sectioning>accents}
% \gindex{filename>accent in}
% \gindex{accents>in section \& file names}
% it may be that \prog{pdflatex} is actually producing a symbol over or under a
% character, resulting in \prog{pdftotext} picking up the accent symbol separately.
%
-% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names.
+% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names,
% \gindex{accents>in section \& file names}
% \gindex{Unicode>file \& section names}
% \gindex{UTF-8>file \& section names}
% \gindex{Xe\LaTeX>file \& section names}
% \gindex{Lua\LaTeX>file \& section names}
+% but it may be necessary to use \LaTeX\ accents instead of
+% native Unicode accents. \LaTeX\ accents will have the accents stripped
+% when creating file names, whereas using Unicode accents will create filenames
+% which include accents, which may cause issues with some operating systems.
+%
%
%
% \codehtml
@@ -23541,6 +24230,10 @@ end -- not --version
% \begin{macro}{\LWR@createautosec} \marg{section type}
%
% Create an autosection tag.
+%
+% The use of \cs{textquotedbl} instead of |"| provides improved
+% compatibility with \pkg{xeCJK}.
+%
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \begin{macrocode}
@@ -23689,6 +24382,13 @@ end -- not --version
\IfValueTF{#2}%
{\LWR@traceinfo{LWR@section: starting #4 #2}}%
{\LWR@traceinfo{LWR@section: starting #4 #3}}%
+% \end{macrocode}
+% Warn if starting a section inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{section}%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@maybeprintpendingfootnotes{\csuse{LWR@depth#4}}%
\LWR@stoppars%
\LWR@startnewdepth{#4}%
@@ -23913,7 +24613,7 @@ end -- not --version
{}%
\LWR@traceinfo{LWR@section: finished print section number}%
}{}%
-}% end of not starred
+}% not starred
% \end{macrocode}
% Print the section name:
% \begin{macrocode}
@@ -23927,7 +24627,11 @@ end -- not --version
\LWR@htmltag{\@nameuse{LWR@tag#4end}}%
\LWR@orignewline%
% \end{macrocode}
-% Generate a \LaTeX{} label:
+%
+% Generate a \LaTeX{} label.
+%
+% Track the \PDF\ page numbers of the \HTML\ output.
+%
% \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \changes{v0.66}{2019/01/28}{Fix: \TOC, \LOF, \LOT\ links.}
@@ -23937,6 +24641,18 @@ end -- not --version
\setcounter{LWR@latestautopage}{\value{page}}%
\LWR@newautopagelabel{LWR@currentautosec}\LWR@orignewline%
% \end{macrocode}
+%
+% If this is the first section found in this file,
+% create a label for prevous/next links:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\ifbool{LWR@setseqfilelabel}{}{%
+ \label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ \booltrue{LWR@setseqfilelabel}%
+}%
+% \end{macrocode}
+%
+%
% Start paragraph handing unless is an inline paragraph or subparagraph:
% \begin{macrocode}
\ifthenelse{%
@@ -24190,7 +24906,7 @@ end -- not --version
\newcommand*{\LWR@currentHTMLLanguage}{en-US}
\newcommand*{\HTMLLanguage}[1]{%
-\renewcommand*{\LWR@currentHTMLLanguage}{#1}%
+ \renewcommand*{\LWR@currentHTMLLanguage}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -24203,18 +24919,19 @@ end -- not --version
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
% \changes{v0.62}{2018/11/02}{Refactored.}
% \changes{v0.64}{2018/12/07}{Added \pkg{utarticle} and related.}
+% \changes{v0.84}{2020/04/21}{Improved spacing for \pkg{xeCJK}.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
}{%
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
}%
\else%
\ifpTeX
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
\else
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
\fi%
\fi%
% \end{macrocode}
@@ -24280,7 +24997,7 @@ end -- not --version
% \end{macrocode}
-% \begin{macro}{\LWR@filestart} \oarg{sectionname} \qquad
+% \begin{macro}{\LWR@filestart} \oarg{section name} \qquad
% Creates the opening \HTML\ tags.
% \changes{v0.19}{2016/05/25}{lwarp\_mathjax.txt loaded.}
% \changes{v0.20}{2016/06/27}{Adds meta description.}
@@ -24291,30 +25008,53 @@ end -- not --version
\newcommand*{\LWR@filestart}[1][]{%
\LWR@traceinfo{LWR@filestart !#1!}%
% \end{macrocode}
+%
% Locally temporarily disable direct-formatting commands:
% \begin{macrocode}
\begingroup%
\LWR@nullfonts%
% \end{macrocode}
+%
% Save the section name for use while creating the
% \HTML\ meta \attribute{title} tag:
% \begin{macrocode}
\edef\theHTMLSection{#1}%
% \end{macrocode}
+%
+% Remove extra material:
+% \changes{v0.84}{2020/04/12}{Improved \HTML\ title.}
+% \begin{macrocode}
+\StrSubstitute{\theHTMLSection}{\protect}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{-----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{---}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{--}}{\detokenize{-}}[\theHTMLSection]
+% \end{macrocode}
+%
+% If starts with a dash, remove the leading dash:
+% \begin{macrocode}
+\IfBeginWith{\theHTMLSection}{\detokenize{-}}{%
+ \StrGobbleLeft{\theHTMLSection}{1}[\theHTMLSection]%
+}{}%
+% \end{macrocode}
+%
% Create the page's \HTML\ header:
% \begin{macrocode}
\LWR@htmltag{!DOCTYPE html}\LWR@orignewline
% \end{macrocode}
+%
% The language is user-adjustable:
% \begin{macrocode}
\LWR@htmltag{%
html lang=\LWR@orig@textquotedbl\LWR@currentHTMLLanguage\LWR@orig@textquotedbl%
}\LWR@orignewline
% \end{macrocode}
+%
% Start of the meta data:
% \begin{macrocode}
\LWR@htmltag{head}\LWR@orignewline
% \end{macrocode}
+%
% Charset is fixed at UTF-8:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24355,6 +25095,7 @@ end -- not --version
}\LWR@orignewline
}%
% \end{macrocode}
+%
% Mobile-friendly viewport:
% \gindex{HTML>meta tag>viewport}
% \gindex{viewport>HTML meta tag}
@@ -24366,6 +25107,7 @@ end -- not --version
content=\LWR@orig@textquotedbl{}width=device-width, initial-scale=1.0\LWR@orig@textquotedbl\ /%
}\LWR@orignewline
% \end{macrocode}
+%
% IE patch:
% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
% \begin{macrocode}
@@ -24379,6 +25121,7 @@ end -- not --version
\LWR@htmltag{/script}\LWR@orignewline
\LWR@htmltag{![endif]-\/-}\LWR@orignewline
% \end{macrocode}
+%
% The page's title, if there is one.
% A section name is also added if given.
% \changes{v0.44}{2017/11/18}{Add \cs{HTMLTitle}.}
@@ -24394,6 +25137,7 @@ end -- not --version
\LWR@htmltag{/title}\LWR@orignewline%
}%
% \end{macrocode}
+%
% The page's stylesheet:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24404,6 +25148,7 @@ end -- not --version
}%
\LWR@orignewline
% \end{macrocode}
+%
% Optional \brand{MathJax} support. The \HTML\ tags must be turned off
% during the verbatim input, and the paragraph handling which was
% turned on at the end of verbatim input must be immediately turned off
@@ -24429,10 +25174,12 @@ end -- not --version
}% end of mathjax
{}%
% \end{macrocode}
+%
% End of the header:
% \begin{macrocode}
\LWR@htmltag{/head}\LWR@orignewline
% \end{macrocode}
+%
% Start of the body:
% \begin{macrocode}
\LWR@htmltag{body}\LWR@orignewline
@@ -24591,6 +25338,13 @@ end -- not --version
\LWR@htmlelementclass{section}{textbody}
% \end{macrocode}
%
+% Create a label for previous/next links, and remember it has been done:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\booltrue{LWR@setseqfilelabel}%
+\label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}
+% \end{macrocode}
+%
% Patch the |itemize|, |enumerate|, and |description| environments and \cs{item}.
% This works with the native \LaTeX\ environments, as well as
% those provided by \pkg{enumitem}, \pkg{enumerate}, and \pkg{paralist}.
@@ -24691,7 +25445,9 @@ end -- not --version
% Close the textbody:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
+\label{\BaseJobname-autofile-last}
\LWR@htmlelementclassend{section}{textbody}
\LWR@htmlelementclassend{div}{bodycontainer}
\LWR@htmlelementclassend{div}{bodyandsidetoc}
@@ -24701,17 +25457,10 @@ end -- not --version
\LWR@printpendingfootnotes
% \end{macrocode}
%
-% Create the footer:
-%
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% Create the footer if not \EPUB\:
+% \changes{v0.84}{2020/04/24}{Fix: No footer for \EPUB}
% \begin{macrocode}
-\ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
% No bottom navigation if are finishing the home page,
@@ -24744,7 +25493,7 @@ end -- not --version
% \begin{macro}{\enddocument}
% If labels have not changed, mark successful completion
-% of the \env{lateximages} file.
+% of the \filenm{lateximages.txt} file.
% Executed as everything is being shut down.
% \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.}
% \begin{macrocode}
@@ -24767,13 +25516,15 @@ end -- not --version
}
{}
{
- \PackageWarningNoLine{lwarp}
- {%
- Could not patch \protect\enddocument.\MessageBreak
- If labels have changed, be sure to recompile before\MessageBreak
- creating lateximages with\MessageBreak
- \space\space lwarpmk limages,\MessageBreak
- or the images may be corrupt%
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}
+ {%
+ Could not patch \protect\enddocument.\MessageBreak
+ If labels have changed, be sure to recompile before\MessageBreak
+ creating lateximages with\MessageBreak
+ \space\space lwarpmk limages,\MessageBreak
+ or the images may be corrupt%
+ }
}
}
% \end{macrocode}
@@ -25010,24 +25761,27 @@ end -- not --version
%
% \subsection{Printing the thanks}
%
-% \codeall
-% \begin{macrocode}
-\begin{warpall}
-% \end{macrocode}
-% \DescribeMacro{\printthanks} Forces the \cs{thanks} to be printed.
-%
+% \begin{macro}{\printthanks} Forces the \cs{thanks} to be printed.
% This is necessary in a \env{titlingpage} environment
% when \cs{maketitle} was not used.
-% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
-% \begin{macrocode}
-\newcommand*{\printthanks}{\LWR@stoppars\@thanks\LWR@startpars}
-% \end{macrocode}
%
+% \changes{v0.84}{2020/03/29}{Fix: \cs{printthanks} in print mode.}
%
+% \codeprint
% \begin{macrocode}
-\end{warpall}
+\begin{warpprint}
+\newcommand*{\printthanks}{\@thanks}
+\end{warpprint}
% \end{macrocode}
+% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+\newcommand*{\printthanks}{\LWR@stoppars\@thanks\LWR@startpars}
+\end{warpHTML}
+% \end{macrocode}
+% \end{macro}
% \subsection{Printing the title, etc.\ in \HTML}
@@ -25250,12 +26004,22 @@ end -- not --version
% The original definition used \cs{\textbar} which was not being seen by \prog{pdftotext}.
%
% \changes{v0.34}{2017/08/07}{Text symbols instead of math.}
+% \changes{v0.84}{2020/04/17}{\cs{LWR@formatted}, fixed double bar.}
%
% \begin{macrocode}
-\def\@fnsymbol#1{\ifcase#1\or *\or \HTMLentity{dagger}\or \HTMLentity{Dagger}\or
- \HTMLentity{sect}\or \HTMLentity{para}\or \text{\HTMLunicode{2016}}\or
- **\or \HTMLentity{dagger}\HTMLentity{dagger} \or
- \HTMLentity{Dagger}\HTMLentity{Dagger} \else\@ctrerr\fi}
+\def\LWR@HTML@@fnsymbol#1{%
+ \ifcase#1\or *\or
+ \HTMLentity{dagger}\or
+ \HTMLentity{Dagger}\or
+ \HTMLentity{sect}\or
+ \HTMLentity{para}\or
+ \HTMLunicode{2016}\or
+ **\or
+ \HTMLentity{dagger}\HTMLentity{dagger} \or
+ \HTMLentity{Dagger}\HTMLentity{Dagger} \else
+ \@ctrerr\fi%
+}
+\LWR@formatted{@fnsymbol}
% \end{macrocode}
% \end{macro}
%
@@ -25450,10 +26214,16 @@ end -- not --version
}%
}% yes titling package
{% no titling package
- \newcommand{\published}[1]{}%
- \newcommand*{\printpublished}{}%
- \newcommand{\subtitle}{}%
- \newcommand*{\printsubtitle}%
+% \end{macrocode}
+% \changes{v0.84}{2020/03/28}{Fixed \cs{subtitle}, \cs{printsubtitle} if no \pkg{titling}.}
+% \changes{v0.84}{2020/03/28}{Added \cs{subtitle}, \cs{published} for \pkg{koma*}.}
+% \begin{macrocode}
+ \def\@published{}%
+ \DeclareDocumentCommand{\published}{m}{\gdef\@published{##1}}%
+ \DeclareDocumentCommand{\printpublished}{}{}%
+ \def\@subtitle{}%
+ \DeclareDocumentCommand{\subtitle}{m}{\gdef\@subtitle{##1}}%
+ \DeclareDocumentCommand{\printsubtitle}{}{}%
}% no titling package
}% \AddSubtitlePublished
% \end{macrocode}
@@ -25493,12 +26263,12 @@ end -- not --version
% \begin{macrocode}
\DeclareDocumentEnvironment{abstract}{O{\abstractname}}
{
-\LWR@forcenewpage
-\BlockClass{abstract}
-\BlockClassSingle{abstracttitle}{#1}
+ \LWR@forcenewpage
+ \BlockClass{abstract}
+ \BlockClassSingle{abstracttitle}{#1}
}
{
-\endBlockClass
+ \endBlockClass
}
% \end{macrocode}
% \end{environment}
@@ -25523,31 +26293,34 @@ end -- not --version
% Ex: |"A quotation." \attribution{\textsc{Author Name}\\\textsl{Book Title}}|
%
% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
+%
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+\newcommand{\attribution}[1]{
+ \begin{flushright}
+ \unskip
+ #1
+ \end{flushright}%
+}
+\end{warpall}
+% \end{macrocode}
+% \end{macro}
%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
-\newcommand{\attribution}[1]{%
+\newcommand{\LWR@HTML@attribution}[1]{%
\LWR@stoppars%
\begin{BlockClass}{attribution}
#1
\end{BlockClass}
\LWR@startpars%
}
+\LWR@formatted{attribution}
\end{warpHTML}
% \end{macrocode}
-% \codeprint
-% \begin{macrocode}
-\begin{warpprint}
-\newcommand{\attribution}[1]{
- \begin{flushright}
- \unskip
- #1
- \end{flushright}%
-}
-\end{warpprint}
-% \end{macrocode}
-% \end{macro}
% \subsection{Quotes, quotations}
@@ -25558,25 +26331,31 @@ end -- not --version
% \end{macrocode}
%
% \begin{environment}{quote}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quote}
+\newenvironment*{LWR@HTML@quote}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quote}
% \end{macrocode}
% \end{environment}
%
-% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
% \begin{environment}{quotation}
+% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quotation}
+\newenvironment*{LWR@HTML@quotation}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quotation}
% \end{macrocode}
% \end{environment}
@@ -25599,8 +26378,9 @@ end -- not --version
%
% \begin{environment}{verse}
% \changes{v0.54}{2018/04/08}{Fix: Line spacing.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment{verse}
+\newenvironment{LWR@HTML@verse}
{\let\\\newline% lwarp
\list{}{\itemsep \z@
\itemindent -1.5em%
@@ -25609,6 +26389,8 @@ end -- not --version
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
+
+\LWR@formattedenv{verse}
% \end{macrocode}
% \end{environment}
%
@@ -25786,15 +26568,16 @@ end -- not --version
%
% Patch \cs{verbatiminput} to add \HTML\ tags:
%
+% \changes{v0.84}{2020/04/16}{Added print mode.}
% \begin{macrocode}
-\let\LWRV@origverbatim@input\verbatim@input
-
-\renewcommand{\verbatim@input}[2]{%
-\ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
-\LWR@atbeginverbatim{2.5}{Verbatim}%
-\LWRV@origverbatim@input{#1}{#2}%
-\LWR@afterendverbatim{1.5}%
+\newcommand{\LWR@HTML@verbatim@input}[2]{%
+ \ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
+ \LWR@atbeginverbatim{2.5}{Verbatim}%
+ \LWR@print@verbatim@input{#1}{#2}%
+ \LWR@afterendverbatim{1.5}%
}
+
+\LWR@formatted{verbatim@input}
% \end{macrocode}
% \end{macro}
@@ -25803,16 +26586,25 @@ end -- not --version
% \begin{environment}{verbatim}
%
% \changes{v0.20}{2016/12/24}{Added.}
+% \changes{v0.84}{2020/04/16}{Added print mode.}
%
% \begin{macrocode}
\AfterEndPreamble{
\LWR@traceinfo{Patching verbatim.}
\AtBeginEnvironment{verbatim}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{2.5}{verbatim}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{2.5}{verbatim}%
+ }%
}
\AfterEndEnvironment{verbatim}{%
- \LWR@afterendverbatim{1}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim{1}%
+ }%
}
}
% \end{macrocode}
@@ -25826,11 +26618,19 @@ end -- not --version
% \changes{v0.42}{2017/10/13}{Added.}
% \changes{v0.52}{2018/03/27}{Fix to allow inside \env{lateximage}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
+% \changes{v0.84}{2020/04/17}{Restore spacing.}
% \begin{macrocode}
\newcommand*{\LWR@HTML@tabbing}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{3}{tabbing}%
-\LWR@print@tabbing%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{3}{tabbing}%
+ \let\enskip\LWR@origenskip%
+ \let\quad\LWR@origquad%
+ \let\qquad\LWR@origqquad%
+ \let~\LWR@origtilde%
+ \let\,\LWR@origcomma%
+ \let\thinspace\LWR@origthinspace%
+ \let\negthinspace\LWR@orignegthinspace%
+ \LWR@print@tabbing%
}
\newcommand*{\LWR@HTML@endtabbing}{%
@@ -26325,22 +27125,22 @@ end -- not --version
% \begin{macro}{\LWR@restoreoriglists} Restores the original \env{trivlist} environment.
% \begin{macrocode}
\newcommand*{\LWR@restoreoriglists}{%
-\LWR@traceinfo{LWR@restoreoriglists}%
-\LetLtxMacro\item\LWR@origitem%
-\LetLtxMacro\@item\LWR@orig@item%
-\let\@trivlist\LWR@orig@trivlist%
-\let\trivlist\LWR@origtrivlist%
-\let\endtrivlist\LWR@origendtrivlist%
-\LetLtxMacro\itemize\LWR@origitemize%
-\LetLtxMacro\enditemize\LWR@endorigitemize%
-\LetLtxMacro\enumerate\LWR@origenumerate%
-\LetLtxMacro\endenumerate\LWR@endorigenumerate%
-\LetLtxMacro\description\LWR@origdescription%
-\LetLtxMacro\enddescription\LWR@endorigdescription%
-\let\@mklab\LWR@orig@mklab%
-\let\makelabel\LWR@origmakelabel%
-\let\@donoparitem\LWR@orig@donoparitem%
-\let\@nbitem\LWR@orig@nbitem%
+ \LWR@traceinfo{LWR@restoreoriglists}%
+ \LetLtxMacro\item\LWR@origitem%
+ \LetLtxMacro\@item\LWR@orig@item%
+ \let\@trivlist\LWR@orig@trivlist%
+ \let\trivlist\LWR@origtrivlist%
+ \let\endtrivlist\LWR@origendtrivlist%
+ \LetLtxMacro\itemize\LWR@origitemize%
+ \LetLtxMacro\enditemize\LWR@endorigitemize%
+ \LetLtxMacro\enumerate\LWR@origenumerate%
+ \LetLtxMacro\endenumerate\LWR@endorigenumerate%
+ \LetLtxMacro\description\LWR@origdescription%
+ \LetLtxMacro\enddescription\LWR@endorigdescription%
+ \let\@mklab\LWR@orig@mklab%
+ \let\makelabel\LWR@origmakelabel%
+ \let\@donoparitem\LWR@orig@donoparitem%
+ \let\@nbitem\LWR@orig@nbitem%
}
% \end{macrocode}
% \end{macro}
@@ -26726,7 +27526,7 @@ end -- not --version
% \subsubsection{Longtable variables}
% \DescribeBoolean{LWR@starredlongtable}
-% Per the \pkg{caption} pacakge, step the counter if |longtable*|.
+% Per the \pkg{caption} package, step the counter if |longtable*|.
%
% \begin{macrocode}
\newbool{LWR@starredlongtable}
@@ -28385,15 +29185,6 @@ end -- not --version
-% Used to compute margins, tabular trims, column offsets:
-% \begin{macrocode}
-\newlength{\LWR@templengthone}
-\newlength{\LWR@templengthtwo}
-\newlength{\LWR@templengththree}
-\newcounter{LWR@tempcountone}
-% \end{macrocode}
-
-
% \begin{macro}{\LWR@tdstartstyles}
% Begins possibly adding a table data cell style.
% \begin{macrocode}
@@ -29147,20 +29938,11 @@ end -- not --version
%
% \begin{macrocode}
\IfValueT{#2}{ % rows?
- rowspan="#2" %
-% \end{macrocode}
-%
-% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
-% \begin{macrocode}
- \IfValueT{#1}{% vpos?
- \ifstrequal{#1}{b}%
- {style="\LWR@print@mbox{vertical-align:bottom}" }{}%
- \ifstrequal{#1}{t}%
- {style="\LWR@print@mbox{vertical-align:top}" }{}%
- }% vpos?
- }% rows?
+ rowspan="#2" %
+ }%
% \end{macrocode}
%
+% \changes{v0.84}{2020/04/16}{Fix: Multicolumn style.}
% \begin{macrocode}
class="td%
% \end{macrocode}
@@ -29213,10 +29995,30 @@ end -- not --version
% \begin{macrocode}
\LWR@tdstartstyles%
% \end{macrocode}
+%
+% Style for vertical position:
+% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \begin{macrocode}
+ \IfValueT{#1}{% vpos?
+ \ifstrequal{#1}{b}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:bottom}%
+ }{}%
+ \ifstrequal{#1}{t}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:top}%
+ }{}%
+ }% vpos?
+% \end{macrocode}
+%
+% Style for row colors:
% \changes{v0.49}{2018/02/18}{\pkg{xcolor}: Added tabular row colors.}
% \begin{macrocode}
\LWR@addtabularrowcolor%
% \end{macrocode}
+% Other styles:
% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -30073,16 +30875,7 @@ end -- not --version
% a warning is issued here instructing the user to please isolate the \element{span}
% to print-only.
% \begin{macrocode}
- \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
- \PackageWarning{lwarp}{%
- A tabular is being used inside a span such as\MessageBreak
- a minipage. Some formatting may not be correct\MessageBreak
- in the tabular.\MessageBreak
- It is recommended to use \protect\warpprintonly\space or the\MessageBreak
- warpprint environment to isolate the span to\MessageBreak
- print-only,%
- }
- }{}%
+ \LWR@spanwarnformat{tabular}%
\addtocounter{LWR@tabulardepth}{1}%
% \end{macrocode}
% Not yet started a table row:
@@ -30431,6 +31224,8 @@ end -- not --version
% \begin{description}
% \item [\cs{label}:] Adds \HTML\ tags (\cref{sec:labels}),
% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}).
+% If \pkg{memoir} is used, its \cs{@mem@old@label} points to \pkg{lwarp}'s version,
+% and \pkg{cleveref} patches.
% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@<label>@lwarp}.
% \item [\cs{r@<label>@lwarp}:] Set to |{{section_name}{file_name}{depth}{number}}|:
% \begin{description}
@@ -30497,8 +31292,9 @@ end -- not --version
% description, or caption, for \cs{nameref}.
%
% \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
+% \changes{v0.84}{2020/04/24}{Default name for previous/next links.}
% \begin{macrocode}
-\providecommand*{\@currentlabelname}{}
+\def\@currentlabelname{\linkhomename}%
% \end{macrocode}
% \end{macro}
%
@@ -30614,12 +31410,12 @@ end -- not --version
% \end{macro}
%
%
-% \begin{macro}{\LWR@lwarplabel} \marg{label}
+% \begin{macro}{\LWR@write@lwarplabel} \marg{label}
% Sanitize the name and then creates the label:
% \changes{v0.66}{2019/01/27}{No longer use \pkg{zref}.}
% \begin{macrocode}
-\newcommand*{\LWR@lwarplabel}[1]{%
- \LWR@traceinfo{LWR@lwarplabel !#1!}%
+\newcommand*{\LWR@write@lwarplabel}[1]{%
+ \LWR@traceinfo{LWR@write@lwarplabel !#1!}%
\LWR@setlatestname{\@currentlabelname}%
\@bsphack%
\protected@write\@auxout{}%
@@ -30647,14 +31443,16 @@ end -- not --version
% \label{sec:labels}
-% \begin{macro}{\LWR@sublabel} \marg{label} \quad
+% \begin{macro}{\LWR@label@createtag} \marg{label} \quad
% Creates an \HTML\ id tag.
%
+% Used by \cs{LWR@new@label} and \cs{hyperdef}.
+%
% \cs{detokenize} is used to allow underscores in the labels.
% \changes{v0.45}{2017/12/29}{Fix: Labels with underscores.}
% \begin{macrocode}
-\newcommand*{\LWR@sublabel}[1]{%
- \LWR@traceinfo{LWR@sublabel !#1!}%
+\newcommand*{\LWR@label@createtag}[1]{%
+ \LWR@traceinfo{LWR@label@createtag !#1!}%
% \end{macrocode}
% Create an \HTML\ id tag unless are inside a lateximage,
% since it would appear in the image:
@@ -30692,30 +31490,30 @@ end -- not --version
% \end{macro}
%
%
-% \begin{macro}{\LWR@new@label} \parg{bookmark} \marg{label} \oarg{type}
+% \begin{macro}{\LWR@new@label} \marg{label}
%
% \cs{label} during \HTML\ output when not in \SVG\ math mode,
% removing extra spaces around the label, as done by a regular \LaTeX\ \cs{label}.
%
% The is also used during a \env{lateximage}, including \SVG\ math, since
-% the special label handling is required, but \cs{LWR@sublabel} does not
+% the special label handling is required, but \cs{LWR@label@createtag} does not
% generate \HTML\ tags inside a \env{lateximage}.
%
-% \pkg{clevereref} later encases this to add its own cross-referencing.
+% If \pkg{memoir} is used, it's \cs{@mem@old@label} is pointed here.
%
-% The optional \meta{bookmark} is per the \pkg{memoir} class, and is ignored.
-%
-% The optional \meta{type} is per the \pkg{ntheorem} package, and is ignored.
+% \pkg{clevereref} later encases this to add its own cross-referencing,
+% and also patches \pkg{memoir}.
%
+% \changes{v0.84}{2020/04/05}{Removed optional args.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR@new@label}{d() m o}{%
+\NewDocumentCommand{\LWR@new@label}{m}{%
\LWR@traceinfo{LWR@new@label: starting}%
- \LWR@traceinfo{LWR@new@label: !#2!}%
+ \LWR@traceinfo{LWR@new@label: !#1!}%
% \@bsphack%
% \end{macrocode}
% Create a traditional \LaTeX\ label, as modified by \pkg{cleveref}:
% \begin{macrocode}
- \LWR@orig@label{#2}%
+ \LWR@orig@label{#1}%
% \end{macrocode}
% Create a special label which holds the section number,
% |LWR@htmlfilenumber|, |LWR@lateximagedepth|, and |LWR@lateximagenumber|:
@@ -30730,8 +31528,8 @@ end -- not --version
\LWR@traceinfo{%
LWR@new@label: LWR@htmlfilenumber is \arabic{LWR@htmlfilenumber}%
}%
- \LWR@lwarplabel{#2}%
- \LWR@sublabel{#2}%
+ \LWR@write@lwarplabel{#1}%
+ \LWR@label@createtag{#1}%
% \@esphack%
\LWR@traceinfo{LWR@new@label: done}%
}
@@ -30957,13 +31755,10 @@ end -- not --version
% Emulates \pkg{hyperref}:
% \begin{macro}{\@currentHref} Added to support \pkg{backref}.
% \changes{v0.45}{2018/01/14}{Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
% \begin{macrocode}
\AtBeginDocument{
-
-\def\@currentHref{%
- autopage-\theLWR@currentautosec%
-}
-
+ \def\@currentHref{\BaseJobname-autopage-\theLWR@currentautosec}
}
% \end{macrocode}
% \end{macro}
@@ -31225,11 +32020,10 @@ end -- not --version
% \hrule
% \end{table}
%
-% \cs{@makecaption} is redefined to print the float number and caption text,
-% separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
-% adjust the caption separator according to the language. French, for example,
-% uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
-
+% ^^A \cs{@makecaption} is redefined to print the float number and caption text,
+% ^^A separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
+% ^^A adjust the caption separator according to the language. French, for example,
+% ^^A uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
% \subsection{Float environment}
@@ -31244,6 +32038,13 @@ end -- not --version
%
% \begin{macrocode}
\NewDocumentCommand{\LWR@floatbegin}{m o}{%
+% \end{macrocode}
+% Warn if starting a float inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{float}%
+% \end{macrocode}
+% \begin{macrocode}
\ifbool{FormatWP}{\newline}{}%
\LWR@stoppars%
% \end{macrocode}
@@ -31281,7 +32082,6 @@ end -- not --version
% Update the caption type:
% \begin{macrocode}
\renewcommand*{\@captype}{#1}%
- \caption@settype{#1}%
% \end{macrocode}
% Mark the float for a word processor conversion:
% \begin{macrocode}
@@ -31292,11 +32092,9 @@ end -- not --version
}{}%
% \end{macrocode}
-% Look for \cs{centering}, etc:
-% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
-% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% After each \cs{LWR@floatbegin}, look for \cs{centering}, etc next,
+% using \cs{LWR@floatalignment}.
% \begin{macrocode}
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
}
% \end{macrocode}
% \end{macro}
@@ -31319,11 +32117,25 @@ end -- not --version
%
%
%
-% \begin{macro}{\@float}
-% \begin{macro}{\@dlbfloat} Support packages which create floats directly.
+% \begin{macro}{\@xfloat}
+% \begin{macro}{\@xdlbfloat} Support packages which create floats directly.
+%
+% Look for \cs{centering}, etc using \cs{LWR@floatalignment}.
+%
+% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
+% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\@float\LWR@floatbegin
-\let\@dblfloat\LWR@floatbegin
+\AtBeginDocument{
+ \def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+ \def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31365,9 +32177,12 @@ end -- not --version
%
% \begin{macro}{\end@float}
% \begin{macro}{\end@dlbfloat} Support packages which create floats directly.
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\end@float\LWR@floatend
-\let\end@dblfloat\LWR@floatend
+\AtBeginDocument{
+ \let\end@float\LWR@floatend
+ \let\end@dblfloat\LWR@floatend
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31402,11 +32217,14 @@ end -- not --version
% \begin{macro}{\LWR@forcenewautoidanchor}
% Adds a new \element{autoid} anchor.
% \changes{v0.79}{2019/12/09}{Factored.}
+% \changes{v0.84}{2020/04/16}{\element{par} handling.}
% \begin{macrocode}
\newcommand*{\LWR@forcenewautoidanchor}{%
\addtocounter{LWR@thisautoid}{1}%
+ \LWR@stoppars%
\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}%
\LWR@htmltag{/a}%
+ \LWR@startpars%
}
% \end{macrocode}
% \end{macro}
@@ -31479,34 +32297,66 @@ end -- not --version
% \subsection{Caption inside a float environment}
-% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text.
+% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text,
+% if not defined by the user.
+% In most cases, \pkg{caption}'s settings are used instead.
% \changes{v0.13}{2016/03/23}{Fix for newer babel package.}
% \begin{macrocode}
\AtBeginDocument{\providecommand*{\CaptionSeparator}{:~}}
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\@caption} \marg{posn} \oarg{name} \marg{long name}
% \begin{macro}{\@makecaption} \marg{name and num} \marg{text}
%
% Prints the float type and number, the caption separator, and the caption text.
+%
+% \cs{@caption} is provided here in case \pkg{caption} is not loaded, and
+% is based on the \pkg{nameref} package.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{\renewcommand{\@makecaption}[2]{%
- \LWR@traceinfo{@makecaption}%
- \LWR@isolate{#1}\CaptionSeparator\LWR@isolate{#2}%
- \LWR@traceinfo{@makecaption: done}%
-}%
+\AtBeginDocument{
+ \@ifpackageloaded{caption}{}{
+ \let\LWR@orig@caption\@caption%
+ \long\def\@caption#1[#2]{%
+% \end{macrocode}
+% Warn if using a caption inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarnformat{caption}%
+% \end{macrocode}
+% \begin{macrocode}
+ \LWR@setlatestname{#2}%
+ \LWR@orig@caption{#1}[{#2}]% also takes third argument
+ }%
+
+ \renewcommand{\@makecaption}[2]{%
+ \LWR@traceinfo{@makecaption}%
+ \caption@begin{\@captype}%
+ \LWR@isolate{#1}%
+ \edef\LWR@tempone{#1}%
+ \ifdefvoid{\LWR@tempone}{}{\CaptionSeparator}%
+ \LWR@isolate{#2}%
+ \caption@end%
+ \LWR@traceinfo{@makecaption: done}%
+ }%
+ }
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
% \subsection{Caption and \LOF\ linking and tracking}
% When a new \HTML\ file is marked in the \LaTeX\ \PDF\ file,
+% or at the start of a new section,
% the \LaTeX\ page number at that point is stored in |LWR@latestautopage|,
% (and the associated filename is remembered by the special \LaTeX\ labels).
% This page number is used to generate an |autopage| \HTML\ \element{id}
-% in the \HTML\ output at the start of the new \HTML\ file.
+% in the \HTML\ output at the start of the new \HTML\ file or section.
% Meanwhile, there is a float counter used to generate an \HTML\ |autoid|
% \element{id} at the start of the float itself in the \HTML\ file.
% The |autopage| and |autoid| values to use for each float are written to the
@@ -31541,8 +32391,10 @@ end -- not --version
% \end{macrocode}
% \end{macro}
+
% \DescribeCounter{LWR@latestautopage}
-% Updated each time a new \HTML\ file is begun.
+% The \HTML\ output's \PDF\ page number at the start of a new \HTML\ file or section.
+%
% \cs{LWRsetnextfloat} is written with this and the |autoid|
% by the modified \cs{addcontentsline} just before each float's entry.
% \begin{macrocode}
@@ -31579,7 +32431,7 @@ end -- not --version
%
% Low-level code to create \HTML\ tags for captions.
%
-% The print versions are from the \pkg{caption} package.
+% The print versions are from the \pkg{caption} package, if loaded.
%
% \changes{v0.47}{2018/01/28}{Fix: Argument passed to \cs{LWR@origcaption@begin}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
@@ -31632,10 +32484,17 @@ end -- not --version
% These are assigned \cs{AtBeginDocument} so that other packages
% which modify captions will have already been loaded before saving the
% print-mode version.
+%
+% Print versions are provided here in case \pkg{caption} is not loaded.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
\AtBeginDocument{
-\LWR@formatted{caption@begin}
-\LWR@formatted{caption@end}
+ \providecommand{\caption@begin}[1]{}
+ \LWR@formatted{caption@begin}
+
+ \providecommand{\caption@end}{}
+ \LWR@formatted{caption@end}
}
% \end{macrocode}
% \end{macro}
@@ -31646,28 +32505,37 @@ end -- not --version
% Tracks the float number for this caption used outside a float.
% Patched to create an \HTML\ anchor.
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\LWR@origcaptionlistentry\captionlistentry
+\AtBeginDocument{%
+\@ifpackageloaded{caption}{
+ \let\LWR@origcaptionlistentry\captionlistentry
-\renewcommand*{\captionlistentry}{%
- \LWR@ensuredoingapar%
- \LWR@origcaptionlistentry%
-}
+ \renewcommand*{\captionlistentry}{%
+ \LWR@ensuredoingapar%
+ \LWR@origcaptionlistentry%
+ }
% \end{macrocode}
%
% \changes{v0.79}{2019/12/09}{Fix: Duplicate \attribute{auto-id}.}
% \begin{macrocode}
-\def\LWR@LTcaptionlistentry{%
- \LWR@ensuredoingapar%
- \LWR@forcenewautoidanchor%
- \bgroup
- \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
- {\egroup\LWR@LT@captionlistentry}%
-}%
+ \def\LWR@LTcaptionlistentry{%
+ \LWR@ensuredoingapar%
+ \LWR@forcenewautoidanchor%
+ \bgroup%
+ \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
+ {\egroup\LWR@LT@captionlistentry}%
+ }%
-\def\LWR@LT@captionlistentry#1{%
- \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
-}%
+ \def\LWR@LT@captionlistentry#1{%
+ \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
+ }%
+}% caption loaded
+{% caption not loaded
+ \newcommand{\captionlistentry}[2][]{}%
+ \newcommand{\LWR@LT@captionlistentry}[2][]{}%
+}
+}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31715,16 +32583,17 @@ end -- not --version
%
% \begin{macro}{\captionof}
% Patched to handle paragraph tags.
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{
-
-\let\LWR@origcaptionof\captionof
+\RequirePackage{capt-of}
-\renewcommand*{\captionof}{%
- \LWR@stoppars%
- \LWR@origcaptionof%
-}
+\AtBeginDocument{
+ \let\LWR@origcaptionof\captionof
+ \renewcommand*{\captionof}{%
+ \LWR@stoppars%
+ \LWR@origcaptionof%
+ }
}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -32010,7 +32879,7 @@ end -- not --version
\newcounter{SideTOCDepth}
\setcounter{SideTOCDepth}{1}
-\AtBeginDocument{%
+\AtEndDocument{%
\ifnumcomp{\value{SideTOCDepth}}{<}{\value{FileDepth}}{
\PackageWarningNoLine{lwarp}
{%
@@ -32123,7 +32992,8 @@ end -- not --version
% \end{macrocode}
% Respond to |tocdepth|:
% \begin{macrocode}
- \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
+ \ifnumcomp{#1}{>}{\value{tocdepth}}%
+ {}%
{%
\LWR@startpars%
% \end{macrocode}
@@ -32148,7 +33018,6 @@ end -- not --version
% \begin{macrocode}
\LWR@stoppars%
}%
- {}%
\LWR@traceinfo{hypertoc done}%
}
% \end{macrocode}
@@ -32186,7 +33055,6 @@ end -- not --version
%
% \begin{macrocode}
\newcommand{\hypertocfloat}[5]{%
- \LWR@startpars%
% \end{macrocode}
% If some float-creation package has not yet defined
% the float type's |lofdepth| counter, etc, define it here:
@@ -32718,10 +33586,6 @@ end -- not --version
\LetLtxMacro\normalfont\LWR@orignormalfont%
\let\sp\LWR@origsp%
\let\sb\LWR@origsb%
- \LetLtxMacro\textsuperscript\LWR@origtextsuperscript%
- \LetLtxMacro\@textsuperscript\LWR@orig@textsuperscript%
- \LetLtxMacro\textsubscript\LWR@origtextsubscript%
- \LetLtxMacro\@textsubscript\LWR@orig@textsubscript%
\LetLtxMacro\underline\LWR@origunderline%
\let~\LWR@origtilde%
\let\enskip\LWR@origenskip%
@@ -32768,11 +33632,229 @@ end -- not --version
% \end{macrocode}
%
%
+% \section{Nullifying filename formatting}
+%
+% The following are used to nullify certain macros and
+% environments while converting section names to file names.
+%
+%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% Also commonly used are \cs{@empty}, \cs{@gobble}, and \cs{@firstofone}.
+%
+% \begin{macrocode}
+\newcommand*{\LWR@dash}{-}
+% \end{macrocode}
%
-% \section{Math}
-% \label{sec:math}
%
+% \begin{macro}{\LWR@nullfonts} Removes formatting during filename operations,
+% file references, and \HTML\ comments.
%
+% \textred{Use only inside a group.}\watchout
+%
+% The following are \emph{not} made robust,
+% since they must be expanded to their nullified versions.
+%
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
+% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
+% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
+% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
+% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
+% \changes{v0.84}{2020/04/11}{Factored out redefinitions.}
+% \changes{v0.84}{2020/04/12}{Fix: Accents.}
+% \begin{macrocode}
+\catcode`\$=\active% redefining $ below
+\catcode`\_=12% redefining \_ below
+\newcommand*{\LWR@nullfonts}{%
+% \end{macrocode}
+% Various built-in symbols.
+% \changes{v0.67}{2019/02/13}{Add'l symbols.}
+% \changes{v0.84}{2020/04/12}{Add'l symbols.}
+% \begin{macrocode}
+ \renewcommand*{\$}{-}%
+ \renewcommand*{\%}{-}%
+ \renewcommand*{\_}{-}%
+ \renewcommand*{\}}{-}%
+ \renewcommand*{\{}{-}%
+ \renewcommand*{\&}{-}% used to be 'and'
+ \renewcommand*{\#}{-}%
+ \renewcommand*{\,}{-}%
+ \renewcommand*{~}{-}%
+%
+% accents:
+ \renewcommand*{\`}[1]{##1}%
+ \renewcommand*{\'}[1]{##1}%
+ \renewcommand*{\^}[1]{##1}%
+ \renewcommand*{\~}[1]{##1}%
+ \renewcommand*{\=}[1]{##1}%
+ \renewcommand*{\u}[1]{##1}%
+ \renewcommand*{\.}[1]{##1}%
+ \renewcommand*{\"}[1]{##1}%
+ \renewcommand*{\H}[1]{##1}%
+ \renewcommand*{\v}[1]{##1}%
+ \renewcommand*{\d}[1]{##1}%
+ \renewcommand*{\c}[1]{##1}%
+ \renewcommand*{\b}[1]{##1}%
+ \renewcommand*{\t}[1]{##1}%
+%
+ \let\newline\LWR@dash%
+ \let\textasciicircum\LWR@dash%
+ \let\textasciitilde\LWR@dash%
+ \let\textasteriskcentered\LWR@dash%
+ \let\textbackslash\LWR@dash%
+ \let\textbar\LWR@dash%
+ \let\textbardbl\LWR@dash%
+ \let\textbigcircle\LWR@dash%
+ \let\textbraceleft\LWR@dash%
+ \let\textbraceright\LWR@dash%
+ \let\textbullet\LWR@dash%
+ \let\textcopyright\LWR@dash%
+ \let\textdagger\LWR@dash%
+ \let\textdaggerdbl\LWR@dash%
+ \let\textdollar\LWR@dash%
+ \let\textellipsis\LWR@dash%
+ \let\textemdash\LWR@dash%
+ \let\textendash\LWR@dash%
+ \let\textexclamdown\LWR@dash%
+ \let\textgreater\LWR@dash%
+ \let\textless\LWR@dash%
+ \let\textordfeminine\LWR@dash%
+ \let\textordmasculine\LWR@dash%
+ \let\textparagraph\LWR@dash%
+ \let\textperiodcentered\LWR@dash%
+ \let\textpertenthousand\LWR@dash%
+ \let\textperthousand\LWR@dash%
+ \let\textquestiondown\LWR@dash%
+ \let\textquotedblleft\LWR@dash%
+ \let\textquotedblright\LWR@dash%
+ \let\textquoteleft\LWR@dash%
+ \let\textquoteright\LWR@dash%
+ \let\textregistered\LWR@dash%
+ \let\textsection\LWR@dash%
+ \let\textsterling\LWR@dash%
+ \let\texttrademark\LWR@dash%
+ \let\textunderscore\LWR@dash%
+ \let\textvisiblespace\LWR@dash%
+ \let\copyright\LWR@dash%
+ \let\dag\LWR@dash%
+ \let\ddag\LWR@dash%
+ \let\dots\LWR@dash%
+ \let\P\LWR@dash%
+ \let\pounds\LWR@dash%
+ \let\S\LWR@dash%
+%
+ \renewcommand*{\aa}{a}%
+ \renewcommand*{\AA}{A}%
+ \renewcommand*{\AE}{AE}%
+ \renewcommand*{\ae}{ae}%
+ \renewcommand*{\dh}{d}%
+ \renewcommand*{\DH}{D}%
+ \renewcommand*{\DJ}{D}%
+ \renewcommand*{\dj}{d}%
+ \renewcommand*{\IJ}{IJ}%
+ \renewcommand*{\ij}{ij}%
+ \renewcommand*{\L}{L}%
+ \renewcommand*{\l}{l}%
+ \renewcommand*{\NG}{NG}%
+ \renewcommand*{\ng}{ng}%
+ \renewcommand*{\O}{O}%
+ \renewcommand*{\o}{o}%
+ \renewcommand*{\oe}{oe}%
+ \renewcommand*{\OE}{OE}%
+ \renewcommand*{\ss}{ss}%
+ \renewcommand*{\SS}{SS}%
+ \renewcommand*{\th}{th}%
+ \renewcommand*{\TH}{TH}%
+%
+ \let\guillemotleft\@empty%
+ \let\guilsinglleft\@empty%
+ \let\quotedblbase\@empty%
+ \let\textquotedbl\@empty%
+ \let\guillemotright\@empty%
+ \let\guilsinglright\@empty%
+ \let\quotesinglbase\@empty%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\HTMLunicode}[1]{}%
+ \renewcommand*{\HTMLentity}[1]{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\textsuperscript}[1]{##1}%
+ \renewcommand{\textsubscript}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
+% \begin{macrocode}
+ \renewcommand{\underline}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
+% \begin{macrocode}
+ \RenewDocumentCommand{\hspace}{s m}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
+ \DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
+% \end{macrocode}
+% Nullify math macros.
+% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
+% \begin{macrocode}
+ \def\(##1\){}%
+ \def\[##1\]{}%
+ \RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
+% \end{macrocode}
+% Nullify logos:
+% \changes{v0.66}{2019/02/01}{Logos.}
+% \begin{macrocode}
+ \renewcommand*{\TeX}{TeX}%
+ \renewcommand*{\LaTeX}{LaTeX}%
+ \renewcommand*{\LaTeXe}{LaTeX2e}%
+ \renewcommand*{\LuaTeX}{LuaTeX}%
+ \renewcommand*{\LuaLaTeX}{LuaLaTeX}%
+ \renewcommand*{\XeTeX}{XeTeX}%
+ \renewcommand*{\XeLaTeX}{XeLaTeX}%
+ \renewcommand*{\ConTeXt}{ConTeXt}%
+ \renewcommand*{\BibTeX}{BibTeX}%
+ \renewcommand*{\MakeIndex}{MakeIndex}%
+ \renewcommand*{\AmS}{AmS}%
+ \renewcommand*{\MiKTeX}{MiKTeX}%
+ \renewcommand*{\LyX}{LyX}%
+% \end{macrocode}
+% Use the simpler form with \cs{texorpdfstring}:
+% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
+% \changes{v0.84}{2020/04/12}{Revised \cs{texorpdfstring}.}
+% \begin{macrocode}
+ \def\texorpdfstring{\expandafter\@secondoftwo}%
+}
+\catcode`\$=3%
+\catcode`\_=8%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\FilenameNullify} \marg{redefinitions}
+%
+% Adds more nullifying definitions for filename generation.
+%
+% \changes{v0.67}{2019/02/13}{Added.}
+% \begin{macrocode}
+\newcommand*{\FilenameNullify}[1]{%
+ \appto{\LWR@nullfonts}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+%
+%
+%
+% \section{Math}
+% \label{sec:math}
%
% \subsection{Limitations}
%
@@ -33605,8 +34687,8 @@ end -- not --version
% Redefine to the above dollar macros.
% \begin{macrocode}
\AtBeginDocument{
-\protected\gdef\(#1\){$#1$}
-\protected\gdef\[#1\]{$$#1$$}
+ \protected\gdef\(#1\){$#1$}
+ \protected\gdef\[#1\]{$$#1$$}
}
\endgroup
@@ -33906,10 +34988,10 @@ end -- not --version
% after redefined by \pkg{amsmath}, if loaded.
% \begin{macrocode}
\AtBeginDocument{
-\let\LWR@origequation\equation
-\let\LWR@origendequation\endequation
-\csletcs{LWR@origequation*}{equation*}
-\csletcs{LWR@origendequation*}{endequation*}
+ \let\LWR@origequation\equation
+ \let\LWR@origendequation\endequation
+ \csletcs{LWR@origequation*}{equation*}
+ \csletcs{LWR@origendequation*}{endequation*}
}
% \end{macrocode}
%
@@ -33956,7 +35038,7 @@ end -- not --version
% SVG output:
% Create the |lateximage| along with an \HTML\ \element{alt} tag
% having an equation number, the \LaTeX{} equation environment
-% commmands, and the contents of the environment's \cs{BODY}.
+% commands, and the contents of the environment's \cs{BODY}.
% \begin{macrocode}
{% not mathjax
% \end{macrocode}
@@ -34085,10 +35167,10 @@ end -- not --version
% Remove existing \env{equation} environment:
% \begin{macrocode}
\AtBeginDocument{
-\let\equation\relax
-\let\endequation\relax
-\csletcs{equation*}{relax}
-\csletcs{endequation*}{relax}
+ \let\equation\relax
+ \let\endequation\relax
+ \csletcs{equation*}{relax}
+ \csletcs{endequation*}{relax}
}
% \end{macrocode}
@@ -34100,14 +35182,12 @@ end -- not --version
% macro called \cs{BODY}.
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation}%
+ {\LWR@doequation{\BODY}{equation}}%
+ [\LWR@doendequation{equation}]
-\NewEnviron{equation}%
- {\LWR@doequation{\BODY}{equation}}%
- [\LWR@doendequation{equation}]
-
-\LetLtxMacro\LWR@equationnormal\equation
-\LetLtxMacro\endLWR@equationnormal\endequation
-
+ \LetLtxMacro\LWR@equationnormal\equation
+ \LetLtxMacro\endLWR@equationnormal\endequation
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34116,14 +35196,12 @@ end -- not --version
% \begin{environment}{equation*}
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation*}%
+ {\LWR@doequation{\BODY}{equation*}}%
+ [\LWR@doendequation{equation*}]
-\NewEnviron{equation*}%
- {\LWR@doequation{\BODY}{equation*}}%
- [\LWR@doendequation{equation*}]
-
-\csletcs{LWR@equationnormalstar}{equation*}
-\csletcs{LWR@endequationnormalstar}{endequation*}
-
+ \csletcs{LWR@equationnormalstar}{equation*}
+ \csletcs{LWR@endequationnormalstar}{endequation*}
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34134,10 +35212,10 @@ end -- not --version
% some \tikz\ expressions.
% \begin{macrocode}
\AtBeginDocument{
-\LetLtxMacro\LWR@equationless\equation
-\LetLtxMacro\endLWR@equationless\endequation
-\csletcs{LWR@equationlessstar}{equation*}
-\csletcs{LWR@endequationlessstar}{endequation*}
+ \LetLtxMacro\LWR@equationless\equation
+ \LetLtxMacro\endLWR@equationless\endequation
+ \csletcs{LWR@equationlessstar}{equation*}
+ \csletcs{LWR@endequationlessstar}{endequation*}
}
% \end{macrocode}
@@ -35128,7 +36206,7 @@ end -- not --version
% \end{macrocode}
% \begin{environment}{lateximage} * \oarg{\element{alt} tag} *
-% \oarg{add'l hashing} \oarg{\CSS\ style}
+% \oarg{add'l hashing} \oarg{\CSS\ style}
%
% \env{varwidth} is used to create a box of the natural width of its contents.
%
@@ -35159,8 +36237,9 @@ end -- not --version
% Replace \env{center} functionality with \CSS\ tags:
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} use explicit \attribute{text-align}.}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{center}
+\newenvironment*{LWR@HTML@center}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35168,14 +36247,17 @@ end -- not --version
{\BlockClass{center}}
}
{\endBlockClass}
+
+\LWR@formattedenv{center}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flushright}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushright}
+\newenvironment*{LWR@HTML@flushright}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35183,13 +36265,16 @@ end -- not --version
{\BlockClass{flushright}}
}
{\endBlockClass}
+
+\LWR@formattedenv{flushright}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flushleft}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushleft}
+\newenvironment*{LWR@HTML@flushleft}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35197,6 +36282,8 @@ end -- not --version
{\BlockClass{flushleft}}
}
{\endBlockClass}
+
+\LWR@formattedenv{flushleft}
% \end{macrocode}
% \end{environment}
@@ -35796,7 +36883,8 @@ end -- not --version
\renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
}{
\ifdefequal{\@@@setcref}{\LWR@orig@@@setcref}{% as of v0.21
- \renewcommand*{\@@@setcref}[2]{#1{\ref{#2}}{}{}}
+ \renewcommand*{\@@@setcref}[2]{%
+ #1{\ref{#2}}{}{}}
}{
\PackageWarning{lwarp-cleveref}{
Unknown version of cleveref.
@@ -35831,7 +36919,6 @@ end -- not --version
}
}
}
-
% \end{macrocode}
% \end{macro}
@@ -35929,11 +37016,11 @@ end -- not --version
% print or \HTML\ output, and thus do not use the \cs{LWR@formatted} system.
%
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\label
-\RenewDocumentCommand{\label}{}{\LWR@new@label}
+\LetLtxMacro\LWR@orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\label\LWR@new@label
\LetLtxMacro\LWR@orig@pageref\pageref
-\RenewDocumentCommand{\pageref}{}{\LWR@new@pageref}
+\LetLtxMacro\pageref\LWR@new@pageref
\end{warpHTML}
% \end{macrocode}
@@ -36721,6 +37808,7 @@ color:\LWR@origpound\LWR@tempcolor%
+
% \section{Direct formatting}
% \label{sec:directformatting}
%
@@ -36753,8 +37841,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{emph}
-
-\newcommand{\LWR@null@emph}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36769,8 +37855,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textmd}
-
-\newcommand{\LWR@null@textmd}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36785,8 +37869,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textbf}
-
-\newcommand{\LWR@null@textbf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36802,8 +37884,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texteb}
-
-\newcommand{\LWR@null@texteb}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36819,8 +37899,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textlg}
-
-\newcommand{\LWR@null@textlg}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36835,8 +37913,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textrm}
-
-\newcommand{\LWR@null@textrm}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36851,8 +37927,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsf}
-
-\newcommand{\LWR@null@textsf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36866,8 +37940,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texttt}
-
-\newcommand{\LWR@null@texttt}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36883,8 +37955,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textup}
-
-\newcommand{\LWR@null@textup}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36898,8 +37968,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textit}
-
-\newcommand{\LWR@null@textit}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36914,8 +37982,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsc}
-
-\newcommand{\LWR@null@textsc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36931,8 +37997,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textulc}
-
-\newcommand{\LWR@null@textulc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36957,8 +38021,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsi}
-
-\newcommand{\LWR@null@textsi}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36972,8 +38034,15 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsl}
+% \end{macrocode}
+% \end{macro}
+
-\newcommand{\LWR@null@textsl}[1]{#1}
+% \begin{macro}{\textssc} \marg{text}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
+\LWR@formatted{textssc}
% \end{macrocode}
% \end{macro}
@@ -36983,242 +38052,33 @@ color:\LWR@origpound\LWR@tempcolor%
\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
\LWR@formatted{textnormal}
-
-\newcommand{\LWR@null@textnormal}[1]{#1}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macrocode}
-\newcommand{\LWR@null@rmfamily}{}
-\newcommand{\LWR@null@sffamily}{}
-\newcommand{\LWR@null@ttfamily}{}
-\newcommand{\LWR@null@bfseries}{}
-\newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@mdseries}{}
-\newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@slshape}{}
-\newcommand{\LWR@null@scshape}{}
-\newcommand{\LWR@null@itshape}{}
-\newcommand{\LWR@null@normalfont}{}
-% \end{macrocode}
-%
-% \changes{v0.62}{2018/11/17}{Fix for \cs{em}.}
-% \begin{macrocode}
-\newcommand{\LWR@null@em}{}
-% \end{macrocode}
-
-
-% \begin{macro}{\LWR@nullfonts} Removes formatting during filename operations,
-% file references, and \HTML\ comments.
-%
-% \textred{Use only inside a group.}\watchout
-%
-% The following are \emph{not} made robust,
-% since they must be expanded to their nullified versions.
-%
-% \changes{v0.34}{2017/08/05}{Improved font control.}
-% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
-% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
-% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
-% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
-% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
-% \begin{macrocode}
-\catcode`\$=\active% redefining $ below
-\catcode`\_=12% redefining \_ below
-\newcommand*{\LWR@nullfonts}{%
-\LetLtxMacro\emph\LWR@null@emph%
-\LetLtxMacro\textmd\LWR@null@textmd%
-\LetLtxMacro\textbf\LWR@null@textbf%
-\LetLtxMacro\textrm\LWR@null@textrm%
-\LetLtxMacro\textsf\LWR@null@textsf%
-\LetLtxMacro\texttt\LWR@null@texttt%
-\LetLtxMacro\textup\LWR@null@textup%
-\LetLtxMacro\textit\LWR@null@textit%
-\LetLtxMacro\textsc\LWR@null@textsc%
-\LetLtxMacro\textulc\LWR@null@textulc%
-\LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textsl\LWR@null@textsl%
-\LetLtxMacro\textnormal\LWR@null@textnormal%
-\LetLtxMacro\rmfamily\LWR@null@rmfamily%
-\LetLtxMacro\sffamily\LWR@null@sffamily%
-\LetLtxMacro\ttfamily\LWR@null@ttfamily%
-\LetLtxMacro\bfseries\LWR@null@bfseries%
-\LetLtxMacro\mdseries\LWR@null@mdseries%
-\LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\slshape\LWR@null@slshape%
-\LetLtxMacro\scshape\LWR@null@scshape%
-\LetLtxMacro\ulcshape\LWR@null@ulcshape%
-% \end{macrocode}
-% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
-% \begin{macrocode}
-\LetLtxMacro\sishape\LWR@null@sishape%
-% \end{macrocode}
% \begin{macrocode}
-\LetLtxMacro\itshape\LWR@null@itshape%
-\LetLtxMacro\normalfont\LWR@null@normalfont%
-\LetLtxMacro\em\LWR@null@em%
-% \end{macrocode}
-% Various built-in symbols.
-% \changes{v0.67}{2019/02/13}{Add'l symbols.}
-% \begin{macrocode}
-\renewcommand*{\$}{-}%
-\renewcommand*{\%}{-}%
-\renewcommand*{\_}{-}%
-\renewcommand*{\}}{-}%
-\renewcommand*{\{}{-}%
-\renewcommand*{\&}{and}%
-\renewcommand*{\#}{-}%
-\renewcommand*{\,}{-}%
-\renewcommand*{~}{-}%
-\renewcommand*{\^}[1]{-}%
-\renewcommand*{\~}[1]{-}%
-\renewcommand*{\newline}{-}%
-\renewcommand*{\textasciicircum}{-}%
-\renewcommand*{\textasciitilde}{-}%
-\renewcommand*{\textasteriskcentered}{-}%
-\renewcommand*{\textbackslash}{-}%
-\renewcommand*{\textbar}{-}%
-\renewcommand*{\textbardbl}{-}%
-\renewcommand*{\textbigcircle}{-}%
-\renewcommand*{\textbraceleft}{-}%
-\renewcommand*{\textbraceright}{-}%
-\renewcommand*{\textbullet}{-}%
-\renewcommand*{\textcopyright}{-}%
-\renewcommand*{\textdagger}{-}%
-\renewcommand*{\textdaggerdbl}{-}%
-\renewcommand*{\textdollar}{-}%
-\renewcommand*{\textellipsis}{-}%
-\renewcommand*{\textemdash}{-}%
-\renewcommand*{\textendash}{-}%
-\renewcommand*{\textexclamdown}{-}%
-\renewcommand*{\textgreater}{-}%
-\renewcommand*{\textless}{-}%
-\renewcommand*{\textordfeminine}{-}%
-\renewcommand*{\textordmasculine}{-}%
-\renewcommand*{\textparagraph}{-}%
-\renewcommand*{\textperiodcentered}{-}%
-\renewcommand*{\textpertenthousand}{-}%
-\renewcommand*{\textperthousand}{-}%
-\renewcommand*{\textquestiondown}{-}%
-\renewcommand*{\textquotedblleft}{-}%
-\renewcommand*{\textquotedblright}{-}%
-\renewcommand*{\textquoteleft}{-}%
-\renewcommand*{\textquoteright}{-}%
-\renewcommand*{\textregistered}{-}%
-\renewcommand*{\textsection}{-}%
-\renewcommand*{\textsterling}{-}%
-\renewcommand*{\texttrademark}{-}%
-\renewcommand*{\textunderscore}{-}%
-\renewcommand*{\textvisiblespace}{-}%
-\renewcommand*{\copyright}{-}%
-\renewcommand*{\dag}{-}%
-\renewcommand*{\ddag}{-}%
-\renewcommand*{\dots}{-}%
-\renewcommand*{\P}{-}%
-\renewcommand*{\pounds}{-}%
-\renewcommand*{\S}{-}%
-\renewcommand*{\aa}{a}%
-\renewcommand*{\AA}{A}%
-\renewcommand*{\AE}{AE}%
-\renewcommand*{\ae}{ae}%
-\renewcommand*{\dh}{d}%
-\renewcommand*{\DH}{D}%
-\renewcommand*{\DJ}{D}%
-\renewcommand*{\dj}{d}%
-\renewcommand*{\IJ}{IJ}%
-\renewcommand*{\ij}{ij}%
-\renewcommand*{\L}{L}%
-\renewcommand*{\l}{l}%
-\renewcommand*{\NG}{NG}%
-\renewcommand*{\ng}{ng}%
-\renewcommand*{\O}{O}%
-\renewcommand*{\o}{o}%
-\renewcommand*{\oe}{oe}%
-\renewcommand*{\OE}{OE}%
-\renewcommand*{\ss}{ss}%
-\renewcommand*{\SS}{SS}%
-\renewcommand*{\th}{th}%
-\renewcommand*{\TH}{TH}%
-\renewcommand*{\guillemotleft}{}%
-\renewcommand*{\guilsinglleft}{}%
-\renewcommand*{\quotedblbase}{}%
-\renewcommand*{\textquotedbl}{}%
-\renewcommand*{\guillemotright}{}%
-\renewcommand*{\guilsinglright}{}%
-\renewcommand*{\quotesinglbase}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand*{\HTMLunicode}[1]{}%
-\renewcommand*{\HTMLentity}[1]{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\textsuperscript}[1]{##1}%
-\renewcommand{\textsubscript}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
-% \begin{macrocode}
-\renewcommand{\underline}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
-% \begin{macrocode}
-\RenewDocumentCommand{\hspace}{s m}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
-% \end{macrocode}
-% Nullify math macros.
-% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
-% \begin{macrocode}
-\def\(##1\){}%
-\def\[##1\]{}%
-\RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
-\protected\def$##1${}%
-% \end{macrocode}
-% Nullify logos:
-% \changes{v0.66}{2019/02/01}{Logos.}
-% \begin{macrocode}
-\renewcommand*{\TeX}{TeX}%
-\renewcommand*{\LaTeX}{LaTeX}%
-\renewcommand*{\LaTeXe}{LaTeX2e}%
-\renewcommand*{\LuaTeX}{LuaTeX}%
-\renewcommand*{\LuaLaTeX}{LuaLaTeX}%
-\renewcommand*{\XeTeX}{XeTeX}%
-\renewcommand*{\XeLaTeX}{XeLaTeX}%
-\renewcommand*{\ConTeXt}{ConTeXt}%
-\renewcommand*{\BibTeX}{BibTeX}%
-\renewcommand*{\MakeIndex}{MakeIndex}%
-\renewcommand*{\AmS}{AmS}%
-\renewcommand*{\MiKTeX}{MiKTeX}%
-\renewcommand*{\LyX}{LyX}%
-% \end{macrocode}
-% Use the simpler form with \cs{texorpdfstring}:
-% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
-% \begin{macrocode}
-\let\texorpdfstring\relax%
-\newcommand{\texorpdfstring}[2]{##2}%
+\FilenameNullify{%
+ \LetLtxMacro\emph\@firstofone%
+ \LetLtxMacro\textmd\@firstofone%
+ \LetLtxMacro\textbf\@firstofone%
+ \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textrm\@firstofone%
+ \LetLtxMacro\textsf\@firstofone%
+ \LetLtxMacro\texttt\@firstofone%
+ \LetLtxMacro\textup\@firstofone%
+ \LetLtxMacro\textit\@firstofone%
+ \LetLtxMacro\textsc\@firstofone%
+ \LetLtxMacro\textulc\@firstofone%
+ \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textsl\@firstofone%
+ \LetLtxMacro\textssc\@firstofone%
+ \LetLtxMacro\textnormal\@firstofone%
}
-\catcode`\$=3%
-\catcode`\_=8%
% \end{macrocode}
-% \end{macro}
%
%
-% \begin{macro}{\FilenameNullify} \marg{redefinitions}
%
-% Adds more nullifying definitions for filename generation.
-%
-% \changes{v0.67}{2019/02/13}{Added.}
-% \begin{macrocode}
-\newcommand*{\FilenameNullify}[1]{%
- \appto{\LWR@nullfonts}{#1}%
-}
-% \end{macrocode}
-% \end{macro}
%
%
% \changes{v0.48}{2018/02/02}{Improved font control.}
@@ -37346,21 +38206,21 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\upshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@upshape}{\renewcommand*{\LWR@f@shape}{up}}
-\LWR@formatted{upshape}
+\AtBeginDocument{\LWR@formatted{upshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\itshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@itshape}{\renewcommand*{\LWR@f@shape}{it}}
-\LWR@formatted{itshape}
+\AtBeginDocument{\LWR@formatted{itshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\scshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@scshape}{\renewcommand*{\LWR@f@shapecaps}{sc}}
-\LWR@formatted{scshape}
+\AtBeginDocument{\LWR@formatted{scshape}}
% \end{macrocode}
% \end{macro}
@@ -37371,7 +38231,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LetLtxMacro\ulcshape\upshape
}{}
\newrobustcmd*{\LWR@HTML@ulcshape}{\renewcommand*{\LWR@f@shapecaps}{ulc}}
-\LWR@formatted{ulcshape}
+\AtBeginDocument{\LWR@formatted{ulcshape}}
% \end{macrocode}
% \end{macro}
@@ -37385,7 +38245,7 @@ color:\LWR@origpound\LWR@tempcolor%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
-\LWR@formatted{sishape}
+\AtBeginDocument{\LWR@formatted{sishape}}
% \end{macrocode}
% \end{macro}
@@ -37393,7 +38253,15 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.62}{2018/11/11}{Added.}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@slshape}{\renewcommand*{\LWR@f@shape}{sl}}
-\LWR@formatted{slshape}
+\AtBeginDocument{\LWR@formatted{slshape}}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\sscshape}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
+\AtBeginDocument{\LWR@formatted{sscshape}}
% \end{macrocode}
% \end{macro}
@@ -37407,6 +38275,27 @@ color:\LWR@origpound\LWR@tempcolor%
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\rmfamily\@empty%
+ \LetLtxMacro\sffamily\@empty%
+ \LetLtxMacro\ttfamily\@empty%
+ \LetLtxMacro\bfseries\@empty%
+ \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\mdseries\@empty%
+ \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\slshape\@empty%
+ \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\scshape\@empty%
+ \LetLtxMacro\itshape\@empty%
+ \LetLtxMacro\ulcshape\@empty%
+ \LetLtxMacro\sscshape\@empty%
+ \LetLtxMacro\normalfont\@empty%
+}
+% \end{macrocode}
+
+
% \begin{macro}{\sp} \marg{text}
% For \pkg{siunitx}. Must work in math mode.
@@ -37426,33 +38315,37 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\textsuperscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}.}
% \begin{macrocode}
-\renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newrobustcmd{\LWR@HTML@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsuperscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}.}
% \begin{macrocode}
-\renewcommand{\@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newcommand{\LWR@HTML@@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{@textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\textsubscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewrobustcmd{\textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newrobustcmd{\LWR@HTML@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{textsubscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsubscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewcommand{\@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newcommand{\LWR@HTML@@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{@textsubscript}
% \end{macrocode}
% \end{macro}
@@ -37777,7 +38670,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just before \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestartpars}{%
-\ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37786,7 +38679,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just after \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestoppars}{%
-\ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37799,9 +38692,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EM SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\quad}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2003}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2003}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37820,9 +38713,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EN SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\enskip}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2002}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2002}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -38164,11 +39057,12 @@ color:\LWR@origpound\LWR@tempcolor%
% Ignores \cs{ForceHTMLTOC}.
% \changes{v0.55}{2018/04/26}{Fix: \cs{ForceHTMLTOC} with \cs{phantomsection}.}
% \begin{macrocode}
+\newcounter{LWR@phantomsection}
\DeclareDocumentCommand{\phantomsection}{}{%
-\begingroup%
-\boolfalse{LWR@forcinghtmltoc}%
-\section*{}%
-\endgroup%
+ \begingroup%
+ \boolfalse{LWR@forcinghtmltoc}%
+ \section*{}%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -38202,23 +39096,34 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
+% \changes{v0.84}{2020/04/06}{Logos: Only warn about \pkg{graphics} if actually use \cs{Xe}.}
%
% \codeall
% \begin{macrocode}
\begin{warpall}
+\newbool{LWR@warnXe}
+\boolfalse{LWR@warnXe}
+
\newrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+ {%
+ X\hspace{-.1667em}\raisebox{-.5ex}{E}%
+ \global\booltrue{LWR@warnXe}%
+ }
\AtBeginDocument{
-\@ifpackageloaded{graphics}{
- \@ifpackageloaded{metalogo}{}{
- \renewrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
- }
-}{
- \PackageWarningNoLine{lwarp}{Load graphicx or graphics
- for improved XeTeX logo}
+ \@ifpackageloaded{graphics}{
+ \@ifpackageloaded{metalogo}{}{
+ \renewrobustcmd*{\Xe}
+ {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
+ }
+ }{}
}
+
+\AtEndDocument{
+ \ifbool{LWR@warnXe}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+ }{}
}
\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
@@ -38446,7 +39351,19 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
-
+% \section{Loading \pkg{textcomp} patches}
+%
+% \pkg{textcomp} has now been integrated into the \LaTeX\ core,
+% so its patches are loaded now.
+%
+% \codehtml
+%
+% \changes{v0.84}{2020/04/14}{Fixed: \pkg{textcomp} now in kernel.}
+% \begin{macrocode}
+\begin{warpHTML}
+\RequirePackage{lwarp-textcomp}
+\end{warpHTML}
+% \end{macrocode}
% \section{Loading \brand{Koma-script} class patches}
%
@@ -38473,22 +39390,25 @@ color:\LWR@origpound\LWR@tempcolor%
% Load patches to \pkg{memoir}.
%
% \changes{v0.45}{2017/12/03}{\pkg{memoir}: Added.}
+% \changes{v0.84}{2020/03/31}{\pkg{memoir}: Preloads \pkg{xcolor}.}
%
-% \codehtml
+% \codeall
% \begin{macrocode}
-\begin{warpHTML}
+\begin{warpprint}
+\@ifclassloaded{memoir}{\LWR@origRequirePackage{xcolor}}{}
+\end{warpprint}
% \end{macrocode}
-%
+
+% \codehtml
% \begin{macrocode}
+\begin{warpHTML}
\@ifclassloaded{memoir}{\RequirePackage{lwarp-patch-memoir}}{}
-% \end{macrocode}
-%
-% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
+
% \section{\pkg{ut*} class patches}
%
% Load patches to \pkg{uj*} and \pkg{ut*} classes, as well as \pkg{ltj*} classes.
@@ -39050,33 +39970,37 @@ color:\LWR@origpound\LWR@tempcolor%
\InlineClass{abstractrunintitle}{\abstractname}%
\@bslabeldelim}%
}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/28}{\pkg{abstract}: Updated for \pkg{memoir}.}
+% \begin{macrocode}
\@ifclassloaded{memoir}
{
\renewenvironment{abstract}{%
-% \titlepage
- \null\vfil
- \@beginparpenalty\@lowpenalty
+% % \titlepage
+% \null\vfil
+% \@beginparpenalty\@lowpenalty
+ \setup@bstract
\if@bsrunin
\else
- \if@bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
+% \if@bsstyle
+% \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
+% \else
\ifnumber@bs
\num@bs
\else
\begin{\absnamepos}%
\abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname}
- \@endparpenalty\@M
+% \@endparpenalty\@M
\end\absnamepos%
-%% \vspace{\abstitleskip}%
+ \vspace{\abstitleskip}%
\fi
- \fi
- \vspace{\abstitleskip}%
+% \fi
+% \vspace{\abstitleskip}%
\fi
\put@bsintoc%
\begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr@ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr@ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if@titlepage
@@ -39601,8 +40525,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.47}{2018/01/26}{\pkg{adjmulticol}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
\BlockClass[%
-\LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
-\LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
+ \LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
+ \LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
]{\LWR@mcolstype}%
}
{\endBlockClass}
@@ -39885,37 +40809,37 @@ color:\LWR@origpound\LWR@tempcolor%
% and turns off line numbering while creating the \element{div} tags:
% \begin{macrocode}
\renewcommand{\algocf@Vline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Vsline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Noline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
@@ -40024,6 +40948,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \pkg{alltt} is patched for use by \pkg{lwarp}.
%
% \changes{v0.20}{2017/01/11}{\pkg{alltt}: Added.}
+% \changes{v0.84}{2020/04/16}{\pkg{alltt}: Added print mode.}
%
% \codehtml
%
@@ -40035,11 +40960,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\AfterEndPreamble{
\LWR@traceinfo{Patching alltt.}
\AtBeginEnvironment{alltt}{%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage
+ \LWR@atbeginverbatim{3}{alltt}%
+ }%
}
\AfterEndEnvironment{alltt}{%
- \LWR@afterendverbatim{2}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim{2}%
+ }%
}
}
% \end{macrocode}
@@ -40374,10 +41307,13 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{macrocode}
\@ifpackageloaded{mdframed}{
\PackageError{lwarp}
- {Package mdframed must be loaded after package amsthm}
{%
- Move \detokenize{\usepackage}{amsthm} before
- \detokenize{\usepackage}{mdframed}.\MessageBreak
+ Package mdframed must be loaded after package amsthm.\MessageBreak
+ Enter 'H' for solutions%
+ }
+ {%
+ Move ``\protect\usepackage{amsthm}'' before
+ ``\protect\usepackage{mdframed}''.\MessageBreak
Package amsthm may be loaded by something else,\MessageBreak
which must also be moved before mdframed.%
}
@@ -40423,7 +41359,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
@@ -40432,15 +41370,21 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Patched to enclose with \CSS:
% \begin{macrocode}
\newcommand{\LWR@haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR@thisthmstyle}{##1}%
+ }
}
\LWR@haveamsthmname
@@ -40448,15 +41392,22 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@haveamsthmnote
% \end{macrocode}
%
-% Patches for \CSS:
+% Patched for \CSS:
% \begin{macrocode}
\def\@begintheorem#1#2[#3]{%
+% \end{macrocode}
+% \changes{v0.84}{2020/04/07}{\pkg{amsthm}: Fix for \cs{nameref}.}
+% \begin{macrocode}
+ \GetTitleString{#3}% lwarp
+ \let\@currentlabelname\GetTitleStringResult% lwarp
+% \end{macrocode}
+% \begin{macrocode}
\item[
% \deferred@thm@head{
% \the\thm@headfont \thm@indent
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
\thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm@headpunct~
\thmheadnl % possibly a newline.
@@ -40472,8 +41423,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm@swap\@gobble
@@ -40501,8 +41452,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\cref@thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm@swap\@gobble%
@@ -40543,9 +41494,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR@restoreorigformatting{%
-\LetLtxMacro\openbox\LWR@orig@openbox%
-\LetLtxMacro\blacksquare\LWR@orig@blacksquare%
-\LetLtxMacro\Box\LWR@orig@Box%
+ \LetLtxMacro\openbox\LWR@orig@openbox%
+ \LetLtxMacro\blacksquare\LWR@orig@blacksquare%
+ \LetLtxMacro\Box\LWR@orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
@@ -41382,9 +42333,12 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Require that \pkg{authblk} be loaded before \pkg{titling}:
% \begin{macrocode}
\@ifpackageloaded{titling}{
-\PackageError{lwarp-authblk}
-{Package authblk must be loaded before titling}
-{Titling appends authblk's author macro, so authblk must be loaded first.}
+ \PackageError{lwarp-authblk}
+ {Package authblk must be loaded before titling}
+ {%
+ Titling appends authblk's author macro,
+ so authblk must be loaded first.%
+ }
}
{}
% \end{macrocode}
@@ -41815,6 +42769,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% generating \HTML\ output.
%
% \changes{v0.45}{2018/01/14}{\pkg{backref}: Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
%
% \codehtml
%
@@ -41824,7 +42779,13 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Force the \optn{hyperref} option:
% \begin{macrocode}
-\def\backref{}\let\backrefxxx\hyper@section@backref
+\def\backref{}
+
+\long\def\hyper@section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper@section@backref
% \end{macrocode}
% \iffalse
@@ -42191,7 +43152,12 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}{}
% \end{macrocode}
%
+% \pkg{hyperref} emulation is loaded \cs{AtBeginDocument} to avoid an
+% options clash.
+% \changes{v0.84}{2020/04/24}{\pkg{biblatex}: Fixed: Requires \pkg{hyperref}.}
% \begin{macrocode}
+\AtBeginDocument{\RequirePackage{hyperref}}
+
\LWR@ProvidesPackagePass{biblatex}[2018/03/04]
% \end{macrocode}
%
@@ -42861,27 +43827,27 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
% \iffalse
-%<*boxedminipage2e>
+%<*boxedminipage>
% \fi
-% \part{lwarp-boxedminipage2e.sty}
+% \part{lwarp-boxedminipage.sty}
-% \section{boxedminipage2e}
+% \section{boxedminipage}
%
% \credits{Scott Pakin}
%
-% \DescribePackage{boxedminipage2e}
-% \pkg{boxedminipage2e} is emulated for \HTML, and used as-is for \env{lateximage}s.
+% \DescribePackage{boxedminipage}
+% \pkg{boxedminipage} is emulated for \HTML, and used as-is for \env{lateximage}s.
%
% \changes{v0.34}{2017/07/26}{\pkg{boxedminipage2e}: Added.}
% \changes{v0.72}{2019/06/07}{\pkg{boxedminipage2e}: Added support for \env{lateximage}s.}
% \changes{v0.73}{2019/06/24}{\pkg{boxedminipage2e}: Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-boxedminipage2e}:
% \begin{macrocode}
-\LWR@ProvidesPackagePass{boxedminipage2e}[2015/03/09]
+\LWR@ProvidesPackagePass{boxedminipage}[2020/04/19]
% \end{macrocode}
% \begin{macrocode}
@@ -42899,6 +43865,34 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \end{macrocode}
% \iffalse
+%</boxedminipage>
+% \fi
+%
+%
+%
+% \iffalse
+%<*boxedminipage2e>
+% \fi
+
+% \part{lwarp-boxedminipage2e.sty}
+
+% \section{boxedminipage2e}
+%
+% \credits{Scott Pakin}
+%
+% \DescribePackage{boxedminipage2e}
+% \pkg{boxedminipage2e} has been renamed \pkg{boxedminipage} by the author.
+%
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
+%
+% \codehtml
+%
+% Automatically loads \pkg{boxedminipage}:
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{boxedminipage2e}
+% \end{macrocode}
+
+% \iffalse
%</boxedminipage2e>
% \fi
%
@@ -43317,126 +44311,76 @@ s%
% \pkg{caption} is patched for use by \pkg{lwarp}.
%
% \changes{v0.47}{2018/01/25}{\pkg{caption}: Added.}
+% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
+% \changes{v0.84}{2020/04/16}{\pkg{caption}: Simplified.}
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Non-width \cs{parbox}es.}
%
% \codehtml
%
-% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
% \begin{macrocode}
\typeout{---}
\typeout{Packages lwarp and caption:}
\typeout{If a ``Missing \protect\begin\protect{document\protect}'' error occurs here,}
-\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space\protect\captionsetup{options}}
+\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space%
+ \protect\captionsetup{options}}
\typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.}
\typeout{---}
-\LWR@ProvidesPackagePass{caption}[2019/09/01]
+\LWR@ProvidesPackagePass{caption}[2020/01/03]
% \end{macrocode}
% \begin{macrocode}
-\renewcommand\caption@ibox[3]{%
- \@testopt{\caption@iibox{#1}{#2}{#3}}{%
-% \wd\@tempboxa%
- \linewidth% lwarp
- }%
-% \LWR@traceinfo{caption@ibox: done}%
+\long\def\caption@iibox@#1#2#3#4{%
+% \setbox\@tempboxa\hbox{#4}%
+ \caption@iiibox{#1}{#2}{#3}%
+% [\wd\@tempboxa]%
+ []% lwarp
+ [\captionbox@hj@default]%
+% {\unhbox\@tempboxa}%
+ {{#4}}% lwarp
}
% \end{macrocode}
%
% \begin{macrocode}
-\long\def\caption@iibox#1#2#3[#4]{%
- \@testopt{\caption@iiibox{#1}{#2}{#3}{#4}}\captionbox@hj@default
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\long\def\caption@iiibox#1#2#3#4[#5]#6{%
-% \setbox\@tempboxa\hbox{#6}%
+\long\def\caption@iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption@position
\caption@iftop{%
- \LWR@traceinfo{caption@iiibox top}%
\endgroup
- \parbox[t]{#4}{%
+ \minipagefullwidth%
+ \parbox[t]{\linewidth}{%
#1\relax
\caption@setposition t%
-% \vbox{\caption#2{#3}}%
- {\caption#2{#3}}% lwarp
+% #2%
+ {\caption#4{#5}}%
% \captionbox@hrule
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
}%
}{%
- \LWR@traceinfo{caption@iiibox bottom}%
\endgroup
- \parbox[b]{#4}{%
+% \parbox[b]{#6}{%
+ \minipagefullwidth%
+ \parbox[b]{\linewidth}{%
#1\relax
\caption@setposition b%
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
% \captionbox@hrule
-% \vtop{\caption#2{#3}}}%
- {\caption#2{#3}}% lwarp
- }%
+% #3
+ {\caption#4{#5}}%
+ }%
}%
-\LWR@traceinfo{caption@iiibox: done}%
-}
-
-% \def\caption@caption{%
-% \caption@iftype
-% {%
-% \caption@checkgrouplevel\@empty\caption
-% \caption@star
-% {\caption@refstepcounter\@captype}%
-% {\caption@dblarg{\@caption\@captype}}}%
-% {\caption@Error{\noexpand\caption outside float}%
-% \caption@gobble}%
-% }
-
-\long\def\caption@@caption#1[#2]#3{%
-% \end{macrocode}
-% \begin{macrocode}
- \ifcaption@star
- \else
- \caption@prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag@hascaptiontrue}%
- \fi
-% \end{macrocode}
-% \begin{macrocode}
- \par
- \caption@beginex{#1}{#2}{#3}%
- \caption@setfloatcapt{%
- \caption@boxrestore
- \if@minipage
- \@setminipage
- \fi
- \caption@normalsize
-% \end{macrocode}
-% \changes{v0.73}{2019/07/11}{\pkg{caption}: Fix for starred captions.}
-% \begin{macrocode}
- \ifcaption@star
- \let\caption@makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption@makeanchor{#3}}%
- \fi% lwarp
-% \end{macrocode}
-% \changes{v0.70}{2019/03/24}{\pkg{caption}: Fix: Extra par tags.}
-% \begin{macrocode}
-% \par
- \caption@if@minipage\@minipagetrue\@minipagefalse}%
- \caption@end%
}
% \end{macrocode}
+
% \begin{noindmacro}{\caption@@@make}
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
\renewcommand\caption@@@make[2]{%
\LWR@traceinfo{caption@@@make}%
+ \LWR@stoppars% lwarp
% \sbox\@tempboxa{#1}%
% \ifdim\wd\@tempboxa=\z@
% \let\caption@lsep\relax
@@ -43453,7 +44397,7 @@ s%
{\ifcaption@star\else
\begingroup
\captionlabelfont
- #1%
+ \LWR@isolate{#1}% lwarp
\endgroup
\fi}%
{\ifcaption@star\else
@@ -43465,15 +44409,17 @@ s%
\fi}%
{{%
\captiontextfont
+ \let\\\newline% lwarp
% \caption@ifstrut
% {\vrule\@height\ht\strutbox\@width\z@}%
% {}%
% \nobreak\hskip\z@skip % enable hyphenation
- \caption@tfmt{#2}%
+ \LWR@isolate{\caption@tfmt{#2}}% lwarp
% \caption@ifstrut
% {\ifhmode\@finalstrut\strutbox\fi}%
% {}%
}}%
+ \LWR@startpars% lwarp
\LWR@traceinfo{caption@@@make done}%
}
% \end{macrocode}
@@ -43482,16 +44428,16 @@ s%
% \begin{noindmacro}{\caption@@make@} \marg{} \marg{}
% \begin{macrocode}
\renewcommand{\caption@@make@}[2]{%
- \caption@stepthecounter
- \caption@beginhook
+ \caption@stepthecounter%
+ \caption@beginhook%
\caption@@@make{#1}{#2}%
- \caption@endhook
+ \caption@endhook%
}
% \end{macrocode}
% \end{noindmacro}
% \begin{noindmacro}{\caption@makecaption}
-% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
% \begin{macrocode}
\long\def\caption@makecaption#1#2{%
% \caption@iftop
@@ -43502,17 +44448,50 @@ s%
% {\vskip\abovecaptionskip\caption@rule}%
% {\vskip\belowcaptionskip}%
}
+
+\AtBeginDocument{
+ \let\@makecaption\caption@makecaption
+}
% \end{macrocode}
% \end{noindmacro}
+% Redefined to look ahead for \cs{centering}, etc:
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.}
+% \begin{macrocode}
+\AtBeginDocument{
+ \def\@xfloat#1[#2]{%
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+ \def\@xdblfloat#1[#2]{%
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+}
+% \end{macrocode}
+
+
+% Add non-breakable spaces:
+% \begin{macrocode}
+\long\def\caption@lsep@default{.~}
+\long\def\caption@lsep@colon{:~}
+\long\def\caption@lsep@period{.~}
+\long\def\caption@lsep@space{~}
+\long\def\caption@lsep@endash{~\textendash~}
+\long\def\caption@lsep@arabi{~:~}
+% \end{macrocode}
+
% \begin{macrocode}
-% \DeclareCaptionBox{none}{#2}
+\DeclareCaptionBox{none}{#2}
\DeclareCaptionBox{parbox}{%
-#2%
+ #2%
}
+
\DeclareCaptionBox{colorbox}{%
-#2%
+ #2%
}
% \end{macrocode}
@@ -45906,9 +46885,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
-%
-%
% \iffalse
%<*color>
% \fi
@@ -45938,7 +46914,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
% \iffalse
%<*colortbl>
% \fi
@@ -46262,6 +47237,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You can, currently, use the sidecap option only with\MessageBreak
memoir documents. Use topcap or botcap only}
+ {}
\fi
\fi
\ifdim\@CTwidth=0pt\else
@@ -46269,6 +47245,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the width and maxwidth options together\MessageBreak
Use either width or maxwidth}
+ {}
\fi
\fi
\ifx\@CTpos\empty
@@ -46276,6 +47253,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the pos and sideways options together\MessageBreak
Rotated tables and figures are always typeset on a separate page}
+ {}
\fi
\fi
\ifx\@CTcaption\empty
@@ -46283,6 +47261,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not label a captionless table\MessageBreak
Such a label can't be referenced}
+ {}
\fi
\fi
% \end{macrocode}
@@ -47014,6 +47993,11 @@ name = \chemmacros_translate:n {scheme-name}
% \DescribePackage{easy-todo}
% \pkg{easy-todo} is patched for use by \pkg{lwarp}.
%
+% To remove the ``P.'' heading for \HTML:
+% \begin{sourceverb}
+% \warpHTMLonly{\renewcommand{\todoindexpagetitle}{}}
+% \end{sourceverb}
+%
% \changes{v0.44}{2017/11/10}{\pkg{easy-todo}: Added.}
%
% \codehtml
@@ -47025,12 +48009,12 @@ name = \chemmacros_translate:n {scheme-name}
% \begin{noindmacro}{\listoftodos}
% Modified to correct buggy use of \cs{flushright}.
% \begin{macrocode}
-\let\LWR@origlistoftodos\listoftodos
+\let\LWR@easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR@origlistoftodos
+\LWR@easytodo@origlistoftodos
\endgroup
}
% \end{macrocode}
@@ -47645,7 +48629,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \credits{John Lavagnino}
%
-% \DescribePackage{endnotes} Used as-is.
+% \DescribePackage{endnotes} Patched for \HTML.
%
% \limitsendnotes
%
@@ -48074,85 +49058,60 @@ name = \chemmacros_translate:n {scheme-name}
% \credits{Peter Wilson}
%
% \DescribePackage{epigraph}
-% \pkg{epigraph} is emulated.
+% \pkg{epigraph} is emulated for \HTML, and used as-is for print output.
+%
+% Use \CSS\ to format epigraphs.
%
% \changes{v0.42}{2017/10/27}{\pkg{epigraph}: If \progcode{FormatWP} add \HTML\ styles.}
+% \changes{v0.84}{2020/04/16}{\pkg{epigraph}: Added print mode.}
%
% \codehtml
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR@ProvidesPackagePass{epigraph}[2020/01/02]
% \end{macrocode}
% \changes{v0.73}{2019/06/25}{\pkg{epigraph}: Fix: Paragraph tags.}
% \begin{macrocode}
-\DeclareDocumentCommand{\qitem}{m m}
-{
-\begin{BlockClass}{qitem}
-#1
-\LWR@stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR@HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR@stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR@formatted{qitem}
% \end{macrocode}
% \changes{v0.47}{2018/01/26}{\pkg{epigraph}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
-\DeclareDocumentCommand{\epigraph}{m m}
-{
-\begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR@BlockClassWP}
+\DeclareDocumentCommand{\LWR@HTML@epigraph}{m m}
+{%
+ \begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR@BlockClassWP}%
}
+\LWR@formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR@BlockClassWP}
+\DeclareDocumentEnvironment{LWR@HTML@epigraphs}{}
+ {\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR@BlockClassWP}
+\LWR@formattedenv{epigraphs}
% \end{macrocode}
%
-% Use \CSS\ to format epigraphs.
-%
-% The following are null commands for source compatibility:
-% \begin{macrocode}
-\newenvironment*{flushepinormal}{}{}
-% \end{macrocode}
%
-% \changes{v0.45}{2017/12/22}{\pkg{epigraph}: Support for \pkg{memoir}.}
+% The following cannot be used in print mode while generating \HTML:
% \begin{macrocode}
-\@ifclassloaded{memoir}{
-\setlength{\epigraphwidth}{.5\linewidth}
-\renewcommand{\textflush}{flushepinormal}
\renewcommand{\epigraphhead}[2][0]{#2}
\renewcommand{\dropchapter}[1]{}
\renewcommand*{\undodrop}{}
-}{% not memoir
-\newlength{\epigraphwidth}
-\setlength{\epigraphwidth}{.5\linewidth}
-\newcommand{\textflush}{flushepinormal}
-\newcommand{\epigraphflush}{flushright}
-\newcommand{\sourceflush}{flushright}
-\newcommand*{\epigraphsize}{\small}
-\newlength{\epigraphrule}
-\newlength{\beforeepigraphskip}
-\newlength{\afterepigraphskip}
-\newcommand{\epigraphhead}[2][0]{#2}
-\newcommand{\dropchapter}[1]{}
-\newcommand*{\undodrop}{}
-}% not memoir
-
-\let\cleartoevenpage\relax% also in nextpage
-\newcommand{\cleartoevenpage}[1][]{}
% \end{macrocode}
%
-% \changes{v0.79}{2020/01/06}{\pkg{epigraph}: Updated to v1.5e.}
-% \begin{macrocode}
-\newif\ifepigraphnoindent
-\newcommand\epigraphnoindent{\epigraphnoindenttrue}
-% \end{macrocode}
%
% \iffalse
%</epigraph>
@@ -49977,10 +50936,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% Float-related macros required by \pkg{lwarp}:
+% \changes{v0.84}{2020/04/09}{\pkg{fixme}: Added section name.}
% \begin{macrocode}
\newcommand{\ext@fixme}{lox}
-\renewcommand{\l@fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l@fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR@nameref{\BaseJobname-autopage-\arabic{LWR@nextautopage}} --- #1}
+ {#2}
+}
% \end{macrocode}
%
% Other modifications:
@@ -50189,27 +51153,27 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \begin{macrocode}
\NewDocumentCommand{\newfloat}{m m m o}{%
-\IfValueTF{#4}%
-{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
-{\DeclareFloatingEnvironment[fileext=#3]{#1}}%
+ \IfValueTF{#4}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#1}}%
% \end{macrocode}
% Remember the float style:
% \changes{v0.57}{2018/05/14}{\pkg{float}: Added float styles.}
% \begin{macrocode}
-\csedef{LWR@floatstyle@#1}{\LWR@floatstyle}%
+ \csedef{LWR@floatstyle@#1}{\LWR@floatstyle}%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
% so remove \cs{listof} here in case it is manually created later.
% \begin{macrocode}
-\cslet{listof#1s}\relax%
-\cslet{listof#1es}\relax%
+ \cslet{listof#1s}\relax%
+ \cslet{listof#1es}\relax%
% \end{macrocode}
% Likesize, \pkg{newfloat} also creates \cs{l@<type>}, but \pkg{float} does not,
% so remove it here:
% \changes{v0.57}{2018/05/26}{\pkg{float}: Fix: Do not pre-define \cs{l@name}.}
% \begin{macrocode}
-\cslet{l@#1}\relax%
+ \cslet{l@#1}\relax%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50217,9 +51181,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \begin{noindmacro}{\floatname} \marg{type} \marg{name}
%
% Sets the text name of the float, such as ``Figure''.
+% Avoids trying to set a recursive name, from \pkg{trivfloat}.
+% \changes{v0.84}{2020/04/08}{\pkg{float}: Fix: Recursive name.}
% \begin{macrocode}
\NewDocumentCommand{\floatname}{m +m}{%
- \SetupFloatingEnvironment{#1}{name=#2}%
+ \def\LWR@tempone{#2}%
+ \def\LWR@temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50310,7 +51280,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -50410,8 +51380,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR@subcaptionloaded}}
-{\boolfalse{LWR@subcaptionloaded}}
+ {\booltrue{LWR@subcaptionloaded}}
+ {\boolfalse{LWR@subcaptionloaded}}
}
% \end{macrocode}
@@ -50672,9 +51642,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% inside a \CSS\ \element{div} of class |floatfoot|.
% \begin{macrocode}
\NewDocumentCommand{\floatfoot}{s +m}{%
-\begin{BlockClass}{floatfoot}
-#2
-\end{BlockClass}
+ \begin{BlockClass}{floatfoot}
+ #2
+ \end{BlockClass}
}
% \end{macrocode}
% \end{noindmacro}
@@ -50695,19 +51665,19 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% The row of floats is placed into a \element{div} of class |floatrow|:
% \begin{macrocode}
-\LWR@forcenewpage
-\BlockClass{floatrow}
+ \LWR@forcenewpage
+ \BlockClass{floatrow}
% \end{macrocode}
% While inside the floatrow, |LWR@insubfloatrow| is set true,
% which tells \cs{floatbox} to use \cs{subfigure} or \cs{subtable}.
% \begin{macrocode}
-\begingroup
-\booltrue{LWR@insubfloatrow}
+ \begingroup%
+ \booltrue{LWR@insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR@insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR@insubfloatrow}%
}
% \end{macrocode}
% \end{noindenvironment}
@@ -51141,6 +52111,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% Swashes and figure styles are ignored for \HTML.
%
% \changes{v0.72}{2019/05/27}{\pkg{fontaxes}: Added.}
+% \changes{v0.84}{2020/04/13}{\pkg{fontaxes}: Moved sscshape to core. \cs{FilenameNullify}.}
%
% \codehtml
%
@@ -51149,29 +52120,17 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% \begin{macrocode}
-\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
-\LWR@formatted{sscshape}
-\newcommand*{\LWR@null@sscshape}{}
-
-\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
-\LWR@formatted{textssc}
-\newcommand*{\LWR@null@textssc}[1]{#1}
-
\ifdef{\LWR@HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR@HTML@swshape}{}
\LWR@formatted{swshape}
- \newcommand*{\LWR@null@swshape}{}
\newcommand{\LWR@HTML@textsw}[1]{#1}
\LWR@formatted{textsw}
- \newcommand*{\LWR@null@textsw}[1]{#1}
-}
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\sscshape\LWR@null@sscshape%
-\LetLtxMacro\textssc\LWR@null@textssc%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\textsw\LWR@null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
% \end{macrocode}
%
@@ -51538,7 +52497,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% \begin{macrocode}
-\BeforeBeginEnvironment{forest}{\begin{lateximage}[forest]}
+\BeforeBeginEnvironment{forest}{%
+ \begin{lateximage}[-forest-~\PackageDiagramAltText]%
+}
\AfterEndEnvironment{forest}{\end{lateximage}}
@@ -51546,8 +52507,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\forest@config{#2}%
\IfBooleanTF{#1}{%
\PackageError{lwarp-forest}%
- {Starred \Forest is not supported}%
- {Lwarp uses an environment for images, but \Forest* cannot work in an environment.}%
+ {\protect\Forest* is not supported}%
+ {Lwarp uses an environment for images,\MessageBreak
+ but \protect\Forest* cannot work in an environment.}%
\let\forest@next\forest@env%
}{\let\forest@next\forest@group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
@@ -52489,9 +53451,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\define@key{igraph}{scale}{%
\ifthenelse{\equal{#1}{1}}{}{% must expand #1
\PackageWarning{lwarp}{%
- It is recommended to use\MessageBreak
- [width=xx\protect\linewidth]\MessageBreak
- instead of [scale=yy],%
+ It is recommended to use ``[width=xx\protect\linewidth]''\MessageBreak
+ instead of ``[scale=yy]'',%
}%
}%
\renewcommand*{\LWR@igxscale}{#1}%
@@ -53126,7 +54087,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\newcommand{\LWR@HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR@formatted{reflectbox}
@@ -53146,7 +54107,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\NewDocumentCommand{\LWR@HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR@formatted{resizebox}
@@ -53754,7 +54715,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\NewDocumentCommand{\LWR@hyperdefb}{m m +m}{%
\LWR@ensuredoingapar%
- \LWR@sublabel{#1.#2}%
+ \LWR@label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -54774,7 +55735,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \end{macrocode}
%
% (It is hard to patch this macro, so the entire thing is redefined here,
-% with the \pkg{lwarp} modificaitions identified in comments.)
+% with the \pkg{lwarp} modifications identified in comments.)
%
% \begin{macrocode}
\RenewDocumentEnvironment{karnaugh-map}{s O{4} O{4} O{1} O{$X_1X_0$} O{$X_3X_2$} O{$X_5X_4$}} {%
@@ -55217,7 +56178,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
{float:right; width:2in; margin:10pt}%
{}%
{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
\minipage{\LWR@usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR@usersmarginparwidth}%
}
@@ -55634,7 +56595,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \cs{lettrine} \oarg{keys} \marg{letter} \marg{additional text}
% \begin{macrocode}
\DeclareDocumentCommand{\lettrine}{o m m}{%
-\InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
+ \InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
}
\newcounter{DefaultLines}
@@ -55976,17 +56937,17 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% produce the \element{pre}, then
% reenable line numbers.
% \begin{macrocode}
-\LWR@traceinfo{About to create verbatim.}%
-\let\lsthk@EveryPar\relax%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{2}{programlisting}%
+ \LWR@traceinfo{About to create verbatim.}%
+ \let\lsthk@EveryPar\relax%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{2}{programlisting}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so open a \element{span}:
% \begin{macrocode}
-\ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
\fi%
}
@@ -56030,6 +56991,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% Patched for \pkg{lwarp}.
% \begin{macrocode}
+
\def\lst@MakeCaption#1{%
\LWR@traceinfo{MAKING CAPTION at #1}%
\lst@ifdisplaystyle
@@ -56094,9 +57056,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
% \lst@maketitle\lst@title % (AS)
\LWR@traceinfo{Making title: \lst@title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst@maketitle\lst@title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst@maketitle\lst@title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR@traceinfo{About to assign label: !\lst@label!}%
\ifx\lst@label\@empty\else
@@ -56118,6 +57080,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\fi
\LWR@traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst@maketitle}[1]{%
+ \LWR@isolate{#1}%
+}%
+
% \end{macrocode}
% \end{noindmacro}
%
@@ -56308,13 +57275,20 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% not at each caption.
%
% Options [c], [l], and [r] are ignored.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
+%
% \begin{macrocode}
\newenvironment{longtable*}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR@starredlongtable}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56324,10 +57298,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\newenvironment{longtable}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56345,7 +57323,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% Error for heads which should have been in \cs{warpprintonly}:
% \begin{macrocode}
\newcommand*{\LWR@longtable@headerror}{%
- \PackageError{lwarp}
+ \PackageError{lwarp-longtable}
{For longtable:\MessageBreak
1: Keep either one of an \protect\endhead\space or
\protect\endfirsthead\space\MessageBreak
@@ -58138,6 +59116,11 @@ endinnercode={\LWR@stoppars},
\newcommand*{\LWR@mdframedstart}{%
\LWR@traceinfo{LWR@mdframedstart start}%
% \end{macrocode}
+% Warn if starting a frame inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{\pkg{mdframed}: Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{mdframe}%
+% \end{macrocode}
% Turn off paragraph handling during the generation of
% the encapsulating tags:
% \begin{macrocode}
@@ -60047,20 +61030,6 @@ background:
% \begin{macrocode}
\LWR@htmltag{td rowspan="#2" %
% \end{macrocode}
-% The vertical alignment, if given:
-% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
-% \begin{macrocode}
-\ifstrequal{#1}{c}{style="\LWR@print@mbox{vertical-align:middle}" }{}%
-\ifstrequal{#1}{b}{style="\LWR@print@mbox{vertical-align:bottom}" }{}%
-\ifstrequal{#1}{t}{style="\LWR@print@mbox{vertical-align:top}" }{}%
-% \end{macrocode}
-% The left/right border, if given:
-% \begin{macrocode}
-\ifdefvoid{\LWR@multirowborder}{}{%
-style="\LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
-\LWR@print@mbox{padding-\LWR@multirowborder:} 2px" %
-}%
-% \end{macrocode}
% A class adds the column spec and the rule:
% \begin{macrocode}
class="td%
@@ -60082,6 +61051,27 @@ class="td%
% \changes{v0.42}{2017/10/26}{\pkg{multirow}: If \progcode{FormatWP} add cell alignment.}
% \begin{macrocode}
\LWR@tdstartstyles%
+% \end{macrocode}
+% The vertical alignment, if given:
+% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifstrequal{#1}{c}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:middle}}{}%
+\ifstrequal{#1}{b}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:bottom}}{}%
+\ifstrequal{#1}{t}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:top}}{}%
+% \end{macrocode}
+% The left/right border, if given:
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifdefvoid{\LWR@multirowborder}{}{%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
+ \LWR@print@mbox{padding-\LWR@multirowborder:} 2px%
+}%
+% \end{macrocode}
+%
+% Additional style elements:
+% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
\LWR@addtabularrulecolors%
@@ -60871,9 +61861,10 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% Macros which are present in the \pkg{lwarp} core are commented out here.
+% \changes{v0.84}{2020/04/13}{\pkg{nfssext-cfr}: Improved.}
% \begin{macrocode}
\newrobustcmd{\LWR@HTML@lnstyle}{}
-\newrobustcmd{\LWR@HTML@osstyle}{}
+\newrobustcmd{\LWR@HTML@osstyle}{\LWR@HTML@scshape}
\newrobustcmd{\LWR@HTML@instyle}{}
\newrobustcmd{\LWR@HTML@sustyle}{}
\newrobustcmd{\LWR@HTML@swstyle}{}
@@ -60890,7 +61881,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@qtstyle}{}
\newrobustcmd{\LWR@HTML@shstyle}{}
\newrobustcmd{\LWR@HTML@swashstyle}{}
-\newrobustcmd{\LWR@HTML@tmstyle}{}
+\newrobustcmd{\LWR@HTML@tmstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tvstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tstyle}{}
\newrobustcmd{\LWR@HTML@lstyle}{}
@@ -60914,13 +61905,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@exwidth}{}
\newrobustcmd{\LWR@HTML@uxwidth}{}
\newrobustcmd{\LWR@HTML@mbweight}{\renewcommand*{\LWR@f@series}{md}}
-\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{bf}}
-\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{bf}}
+\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{db}}
+\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{sb}}
% \newrobustcmd{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}}
-\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{eb}}
+\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{ub}}
% \newrobustcmd{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{el}}
+\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{ul}}
% \newrobustcmd{\LWR@HTML@itshape}{}
% \newrobustcmd{\LWR@HTML@scshape}{}
% \newrobustcmd{\LWR@HTML@upshape}{}
@@ -60981,9 +61972,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \LWR@formatted{lgweight}
\LWR@formatted{elweight}
\LWR@formatted{ulweight}
-% \LWR@formatted{itshape}
-% \LWR@formatted{scshape}
-% \LWR@formatted{upshape}
+\LWR@formatted{itshape}% adapt to the new print version
+\LWR@formatted{scshape}% adapt to the new print version
+\LWR@formatted{upshape}% adapt to the new print version
\LWR@formatted{dfshape}
\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
@@ -60991,127 +61982,69 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\LWR@formatted{ornament}
-
-
-\newcommand{\LWR@null@lnstyle}{}
-\newcommand{\LWR@null@osstyle}{}
-\newcommand{\LWR@null@instyle}{}
-\newcommand{\LWR@null@sustyle}{}
-\newcommand{\LWR@null@swstyle}{}
-\newcommand{\LWR@null@pstyle}{}
-\newcommand{\LWR@null@tistyle}{}
-\newcommand{\LWR@null@ostyle}{}
-\newcommand{\LWR@null@postyle}{}
-\newcommand{\LWR@null@ltstyle}{}
-\newcommand{\LWR@null@ofstyle}{}
-\newcommand{\LWR@null@altstyle}{}
-\newcommand{\LWR@null@regstyle}{}
-\newcommand{\LWR@null@embossstyle}{}
-\newcommand{\LWR@null@ornamentalstyle}{}
-\newcommand{\LWR@null@qtstyle}{}
-\newcommand{\LWR@null@shstyle}{}
-\newcommand{\LWR@null@swashstyle}{}
-\newcommand{\LWR@null@tmstyle}{}
-\newcommand{\LWR@null@tvstyle}{}
-\newcommand{\LWR@null@tstyle}{}
-\newcommand{\LWR@null@lstyle}{}
-\newcommand{\LWR@null@tlstyle}{}
-\newcommand{\LWR@null@plstyle}{}
-\newcommand{\LWR@null@tostyle}{}
-% \newcommand{\LWR@null@sishape}{}
-\newcommand{\LWR@null@olshape}{}
-\newcommand{\LWR@null@scolshape}{}
-\newcommand{\LWR@null@ushape}{}
-\newcommand{\LWR@null@scushape}{}
-\newcommand{\LWR@null@uishape}{}
-\newcommand{\LWR@null@rishape}{}
-\newcommand{\LWR@null@regwidth}{}
-\newcommand{\LWR@null@nwwidth}{}
-\newcommand{\LWR@null@cdwidth}{}
-\newcommand{\LWR@null@ecwidth}{}
-\newcommand{\LWR@null@ucwidth}{}
-\newcommand{\LWR@null@etwidth}{}
-\newcommand{\LWR@null@epwidth}{}
-\newcommand{\LWR@null@exwidth}{}
-\newcommand{\LWR@null@uxwidth}{}
-\newcommand{\LWR@null@mbweight}{}
-\newcommand{\LWR@null@dbweight}{}
-\newcommand{\LWR@null@sbweight}{}
-% \newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@ubweight}{}
-% \newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@elweight}{}
-\newcommand{\LWR@null@ulweight}{}
-% \newcommand{\LWR@null@itshape}{}
-% \newcommand{\LWR@null@scshape}{}
-% \newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@dfshape}{}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newcommand{\LWR@null@swshape}{}
-}
-
-\newcommand{\LWR@null@ornament}[1]{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\lnstyle\LWR@null@lnstyle%
-\LetLtxMacro\osstyle\LWR@null@osstyle%
-\LetLtxMacro\instyle\LWR@null@instyle%
-\LetLtxMacro\sustyle\LWR@null@sustyle%
-\LetLtxMacro\swstyle\LWR@null@swstyle%
-\LetLtxMacro\pstyle\LWR@null@pstyle%
-\LetLtxMacro\tistyle\LWR@null@tistyle%
-\LetLtxMacro\ostyle\LWR@null@ostyle%
-\LetLtxMacro\postyle\LWR@null@postyle%
-\LetLtxMacro\ltstyle\LWR@null@ltstyle%
-\LetLtxMacro\ofstyle\LWR@null@ofstyle%
-\LetLtxMacro\altstyle\LWR@null@altstyle%
-\LetLtxMacro\regstyle\LWR@null@regstyle%
-\LetLtxMacro\embossstyle\LWR@null@embossstyle%
-\LetLtxMacro\ornamentalstyle\LWR@null@ornamentalstyle%
-\LetLtxMacro\qtstyle\LWR@null@qtstyle%
-\LetLtxMacro\shstyle\LWR@null@shstyle%
-\LetLtxMacro\swashstyle\LWR@null@swashstyle%
-\LetLtxMacro\tmstyle\LWR@null@tmstyle%
-\LetLtxMacro\tvstyle\LWR@null@tvstyle%
-\LetLtxMacro\tstyle\LWR@null@tstyle%
-\LetLtxMacro\lstyle\LWR@null@lstyle%
-\LetLtxMacro\tlstyle\LWR@null@tlstyle%
-\LetLtxMacro\plstyle\LWR@null@plstyle%
-\LetLtxMacro\tostyle\LWR@null@tostyle%
-% \LetLtxMacro\sishape\LWR@null@sishape
-\LetLtxMacro\olshape\LWR@null@olshape%
-\LetLtxMacro\scolshape\LWR@null@scolshape%
-\LetLtxMacro\ushape\LWR@null@ushape%
-\LetLtxMacro\scushape\LWR@null@scushape%
-\LetLtxMacro\uishape\LWR@null@uishape%
-\LetLtxMacro\rishape\LWR@null@rishape%
-\LetLtxMacro\regwidth\LWR@null@regwidth%
-\LetLtxMacro\nwwidth\LWR@null@nwwidth%
-\LetLtxMacro\cdwidth\LWR@null@cdwidth%
-\LetLtxMacro\ecwidth\LWR@null@ecwidth%
-\LetLtxMacro\ucwidth\LWR@null@ucwidth%
-\LetLtxMacro\etwidth\LWR@null@etwidth%
-\LetLtxMacro\epwidth\LWR@null@epwidth%
-\LetLtxMacro\exwidth\LWR@null@exwidth%
-\LetLtxMacro\uxwidth\LWR@null@uxwidth%
-\LetLtxMacro\mbweight\LWR@null@mbweight%
-\LetLtxMacro\dbweight\LWR@null@dbweight%
-\LetLtxMacro\sbweight\LWR@null@sbweight%
-% \LetLtxMacro\ebweight\LWR@null@ebweight%
-\LetLtxMacro\ubweight\LWR@null@ubweight%
-% \LetLtxMacro\lgweight\LWR@null@lgweight%
-\LetLtxMacro\elweight\LWR@null@elweight%
-\LetLtxMacro\ulweight\LWR@null@ulweight%
-% \LetLtxMacro\itshape\LWR@null@itshape%
-% \LetLtxMacro\scshape\LWR@null@scshape%
-% \LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\dfshape\LWR@null@dfshape%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\ornament\LWR@null@ornament%
-}
-
-\newrobustcmd{\LWR@HTML@textln}[1]{#1}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\lnstyle\@empty%
+ \LetLtxMacro\osstyle\@empty%
+ \LetLtxMacro\instyle\@empty%
+ \LetLtxMacro\sustyle\@empty%
+ \LetLtxMacro\swstyle\@empty%
+ \LetLtxMacro\pstyle\@empty%
+ \LetLtxMacro\tistyle\@empty%
+ \LetLtxMacro\ostyle\@empty%
+ \LetLtxMacro\postyle\@empty%
+ \LetLtxMacro\ltstyle\@empty%
+ \LetLtxMacro\ofstyle\@empty%
+ \LetLtxMacro\altstyle\@empty%
+ \LetLtxMacro\regstyle\@empty%
+ \LetLtxMacro\embossstyle\@empty%
+ \LetLtxMacro\ornamentalstyle\@empty%
+ \LetLtxMacro\qtstyle\@empty%
+ \LetLtxMacro\shstyle\@empty%
+ \LetLtxMacro\swashstyle\@empty%
+ \LetLtxMacro\tmstyle\@empty%
+ \LetLtxMacro\tvstyle\@empty%
+ \LetLtxMacro\tstyle\@empty%
+ \LetLtxMacro\lstyle\@empty%
+ \LetLtxMacro\tlstyle\@empty%
+ \LetLtxMacro\plstyle\@empty%
+ \LetLtxMacro\tostyle\@empty%
+% \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\olshape\@empty%
+ \LetLtxMacro\scolshape\@empty%
+ \LetLtxMacro\ushape\@empty%
+ \LetLtxMacro\scushape\@empty%
+ \LetLtxMacro\uishape\@empty%
+ \LetLtxMacro\rishape\@empty%
+ \LetLtxMacro\regwidth\@empty%
+ \LetLtxMacro\nwwidth\@empty%
+ \LetLtxMacro\cdwidth\@empty%
+ \LetLtxMacro\ecwidth\@empty%
+ \LetLtxMacro\ucwidth\@empty%
+ \LetLtxMacro\etwidth\@empty%
+ \LetLtxMacro\epwidth\@empty%
+ \LetLtxMacro\exwidth\@empty%
+ \LetLtxMacro\uxwidth\@empty%
+ \LetLtxMacro\mbweight\@empty%
+ \LetLtxMacro\dbweight\@empty%
+ \LetLtxMacro\sbweight\@empty%
+% \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\ubweight\@empty%
+% \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\elweight\@empty%
+ \LetLtxMacro\ulweight\@empty%
+% \LetLtxMacro\itshape\@empty%
+% \LetLtxMacro\scshape\@empty%
+% \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\dfshape\@empty%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\ornament\@gobble%
+}
+
+\newrobustcmd{\LWR@HTML@textln}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textos}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textin}[1]{#1}
\newrobustcmd{\LWR@HTML@textsu}[1]{#1}
@@ -61131,15 +62064,15 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textorn}[1]{#1}
\newrobustcmd{\LWR@HTML@textqt}[1]{#1}
\newrobustcmd{\LWR@HTML@textsh}[1]{#1}
-\newrobustcmd{\LWR@HTML@texttm}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttm}[1]{\texttt{#1}}
\newrobustcmd{\LWR@HTML@texttv}[1]{\texttt{#1}}
-\newrobustcmd{\LWR@HTML@textl}[1]{#1}
-\newrobustcmd{\LWR@HTML@texto}[1]{#1}
-\newrobustcmd{\LWR@HTML@textp}[1]{#1}
-\newrobustcmd{\LWR@HTML@textt}[1]{#1}
+\newrobustcmd{\LWR@HTML@textl}[1]{\InlineClass{textln}{#1}}
+\newrobustcmd{\LWR@HTML@texto}[1]{\textsc{#1}}
+\newrobustcmd{\LWR@HTML@textp}[1]{\InlineClass{textp}{#1}}
+\newrobustcmd{\LWR@HTML@textt}[1]{\InlineClass{textt}{#1}}
\newrobustcmd{\LWR@HTML@textpl}[1]{#1}
\newrobustcmd{\LWR@HTML@textpo}[1]{\textsc{#1}}
-\newrobustcmd{\LWR@HTML@texttl}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttl}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textto}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textol}[1]{#1}
\newrobustcmd{\LWR@HTML@textswash}[1]{#1}
@@ -61156,14 +62089,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textex}[1]{#1}
\newrobustcmd{\LWR@HTML@textux}[1]{#1}
\newrobustcmd{\LWR@HTML@textrw}[1]{#1}
-\newrobustcmd{\LWR@HTML@textmb}[1]{\textmd{#1}}
-\newrobustcmd{\LWR@HTML@textdb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR@HTML@textsb}[1]{\textbf{#1}}
-% \newrobustcmd{\LWR@HTML@texteb}[1]{#1}
-\newrobustcmd{\LWR@HTML@textub}[1]{\texteb{#1}}
-% \newrobustcmd{\LWR@HTML@textlg}[1]{#1}
-\newrobustcmd{\LWR@HTML@textel}[1]{\textlg{#1}}
-\newrobustcmd{\LWR@HTML@textul}[1]{\textlg{#1}}
+\newrobustcmd{\LWR@HTML@textmb}[1]{{\LWR@HTML@mbweight\InlineClass{textmb}{#1}}}
+\newrobustcmd{\LWR@HTML@textdb}[1]{{\LWR@HTML@dbweight\InlineClass{textdb}{#1}}}
+\newrobustcmd{\LWR@HTML@textsb}[1]{{\LWR@HTML@sbweight\InlineClass{textsb}{#1}}}
+% \newrobustcmd{\LWR@HTML@texteb}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textub}[1]{{\LWR@HTML@ubweight\InlineClass{textub}{#1}}}
+% \newrobustcmd{\LWR@HTML@textlg}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textel}[1]{{\LWR@HTML@elweight\InlineClass{textel}{#1}}}
+\newrobustcmd{\LWR@HTML@textul}[1]{{\LWR@HTML@ulweight\InlineClass{textul}{#1}}}
\LWR@formatted{textln}
\LWR@formatted{textos}
@@ -61215,110 +62148,60 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@formatted{textel}
\LWR@formatted{textul}
-\newrobustcmd{\LWR@null@textln}[1]{#1}
-\newrobustcmd{\LWR@null@textos}[1]{#1}
-\newrobustcmd{\LWR@null@textin}[1]{#1}
-\newrobustcmd{\LWR@null@textsu}[1]{#1}
-% \newrobustcmd{\LWR@null@textsi}[1]{#1}
-\newrobustcmd{\LWR@null@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newrobustcmd{\LWR@null@textsw}[1]{#1}
-}
-
-\newrobustcmd{\LWR@null@textti}[1]{#1}
-\newrobustcmd{\LWR@null@textlt}[1]{#1}
-\newrobustcmd{\LWR@null@textof}[1]{#1}
-\newrobustcmd{\LWR@null@textalt}[1]{#1}
-\newrobustcmd{\LWR@null@textreg}[1]{#1}
-\newrobustcmd{\LWR@null@emboss}[1]{#1}
-\newrobustcmd{\LWR@null@textorn}[1]{#1}
-\newrobustcmd{\LWR@null@textqt}[1]{#1}
-\newrobustcmd{\LWR@null@textsh}[1]{#1}
-\newrobustcmd{\LWR@null@texttm}[1]{#1}
-\newrobustcmd{\LWR@null@texttv}[1]{#1}
-\newrobustcmd{\LWR@null@textl}[1]{#1}
-\newrobustcmd{\LWR@null@texto}[1]{#1}
-\newrobustcmd{\LWR@null@textp}[1]{#1}
-\newrobustcmd{\LWR@null@textt}[1]{#1}
-\newrobustcmd{\LWR@null@textpl}[1]{#1}
-\newrobustcmd{\LWR@null@textpo}[1]{#1}
-\newrobustcmd{\LWR@null@texttl}[1]{#1}
-\newrobustcmd{\LWR@null@textto}[1]{#1}
-\newrobustcmd{\LWR@null@textol}[1]{#1}
-\newrobustcmd{\LWR@null@textswash}[1]{#1}
-\newrobustcmd{\LWR@null@textu}[1]{#1}
-\newrobustcmd{\LWR@null@textscu}[1]{#1}
-\newrobustcmd{\LWR@null@textui}[1]{#1}
-\newrobustcmd{\LWR@null@textri}[1]{#1}
-\newrobustcmd{\LWR@null@textnw}[1]{#1}
-\newrobustcmd{\LWR@null@textcd}[1]{#1}
-\newrobustcmd{\LWR@null@textec}[1]{#1}
-\newrobustcmd{\LWR@null@textuc}[1]{#1}
-\newrobustcmd{\LWR@null@textet}[1]{#1}
-\newrobustcmd{\LWR@null@textep}[1]{#1}
-\newrobustcmd{\LWR@null@textex}[1]{#1}
-\newrobustcmd{\LWR@null@textux}[1]{#1}
-\newrobustcmd{\LWR@null@textrw}[1]{#1}
-\newrobustcmd{\LWR@null@textmb}[1]{#1}
-\newrobustcmd{\LWR@null@textdb}[1]{#1}
-\newrobustcmd{\LWR@null@textsb}[1]{#1}
-% \newrobustcmd{\LWR@null@texteb}[1]{#1}
-\newrobustcmd{\LWR@null@textub}[1]{#1}
-% \newrobustcmd{\LWR@null@textlg}[1]{#1}
-\newrobustcmd{\LWR@null@textel}[1]{#1}
-\newrobustcmd{\LWR@null@textul}[1]{#1}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\textln\LWR@null@textln%
-\LetLtxMacro\textos\LWR@null@textos%
-\LetLtxMacro\textin\LWR@null@textin%
-\LetLtxMacro\textsu\LWR@null@textsu%
-% \LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textdf\LWR@null@textdf%
-\LetLtxMacro\textsw\LWR@null@textsw%
-\LetLtxMacro\textti\LWR@null@textti%
-\LetLtxMacro\textlt\LWR@null@textlt%
-\LetLtxMacro\textof\LWR@null@textof%
-\LetLtxMacro\textalt\LWR@null@textalt%
-\LetLtxMacro\textreg\LWR@null@textreg%
-\LetLtxMacro\emboss\LWR@null@emboss%
-\LetLtxMacro\textorn\LWR@null@textorn%
-\LetLtxMacro\textqt\LWR@null@textqt%
-\LetLtxMacro\textsh\LWR@null@textsh%
-\LetLtxMacro\texttm\LWR@null@texttm%
-\LetLtxMacro\texttv\LWR@null@texttv%
-\LetLtxMacro\textl\LWR@null@textl%
-\LetLtxMacro\texto\LWR@null@texto%
-\LetLtxMacro\textp\LWR@null@textp%
-\LetLtxMacro\textt\LWR@null@textt%
-\LetLtxMacro\textpl\LWR@null@textpl%
-\LetLtxMacro\textpo\LWR@null@textpo%
-\LetLtxMacro\texttl\LWR@null@texttl%
-\LetLtxMacro\textto\LWR@null@textto%
-\LetLtxMacro\textol\LWR@null@textol%
-\LetLtxMacro\textswash\LWR@null@textswash%
-\LetLtxMacro\textu\LWR@null@textu%
-\LetLtxMacro\textscu\LWR@null@textscu%
-\LetLtxMacro\textui\LWR@null@textui%
-\LetLtxMacro\textri\LWR@null@textri%
-\LetLtxMacro\textnw\LWR@null@textnw%
-\LetLtxMacro\textcd\LWR@null@textcd%
-\LetLtxMacro\textec\LWR@null@textec%
-\LetLtxMacro\textuc\LWR@null@textuc%
-\LetLtxMacro\textet\LWR@null@textet%
-\LetLtxMacro\textep\LWR@null@textep%
-\LetLtxMacro\textex\LWR@null@textex%
-\LetLtxMacro\textux\LWR@null@textux%
-\LetLtxMacro\textrw\LWR@null@textrw%
-\LetLtxMacro\textmb\LWR@null@textmb%
-\LetLtxMacro\textdb\LWR@null@textdb%
-\LetLtxMacro\textsb\LWR@null@textsb%
-% \LetLtxMacro\texteb\LWR@null@texteb%
-\LetLtxMacro\textub\LWR@null@textub%
-% \LetLtxMacro\textlg\LWR@null@textlg%
-\LetLtxMacro\textel\LWR@null@textel%
-\LetLtxMacro\textul\LWR@null@textul%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\textln\@firstofone%
+ \LetLtxMacro\textos\@firstofone%
+ \LetLtxMacro\textin\@firstofone%
+ \LetLtxMacro\textsu\@firstofone%
+% \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textdf\@firstofone%
+ \LetLtxMacro\textsw\@firstofone%
+ \LetLtxMacro\textti\@firstofone%
+ \LetLtxMacro\textlt\@firstofone%
+ \LetLtxMacro\textof\@firstofone%
+ \LetLtxMacro\textalt\@firstofone%
+ \LetLtxMacro\textreg\@firstofone%
+ \LetLtxMacro\emboss\@firstofone%
+ \LetLtxMacro\textorn\@firstofone%
+ \LetLtxMacro\textqt\@firstofone%
+ \LetLtxMacro\textsh\@firstofone%
+ \LetLtxMacro\texttm\@firstofone%
+ \LetLtxMacro\texttv\@firstofone%
+ \LetLtxMacro\textl\@firstofone%
+ \LetLtxMacro\texto\@firstofone%
+ \LetLtxMacro\textp\@firstofone%
+ \LetLtxMacro\textt\@firstofone%
+ \LetLtxMacro\textpl\@firstofone%
+ \LetLtxMacro\textpo\@firstofone%
+ \LetLtxMacro\texttl\@firstofone%
+ \LetLtxMacro\textto\@firstofone%
+ \LetLtxMacro\textol\@firstofone%
+ \LetLtxMacro\textswash\@firstofone%
+ \LetLtxMacro\textu\@firstofone%
+ \LetLtxMacro\textscu\@firstofone%
+ \LetLtxMacro\textui\@firstofone%
+ \LetLtxMacro\textri\@firstofone%
+ \LetLtxMacro\textnw\@firstofone%
+ \LetLtxMacro\textcd\@firstofone%
+ \LetLtxMacro\textec\@firstofone%
+ \LetLtxMacro\textuc\@firstofone%
+ \LetLtxMacro\textet\@firstofone%
+ \LetLtxMacro\textep\@firstofone%
+ \LetLtxMacro\textex\@firstofone%
+ \LetLtxMacro\textux\@firstofone%
+ \LetLtxMacro\textrw\@firstofone%
+ \LetLtxMacro\textmb\@firstofone%
+ \LetLtxMacro\textdb\@firstofone%
+ \LetLtxMacro\textsb\@firstofone%
+% \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textub\@firstofone%
+% \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textel\@firstofone%
+ \LetLtxMacro\textul\@firstofone%
}
\providecommand*{\zeroslash}{0}
@@ -61756,7 +62639,6 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% Discard all options for \pkg{lwarp-nowidow}:
-
% \codehtml
% \begin{macrocode}
\LWR@ProvidesPackageDrop{nowidow}[2011/09/20]
@@ -61844,8 +62726,22 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \codehtml
%
% Some disabled options:
+% \changes{v0.84}{2020/04/06}{\pkg{ntheorem}: Warning if \optn{thref}.}
% \begin{macrocode}
-\DeclareOption{thref}{}
+\DeclareOption{thref}{
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}{%
+ Lwarp uses cleveref, which takes over ntheorem's\MessageBreak
+ referencing, including
+ \protect\label \space and \protect\thref.\MessageBreak
+ Cleveref does not accept ntheorem's optional\MessageBreak
+ argument for \protect\label, so it will appear\MessageBreak
+ in the text. It is recommended to remove the\MessageBreak
+ thref option, \protect\usepackage{cleveref} instead,\MessageBreak
+ and remove any trailing optional arguments for \protect\label%
+ }%
+ }
+}
\newbool{LWR@ntheoremmarks}
@@ -62946,7 +63842,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}%
\setkeys{LWRparcols}{#1}%
}
- {\end{LWR@setvirtualpage}}
+ {%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/21}{\pkg{parcolumns}: Fixed: Missing \cs{colplacechunks}.}
+% \begin{macrocode}
+ \colplacechunks%
+ \end{LWR@setvirtualpage}%
+ }
\newcommand{\LWR@parcolumns@onecol}[1]{%
\ifbool{LWR@parcolumns@started}%
@@ -63069,8 +63972,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\AtBeginDocument{
-\crefname{parnotemark}{paragraph note}{paragraph notes}%
-\Crefname{parnotemark}{Paragraph note}{Paragraph notes}
+ \crefname{parnotemark}{paragraph note}{paragraph notes}
+ \Crefname{parnotemark}{Paragraph note}{Paragraph notes}
}
% \end{macrocode}
%
@@ -65221,7 +66124,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\xpatchcmd{\endquoting}{\quo@endtext}
{\quo@endtext\end{LWR@blocktextcurrentfont}\LWR@stoppars}
{}
- {\LWR@patcherror{imakeidx}{endquoting}}
+ {\LWR@patcherror{quoting}{endquoting}}
% \end{macrocode}
% \iffalse
@@ -65307,21 +66210,142 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.38}{2017/08/26}{\pkg{realscripts}: Added.}
% \changes{v0.42}{2017/10/16}{\pkg{realscripts}: Fix for subscripts in a \env{lateximage}.}
% \changes{v0.47}{2018/01/26}{\pkg{realscripts}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/10}{\pkg{realscripts}: Fixed starred \cs{textsuperscript},
+% \cs{textsubscript}.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Improved supersub scripts.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Added print mode.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{realscripts}[2016/02/13]
+\LWR@ProvidesPackagePass{realscripts}[2016/02/13]
% \end{macrocode}
%
+%
+% The following are copied verbatim from the original,
+% but given new names, since \pkg{xparse} definitions should not be \cs{let}.
% \begin{macrocode}
-\let\realsuperscript\textsuperscript
-\let\realsubscript\textsubscript
+\ExplSyntaxOn
-\let\fakesuperscript\textsuperscript
-\let\fakesubscript\textsubscript
+\DeclareDocumentCommand \LWR@print@realsubscript {m} {
+ \fontspec_if_fontspec_font:TF {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+subs}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fontspec_if_feature:nTF {+sinf}
+ { {\addfontfeature{VerticalPosition=ScientificInferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {2}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fakesubscript{#1} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsubscript {m} {
+ \LWR@HTML@textsubscript{#1}
+}
+
+\LWR@formatted{realsubscript}
+
+
+\DeclareDocumentCommand \LWR@print@realsuperscript {m} {
+ \fontspec_if_fontspec_font:TF
+ {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+sups}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {1}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ }
+ { \fakesuperscript{#1} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsuperscript {m} {
+ \LWR@HTML@textsuperscript{#1}
+}
+
+\LWR@formatted{realsuperscript}
+
+
+\DeclareDocumentCommand \LWR@print@textsubsuperscript {s O{l} mm} {
+ \leavevmode
+ \group_begin:
+ \IfBooleanTF #1
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript*{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript*{#4}}
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript{#4}}
+ }
+ \hbox_set:Nn \l_tmpa_box
+ { \box_move_down:nn \subsupersep {\box_use:N \l_tmpa_box} }
+ \hbox_set:Nn \l_tmpb_box
+ { \box_move_up:nn \subsupersep {\box_use:N \l_tmpb_box} }
+ \str_case:nnF {#2}
+ {
+ {l}{\use_i:nnn}
+ {c}{\use_ii:nnn}
+ {r}{\use_iii:nnn}
+ }
+ {
+ \PackageWarning{realscripts}{
+ Unknown~alignment~option~`#2'. \MessageBreak
+ One~ of~ `l',~ `c',~ `r',~ only
+ }
+ \use_i:nnn
+ }
+ {
+ \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_right:n { \box_use:N \l_tmpb_box }
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ }
+ {
+ \dim_compare:nTF { \box_wd:N \l_tmpa_box > \box_wd:N \l_tmpb_box }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpb_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpa_box
+ }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpa_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpb_box
+ }
+ }
+ {
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_left:n { \box_use:N \l_tmpb_box }
+ }
+ \group_end:
+}
+
+\ExplSyntaxOff
-\newlength{\subsupersep}
\newcommand*{\LWR@realscriptsalign}{}
@@ -65339,18 +66363,23 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}{}%
}
-\DeclareDocumentCommand \textsubsuperscript {s O{l} mm} {%
+\DeclareDocumentCommand \LWR@HTML@textsubsuperscript {s O{l} mm} {%
\LWR@setrealscriptsalign{#2}%
\InlineClass[\LWR@realscriptsalign]{supsubscript}{%
\textsuperscript{#4}\textsubscript{#3}%
}%
}
+\LWR@formatted{textsubsuperscript}
-\DeclareDocumentCommand \textsupersubscript {s O{l} mm} {%
- \LWR@setrealscriptsalign{#2}%
- \InlineClass[\LWR@realscriptsalign]{supsubscript}{%
- \textsubscript{#4}\textsuperscript{#3}%
- }%
+\FilenameNullify{%
+ \RenewDocumentCommand{\textsuperscript}{s m}{}%
+ \RenewDocumentCommand{\textsubscript}{s m}{}%
+ \renewcommand{\fakesubscript}[1]{}%
+ \renewcommand{\fakesuperscript}[1]{}%
+ \renewcommand{\realsubscript}[1]{}%
+ \renewcommand{\realsuperscript}[1]{}%
+ \renewcommand{\textsubsuperscript}[2]{}%
+ \renewcommand{\textsupersubscript}[2]{}%
}
% \end{macrocode}
%
@@ -65874,12 +66903,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{rotfloat} is emulated.
%
% \changes{v0.34}{2017/07/25}{\pkg{rotfloat}: Added.}
+% \changes{v0.84}{2020/04/08}{\pkg{rotfloat}: Fix: Requires \pkg{rotating}.}
%
% \codehtml
% \begin{macrocode}
\LWR@ProvidesPackageDrop{rotfloat}[2004/01/04]
\RequirePackage{float}
+\RequirePackage{rotating}
% \end{macrocode}
%
%
@@ -66086,11 +67117,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \changes{v0.44}{2017/11/20}{\pkg{scrextend}: Added.}
% \changes{v0.47}{2018/01/26}{\pkg{scrextend}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Updated to v3.29.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{scrextend}[2018/03/30]
+\LWR@ProvidesPackageDrop{scrextend}[2020/01/24]
% \end{macrocode}
%
% \begin{macrocode}
@@ -66105,23 +67137,90 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\DeclareDocumentCommand{\useseriesofkomafont}{m}{}
\DeclareDocumentCommand{\useshapeofkomafont}{m}{}
+\providecommand*{\coverpagetopmargin}{}
+\providecommand*{\coverpagebottommargin}{}
+\providecommand*{\coverpageleftmargin}{}
+\providecommand*{\coverpagerightmargin}{}
+
+% \end{macrocode}
+%
+% Title page:
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Added \cs{titlehead}, \cs{subject},
+% \cs{subtitle}, \cs{published}.}
+% \begin{macrocode}
\AtBeginDocument{
\let\LWR@koma@orig@maketitle\maketitle
\DeclareDocumentCommand{\maketitle}{o}{\LWR@koma@orig@maketitle}
}
+\DeclareDocumentCommand{\@maketitle}{}{%
+ \ifdefvoid{\@titlehead}{}{%
+ \begin{BlockClass}{titlehead}%
+ \@titlehead%
+ \end{BlockClass}%
+ }%
+ \ifdefvoid{\@subject}{}{%
+ \begin{BlockClass}{subject}%
+ \@subject%
+ \end{BlockClass}%
+ }%
+ \LWR@stoppars%
+ \LWR@htmltag{\LWR@tagtitle}%
+ \@title%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR@startpars%
+ \begin{BlockClass}{author}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\cr}{}%
+ \renewcommand*{\crcr}{}%
+ \renewcommand*{\noalign}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\and}{%
+ \end{BlockClass}%
+ \begin{BlockClass}{oneauthor}%
+ }%
+ \begin{BlockClass}{oneauthor}%
+ \@author%
+ \end{BlockClass}%
+ \end{BlockClass}%
+ \begin{BlockClass}{titledate}%
+ \@date%
+ \end{BlockClass}%
+ \ifdefvoid{\@published}{}{%
+ \begin{BlockClass}{published}%
+ \@published%
+ \end{BlockClass}%
+ }%
+}
+
+\AddSubtitlePublished
+
\DeclareDocumentCommand{\extratitle}{m}{}
-\DeclareDocumentCommand{\titlehead}{m}{}
-\DeclareDocumentCommand{\subject}{m}{}
+\DeclareDocumentCommand{\frontispiece}{m}{}
+
+\def\@titlehead{}%
+\DeclareDocumentCommand{\titlehead}{m}{\gdef\@titlehead{#1}}%
+
+\def\@subject{}%
+\DeclareDocumentCommand{\subject}{m}{\gdef\@subject{#1}}%
+
+% \subtitle and \published are defined by \AddSubtitlePublished
+
\DeclareDocumentCommand{\publishers}{m}{\published{#1}}
+
\DeclareDocumentCommand{\uppertitleback}{m}{}
\DeclareDocumentCommand{\lowertitleback}{m}{}
\DeclareDocumentCommand{\dedication}{m}{}
\DeclareDocumentCommand{\ifthispageodd}{m m}{#1}
-\DeclareDocumentCommand{\titlepagestyle}{}{}
-
\DeclareDocumentCommand{\cleardoublepageusingstyle}{m}{}
\DeclareDocumentCommand{\cleardoubleemptypage}{}{}
\DeclareDocumentCommand{\cleardoubleplainpage}{}{}
@@ -67139,16 +68238,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{noindmacro}{\sidecaption} * \oarg{entry} \oarg{offset} \marg{text}
% \changes{v0.47}{2018/01/30}{\pkg{sidenotes}: Fix for \SVG\ math in captions.}
+% \changes{v0.84}{2020/04/16}{\pkg{sidenotes}: \cs{sidecaption} not long arg.}
% \begin{macrocode}
-\RenewDocumentCommand \sidecaption {s o o +m}
+\RenewDocumentCommand \sidecaption {s o o m}
{
\LWR@stoppars
\begingroup
- \captionsetup{style=sidecaption}
+ \captionsetup{style=sidecaption}%
\IfBooleanTF{#1}
{ % starred
\begin{BlockClass}[border:none ; box-shadow:none]{marginblock}
- \caption*{#4}
+ \caption*{#4}%
\end{BlockClass}
}
{ % unstarred
@@ -67172,11 +68272,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\NewDocumentEnvironment{KFLTsidenotes@marginfloat}{O{-1.2ex} m}
{% start
-\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+ \LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+ \renewcommand*{\@captype}{#2}%
}
{%
-\endLWR@BlockClassWP%
+ \endLWR@BlockClassWP%
}
\RenewDocumentEnvironment{marginfigure}{o}
@@ -68278,6 +69378,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{slantsc} is emulated for \HTML, and used as-is for print output.
%
% \changes{v0.72}{2019/05/27}{\pkg{slantsc}: Added.}
+% \changes{v0.84}{2020/04/11}{\pkg{slantsc}: \cs{FilenameNullfiy}.}
%
% \codehtml
%
@@ -68289,10 +69390,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\LWR@HTML@noscshape}{}
\LWR@formatted{noscshape}
-\newcommand*{\LWR@null@noscshape}{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\noscshape\LWR@null@noscshape%
+\FilenameNullify{%
+ \LetLtxMacro\noscshape\@empty%
}
% \end{macrocode}
%
@@ -69482,23 +70581,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% In print mode the minipages are used to place the items next to each other.
% In \HTML\ they are placed side-by-side automatically.
% \begin{macrocode}
-\ifdef{\subcaption@minipage}{
- \xpatchcmd{\subcaption@minipage}
- {\minipage}
- {\minipagefullwidth\minipage}
- {}
- {\LWR@patcherror{subcaption}{subcaption@minipage}}
-}{}
+\xpretocmd{\subcaption@iiminipage}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaption@iiminipage}}
% \end{macrocode}
%
% Likewise for a \cs{subcaptionbox}:
% \begin{macrocode}
-\ifdef{\subcaptionbox}{
- \xpretocmd{\subcaptionbox}
- {\minipagefullwidth}
- {}
- {\LWR@patcherror{subcaption}{subcaptionbox}}
-}{}
+\xpretocmd{\subcaptionbox}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaptionbox}}
% \end{macrocode}
%
% \iffalse
@@ -69758,7 +70852,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% comes from the |sub@<label>|:
% \begin{macrocode}
\renewcommand{\sf@subref}[1]{%
-\LWR@subnewref{#1}{sub@#1}%
+ \LWR@subnewref{#1}{sub@#1}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -70754,7 +71848,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.62}{2018/11/17}{\pkg{textcomp}: Fix conflict with \pkg{xunicode}.}
% \begin{macrocode}
\providecommand*{\LWR@HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
+ \InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
}
\LWR@formatted{capitalcedilla}
@@ -70770,6 +71864,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@formatted{capitalbreve}
\LWR@formatted{capitalmacron}
\LWR@formatted{capitaldotaccent}
+
\LWR@formatted{textcircled}
% \end{macrocode}
% Nullify \pkg{textcomp} macros when generating filenames:
@@ -72221,16 +73316,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% then initilize:
%
% \changes{v0.39}{2017/09/03}{\pkg{titling}: Removed extraneous \protect\env{center} environments.}
+% \changes{v0.84}{2020/04/22}{\pkg{titling}: \cs{AtBeginDocument}.}
% \begin{macrocode}
+\AtBeginDocument{
+ \pretitle{}
+ \posttitle{}
-\pretitle{}
-\posttitle{}
-
-\preauthor{}
-\postauthor{}
+ \preauthor{}
+ \postauthor{}
-\predate{}
-\postdate{}
+ \predate{}
+ \postdate{}
+}
% \end{macrocode}
%
%
@@ -72244,7 +73341,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Redefine the footnote mark:
%
% \begin{macrocode}
-\def\@makefnmark{\textsuperscript{\@thefnmark}}
+ \def\@makefnmark{\textsuperscript{\@thefnmark}}%
% \end{macrocode}
%
% \begin{center}
@@ -72258,11 +73355,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Redefine the footnote text:
%
% \begin{macrocode}
-\long\def\@makefntext##1{%
+ \long\def\@makefntext##1{%
% \end{macrocode}
% Make the footnote mark and some extra horizontal space for the tags:
% \begin{macrocode}
-\makethanksmark~%
+ \makethanksmark~%
% \end{macrocode}
% \begin{center}
% \begin{minipage}{.7\linewidth}
@@ -72274,8 +73371,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Print the text:
% \begin{macrocode}
-##1%
-}% \@makefntext
+ ##1%
+ }% \@makefntext
}
% \end{macrocode}
% \end{macro}
@@ -72306,32 +73403,32 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
% An \HTML\ titlepage \element{div} is used for all classes.
% \begin{macrocode}
-\begin{titlepage}
+ \begin{titlepage}
% \end{macrocode}
% Select which kind of footnote marks to use:
% \begin{macrocode}
-\@bsmarkseries
+ \@bsmarkseries
% \end{macrocode}
% Set up special patches:
% \begin{macrocode}
-\LWR@maketitlesetup
+ \LWR@maketitlesetup
% \end{macrocode}
% Typeset the title, etc:
% \begin{macrocode}
-\@maketitle
+ \@maketitle
% \end{macrocode}
% Immediately generate any \cs{thanks} footnotes:
% \changes{v0.73}{2019/06/25}{\pkg{titling}: Fix: Paragraph tags.}
% \begin{macrocode}
-\LWR@stoppars\@thanks\LWR@startpars
+ \LWR@stoppars\@thanks\LWR@startpars
% \end{macrocode}
% Close the \HTML\ titlepage div:
% \begin{macrocode}
-\end{titlepage}
+ \end{titlepage}
% \end{macrocode}
% Reset the footnote counter:
% \begin{macrocode}
-\@bscontmark
+ \@bscontmark
}
% \end{macrocode}
% \end{macro}
@@ -73073,21 +74170,21 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\DeclareDocumentCommand{\newlistof}{o m m m}
{%
-\IfValueTF{#1}
-{\newlistentry[#1]{#2}{#3}{0}}
-{\newlistentry{#2}{#3}{0}}
-\@namedef{ext@#2}{#3}
-\@ifundefined{c@#3depth}{\newcounter{#3depth}}{}
-\setcounter{#3depth}{1}
-\@namedef{cftmark#3}{}
-\@namedef{listof#2}{\listof{#2}{#4}}
-\@namedef{@cftmake#3title}{}
-\expandafter\newlength\csname cftbefore#3titleskip\endcsname
-\expandafter\newlength\csname cftafter#3titleskip\endcsname
-\@namedef{cft#3titlefont}{}
-\@namedef{cftafter#3title}{}
-\@namedef{cft#3prehook}{}
-\@namedef{cft#3posthook}{}
+ \IfValueTF{#1}%
+ {\newlistentry[#1]{#2}{#3}{0}}%
+ {\newlistentry{#2}{#3}{0}}%
+ \@namedef{ext@#2}{#3}%
+ \@ifundefined{c@#3depth}{\newcounter{#3depth}}{}%
+ \setcounter{#3depth}{1}%
+ \@namedef{cftmark#3}{}%
+ \@namedef{listof#2}{\listof{#2}{#4}}%
+ \@namedef{@cftmake#3title}{}%
+ \expandafter\newlength\csname cftbefore#3titleskip\endcsname%
+ \expandafter\newlength\csname cftafter#3titleskip\endcsname%
+ \@namedef{cft#3titlefont}{}%
+ \@namedef{cftafter#3title}{}%
+ \@namedef{cft#3prehook}{}%
+ \@namedef{cft#3posthook}{}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -73438,7 +74535,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-transparent}:
% \begin{macrocode}
\LWR@ProvidesPackagePass{transparent}[2019/11/29]
% \end{macrocode}
@@ -74391,11 +75487,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\LWR@restoreoriglists%
% \end{macrocode}
-% \DescribePackage{verse}\DescribeClass{memoir}\gindex{memoir=\pkg{memoir}>verse}
+% \DescribePackage{verse}
+% \DescribeClass{memoir}%
% The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left
% with their \cs{flagverse} command. \DescribeMacro{\flagverse}
-% Do not allow them to go into the left margin, which would cause \prog{pdfcrop}
-% to crop the entire page further to the left:
+% The following does not allow them to go into the left margin,
+% which would cause \prog{pdfcrop} to crop the entire page further to the left.
% \DescribeLength{\vleftskip}
% \begin{macrocode}
\ifdef{\vleftskip}{%
@@ -75100,37 +76197,37 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\NewDocumentEnvironment{wrapfigure}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=figure}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{figure}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wraptable}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=table}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{table}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wrapfloat}{m o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#3}{#5}%
-\captionsetup{type=#1}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#3}{#5}%
+ \renewcommand*{\@captype}{#1}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\newlength{\wrapoverhang}
@@ -75562,7 +76659,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorbox}
+ \LWR@formatted{colorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75599,7 +76696,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorboxBlock}
+ \LWR@formatted{colorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75635,7 +76732,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorbox}
+ \LWR@formatted{fcolorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75688,7 +76785,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorboxBlock}
+ \LWR@formatted{fcolorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -76520,8 +77617,12 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% The \pkg{lwarp} core uses the following to disable CJK \pkg{xpinyin} for
% filenames, side\TOC, and footnotes.
+%
+% \changes{v0.84}{2020/04/21}{\pkg{xpinyin}: Disables pinyin when null fonts.}
% \begin{macrocode}
\renewcommand*{\LWR@disablepinyin}{\disablepinyin}
+
+\FilenameNullify{\LWR@disablepinyin}
% \end{macrocode}
%
% \iffalse
@@ -77136,12 +78237,14 @@ height:\LWR@printlength{\LWR@tempheight}%
% \changes{v0.73}{2019/07/10}{\pkg{lwarp-patch-komascript}: Fix for captions.}
% \begin{macrocode}
\AtBeginDocument{
+\AtBeginDocument{
\LetLtxMacro\captionbelow\caption
\LetLtxMacro\captionabove\caption
\LetLtxMacro\captionofbelow\captionof
\LetLtxMacro\captionofabove\captionof
}
+}
\RenewDocumentEnvironment{captionbeside}{o m o o o s}
{}
@@ -77247,10 +78350,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\RequirePackage{lwarp-parskip}
\RequirePackage{lwarp-setspace}% req'd
\RequirePackage{lwarp-showidx}
-\RequirePackage{lwarp-subcaption}% req'd for \subfloat
% \end{macrocode}
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer require \pkg{subfigure}.}
+% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subfigure}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subcaption}.}
% ^^A Not sure why this is here:
% \begin{macrocode}
@@ -77267,14 +78370,52 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
%
%
-% \subsection{Preliminary setup}
+% \subsection{Label handling}
+%
+% Insert the \pkg{lwarp} label mechanism into the \pkg{memoir} package mechanism:
%
-% Bypass the \pkg{memoir} package mechanism:
+% \begin{itemize}
+% \item \cs{@mem@old@label} is the \LaTeX\ definition of \cs{label}.
+% \item \cs{LWR@orig@label} adds the \pkg{memoir} definition.
+% \item \pkg{lwarp}'s \cs{LWR@new@label} uses \cs{LWR@orig@label}.
+% \item Want \pkg{memoir}'s \cs{label} to use \pkg{lwarp}'s \cs{label},
+% which then would use \LaTeX's \cs{label}.
+% \item So:
+% \begin{itemize}
+% \item \cs{@mem@old@label} becomes \cs{LWR@new@label}.
+% \item \cs{LWR@orig@label} becomes \cs{@mem@old@label}.
+% \end{itemize}
+% \item \pkg{cleveref} then encapsulates all the above.
+% \item For a subcaption, \pkg{cleveref} modifies \pkg{memoir}'s \cs{sf@memsub@label}.
+% \end{itemize}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: Fix: \cs{label}.}
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\@mem@old@label
+\let\LWR@orig@label\@mem@old@label
+\let\@mem@old@label\LWR@new@label
+% \end{macrocode}
+%
+% Patches for subfloats to support additional \pkg{lwarp} labels:
+% \begin{macrocode}
+\AtBeginDocument{
+ \renewcommand*{\sf@@memsub@label}[1]{%
+ \@bsphack
+ \sf@@memsub@label@hook{#1}%
+ \@memoldlabel{#1}%
+ \LWR@label@createtag{sub@#1}%
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \LWR@write@lwarplabel{sub@#1}%
+ \@esphack
+ }
+}
% \end{macrocode}
%
+%
+% \subsection{Page layout}
+%
% \pkg{memoir} already set the page size to a default,
% so it must be forced large for \pkg{lwarp}'s use,
% to avoid tag overflows off the page.
@@ -77284,9 +78425,6 @@ height:\LWR@printlength{\LWR@tempheight}%
\setulmarginsandblock{1in}{1in}{*}
% \end{macrocode}
%
-%
-% \subsection{Page layout}
-%
% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Updated for new sizes.}
% \begin{macrocode}
\renewcommand*{\stockavi}{}
@@ -77495,8 +78633,11 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand\titlingpageend[2]{}
% \end{macrocode}
%
+%
% \subsection{Abstracts}
% \begin{macrocode}
+% \newlength{\absindent}
+% \newlength{\absparsep}
\renewcommand*{\abstractcol}{}
\renewcommand*{\abstractintoc}{}
\renewcommand*{\abstractnum}{}
@@ -77722,10 +78863,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\makeheadposition}[5]{}
\renewcommand{\makepsmarks}[2]{}
\renewcommand*{\makeheadfootstrut}[3]{}
-
-\renewcommand{\createplainmark}[3]{}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/06}{\pkg{lwarp-patch-memoir}: Creates mark macros.}
+% \begin{macrocode}
+\renewcommand{\createmark}[5]{\csdef{#1mark}[1]{}}
+\renewcommand{\createplainmark}[3]{\csdef{#1mark}{}}
+% \end{macrocode}
+% \begin{macrocode}
\renewcommand{\memUChead}[1]{}
-\renewcommand{\createmark}[5]{}
\renewcommand*{\clearplainmark}[1]{}
\renewcommand*{\clearmark}[1]{}
\renewcommand{\addtopsmarks}[3]{}
@@ -78031,15 +79177,51 @@ height:\LWR@printlength{\LWR@tempheight}%
\DeclareRobustCommand{\cftpagenumberson}[1]{}
% \end{macrocode}
%
+%
% \subsection{Floats and captions}
%
+%
+% \begin{noindmacro}{\@xfloat}
+% \begin{noindmacro}{\@xdblfloat}
+% Reestablish \pkg{lwarp}'s takeover the float handing,
+% which \pkg{memoir} tried to grab:
+%
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: Use \LaTeX\ captions.}
+% \begin{macrocode}
+\AtBeginDocument{
+\def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+\def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \begin{noindmacro}{\newfloat} \oarg{1: within} \marg{2: type}
% \marg{3: ext} \marg{4: capname}
% \begin{macrocode}
\RenewDocumentCommand{\newfloat}{o m m m}{%
- \IfValueTF{#1}%
- {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
- {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ \def\LWR@tempone{#4}%
+ \def\LWR@temptwo{\@nameuse{#2name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{% recursive name, already defined
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#2}}%
+ }{% not recursive name
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ }%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
@@ -78091,7 +79273,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\NewDocumentEnvironment{KFLTmemoir@marginfloat}{O{-1.2ex} m}
{% start
\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -78125,17 +79307,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\flegtocfigure}{}
% \end{macrocode}
%
-% \cs{subfloat} is from the \pkg{subcaption} package.
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Use \pkg{subcaption} instead of \pkg{subfig}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer uses \pkg{subcaption}.}
% \begin{macrocode}
-\renewcommand{\subcaption}[2][]{%
- \ifblank{#1}{\subfloat[#2]{}}{\subfloat[#1][#2]{}}%
+\renewcommand{\@makesubfloatcaption}[2]{%
+ \minipagefullwidth
+ \begin{minipage}{\linewidth}%
+ #1 \ignorespaces #2 \unskip%
+ \end{minipage}
}
-\renewcommand{\contsubcaption}{\ContinuedFloat\subcaption}
-
-\LetLtxMacro\subcaptionref\subref
-
\renewcommand*{\tightsubcaptions}{}
\renewcommand*{\loosesubcaptions}{}
@@ -78162,11 +79342,18 @@ height:\LWR@printlength{\LWR@tempheight}%
% \newif\ifscapmargleft
\scapmargleftfalse
\renewcommand*{\setsidecappos}[1]{}
-
+% \end{macrocode}
+%
+%
+% \begin{noindenvironment}{sidecontcaption}
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: \pkg{caption} now optional, removed dup caption.}
+% \begin{macrocode}
\RenewDocumentEnvironment{sidecontcaption}{m o}
{}
{%
- \ContinuedFloat%
+ \ifdef{\ContinuedFloat}%
+ {\ContinuedFloat}%
+ {\addtocounter{\@captype}{-1}}%
\caption{#1}%
% \end{macrocode}
% Without \cs{@captype}, the section is referred to instead.
@@ -78174,6 +79361,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\IfValueT{#2}{\label[\@captype]{#2}}%
}
% \end{macrocode}
+% \end{noindenvironment}
+%
+%
% \cs{sidenamedlegend} does not appear to use the \TOC\ argument.
% \begin{macrocode}
\renewenvironment{sidenamedlegend}[2][]{
@@ -78207,7 +79397,7 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
-% \subsection{Page notes}
+% \subsection{Footnotes and page notes}
%
% \begin{macrocode}
\renewcommand*{\feetabovefloat}{}
@@ -78216,7 +79406,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\verbfootnote}[2][]{%
\PackageError{lwarp,memoir}%
- {Verbatim footnotes are not yet supported by lwarp.}%
+ {Verbatim footnotes are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78228,7 +79418,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\newfootnoteseries}[1]{%
\PackageError{lwarp,memoir}%
- {Memoir footnote series are not yet supported by lwarp.}%
+ {Memoir footnote series are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78285,18 +79475,61 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\sidefootmarkstyle}[1]{}
\renewcommand*{\sidefoottextfont}{}
\renewcommand*{\sidefootform}{}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/31}{\pkg{lwarp-patch-memoir}: Fixed pagenotes.}
+% \begin{macrocode}
\renewcommand*{\continuousnotenums}{\pncontopttrue}% from pagenote
\renewcommand*{\notepageref}{}
\renewcommand*{\prenotetext}{}
\renewcommand*{\postnotetext}{}
-\renewcommand*{\idtextinnotes}[1]{}
-\renewcommand*{\printpageinnotes}[1]{}
-\renewcommand*{\printpageinnoteshyperref}[1]{}
+\LetLtxMacro\printpageinnoteshyperref\printpageinnotes
\renewcommand*{\foottopagenote}{}
\renewcommand*{\pagetofootnote}{}
% \end{macrocode}
%
+% \begin{noindmacro}{\m@m@wrpnote}
+% \begin{noindmacro}{\startnoteentrystart}
+% To have \pkg{cleveref} work with page note labels,
+% the following patch writes \cs{thepagenote} and also adds |\arabic{pagenote}|
+% to the first argument written to the \filenm{.ent} file:
+% \begin{sourcedisplay}
+% \cs{startnoteentry}\textred{\{}\{\cs{thepagenote}\}\{\cs{arabic}\{pagenote\}\}\textred{\}} \dots
+% \end{sourcedisplay}
+% The arabic value is required for \pkg{cleveref}.
+% \cs{thepagenote} becomes |\@firstoftwo#1| and
+% the arabic value becomes |\@secondoftwo#1|.
+%
+% Note that for print mode,\watchout[\cs{nameref}]
+% \cs{nameref} print the section name where the page notes are
+% declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+% \changes{v0.84}{2020/04/02}{\pkg{lwarp-patch-memoir}: Improved \pkg{cleveref} support.}
+% \begin{macrocode}
+\xpatchcmd{\m@m@wrpnote}
+ {\string\startnoteentry{\thepagenote}}
+ {\string\startnoteentry{{\thepagenote}{\arabic{pagenote}}}}
+ {}
+ {\LWR@patcherror{memoir}{m@m@wrpnote}}
+
+\renewcommand\startnoteentrystart[4]{%
+ \prenoteinnotes%
+ \noteidinnotes{\@firstoftwo#1}{#2}%
+ \@ifmtarg{#2}{%
+% \phantomsection\def\@currentlabel{#1}% original
+ \def\@currentlabel{\@firstoftwo#1}% lwarp
+ \def\cref@currentlabel{% lwarp
+ [pagenote][\@secondoftwo#1][]\@firstoftwo#1% lwarp
+ }% lwarp
+ }{}%
+ \pagenoteanchor{#4}%
+ \pageinnotes{#3}%
+ \prenotetext%
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \subsection{Decorative text}
%
% \begin{macrocode}
@@ -78345,12 +79578,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewenvironment{qshade}{\shaded}{\endshaded}
% \end{macrocode}
%
-% Use the \pkg{comment} package:
+% \changes{v0.84}{2020/03/30}{\pkg{lwarp-patch-memoir}: Uses \pkg{memoir}'s
+% \cs{newcomment}, \cs{commentsoff}, \cs{commentson}.}
+%
% \begin{macrocode}
-\renewcommand*{\commentsoff}[1]{\includecomment{#1}}
-\renewcommand*{\commentson}[1]{\excludecomment{#1}}
-\LetLtxMacro\renewcomment\commentson
-
\renewcommand*{\setverbatimfont}[1]{}
\renewcommand*{\tabson}[1]{}
\renewcommand*{\tabsoff}{}
@@ -78429,6 +79660,7 @@ height:\LWR@printlength{\LWR@tempheight}%
% \subsection{Back matter}
% \label{sec:memoirbackmatter}
%
+% \begin{noindmacro}{\@@wrindexhyp}
% Redefined to write the |LWR@autoindex| counter instead of |page|.
% Note that \pkg{memoir} has two versions, depending on the use of \pkg{hyperref}.
% \begin{macrocode}
@@ -78444,7 +79676,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\endgroup
\@esphack}%
% \end{macrocode}
+% \end{noindmacro}
%
+% \begin{noindmacro}{\@@wrspindexhyp}
% \label{sec:specialindex}
% \cs{specialindex} behaves like a regular \cs{index}, pointing to where
% \cs{specialindex} is used.
@@ -78464,8 +79698,10 @@ height:\LWR@printlength{\LWR@tempheight}%
}% \AtBeginDocument
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\@spindex}
% Patched to append |_html| to the file:
% \changes{v0.83}{2020/03/26}{\pkg{lwarp-patch-memoir}: Fixed: \cs{specialindex}.}
% \begin{macrocode}
@@ -78483,8 +79719,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\@sanitize
\@wrspindex}}
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\makeindex}
% Patched to use |_html| filename and \cs{BaseJobname}:
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
% \begin{macrocode}
@@ -78501,7 +79739,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\fi}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\printindex}
% Patched to use |_html| filename and \cs{BaseJobname}.
% This will later be patched by the \pkg{lwarp} core.
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
@@ -78510,6 +79750,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\printindex}[1][\BaseJobname]{\@input@{#1_html.ind}}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
%
% \begin{macrocode}
\DeclareDocumentCommand{\newblock}{}{}
@@ -78643,50 +79884,102 @@ height:\LWR@printlength{\LWR@tempheight}%
\endgroup%
}
% \end{macrocode}
-% ^^A *8* todo:
+
% \begin{macrocode}
% only in ccaption, not in memoir:
% \LetLtxMacro\longbitwonumcaption\bitwonumcaption%
% \LetLtxMacro\longbionenumcaption\bitwonumcaption%
% \LetLtxMacro\longbicaption\bicaption%
-
-\RenewDocumentCommand{\subtop}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
-
-\RenewDocumentCommand{\subbottom}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
% \end{macrocode}
%
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Fixed: \cs{contsubtop}, \cs{contsubbottom}.}
+% Patches for subfloats to support additional \pkg{lwarp} labels:
% \begin{macrocode}
-\renewcommand{\contsubtop}{%
- \ContinuedFloat
- \subtop%
-}
+\renewcommand{\@memsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \ifdonemaincaption\else
+ \advance\csname c@\@captype\endcsname\@ne
+ \fi
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
-\renewcommand{\contsubbottom}{%
- \ContinuedFloat
- \subbottom%
+\renewcommand{\@memcontsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \@contset
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+
+\long\def\@memsubfloat#1[#2][#3]#4{%
+% \@tempcnta=\@ne
+% \if@tightsubcap
+% \if@minipage
+% \@tempcnta=\z@
+% \else
+% \ifdim\lastskip=\z@
+% \@tempcnta=\@ne
+% \else
+% \@tempcnta=\tw@
+% \fi
+% \fi
+% \fi
+% \if@contbotsub
+% \def\subfig@top{\subfloattopskip}%
+% \def\subfig@bottom{\subfloatbottomskip}%
+% \else
+% \def\subfig@top{\subfloatbottomskip}%
+% \def\subfig@bottom{\subfloattopskip}%
+% \fi
+% \setbox\@tempboxa \hbox{#4}%
+% \@tempdima=\wd\@tempboxa
+% \vbox
+ \bgroup%
+ \mem@step@subcounter%
+% \vbox
+ \LWR@stoppars%
+ \minipagefullwidth% lwarp
+ \begin{minipage}{\linewidth}% lwarp
+ \bgroup
+% \ifcase\@tempcnta
+% \@minipagefalse
+% \or
+% \vspace{\subfig@top}
+% \or
+% \ifdim \lastskip=\z@ \else
+% \@tempskipb\subfig@top\@xaddvskip
+% \fi
+% \fi
+ \if@contbotsub
+ #4% \box\@tempboxa
+ \egroup
+ \ifx \@empty#3\relax \else
+% \vskip\subfloatcapskip
+ \@memsubcaption{#1}{#2}{#3}%
+ \fi
+ \else
+ \ifx \@empty#3\relax \else
+ \@memsubcaption{#1}{#2}{#3}%
+% \vskip\subfloatcapskip
+% \vskip\subfloatcaptopadj
+ \fi\egroup
+ #4% \box\@tempboxa
+ \fi
+% \vspace{\subfig@bottom}
+ \end{minipage}% lwarp
+ \LWR@startpars% lwarp
+ \egroup
+\egroup
}
% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\subconcluded}{}
-
-\let\contsubtable\contsubtop
-\let\contsubfigure\contsubbottom
-% \end{macrocode}
-% ^^A *8* todo:
-% ^^A tocloft stuff
-% \begin{macrocode}
-\newcommand{\newfloatentry}[4][\@empty]{TODO: newfloatentry}
-\newcommand{\newfloatlist}[5][\@empty]{TODO: newfloatlist}
-\newcommand{\newfloatenv}[4][\@empty]{TODO: newfloatenv}
-\DeclareRobustCommand{\newfloatpagesoff}[1]{}
-\DeclareRobustCommand{\newfloatpageson}[1]{}
-\newcommand{\setnewfloatindents}[3]{}
-% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: \cs{contsubtop}, etc. now as-is.}
%
%
% \subsection{Final patchwork}
@@ -78702,6 +79995,8 @@ height:\LWR@printlength{\LWR@tempheight}%
% \fi
%
%
+%
+%
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
%
%
@@ -78831,8 +80126,8 @@ height:\LWR@printlength{\LWR@tempheight}%
\end{BlockClass}
}{%
\PackageError{lwarp-common-multimedia}
- {File '#2' not found}
- {Perhaps an incorrect path?}
+ {File '#2' not found}
+ {Perhaps an incorrect path?}
}%
}
% \end{macrocode}
@@ -78938,11 +80233,13 @@ height:\LWR@printlength{\LWR@tempheight}%
\newcommand*{\LWR@multimedia@percenterror}{%
\PackageError{lwarp-media9}
{%
- Do not use a percent comment
- between\MessageBreak
+ Do not use a percent comment between\MessageBreak
\protect\includemedia\space arguments%
}
- {Percent is changed to a regular character to allow its use inside a URL.}
+ {%
+ Percent is changed to a regular character\MessageBreak
+ to allow its use inside a URL.%
+ }
}
% \end{macrocode}
% \end{noindmacro}
diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins
index dc5805e34b..eded7a542a 100644
--- a/macros/latex/contrib/lwarp/lwarp.ins
+++ b/macros/latex/contrib/lwarp/lwarp.ins
@@ -86,6 +86,7 @@ version 2005/12/01 or later.
\file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
\file{lwarp-bophook.sty}{\from{lwarp.dtx}{bophook}}
\file{lwarp-bounddvi.sty}{\from{lwarp.dtx}{bounddvi}}
+\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
\file{lwarp-braket.sty}{\from{lwarp.dtx}{braket}}
\file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index 18cd82265d..eea09fbc8e 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index dcf139cf61..a6239409bc 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.84"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -379,7 +379,7 @@ function removeaux ()
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -393,7 +393,8 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index be852f809b..597987209f 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2020
- tuda-ci 2020/03/09 v2.09
+ tuda-ci 2020/04/25 v2.10
***************************************************************************
@@ -191,3 +191,7 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- fix bug concerning the combination of twocolumn and marinpar=false
- smaller Layout adjustments
- documentation enhancements
+ * v2.10 (2020-04-25) bugfixes + feature enhancement for tudaexercise
+ - add a mechanism for credits in tudaexercise
+ - captions & headings in leaflets no longer using \accentfont
+ - fixing marginpar alignment
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index eb7ffad95b..be3b67c964 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index cd8eecd19c..ce40b87dce 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index d9649f6686..9ec47ff1c2 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index b583e57ee6..f44471c8c9 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index 51e05b594b..2ecc47d827 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index aa21b5bf9f..e4cef1e026 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index a321aa61cb..f7c9141246 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 0d85d5d220..418e25055f 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 3fae6252cf..cd1923820a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 5cb5e6d78d..021f3f2c15 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 945c08f475..13ad606dd1 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index 782307cc3f..4efb8203b8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaAnnouncement.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index dc86d05816..05b7badcb0 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaBeamer.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index 8abe5715ae..5e8b5012d9 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaBibliography.bib' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index af21fe90e9..f0e9173ec7 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaExercise.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -171,6 +171,20 @@ Beispiel für einen Lösungsvorschlag
\end{task}
+\begin{task}[credit=10]{Punkte}
+Punkteangaben sind über den Optionsschlüssel \code{credit} möglich. Der Wert wird hinter den Aufgabentitel in runde Klammern gesetzt. Dies geschieht mithilfe des Makros \code{\tbs{}creditformat}
+
+Alternativ existiert der Schlüssel \code{points} dieser ergänzt zusätzlich zur Angabe auch den Text \code{\tbs{}PointName} bzw. \code{\tbs{PointsName}} je nachdem ob der Wert größer 1 oder nicht. Der Schlüssel \code{points} akzeptiert daher nur numerische Werte.
+\begin{subtask}[points=1,title=Beispiel für den Schlüssel points]
+Da ältere Versionen von TUDaExercise keine Optionsverarbeitung für subtask erlaubten, ist hier ein zusätzlicher Mechanismus enthalten. Falls sowohl ein Titel, als auch spezifische Angaben notwendig sind, existiert hier zusätzlich der Schlüssel \code{title}.
+Geprüft wird darauf, ob das Argument ein Gleichheitszeichen enthält, ist dies der Fall, so wird davon ausgegangen, dass Optionen nach Schlüssel=Wert-Struktur übergeben werden.
+\end{subtask}
+
+\begin{subtask}[Fallback-Modus, falls ein = im Titel detektiert wird, aber keine Zuweisung möglich ist.]
+Falls bei der Optionsverarbeitung Unstimmigkeiten festgestellt werden, so wird das gesamte Argument als Titel verarbeitet.
+\end{subtask}
+\end{task}
+
\begin{task}{Kompatibilitätsmodus}
Die Klasse \cls{tudaexercise} verfügt über einen Kompatibilitätsmodus, um den Umstieg von zuvor existierenden Templates, wie TUDexercise zu erleichtern.
Um den Kompatibilitätsmodus zu aktivieren, existiert die Option \code{compat=true}.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index bb631d0d39..eab9a4fe26 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaFromaddress.lco' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 4819247ebd..7bbd051f51 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaLeaflet.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index c7ffa0862d..0250803bd3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaLetter.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index 9a8f0595ab..e18336f4f5 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaPhD.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index 9100182b03..7c39f2186b 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaPoster.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 8a851d30d5..2da25184e8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaPub.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index 2b0cf9d3a4..353181c3f7 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaReport.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index 44ff5c611c..f437db453a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaSciPoster.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index d58459f2ab..fae5737569 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis.tex' version 2.09 (2020/03/09),
+%% This is file `DEMO-TUDaThesis.tex' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index c113259395..0aae6a8079 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 2.09 (2020/03/09),
+%% This is file `beamercolorthemeTUDa.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index 200a61b399..5b2c119339 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 2.09 (2020/03/09),
+%% This is file `beamerfontthemeTUDa.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 1abc6ff6ba..085cb795a7 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 2.09 (2020/03/09),
+%% This is file `beamerinnerthemeTUDa.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
%% This is file `beamerinnerthemeTUDa.sty' version 1.11 (2019/10/15),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index 45c518e6dd..e72078fdce 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 2.09 (2020/03/09),
+%% This is file `beamerouterthemeTUDa.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerouterthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index 31bc626202..7f102a4e9e 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 2.09 (2020/03/09),
+%% This is file `beamerthemeTUDa.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeTUDa}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 806a2b112b..b081ea671f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a0paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{125pt}{165pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index 28b2027a53..f8116c0871 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a1paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{86pt}{120pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 3fc0e2df33..f5934603a0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a2paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index 03dd92f73c..fcc6f0d8a7 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a3paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a3paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 534ddbc68b..aea71a749f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a4paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a4paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index 3f6e367aa8..b08a8b0e69 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 2.09 (2020/03/09),
+%% This is file `tuda-a5paper.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a5paper}
\cs_set:Nn \TUDa_setup_title_sizes: {
\cs_set:Nn \TUDa_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index f752b91951..96c2a3c563 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 2.09 (2020/03/09),
+%% This is file `tuda-pgfplots.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 16af5ebe1f..b5c4927730 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 2.09 (2020/03/09),
+%% This is file `tudabeamer.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 6b062a79e7..70ea98ff46 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 2.09 (2020/03/09),
+%% This is file `tudacolors.def' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index e67cab2973..317f62acf8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 2.09 (2020/03/09),
+%% This is file `tudacolors.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index 52a87998b4..a6398ec3b4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 2.09 (2020/03/09),
+%% This is file `tudaexercise.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaexercise}
@@ -75,17 +75,32 @@
}
+\bool_new:N \l_TUDa_ex_subtask_fallback_bool
+\keys_define:nn {TUDa/subtask} {
+ credit .tl_set:N = \l_TUDa_ex_credit_tl,
+ credit .initial:n =,
+ points .int_set:N = \l_TUDa_ex_points_int,
+ points .initial:n = 0,
+ title .tl_set:N = \l_TUDa_ex_title_tl,
+ title .initial:n =,
+ unknown .code:n = \bool_set_true:N \l_TUDa_ex_subtask_fallback_bool \tl_clear:N \l_TUDa_ex_credit_tl \int_zero:N \l_TUDa_ex_points_int,
+}
+
\keys_define:nn {TUDa/exercise} {
- solution .code:n = {
- \bool_set_eq:Nc \l_TUDa_ex_solution_bool {c_#1_bool}
- \TUDa_setup_solution:
- },
- solution .initial:n = false,
- solution .default:n = true,
- compat .bool_gset:N = \g_TUDa_ex_compatibility_bool,
- compatilibity .meta:n = {compat=#1},
- compatibility .default:n = true,
- compat .initial:n = false,
+ solution .code:n = {
+ \bool_set_eq:Nc \l_TUDa_ex_solution_bool {c_#1_bool}
+ \TUDa_setup_solution:
+ },
+ solution .initial:n = false,
+ solution .default:n = true,
+ compat .bool_gset:N = \g_TUDa_ex_compatibility_bool,
+ compatilibity .meta:n = {compat=#1},
+ compatibility .default:n = true,
+ compat .initial:n = false,
+ credit .tl_set:N = \l_TUDa_ex_credit_tl,
+ credit .initial:n =,
+ points .int_set:N = \l_TUDa_ex_points_int,
+ points .initial:n = 0,
}
\keys_define:nn {TUDa/exercise/headline} {
@@ -210,7 +225,13 @@
\exp_args:No \tl_if_empty:nF {#4}
{:~}
}
- #4\rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par}\nointerlineskip
+ #4
+ \tl_if_in:nnT {#1} {task} {
+ \tl_if_empty:NTF \l_TUDa_ex_credit_tl
+ {\pointformat{\l_TUDa_ex_points_int}}
+ {\creditformat{\l_TUDa_ex_credit_tl}}
+ }
+ \rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par}\nointerlineskip
\skip_vertical:n {\TUDa_titlerule_sep: -\dp\strutbox}
\smash{\rule{\linewidth}{\g_TUDa_titlerule_dim}}
}}
@@ -313,8 +334,8 @@
\setkomafont{pageheadfoot}{\sffamily\small}
\setkomafont{pagenumber}{}
-\addtokomafont{captionlabel}{\accentfont}
-\addtokomafont{caption}{\accentfont}
+\addtokomafont{captionlabel}{\sffamily}
+\addtokomafont{caption}{\sffamily}
\box_new:N \g_TUDa_ex_headline_odd_box
\box_new:N \g_TUDa_ex_headline_even_box
@@ -620,6 +641,22 @@
\providecaptionname{english, american, british}{\StudentIDname}{Enrollment ID}
\newcommand*{\StudentIDsep}{:~}
+\providecommand{\creditformat}[1]{\space(#1)}
+\newcommand*{\pointformat}[1]{
+ \int_case:nnF {#1}
+ {
+ {0} {}
+ {1} {\creditformat{\int_to_arabic:n {#1}\space\PointName}}
+ }
+ {\creditformat{\int_to_arabic:n {#1}\space\PointsName}}
+ }
+\providecaptionname{ngerman, german}{\PointName}{Punkt}
+\providecaptionname{english, american, british}{\PointName}{Point}
+\providecommand{\PointsName}{Punkte}
+\providecaptionname{ngerman, german}{\PointsName}{Punkte}
+\providecaptionname{english, american, british}{\PointsName}{Points}
+
+
%Has to be initialized after captionnames have been defined
\AtBeginDocument{
\TUDa_update_headline_boxes:
@@ -649,8 +686,10 @@ tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsection@numwidth {2.3em},%
\cs_undefine:N \task
\NewDocumentEnvironment{task}{om}{
+ \begingroup
\IfNoValueF{#1}{\keys_set:nn {TUDa/exercise}{#1}}
\@task{#2}
+ \endgroup
}{}
@@ -675,8 +714,15 @@ counterwithin=task,%
\cs_undefine:N \subtask
\NewDocumentEnvironment{subtask}{o}{
- \@subtask{\IfNoValueF{#1}{#1}}
- }{}
+ \tl_if_in:nnT {#1} {=} {
+ \keys_set:nn {TUDa/subtask} {#1}
+ }
+ \bool_if:NTF \l_TUDa_ex_subtask_fallback_bool {
+ \@subtask{\IfNoValueF{#1}{#1}}
+ }{
+ \@subtask{\l_TUDa_ex_title_tl}
+ }
+ }{}
%Solution mechanism
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index d14ee40fa7..8dd0f93dbe 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 2.09 (2020/03/09),
+%% This is file `tudafonts.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index d4fc2062c5..dfa62f4e83 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 2.09 (2020/03/09),
+%% This is file `tudaleaflet.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\def\filedate{2020/02/02}
\def\fileversion{}
\NeedsTeXFormat{LaTeX2e}
@@ -300,7 +300,7 @@ contents={
\renewcommand*{\familydefault}{\sfdefault}
%Titlepage font setup
-\setkomafont{disposition}{\accentfont\bfseries}
+\setkomafont{disposition}{\bfseries}
\setkomafont{title}{\Huge}
\setkomafont{subtitle}{}
\setkomafont{date}{}
@@ -360,6 +360,8 @@ contents={
\tl_gset_eq:NN \g_TUDa_titleimage_code_tl \c_empty_tl
\newcommand{\titleimage}[1]{\tl_gset:Nn \g_TUDa_titleimage_code_tl {#1}}
+\author{}%to remove warning if no author given
+
\box_new:N \g_TUDa_title_box
\skip_new:N \g_TUDa_title_fill_skip
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 3d3bd2e62a..48f31539bb 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 2.09 (2020/03/09),
+%% This is file `tudaletter.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaletter}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index b0a6a3761b..567f70bb40 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 2.09 (2020/03/09),
+%% This is file `tudalettersize10pt.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
%% This is file `tudalettersize10pt.clo' version 1.0 (2018/12/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index c685aff27d..3b8b849b4d 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 2.09 (2020/03/09),
+%% This is file `tudaposter.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
@@ -538,6 +538,4 @@
See~the~TUDa-CI~documentation~for~further~information.
}
-\addtokomafont{captionlabel}{\accentfont}
-\addtokomafont{caption}{\accentfont}
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index 72f6e21110..de7e72237b 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 2.09 (2020/03/09),
+%% This is file `tudapub.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudapub}
@@ -417,8 +417,8 @@
\setkomafont{disposition}{\sffamily\bfseries}
\setkomafont{pageheadfoot}{\sffamily\small}
\setkomafont{pagenumber}{}
-\addtokomafont{captionlabel}{\accentfont}
-\addtokomafont{caption}{\accentfont}
+\addtokomafont{captionlabel}{\sffamily}
+\addtokomafont{caption}{\sffamily}
\KOMAoptions{footsepline=.5\c_TUDa_smallrule_dim}
@@ -1164,12 +1164,12 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}}
%Anpassungen marginpar
\cs_set_eq:NN\TUDa_orig@marginpar:\marginpar
-\newkomafont{marginpar}{\color{textaccentcolor}\accentfont}
+\newkomafont{marginpar}{\accentfont\color{textaccentcolor}}
\RenewDocumentCommand{\marginpar}{om}{
\IfNoValueTF{#1}{
- \TUDa_orig@marginpar:{\usekomafont{marginpar}#2}
+ \TUDa_orig@marginpar:{\leavevmode\usekomafont{marginpar}#2}
}{
- \TUDa_orig@marginpar:[\usekomafont{marginpar}#1]{\usekomafont{marginpar}#2}
+ \TUDa_orig@marginpar:[\leavevmode\usekomafont{marginpar}#1]{\leavevmode\usekomafont{marginpar}#2}
}
}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 08a468604e..2b7ec409ac 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 2.09 (2020/03/09),
+%% This is file `tudarules.sty' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index 5a7c88875f..4d8a594e74 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 2.09 (2020/03/09),
+%% This is file `tudasciposter.cls' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index a8018dec6f..6a1558dc29 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 2.09 (2020/03/09),
+%% This is file `tudasize9pt.clo' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
%% This is file `tudasize9pt.clo' version 1.0 (2018/12/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index b2048c17e1..d4024eb214 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 2.09 (2020/03/09),
+%% This is file `tudathesis.cfg' version 2.10 (2020/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{2.09}
-\def\filedate{2020/03/09}
+\def\fileversion{2.10}
+\def\filedate{2020/04/25}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Coporate Design (tuda-ci)}
@@ -303,7 +303,7 @@
\urlstyle{same}
Bitte~zitieren~Sie~dieses~Dokument~als:
\tl_if_empty:NF \g_TUDa_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_TUDa_thesis_urn_tl}
- URL:~\url{http://tuprints.ulb.tu-darmstadt.de/\g_TUDa_thesis_tuprints_tl}\par\vspace{\baselineskip}
+ \\URL:~\url{http://tuprints.ulb.tu-darmstadt.de/\g_TUDa_thesis_tuprints_tl}\par\vspace{\baselineskip}
Dieses~Dokument~wird~bereitgestellt~von~tuprints,\\
E-Publishing-Service~der~TU~Darmstadt\\
\url{http://tuprints.ulb.tu-darmstadt.de}\\