diff options
author | Norbert Preining <norbert@preining.info> | 2020-09-04 03:03:07 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-09-04 03:03:07 +0000 |
commit | 547e0bdac8f18f25b4cac1bb8234b9aecb2bcea8 (patch) | |
tree | d780e2601b5cbdd3aae05d5141d84689813fe4e6 /macros/latex/contrib | |
parent | fc732340b62b41cedbe82bcb3675a86c65343a21 (diff) |
CTAN sync 202009040303
Diffstat (limited to 'macros/latex/contrib')
151 files changed, 4627 insertions, 726 deletions
diff --git a/macros/latex/contrib/docutils/README.md b/macros/latex/contrib/docutils/README.md new file mode 100644 index 0000000000..2a0cc3b195 --- /dev/null +++ b/macros/latex/contrib/docutils/README.md @@ -0,0 +1,69 @@ +docutils.sty +============ + +Helper commands and element definitions for Docutils_ LaTeX output. + +:Copyright: © 2020 Günter Milde + +:Licence: Released under the terms of the `2-Clause BSD license`__ + + __ https://opensource.org/licenses/BSD-2-Clause + + +Changelog +--------- + +| 2020-08-28 first public version for Docutils >= 0.17 + +Requirements +------------ + +None. + +Installation +------------ + +If possible, get this package from your distribution using its +installation manager. Alternatively, copy/move/link ``docutils.sty`` +to a place where LaTeX can find it. + +Usage +----- + +The package is intended for use with LaTeX documents generated from +reStructuredText_ sources with Docutils_. + +When generating LaTeX documents, specify this package with the +`"stylesheet"`_ `configuration option`_, e.g. :: + + rst2latex --stylesheet=docutils exampledocument.txt + +The the Docutils `LaTeX writer` will then reference this package +istead of inserting required definitions into the preamble of +generated documents (see the `Docutils LaTeX Writer documentation`_ +for details). + +.. _reStructuredText: https://en.wikipedia.org/wiki/ReStructuredText + +.. _Docutils: https://docutils.sourceforge.io/ + +.. _"stylesheet": + https://docutils.sourceforge.io/docs/user/config.html#stylesheet-latex-writers + +.. _configuration option: + https://docutils.sourceforge.io/docs/user/config.html + +.. _Docutils LaTeX Writer documentation: + https://docutils.sourceforge.io/docs/user/latex.html + +Documentation Generation +------------------------ + +The bidirectional text <-> code converter PyLit_ and Docutils_ +were used to generate the HTML documentation:: + + #> pylit docutils.sty + #> rst2html5 docutils.sty.txt docutils.sty.html + +.. _Pylit: https://repo.or.cz/pylit.git + diff --git a/macros/latex/contrib/docutils/docutils.sty b/macros/latex/contrib/docutils/docutils.sty new file mode 100644 index 0000000000..b2b9ef7ec1 --- /dev/null +++ b/macros/latex/contrib/docutils/docutils.sty @@ -0,0 +1,222 @@ +%% docutils.sty: macros for Docutils LaTeX output. +%% +%% Copyright © 2020 Günter Milde +%% Released under the terms of the `2-Clause BSD license`, in short: +%% +%% Copying and distribution of this file, with or without modification, +%% are permitted in any medium without royalty provided the copyright +%% notice and this notice are preserved. +%% This file is offered as-is, without any warranty. + +% .. include:: README +% +% Implementation +% ============== +% +% :: + + \NeedsTeXFormat{LaTeX2e} + \ProvidesPackage{docutils} + [2020/08/28 v0.17 macros for Docutils LaTeX output] + +% Helpers +% ------- +% +% duclass:: + + % class handling for environments (block-level elements) + % \begin{DUclass}{spam} tries \DUCLASSspam and + % \end{DUclass}{spam} tries \endDUCLASSspam + \ifx\DUclass\undefined % poor man's "provideenvironment" + \newenvironment{DUclass}[1]% + {% "#1" does not work in end-part of environment. + \def\DocutilsClassFunctionName{DUCLASS#1} + \csname \DocutilsClassFunctionName \endcsname}% + {\csname end\DocutilsClassFunctionName \endcsname}% + \fi + +% providelength:: + + % Provide a length variable and set default, if it is new + \providecommand*{\DUprovidelength}[2]{ + \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{} + } + + +% Configuration defaults +% ---------------------- +% +% See `Docutils LaTeX Writer`_ for details. +% +% abstract:: + + \providecommand*{\DUCLASSabstract}{ + \renewcommand{\DUtitle}[1]{\centerline{\textbf{##1}}} + } + +% dedication:: + + % special topic for dedications + \providecommand*{\DUCLASSdedication}{% + \renewenvironment{quote}{\begin{center}}{\end{center}}% + } + +% TODO: add \em to set dedication text in italics? +% +% docinfo:: + + % width of docinfo table + \DUprovidelength{\DUdocinfowidth}{0.9\linewidth} + +% error:: + + \providecommand*{\DUCLASSerror}{\color{red}} + +% highlight_rules:: + + % basic code highlight: + \providecommand*\DUrolecomment[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} + \providecommand*\DUroledeleted[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} + \providecommand*\DUrolekeyword[1]{\textbf{#1}} + \providecommand*\DUrolestring[1]{\textit{#1}} + +% Elements +% -------- +% +% Definitions for unknown or to-be-configured Docutils elements. +% +% admonition:: + + % admonition environment (specially marked topic) + \ifx\DUadmonition\undefined % poor man's "provideenvironment" + \newbox{\DUadmonitionbox} + \newenvironment{DUadmonition}% + {\begin{center} + \begin{lrbox}{\DUadmonitionbox} + \begin{minipage}{0.9\linewidth} + }% + { \end{minipage} + \end{lrbox} + \fbox{\usebox{\DUadmonitionbox}} + \end{center} + } + \fi + +% fieldlist:: + + % field list environment (for separate configuration of `field lists`) + \ifthenelse{\isundefined{\DUfieldlist}}{ + \newenvironment{DUfieldlist}% + {\quote\description} + {\enddescription\endquote} + }{} + +% footnotes:: + + % numerical or symbol footnotes with hyperlinks and backlinks + \providecommand*{\DUfootnotemark}[3]{% + \raisebox{1em}{\hypertarget{#1}{}}% + \hyperlink{#2}{\textsuperscript{#3}}% + } + \providecommand{\DUfootnotetext}[4]{% + \begingroup% + \renewcommand{\thefootnote}{% + \protect\raisebox{1em}{\protect\hypertarget{#1}{}}% + \protect\hyperlink{#2}{#3}}% + \footnotetext{#4}% + \endgroup% + } + +% inline:: + + % custom inline roles: \DUrole{#1}{#2} tries \DUrole#1{#2} + \providecommand*{\DUrole}[2]{% + \ifcsname DUrole#1\endcsname% + \csname DUrole#1\endcsname{#2}% + \else% + #2% + \fi% + } + +% legend:: + + % legend environment (in figures and formal tables) + \ifthenelse{\isundefined{\DUlegend}}{ + \newenvironment{DUlegend}{\small}{} + }{} + +% lineblock:: + + % line block environment + \DUprovidelength{\DUlineblockindent}{2.5em} + \ifthenelse{\isundefined{\DUlineblock}}{ + \newenvironment{DUlineblock}[1]{% + \list{}{\setlength{\partopsep}{\parskip} + \addtolength{\partopsep}{\baselineskip} + \setlength{\topsep}{0pt} + \setlength{\itemsep}{0.15\baselineskip} + \setlength{\parsep}{0pt} + \setlength{\leftmargin}{#1}} + \raggedright + } + {\endlist} + }{} + +% optionlist:: + + % list of command line options + \providecommand*{\DUoptionlistlabel}[1]{\bfseries #1 \hfill} + \DUprovidelength{\DUoptionlistindent}{3cm} + \ifthenelse{\isundefined{\DUoptionlist}}{ + \newenvironment{DUoptionlist}{% + \list{}{\setlength{\labelwidth}{\DUoptionlistindent} + \setlength{\rightmargin}{1cm} + \setlength{\leftmargin}{\rightmargin} + \addtolength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + \renewcommand{\makelabel}{\DUoptionlistlabel}} + } + {\endlist} + }{} + +% rubric:: + + % informal heading + \providecommand*{\DUrubric}[1]{\subsubsection*{\emph{#1}}} + +% sidebar:: + + % text outside the main text flow + \providecommand{\DUsidebar}[1]{% + \begin{center} + \colorbox[gray]{0.80}{\parbox{0.9\linewidth}{#1}} + \end{center} + } + +% title:: + + % title for topics, admonitions, unsupported section levels, and sidebar + \providecommand*{\DUtitle}[1]{\subsubsection*{#1}} + +% subtitle:: + + % subtitle (for sidebar) + \providecommand*{\DUsubtitle}[1]{\par\emph{#1}\smallskip} + +% documentsubtitle:: + + % subtitle (in document title) + \providecommand*{\DUdocumentsubtitle}[1]{{\large #1}} + +% titlereference:: + + % titlereference standard role + \providecommand*{\DUroletitlereference}[1]{\textsl{#1}} + +% transition:: + + % transition (break / fancybreak / anonymous section) + \providecommand*{\DUtransition}{% + \hspace*{\fill}\hrulefill\hspace*{\fill} + \vskip 0.5\baselineskip + } diff --git a/macros/latex/contrib/docutils/docutils.sty.html b/macros/latex/contrib/docutils/docutils.sty.html new file mode 100644 index 0000000000..e3b5981773 --- /dev/null +++ b/macros/latex/contrib/docutils/docutils.sty.html @@ -0,0 +1,831 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta charset="utf-8"/> +<meta name="generator" content="Docutils 0.17b.dev: http://docutils.sourceforge.net/" /> +<title>docutils.sty</title> +<style type="text/css"> + +/* Minimal style sheet for the HTML output of Docutils. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id$ */ +/* :Copyright: © 2015 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ + +/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantic visible. */ +/* */ +/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ + +/* alignment of text and inline objects inside block objects*/ +.align-left { text-align: left; } +.align-right { text-align: right; } +.align-center { clear: both; text-align: center; } +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + +/* titles */ +h1.title, p.subtitle { + text-align: center; +} +p.topic-title, +p.sidebar-title, +p.rubric, +p.admonition-title, +p.system-message-title { + font-weight: bold; +} +h1 + p.subtitle, +h1 + p.section-subtitle { + font-size: 1.6em; +} +h2 + p.section-subtitle { + font-size: 1.28em; +} +p.subtitle, +p.section-subtitle, +p.sidebar-subtitle { + font-weight: bold; + margin-top: -0.5em; +} +p.sidebar-title { + font-size: larger; +} +p.rubric { + font-size: larger; + color: maroon; +} +a.toc-backref { + color: black; + text-decoration: none; } + +/* Warnings, Errors */ +div.system-messages h1, +span.problematic, +p.system-message-title { + color: red; +} + +/* inline literals */ +span.docutils.literal { + font-family: monospace; + white-space: pre-wrap; +} +/* do not wraph at hyphens and similar: */ +.literal > span.pre { white-space: nowrap; } + +/* Lists */ + +/* compact and simple lists: no margin between items */ +.simple li, .compact li, +.simple ul, .compact ul, +.simple ol, .compact ol, +.simple > li p, .compact > li p, +dl.simple > dd, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +} + +/* Table of Contents */ +div.topic.contents { margin: 0.5em 0; } +div.topic.contents ul { + list-style-type: none; + padding-left: 1.5em; +} + +/* Enumerated Lists */ +ol.arabic { list-style: decimal } +ol.loweralpha { list-style: lower-alpha } +ol.upperalpha { list-style: upper-alpha } +ol.lowerroman { list-style: lower-roman } +ol.upperroman { list-style: upper-roman } + +dt span.classifier { font-style: italic } +dt span.classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} + +/* Field Lists and drivatives */ +/* bold field name, content starts on the same line */ +dl.field-list > dt, +dl.option-list > dt, +dl.docinfo > dt, +dl.footnote > dt, +dl.citation > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd, +dl.option-list > dd, +dl.docinfo > dd { + margin-left: 9em; /* ca. 14 chars in the test examples */ +} +/* start field-body on a new line after long field names */ +dl.field-list > dd > *:first-child, +dl.option-list > dd > *:first-child +{ + display: inline-block; + width: 100%; + margin: 0; +} +/* field names followed by a colon */ +dl.field-list > dt:after, +dl.docinfo > dt:after { + content: ":"; +} + +/* Bibliographic Fields (docinfo) */ +pre.address { font: inherit; } +dd.authors > p { margin: 0; } + +/* Option Lists */ +dl.option-list { margin-left: 1.5em; } +dl.option-list > dt { font-weight: normal; } +span.option { white-space: nowrap; } + +/* Footnotes and Citations */ +dl.footnote.superscript > dd {margin-left: 1em; } +dl.footnote.brackets > dd {margin-left: 2em; } +dl > dt.label { font-weight: normal; } +a.footnote-reference.brackets:before, +dt.label > span.brackets:before { content: "["; } +a.footnote-reference.brackets:after, +dt.label > span.brackets:after { content: "]"; } +a.footnote-reference.superscript, +dl.footnote.superscript > dt.label { + vertical-align: super; + font-size: smaller; +} +dt.label > span.fn-backref { margin-left: 0.2em; } +dt.label > span.fn-backref > a { font-style: italic; } + +/* Line Blocks */ +div.line-block { display: block; } +div.line-block div.line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 40px; +} + +/* Figures, Images, and Tables */ +.figure.align-left, +figure.align-left, +img.align-left, +object.align-left, +table.align-left { + margin-right: auto; +} +.figure.align-center, +figure.align-center, +img.align-center, +object.align-center, +table.align-center { + margin-left: auto; + margin-right: auto; +} +.figure.align-right, +figure.align-right, +img.align-right, +object.align-right, +table.align-right { + margin-left: auto; +} +img.align-center, img.align-right, +object.align-center, object.align-right { + display: block; +} +/* reset inner alignment in figures and tables */ +.figure.align-left, .figure.align-right, +figure.align-left, figure.align-right, +table.align-left, table.align-center, table.align-right { + text-align: inherit; +} + +/* Sidebar */ +aside.sidebar { + width: 30%; + max-width: 26em; + float: right; + clear: right; +} + +/* Text Blocks */ +blockquote, +div.topic, +div.admonition, +div.system-message, +pre.literal-block, +pre.doctest-block, +pre.math, +pre.code { + margin-left: 1.5em; + margin-right: 1.5em; +} +pre.code .ln { color: gray; } /* line numbers */ + +/* Tables */ +table { border-collapse: collapse; } +td, th { + border-style: solid; + border-color: silver; + padding: 0 1ex; + border-width: thin; +} +td > p:first-child, th > p:first-child { margin-top: 0; } +td > p, th > p { margin-bottom: 0; } + +table > caption { + text-align: left; + margin-bottom: 0.25em +} + +table.borderless td, table.borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} + +/* Document Header and Footer */ +header { border-bottom: 1px solid black; } +footer { border-top: 1px solid black; } + +/* new HTML5 block elements: set display for older browsers */ +header, section, footer, aside, nav, main, article, figure { + display: block; +} + +</style> +<style type="text/css"> + +/* CSS31_ style sheet for the output of Docutils HTML writers. */ +/* Rules for easy reading and pre-defined style variants. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id$ */ +/* :Copyright: © 2015 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ +/* .. _CSS3: http://www.w3.org/TR/CSS3 */ + + +/* Document Structure */ +/* ****************** */ + +/* "page layout" */ +body { + margin: 0; + background-color: #dbdbdb; +} +div.document, +main { + line-height:1.3; + counter-reset: table figure; + /* avoid long lines --> better reading */ + /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */ + /* OTOH: lines should not be too short because of missing hyphenation, */ + max-width: 50em; + padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */ + margin: auto; + background-color: white; +} + +/* Sections */ + +/* Transitions */ + +hr.docutils { + width: 80%; + margin-top: 1em; + margin-bottom: 1em; + clear: both; +} + +/* Paragraphs */ +/* ========== */ + +/* vertical space (parskip) */ +p, ol, ul, dl, li, dd, +div.line-block, +div.topic, +table { + margin-top: 0.5em; + margin-bottom: 0.5em; +} +p:first-child { margin-top: 0; } +/* (:last-child is new in CSS 3) */ +p:last-child { margin-bottom: 0; } + +h1, h2, h3, h4, h5, h6, +dl > dd { + margin-bottom: 0.5em; +} + +/* Lists */ +/* ===== */ + +/* Separate list entries in compound lists */ +dl > dd, ol > li, + +/* Definition Lists */ +/* Indent lists nested in definition lists */ +/* (:only-child is new in CSS 3) */ +dd > ul:only-child, dd > ol:only-child { padding-left: 1em; } + +/* Description Lists */ +/* styled like in most dictionaries, encyclopedias etc. */ +dl.description > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +} + +/* Field Lists */ + +/* example for custom field-name width */ +dl.field-list.narrow > dd { + margin-left: 5em; +} +/* run-in: start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} + +/* Bibliographic Fields */ + +/* generally, bibliographic fields use special definition list dl.docinfo */ +/* but dedication and abstract are placed into "topic" divs */ +div.abstract p.topic-title { + text-align: center; +} +div.dedication { + margin: 2em 5em; + text-align: center; + font-style: italic; +} +div.dedication p.topic-title { + font-style: normal; +} + +/* Citations */ +dl.citation dt.label { + font-weight: bold; +} +span.fn-backref { + font-weight: normal; +} + +/* Text Blocks */ +/* =========== */ + +/* Literal Blocks */ + +pre.literal-block, +pre.doctest-block, +pre.math, +pre.code { + font-family: monospace; +} + +/* Block Quotes */ + +blockquote > table, +div.topic > table { + margin-top: 0; + margin-bottom: 0; +} +blockquote p.attribution, +div.topic p.attribution { + text-align: right; + margin-left: 20%; +} + +/* Tables */ +/* ====== */ + +/* th { vertical-align: bottom; } */ + +table tr { text-align: left; } + +/* "booktabs" style (no vertical lines) */ +table.booktabs { + border: 0; + border-top: 2px solid; + border-bottom: 2px solid; + border-collapse: collapse; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} + +/* numbered tables (counter defined in div.document) */ +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; +} + +/* Explicit Markup Blocks */ +/* ====================== */ + +/* Footnotes and Citations */ +/* ----------------------- */ + +/* line on the left */ +dl.footnote { + padding-left: 1ex; + border-left: solid; + border-left-width: thin; +} + +/* Directives */ +/* ---------- */ + +/* Body Elements */ +/* ~~~~~~~~~~~~~ */ + +/* Images and Figures */ + +/* let content flow to the side of aligned images and figures */ +.figure.align-left, +figure.align-left, +img.align-left, +object.align-left { + display: block; + clear: left; + float: left; + margin-right: 1em; +} +.figure.align-right, +figure.align-right, +img.align-right, +object.align-right { + display: block; + clear: right; + float: right; + margin-left: 1em; +} +/* Stop floating sidebars, images and figures at section level 1,2,3 */ +h1, h2, h3 { clear: both; } + +/* Numbered figures */ +figure.numbered > figcaption > p:before { + counter-increment: figure; + content: "Figure " counter(figure) ": "; + font-weight: bold; +} + + +/* Admonitions and System Messages */ + +div.admonition, +div.system-message, +aside.sidebar { + border: medium outset; + margin: 1em 1.5em; + padding: 0.5em 1em; +} + +div.caution p.admonition-title, +div.attention p.admonition-title, +div.danger p.admonition-title, +div.error p.admonition-title, +div.warning p.admonition-title, +div.error { + color: red; +} + + +/* Sidebar */ + +/* Move right. In a layout with fixed margins, */ +/* it can be moved into the margin. */ +div.sidebar, +aside.sidebar { + width: 30%; + max-width: 26em; + margin-left: 1em; + margin-right: -2%; + background-color: #ffffee; +} + +/* Code */ + +pre.code { padding: 0.7ex } +pre.code, code { background-color: #eeeeee } +pre.code .ln { color: gray; } /* line numbers */ +/* basic highlighting: for a complete scheme, see */ +/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +pre.code .comment, code .comment { color: #5C6576 } +pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } +pre.code .literal.string, code .literal.string { color: #0C5404 } +pre.code .name.builtin, code .name.builtin { color: #352B84 } +pre.code .deleted, code .deleted { background-color: #DEB0A1} +pre.code .inserted, code .inserted { background-color: #A3D289} + +/* Math */ +/* styled separately (see math.css for math-output=HTML) */ + +/* Epigraph */ +/* Highlights */ +/* Pull-Quote */ +/* Compound Paragraph */ +/* Container */ + +/* Document Header and Footer */ + +footer, header { + font-size: smaller; + clear: both; + padding: 0.5em 2%; + background-color: #ebebee; + border: none; +} + +/* Inline Markup */ +/* ============= */ + +/* Emphasis */ +/* em */ +/* Strong Emphasis */ +/* strong */ +/* Interpreted Text */ +/* span.interpreted */ +/* Title Reference */ +/* cite */ + +/* Inline Literals */ +/* possible values: normal, nowrap, pre, pre-wrap, pre-line */ +/* span.docutils.literal { white-space: pre-wrap; } */ + +/* Hyperlink References */ +a { text-decoration: none; } + +/* External Targets */ +/* span.target.external */ +/* Internal Targets */ +/* span.target.internal */ +/* Footnote References */ +/* a.footnote-reference */ +/* Citation References */ +/* a.citation-reference */ + +</style> +</head> +<body> +<main id="docutils-sty"> +<h1 class="title">docutils.sty</h1> + +<!-- %% docutils.sty: macros for Docutils LaTeX output. +%% +%% Copyright © 2020 Günter Milde +%% Released under the terms of the `2-Clause BSD license`, in short: +%% +%% Copying and distribution of this file, with or without modification, +%% are permitted in any medium without royalty provided the copyright +%% notice and this notice are preserved. +%% This file is offered as-is, without any warranty. --> +<p>Helper commands and element definitions for <a class="reference external" href="https://docutils.sourceforge.io/">Docutils</a> LaTeX output.</p> +<dl class="field-list simple"> +<dt>Copyright</dt> +<dd><p>© 2020 Günter Milde</p> +</dd> +<dt>Licence</dt> +<dd><p>Released under the terms of the <a class="reference external" href="https://opensource.org/licenses/BSD-2-Clause">2-Clause BSD license</a></p> +</dd> +</dl> +<section id="changelog"> +<h2>Changelog</h2> +<div class="line-block"> +<div class="line">2020-08-28 first public version for Docutils >= 0.17</div> +</div> +</section> +<section id="requirements"> +<h2>Requirements</h2> +<p>None.</p> +</section> +<section id="installation"> +<h2>Installation</h2> +<p>If possible, get this package from your distribution using its +installation manager. Alternatively, copy/move/link <span class="docutils literal">docutils.sty</span> +to a place where LaTeX can find it.</p> +</section> +<section id="usage"> +<h2>Usage</h2> +<p>The package is intended for use with LaTeX documents generated from +<a class="reference external" href="https://en.wikipedia.org/wiki/ReStructuredText">reStructuredText</a> sources with <a class="reference external" href="https://docutils.sourceforge.io/">Docutils</a>.</p> +<p>When generating LaTeX documents, specify this package with the +<a class="reference external" href="https://docutils.sourceforge.io/docs/user/config.html#stylesheet-latex-writers">“stylesheet”</a> <a class="reference external" href="https://docutils.sourceforge.io/docs/user/config.html">configuration option</a>, e.g.</p> +<pre class="literal-block">rst2latex --stylesheet=docutils exampledocument.txt</pre> +<p>The the Docutils <cite>LaTeX writer</cite> will then reference this package +istead of inserting required definitions into the preamble of +generated documents (see the <a class="reference external" href="https://docutils.sourceforge.io/docs/user/latex.html">Docutils LaTeX Writer documentation</a> +for details).</p> +</section> +<section id="documentation-generation"> +<h2>Documentation Generation</h2> +<p>The bidirectional text <-> code converter <a class="reference external" href="https://repo.or.cz/pylit.git">PyLit</a> and <a class="reference external" href="https://docutils.sourceforge.io/">Docutils</a> +were used to generate the HTML documentation:</p> +<pre class="literal-block">#> pylit docutils.sty +#> rst2html5 docutils.sty.txt docutils.sty.html</pre> +</section> +<section id="implementation"> +<h2>Implementation</h2> +<section id="identification"> +<h3>Identification</h3> +<pre class="literal-block">\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{docutils} + [2020/08/28 macros for Docutils LaTeX output]</pre> +</section> +<section id="helpers"> +<h3>Helpers</h3> +<p>duclass:</p> +<pre class="literal-block">% class handling for environments (block-level elements) +% \begin{DUclass}{spam} tries \DUCLASSspam and +% \end{DUclass}{spam} tries \endDUCLASSspam +\ifx\DUclass\undefined % poor man's "provideenvironment" + \newenvironment{DUclass}[1]% + {% "#1" does not work in end-part of environment. + \def\DocutilsClassFunctionName{DUCLASS#1} + \csname \DocutilsClassFunctionName \endcsname}% + {\csname end\DocutilsClassFunctionName \endcsname}% +\fi</pre> +<p>providelength:</p> +<pre class="literal-block">% Provide a length variable and set default, if it is new +\providecommand*{\DUprovidelength}[2]{ + \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{} +}</pre> +</section> +<section id="configuration-defaults"> +<h3>Configuration defaults</h3> +<p>See the <a class="reference external" href="https://docutils.sourceforge.io/docs/user/latex.html">Docutils LaTeX Writer documentation</a> for details.</p> +<p>abstract:</p> +<pre class="literal-block">\providecommand*{\DUCLASSabstract}{ + \renewcommand{\DUtitle}[1]{\centerline{\textbf{##1}}} +}</pre> +<p>dedication:</p> +<pre class="literal-block">% special topic for dedications +\providecommand*{\DUCLASSdedication}{% + \renewenvironment{quote}{\begin{center}}{\end{center}}% +}</pre> +<p>TODO: add em to set dedication text in italics?</p> +<p>docinfo:</p> +<pre class="literal-block">% width of docinfo table +\DUprovidelength{\DUdocinfowidth}{0.9\linewidth}</pre> +<p>error:</p> +<pre class="literal-block">\providecommand*{\DUCLASSerror}{\color{red}}</pre> +<p>highlight_rules:</p> +<pre class="literal-block">% basic code highlight: +\providecommand*\DUrolecomment[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} +\providecommand*\DUroledeleted[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} +\providecommand*\DUrolekeyword[1]{\textbf{#1}} +\providecommand*\DUrolestring[1]{\textit{#1}}</pre> +</section> +<section id="elements"> +<h3>Elements</h3> +<p>Definitions for unknown or to-be-configured Docutils elements.</p> +<p>admonition:</p> +<pre class="literal-block">% admonition environment (specially marked topic) +\ifx\DUadmonition\undefined % poor man's "provideenvironment" + \newbox{\DUadmonitionbox} + \newenvironment{DUadmonition}% + {\begin{center} + \begin{lrbox}{\DUadmonitionbox} + \begin{minipage}{0.9\linewidth} + }% + { \end{minipage} + \end{lrbox} + \fbox{\usebox{\DUadmonitionbox}} + \end{center} + } +\fi</pre> +<p>fieldlist:</p> +<pre class="literal-block">% field list environment (for separate configuration of `field lists`) +\ifthenelse{\isundefined{\DUfieldlist}}{ + \newenvironment{DUfieldlist}% + {\quote\description} + {\enddescription\endquote} +}{}</pre> +<p>footnotes:</p> +<pre class="literal-block">% numerical or symbol footnotes with hyperlinks and backlinks +\providecommand*{\DUfootnotemark}[3]{% + \raisebox{1em}{\hypertarget{#1}{}}% + \hyperlink{#2}{\textsuperscript{#3}}% +} +\providecommand{\DUfootnotetext}[4]{% + \begingroup% + \renewcommand{\thefootnote}{% + \protect\raisebox{1em}{\protect\hypertarget{#1}{}}% + \protect\hyperlink{#2}{#3}}% + \footnotetext{#4}% + \endgroup% +}</pre> +<p>inline:</p> +<pre class="literal-block">% custom inline roles: \DUrole{#1}{#2} tries \DUrole#1{#2} +\providecommand*{\DUrole}[2]{% + \ifcsname DUrole#1\endcsname% + \csname DUrole#1\endcsname{#2}% + \else% + #2% + \fi% +}</pre> +<p>legend:</p> +<pre class="literal-block">% legend environment (in figures and formal tables) +\ifthenelse{\isundefined{\DUlegend}}{ + \newenvironment{DUlegend}{\small}{} +}{}</pre> +<p>lineblock:</p> +<pre class="literal-block">% line block environment +\DUprovidelength{\DUlineblockindent}{2.5em} +\ifthenelse{\isundefined{\DUlineblock}}{ + \newenvironment{DUlineblock}[1]{% + \list{}{\setlength{\partopsep}{\parskip} + \addtolength{\partopsep}{\baselineskip} + \setlength{\topsep}{0pt} + \setlength{\itemsep}{0.15\baselineskip} + \setlength{\parsep}{0pt} + \setlength{\leftmargin}{#1}} + \raggedright + } + {\endlist} +}{}</pre> +<p>optionlist:</p> +<pre class="literal-block">% list of command line options +\providecommand*{\DUoptionlistlabel}[1]{\bfseries #1 \hfill} +\DUprovidelength{\DUoptionlistindent}{3cm} +\ifthenelse{\isundefined{\DUoptionlist}}{ + \newenvironment{DUoptionlist}{% + \list{}{\setlength{\labelwidth}{\DUoptionlistindent} + \setlength{\rightmargin}{1cm} + \setlength{\leftmargin}{\rightmargin} + \addtolength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + \renewcommand{\makelabel}{\DUoptionlistlabel}} + } + {\endlist} +}{}</pre> +<p>rubric:</p> +<pre class="literal-block">% informal heading +\providecommand*{\DUrubric}[1]{\subsubsection*{\emph{#1}}}</pre> +<p>sidebar:</p> +<pre class="literal-block">% text outside the main text flow +\providecommand{\DUsidebar}[1]{% + \begin{center} + \colorbox[gray]{0.80}{\parbox{0.9\linewidth}{#1}} + \end{center} +}</pre> +<p>title:</p> +<pre class="literal-block">% title for topics, admonitions, unsupported section levels, and sidebar +\providecommand*{\DUtitle}[1]{\subsubsection*{#1}}</pre> +<p>subtitle:</p> +<pre class="literal-block">% subtitle (for sidebar) +\providecommand*{\DUsubtitle}[1]{\par\emph{#1}\smallskip}</pre> +<p>documentsubtitle:</p> +<pre class="literal-block">% subtitle (in document title) +\providecommand*{\DUdocumentsubtitle}[1]{{\large #1}}</pre> +<p>titlereference:</p> +<pre class="literal-block">% titlereference standard role +\providecommand*{\DUroletitlereference}[1]{\textsl{#1}}</pre> +<p>transition:</p> +<pre class="literal-block">% transition (break / fancybreak / anonymous section) +\providecommand*{\DUtransition}{% + \hspace*{\fill}\hrulefill\hspace*{\fill} + \vskip 0.5\baselineskip +}</pre> +</section> +</section> +</main> +</body> +</html> diff --git a/macros/latex/contrib/docutils/docutils.sty.txt b/macros/latex/contrib/docutils/docutils.sty.txt new file mode 100644 index 0000000000..7cdb670743 --- /dev/null +++ b/macros/latex/contrib/docutils/docutils.sty.txt @@ -0,0 +1,275 @@ +docutils.sty +************ +Style file for docutils LaTeX output +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:Copyright: © 2020 Günter Milde +:Licence: Released under the terms of the `2-Clause BSD license`_, in short: + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. + This file is offered as-is, without any warranty. + + .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause + + +:Abstract: + Helper commands and element definitions for Docutils_ LaTeX output. + +:Changelog: + .. class:: borderless + + ====== ========== ========================================================= + 0.1 2020-08-28 initial version + ====== ========== ========================================================= + +Installation +============ + +Copy/Move/Link ``docutils.sty`` to a suitable place in the “TeX Directory +Structure” (TDS_) and run ``texhash``, or place it in the current working +directory (e.g. for testing). + +Usage +===== + +When generating LaTeX documents from reStructuredText sources, +specify this package with the `"stylesheet"`_ configuration_ option, e.g. +``rst2latex --stylesheet=docutils``. +Alternatively, the Docutils `LaTeX writer` will extract required definitions +and insert them into the preamble of generated documents +(see `Docutils LaTeX Writer`_ for details). + + +Implementation +============== + +:: + + \NeedsTeXFormat{LaTeX2e} + \ProvidesPackage{docutils} + [2020/08/28 v0.1 macros for Docutils LaTeX output] + + +Helpers +------- + +duclass:: + + % class handling for environments (block-level elements) + % \begin{DUclass}{spam} tries \DUCLASSspam and + % \end{DUclass}{spam} tries \endDUCLASSspam + \ifx\DUclass\undefined % poor man's "provideenvironment" + \newenvironment{DUclass}[1]% + {% "#1" does not work in end-part of environment. + \def\DocutilsClassFunctionName{DUCLASS#1} + \csname \DocutilsClassFunctionName \endcsname}% + {\csname end\DocutilsClassFunctionName \endcsname}% + \fi + +providelength:: + + % Provide a length variable and set default, if it is new + \providecommand*{\DUprovidelength}[2]{ + \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{} + } + + +Configuration defaults +---------------------- + +See `Docutils LaTeX Writer`_ for details. + +abstract:: + + \providecommand*{\DUCLASSabstract}{ + \renewcommand{\DUtitle}[1]{\centerline{\textbf{##1}}} + } + +dedication:: + + % special topic for dedications + \providecommand*{\DUCLASSdedication}{% + \renewenvironment{quote}{\begin{center}}{\end{center}}% + } + +TODO: add \em to set dedication text in italics? + +docinfo:: + + % width of docinfo table + \DUprovidelength{\DUdocinfowidth}{0.9\linewidth} + +error:: + + \providecommand*{\DUCLASSerror}{\color{red}} + +highlight_rules:: + + % basic code highlight: + \providecommand*\DUrolecomment[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} + \providecommand*\DUroledeleted[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} + \providecommand*\DUrolekeyword[1]{\textbf{#1}} + \providecommand*\DUrolestring[1]{\textit{#1}} + +Elements +-------- + +Definitions for unknown or to-be-configured Docutils elements +and roles (inline elements). + +admonition:: + + % admonition environment (specially marked topic) + \ifx\DUadmonition\undefined % poor man's "provideenvironment" + \newbox{\DUadmonitionbox} + \newenvironment{DUadmonition}% + {\begin{center} + \begin{lrbox}{\DUadmonitionbox} + \begin{minipage}{0.9\linewidth} + }% + { \end{minipage} + \end{lrbox} + \fbox{\usebox{\DUadmonitionbox}} + \end{center} + } + \fi + +fieldlist:: + + % field list environment (for separate configuration of `field lists`) + \ifthenelse{\isundefined{\DUfieldlist}}{ + \newenvironment{DUfieldlist}% + {\quote\description} + {\enddescription\endquote} + }{} + +footnotes:: + + % numerical or symbol footnotes with hyperlinks and backlinks + \providecommand*{\DUfootnotemark}[3]{% + \raisebox{1em}{\hypertarget{#1}{}}% + \hyperlink{#2}{\textsuperscript{#3}}% + } + \providecommand{\DUfootnotetext}[4]{% + \begingroup% + \renewcommand{\thefootnote}{% + \protect\raisebox{1em}{\protect\hypertarget{#1}{}}% + \protect\hyperlink{#2}{#3}}% + \footnotetext{#4}% + \endgroup% + } + +inline:: + + % custom inline roles: \DUrole{#1}{#2} tries \DUrole#1{#2} + \providecommand*{\DUrole}[2]{% + \ifcsname DUrole#1\endcsname% + \csname DUrole#1\endcsname{#2}% + \else% + #2% + \fi% + } + +legend:: + + % legend environment (in figures and formal tables) + \ifthenelse{\isundefined{\DUlegend}}{ + \newenvironment{DUlegend}{\small}{} + }{} + +lineblock:: + + % line block environment + \DUprovidelength{\DUlineblockindent}{2.5em} + \ifthenelse{\isundefined{\DUlineblock}}{ + \newenvironment{DUlineblock}[1]{% + \list{}{\setlength{\partopsep}{\parskip} + \addtolength{\partopsep}{\baselineskip} + \setlength{\topsep}{0pt} + \setlength{\itemsep}{0.15\baselineskip} + \setlength{\parsep}{0pt} + \setlength{\leftmargin}{#1}} + \raggedright + } + {\endlist} + }{} + +optionlist:: + + % list of command line options + \providecommand*{\DUoptionlistlabel}[1]{\bfseries #1 \hfill} + \DUprovidelength{\DUoptionlistindent}{3cm} + \ifthenelse{\isundefined{\DUoptionlist}}{ + \newenvironment{DUoptionlist}{% + \list{}{\setlength{\labelwidth}{\DUoptionlistindent} + \setlength{\rightmargin}{1cm} + \setlength{\leftmargin}{\rightmargin} + \addtolength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + \renewcommand{\makelabel}{\DUoptionlistlabel}} + } + {\endlist} + }{} + +rubric:: + + % informal heading + \providecommand*{\DUrubric}[1]{\subsubsection*{\emph{#1}}} + +sidebar:: + + % text outside the main text flow + \providecommand{\DUsidebar}[1]{% + \begin{center} + \colorbox[gray]{0.80}{\parbox{0.9\linewidth}{#1}} + \end{center} + } + +title:: + + % title for topics, admonitions, unsupported section levels, and sidebar + \providecommand*{\DUtitle}[1]{\subsubsection*{#1}} + +subtitle:: + + % subtitle (for sidebar) + \providecommand*{\DUsubtitle}[1]{\par\emph{#1}\smallskip} + +documentsubtitle:: + + % subtitle (in document title) + \providecommand*{\DUdocumentsubtitle}[1]{{\large #1}} + +titlereference:: + + % titlereference standard role + \providecommand*{\DUroletitlereference}[1]{\textsl{#1}} + +transition:: + + % transition (break / fancybreak / anonymous section) + \providecommand*{\DUtransition}{% + \hspace*{\fill}\hrulefill\hspace*{\fill} + \vskip 0.5\baselineskip + } + +References +========== + +.. [Docutils] https://docutils.sourceforge.io/ + +.. _Docutils Document Tree: + https://docutils.sourceforge.io/docs/ref/doctree.html + +.. _Docutils LaTeX Writer: + https://docutils.sourceforge.io/docs/user/latex.html + +.. _Configuration: + https://docutils.sourceforge.io/docs/user/config.html + +.. _"stylesheet": + https://docutils.sourceforge.io/docs/user/config.html#stylesheet-latex-writers + +.. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds diff --git a/macros/latex/contrib/hypdestopt/README.md b/macros/latex/contrib/hypdestopt/README.md new file mode 100644 index 0000000000..0610b53e58 --- /dev/null +++ b/macros/latex/contrib/hypdestopt/README.md @@ -0,0 +1,17 @@ +# hypdestopt package for LaTeX + +Version: 2020-09-02 v2.7 + +Hyperref destination optimizer + +Package hypdestopt supports hyperref's +pdftex driver. It removes unnecessary destinations +and shortens the destination names or uses numbered destinations +to get smaller PDF files. + +## Copyright (C) +* 2007, 2009-2011 Heiko Oberdiek +* 2016-2020 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/macros/latex/contrib/oberdiek/hypdestopt.dtx b/macros/latex/contrib/hypdestopt/hypdestopt.dtx index ac257b9db1..03006db27b 100644 --- a/macros/latex/contrib/oberdiek/hypdestopt.dtx +++ b/macros/latex/contrib/hypdestopt/hypdestopt.dtx @@ -1,13 +1,13 @@ % \iffalse meta-comment % % File: hypdestopt.dtx -% Version: 2019/12/29 v2.6 +% Version: 2020-09-02 v2.7 % Info: Hyperref destination optimizer % % Copyright (C) % 2006-2008, 2011 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% 2016-2020 Oberdiek Package Support Group +% https://github.com/ho-tex/hypdestopt/issues % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -23,15 +23,15 @@ % % The Current Maintainers of this work are % Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% https://github.com/ho-tex/hypdestopt/issues % % This work consists of the main source file hypdestopt.dtx % and the derived files % hypdestopt.sty, hypdestopt.pdf, hypdestopt.ins, hypdestopt.drv. % % Distribution: -% CTAN:macros/latex/contrib/oberdiek/hypdestopt.dtx -% CTAN:macros/latex/contrib/oberdiek/hypdestopt.pdf +% CTAN:macros/latex/contrib/hypdestopt/hypdestopt.dtx +% CTAN:macros/latex/contrib/hypdestopt/hypdestopt.pdf % % Unpacking: % (a) If hypdestopt.ins is present: @@ -60,9 +60,9 @@ % pdflatex hypdestopt.dtx % % Installation: -% TDS:tex/latex/oberdiek/hypdestopt.sty -% TDS:doc/latex/oberdiek/hypdestopt.pdf -% TDS:source/latex/oberdiek/hypdestopt.dtx +% TDS:tex/latex/hypdestopt/hypdestopt.sty +% TDS:doc/latex/hypdestopt/hypdestopt.pdf +% TDS:source/latex/hypdestopt/hypdestopt.dtx % %<*ignore> \begingroup @@ -79,7 +79,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: hypdestopt 2019/12/29 v2.6 Hyperref destination optimizer (HO)} +\Msg{* Package: hypdestopt 2020-09-02 v2.7 Hyperref destination optimizer (HO)} \Msg{************************************************************************} \keepsilent @@ -91,11 +91,11 @@ This is a generated file. Project: hypdestopt -Version: 2019/12/29 v2.6 +Version: 2020-09-02 v2.7 Copyright (C) 2006-2008, 2011 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group + 2016-2020 Oberdiek Package Support Group This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -111,7 +111,7 @@ This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues +https://github.com/ho-tex/hypdestopt/issues This work consists of the main source file hypdestopt.dtx @@ -152,7 +152,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{hypdestopt.drv}% - [2019/12/29 v2.6 Hyperref destination optimizer (HO)]% + [2020-09-02 v2.7 Hyperref destination optimizer (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \begin{document} @@ -166,15 +166,15 @@ and the derived files % \GetFileInfo{hypdestopt.drv} % % \title{The \xpackage{hypdestopt} package} -% \date{2019/12/29 v2.6} +% \date{2020-09-02 v2.7} % \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} +% {Please report any issues at \url{https://github.com/ho-tex/hypdestopt/issues}}} % % \maketitle % % \begin{abstract} % Package \xpackage{hypdestopt} supports \xpackage{hyperref}'s -% \xoption{pdftex} driver. It removes unnecessary destinations +% \xoption{pdftex} and \xoption{luatex} driver. It removes unnecessary destinations % and shortens the destination names or uses numbered destinations % to get smaller PDF files. % \end{abstract} @@ -203,9 +203,9 @@ and the derived files % (\cite{alphalph}), if option \xoption{name} is used. % \item Package \xpackage{iftex}. % \item \pdfTeX\ 1.30.0 or newer. -% \item \pdfTeX\ in PDF mode. +% \item \pdfTeX\ or lua\TeX\ in PDF mode. % \item \eTeX\ extensions enabled. -% \item Probably an additional compile run of \pdfLaTeX\ is necessary. +% \item Probably an additional compile run of \pdfLaTeX\ or lua\LaTeX\ is necessary. % \end{itemize} % % In the first compile runs you can get warnings such as: @@ -218,7 +218,7 @@ and the derived files % However these warnings also can occur without this package. % The package does not cure them, thus these warnings will remain, % but the destination name can be different. In such cases test -% without package, too. +% without the package, too. % % \subsection{Use} % @@ -265,7 +265,7 @@ and the derived files % \item Use of named destinations (\cs{pdfdest}, \cs{pdfoutline}, % \cs{pdfstartlink}, \dots) that are not supported by this % package. -% \item Currently only \xpackage{hyperref} with \pdfTeX\ in PDF +% \item Currently only \xpackage{hyperref} with \pdfTeX\ and lua\TeX\ in PDF % mode is supported. % \end{itemize} % @@ -289,7 +289,7 @@ and the derived files %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hypdestopt}% - [2019/12/29 v2.6 Hyperref destination optimizer (HO)]% + [2020-09-02 v2.7 Hyperref destination optimizer (HO)]% % \end{macrocode} % % \subsection{Options} @@ -336,7 +336,7 @@ and the derived files \ifpdf \else \PackageError{hypdestopt}{% - This package requires pdfTeX in PDF mode% + This package requires pdfTeX or luaTeX in PDF mode% }\@ehc \expandafter\endinput \fi @@ -383,14 +383,24 @@ and the derived files % \begin{macro}{\HypDest@PrependDocument} % We add our stuff in front of the \cs{AtBeginDocument} hook % to ensure that we are before \xpackage{hyperref}'s stuff. -% \begin{macrocode} -\long\def\HypDest@PrependDocument#1{% - \begingroup - \toks\z@{#1}% - \toks\tw@\expandafter{\@begindocumenthook}% - \xdef\@begindocumenthook{\the\toks\z@\the\toks\tw@}% - \endgroup -} +% Starting with LaTeX 2020/10/01 we use the hook and a rule. +% \begin{macrocode} +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01} + { + \long\def\HypDest@PrependDocument#1{% + \AddToHook{begindocument}{#1}}% + \DeclareHookRule{begindocument}{.}{before}{hyperref} + } + { + \long\def\HypDest@PrependDocument#1{% + \begingroup + \toks\z@{#1}% + \toks\tw@\expandafter{\@begindocumenthook}% + \xdef\@begindocumenthook{\the\toks\z@\the\toks\tw@}% + \endgroup + } + } % \end{macrocode} % \end{macro} % \begin{macrocode} @@ -576,14 +586,6 @@ and the derived files \HypDest@PrependDocument{% % \end{macrocode} % -% Check hyperref version. -% \begin{macrocode} - \@ifpackagelater{hyperref}{2006/06/01}{}{% - \PackageError{hypdestopt}{% - hyperref 2006/06/01 v6.75a or later is required% - }\@ehc - }% -% \end{macrocode} % % \subsubsection{Destination setting} % @@ -707,7 +709,6 @@ and the derived files % % \begin{macrocode} \@ifpackageloaded{bookmark}{% - \@ifpackagelater{bookmark}{2008/08/08}{% \renewcommand*{\BKM@DefGotoNameAction}[2]{% \@ifundefined{\HypDest@Prefix#2}{% \edef#1{goto name{hypdestopt\string :unknown}}% @@ -727,12 +728,6 @@ and the derived files \fi \fi }% - }{% - \@PackageError{hypdestopt}{% - Package `bookmark' is too old.\MessageBreak - Version 2008/08/08 or later is needed% - }\@ehc - }% }{}% % \end{macrocode} % @@ -958,6 +953,9 @@ and the derived files % \item % use \xpackage{iftex} package. % \end{Version} +% \begin{Version}{2020-09-02 v2.7} +% \item Adapted to the new hook management of LaTeX (github issue 1) +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/oberdiek/hypdestopt.pdf b/macros/latex/contrib/hypdestopt/hypdestopt.pdf Binary files differindex d41e1e6a31..1835545dc8 100644 --- a/macros/latex/contrib/oberdiek/hypdestopt.pdf +++ b/macros/latex/contrib/hypdestopt/hypdestopt.pdf diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index e388a2f941..c3fe7c7141 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,6 +7,13 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-09-03] + +## [2020-01-03] + +### Fixed +- Save primitive definition of `\pdfoutput` with CSLaTeX + ## [2020-09-01] ### Added @@ -755,7 +762,9 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2020-09-01...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-09-03...HEAD +[2020-09-03]: https://github.com/latex3/latex3/compare/2020-01-03...2020-09-03 +[2020-01-03]: https://github.com/latex3/latex3/compare/2020-09-01...2020-01-03 [2020-09-01]: https://github.com/latex3/latex3/compare/2020-08-07...2020-09-01 [2020-08-07]: https://github.com/latex3/latex3/compare/2020-07-17...2020-08-07 [2020-07-17]: https://github.com/latex3/latex3/compare/2020-06-18...2020-07-17 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index f63e3bc73a..0bcb85a677 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2020-09-01 +Release 2020-09-03 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index 9e38bfb6db..25639b4690 100644 --- a/macros/latex/contrib/l3kernel/expl3.dtx +++ b/macros/latex/contrib/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2020-09-01}% +\def\ExplFileDate{2020-09-03}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf Binary files differindex dc73326538..eea5fcfaff 100644 --- a/macros/latex/contrib/l3kernel/expl3.pdf +++ b/macros/latex/contrib/l3kernel/expl3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf Binary files differindex 8d8514f9a7..43115927b3 100644 --- a/macros/latex/contrib/l3kernel/interface3.pdf +++ b/macros/latex/contrib/l3kernel/interface3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex index 7015a2fc69..213ccdbca2 100644 --- a/macros/latex/contrib/l3kernel/interface3.tex +++ b/macros/latex/contrib/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2020-09-01} +\date{Released 2020-09-03} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index c6559136c1..cbc62b895a 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index bcb2f71562..ee955fcd4d 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index 30ba3c7553..e890c7c931 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index fc5d83dcd5..55dc608771 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx index 2d908820f7..1f00ceda74 100644 --- a/macros/latex/contrib/l3kernel/l3cctab.dtx +++ b/macros/latex/contrib/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index e050d06553..b8169e2847 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index b9f73a8f1c..186bd2c60f 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx index 10199c298e..462b452ab2 100644 --- a/macros/latex/contrib/l3kernel/l3color-base.dtx +++ b/macros/latex/contrib/l3kernel/l3color-base.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index c7c0f70058..ecea4a9e77 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index 6eebef3b6b..1e39888d48 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index 8721d50f4b..01a08a806e 100644 --- a/macros/latex/contrib/l3kernel/l3doc.dtx +++ b/macros/latex/contrib/l3kernel/l3doc.dtx @@ -79,7 +79,7 @@ and all files in that bundle must be distributed together. % % \title{The \cls{l3doc} class} % \author{\Team} -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index e8a835dfb6..de570c03a6 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf Binary files differindex dea9eac6bc..a11d13f2de 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.pdf +++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index df3b71d9a8..38f75a3584 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index 81e509bcbc..bbfd23957f 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index a45167ea89..1051a13cfc 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index 3476c0349c..dcf1a91a57 100644 --- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index 82b4dad329..b493e809d9 100644 --- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index 9cfc1c0bd0..2d917ea017 100644 --- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index 252ecb7ce0..4c38963d42 100644 --- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index 13ee5ed192..c59e18e17b 100644 --- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index f6e24d3074..27d603f026 100644 --- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index 45712a48b5..131652e9b6 100644 --- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index 5d6f46a238..3f407c59d8 100644 --- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index 458575e3dc..10cdb8f6ee 100644 --- a/macros/latex/contrib/l3kernel/l3fp-random.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index 21892fcb94..5ec8f14fd9 100644 --- a/macros/latex/contrib/l3kernel/l3fp-round.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index 8b748ed363..010e56cb70 100644 --- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index 3fd98aeb8e..db1eb4cd03 100644 --- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index 0f9a1c301a..c6a59f5673 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index 3dafd98881..5f7659ee98 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index e9e1503644..efb01e35c3 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index b80aee9039..226d69667f 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index b28b06a307..5a1ece81d9 100644 --- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index fcbee8893d..0cfd1eabbb 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index f3ca1a1af8..0ad9794d44 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index deb78363d0..8f9b25e4b0 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index fa5c81c7da..0bcddab852 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 9b53598aca..1c65f6839c 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % @@ -1396,6 +1396,16 @@ \tex_let:D \tex_pdftexversion:D \tex_undefined:D \tex_fi:D % \end{macrocode} +% \pkg{cslatex} moves a couple of primitives which we recover here; as there +% is no other marker, we can only work by looking for the names. +% \begin{macrocode} +\tex_ifdefined:D \orieveryjob + \tex_let:D \tex_everyjob:D \orieveryjob +\tex_fi:D +\tex_ifdefined:D \oripdfoutput + \tex_let:D \tex_pdfoutput:D \oripdfoutput +\tex_fi:D +% \end{macrocode} % % For \ConTeXt{}, two tests are needed. Both Mark~II and Mark~IV move several % primitives: these are all covered by the first test, again using \cs{end} diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf Binary files differindex 8603809e6e..a511841ae9 100644 --- a/macros/latex/contrib/l3kernel/l3news.pdf +++ b/macros/latex/contrib/l3kernel/l3news.pdf diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf Binary files differindex 4235ff9765..03331351d2 100644 --- a/macros/latex/contrib/l3kernel/l3news01.pdf +++ b/macros/latex/contrib/l3kernel/l3news01.pdf diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf Binary files differindex 7967d775a9..3df2abeff5 100644 --- a/macros/latex/contrib/l3kernel/l3news02.pdf +++ b/macros/latex/contrib/l3kernel/l3news02.pdf diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf Binary files differindex 7113bfe72b..03f24f254d 100644 --- a/macros/latex/contrib/l3kernel/l3news03.pdf +++ b/macros/latex/contrib/l3kernel/l3news03.pdf diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf Binary files differindex c0cb2eb4e1..38342aa9b6 100644 --- a/macros/latex/contrib/l3kernel/l3news04.pdf +++ b/macros/latex/contrib/l3kernel/l3news04.pdf diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf Binary files differindex 28b76bc9c7..42aa52c844 100644 --- a/macros/latex/contrib/l3kernel/l3news05.pdf +++ b/macros/latex/contrib/l3kernel/l3news05.pdf diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf Binary files differindex add439aefc..d819c31935 100644 --- a/macros/latex/contrib/l3kernel/l3news06.pdf +++ b/macros/latex/contrib/l3kernel/l3news06.pdf diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf Binary files differindex a2f62f8b78..e4f86d86a3 100644 --- a/macros/latex/contrib/l3kernel/l3news07.pdf +++ b/macros/latex/contrib/l3kernel/l3news07.pdf diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf Binary files differindex fb2cd9e8c4..94963487b3 100644 --- a/macros/latex/contrib/l3kernel/l3news08.pdf +++ b/macros/latex/contrib/l3kernel/l3news08.pdf diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf Binary files differindex 16ffff9d6b..565221a7f6 100644 --- a/macros/latex/contrib/l3kernel/l3news09.pdf +++ b/macros/latex/contrib/l3kernel/l3news09.pdf diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf Binary files differindex 26b83ebaea..412459b151 100644 --- a/macros/latex/contrib/l3kernel/l3news10.pdf +++ b/macros/latex/contrib/l3kernel/l3news10.pdf diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf Binary files differindex dced90194c..e9e4bbac55 100644 --- a/macros/latex/contrib/l3kernel/l3news11.pdf +++ b/macros/latex/contrib/l3kernel/l3news11.pdf diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf Binary files differindex 616e208760..f3a18ae2e0 100644 --- a/macros/latex/contrib/l3kernel/l3news12.pdf +++ b/macros/latex/contrib/l3kernel/l3news12.pdf diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf Binary files differindex 9ad063187f..f89808da3a 100644 --- a/macros/latex/contrib/l3kernel/l3prefixes.pdf +++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx index 2b65561400..8345aeed89 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index 79f5eaa2dc..6bb93e9738 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index b03af55b49..df5b3d8dd6 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index 1987116693..d17ab25cf8 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index 337fd89183..45424fb54f 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index 7aad033c33..26a27c5b87 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index fdfe7dc3ad..cdbb13c721 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index fed3e38c49..0d85d89c62 100644 --- a/macros/latex/contrib/l3kernel/l3str-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index 9685c6d40f..971746e70b 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf Binary files differindex b05698dd65..5dc6b6b38b 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.pdf +++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex index 8bed24ebce..5013d07852 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.tex +++ b/macros/latex/contrib/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-09-01} +\date{Released 2020-09-03} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf Binary files differindex f4d44d9738..26e081ca79 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex index c5bacf26a2..a41a431e0e 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-09-01} +\date{Released 2020-09-03} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index b7dd54d2e8..347e51e754 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf Binary files differindex 0d5e144605..b7388d7b44 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf +++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex index 6bbadb3300..0f60f77a98 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.tex +++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-09-01} +\date{Released 2020-09-03} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index 23d0b331f0..cffe7b60b1 100644 --- a/macros/latex/contrib/l3kernel/l3text-case.dtx +++ b/macros/latex/contrib/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index 3dfb06a8a3..800ac8ae74 100644 --- a/macros/latex/contrib/l3kernel/l3text-purify.dtx +++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index a8774c069b..b80ead9476 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index 5636086567..d39f6d686f 100644 --- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index 315db1ace0..81715a3b2e 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index 544a721886..8b7bc70e02 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index 35f71b70ca..3a38610e75 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-01} +% \date{Released 2020-09-03} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf Binary files differindex 9e4fc4fc28..790d04ca5a 100644 --- a/macros/latex/contrib/l3kernel/source3.pdf +++ b/macros/latex/contrib/l3kernel/source3.pdf diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex index 6c19a94176..9804ff7def 100644 --- a/macros/latex/contrib/l3kernel/source3.tex +++ b/macros/latex/contrib/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2020-09-01} +\date{Released 2020-09-03} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt index bdb5dde3f1..771e3d6635 100644 --- a/macros/latex/contrib/lwarp/README.txt +++ b/macros/latex/contrib/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.88 README.txt +LaTeX lwarp package v0.89 README.txt Files included are: diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx index 5e2df6201e..de330000f3 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/07/19 v0.88 Allows LaTeX to directly produce HTML5 output.] +%<package> [2020/09/03 v0.89 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -2682,7 +2682,7 @@ are not working. These counters must be set separately after the package has been loaded. In the document source, use \cs{hfill} and \cs{hspace*} -\trouble{horizontal spacing}{subfig>inline} +\trouble[horizontal spacing]{subfig=\pkg{subfig}>inline} between subfigures to spread them apart horizontally. The use of other forms of whitespace may cause paragraph tags to be generated, resulting in subfigures @@ -2926,19 +2926,6 @@ place the following before \pkg{lwarp} is loaded: \end{sourcedisplay} } -\newcommand{\limitsnewtxmath}{% -The proper load order is: -\trouble[loading sequence]{newtxmath=\pkg{newtxmath}} -\begin{sourcedisplay} -\textrm{\dots} \\ -\cs{usepackage}\{lwarp\} \\ -\textrm{\dots} \\ -\cs{usepackage}\{amsthm\} \\ -\cs{usepackage}\{newtxmath\} \\ -\textrm{\dots} \\ -\end{sourcedisplay} -} - % For use in the documentation update section: \newcommand*{\newlwarpmkconf}{ @@ -3018,7 +3005,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{44695} +% \CheckSum{47034} % % \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 @@ -3149,6 +3136,7 @@ This boolean may be tested by the user for later use. % \changes{v0.86}{2020/05/12}{\ 2020/05/12} % \changes{v0.87}{2020/06/03}{\ 2020/06/03} % \changes{v0.88}{2020/07/19}{\ 2020/07/19} +% \changes{v0.89}{2020/09/03}{\ 2020/09/03} @@ -3181,8 +3169,9 @@ This boolean may be tested by the user for later use. % The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the % user's document and directly generate \HTML\ tags. External utility programs are only % used for the final conversion of text and images. Math may be represented -% by \SVG\ images or \brand{MathJax}. Hundreds of \LaTeX\ packages are supported, -% including dozens with \brand{MathJax} emulation. +% by \SVG\ images or \brand{MathJax}. +% More than 500 \LaTeX\ packages and classes are supported, +% of which more than 60 also support \brand{MathJax}. % % Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX; % by several CJK engines, classes, and packages; @@ -3371,6 +3360,29 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.89:] Additional \brand{MathJax} support. +% \begin{itemize} +% \item Adapted to upcoming \LaTeX\ kernel changes. +% \margintag{core} +% \item Allows load of \pkg{amsmath} before \pkg{lwarp}. +% \item Also removes \filenm{*.bbl} when cleaning aux files.\margintag{\prog{lwarpmk}} +% \item \brand{MathJax}: Neutralized \cs{protect}, \cs{mathcode} and related, +% \margintag{\brand{MathJax}} +% ligatures. Fixed nested environments. +% \item \pkg{caption}: Updated for v3.5, fix for label sep. +% \margintag{packages} +% \item \pkg{thmtools}: Updated for v0.72. Fixed \optn{swapnumber}, \optn{margin}. +% \item Improved \brand{MathJax} for \pkg{centernot}, \pkg{mathtools}, +% \pkg{mismath}, \pkg{SIunits}, \pkg{siunitx}, \pkg{statmath}. +% \item Added \brand{MathJax} emulation for \pkg{accents}, \pkg{hepunits}, +% \pkg{hhtensor}, \pkg{mathalpha}, \pkg{mathdesign}, +% \pkg{mathpazo}, \pkg{mathptmx}, +% \pkg{mleftright}, \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf}, +% \pkg{pxfonts}, \pkg{shuffle}, \pkg{txfonts}, +% \pkg{upgreek}, \pkg{ushort}. +% \item Verified to work as-is: \pkg{authoraftertitle}. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.88:] Indexing, boxing, theorems. % \begin{itemize} % \item \textgreen{Now has programmed support for more than 500 packages and classes, @@ -5412,7 +5424,8 @@ This boolean may be tested by the user for later use. % \ipkg{tocbasic}, \mpkg{tocbibind}, \mpkg{tocdata}, % \ipkg{tocloft}, \ipkg{tocstyle}, \spkg{tocvsec2}. \\ % -% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, \mpkg{titling}. \\ +% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, +% \spkg{authoraftertitle}, \mpkg{titling}. \\ % % Front \&\ back matter: & \mpkg{abstract}, \mpkg{appendix}. \\ % @@ -5440,7 +5453,7 @@ This boolean may be tested by the user for later use. % \ipkg{bookmark}, \epkg{breakurl}, \spkg{cleveref}, \mpkg{fancyref}, % \ipkg{hypdestopt}, \epkg{hyperref}, \epkg{perpage}, \mpkg{prettyref}, % \epkg{titleref}, \mpkg{url}, \mpkg{varioref}, \spkg{xcite}, -% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}. \\ +% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}, \spkg{zref}. \\ % % \midrule % @@ -5473,22 +5486,26 @@ This boolean may be tested by the user for later use. % \mpkg{theorem}, \mpkg{thmbox}, \mpkg{thmtools}. \\ % % Additional math: & Math fonts via \SVG\ images, -% \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum}, +% \spkg{accents}\ejax, \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum}, % \mpkg{backnaur}, \mpkg{bm}\ejax, \spkg{braket}\ejax, % \mpkg{breqn}, \mpkg{cases}, \spkg{centernot}\ejax, \spkg{colonequals}\ejax, % \spkg{decimal}\ejax, % \spkg{delarray}, \mpkg{DotArrow}\ejax, \spkg{dotlessi}\ejax, \spkg{dotlessj}\sjax, % \spkg{extarrows}\ejax, \spkg{fouridx}\ejax, -% \spkg{guass}, \spkg{icomma}\ijax, \spkg{jkmath}, -% \spkg{leftidx}\ejax, \spkg{mathcomp}\ejax, \spkg{mathdots}\ejax, +% \spkg{guass}, \spkg{hhtensor}\ejax, \spkg{icomma}\ijax, \spkg{jkmath}, +% \spkg{leftidx}\ejax, \spkg{mathalpha}\ejax, +% \spkg{mathcomp}\ejax, \spkg{mathdesign}\ejax, +% \spkg{mathdots}\ejax, % \spkg{mathfixs}\ejax, \spkg{mathpunctspace}\ijax, -% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax, +% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax, \spkg{mleftright}\ejax, % \spkg{multiobjective}\ejax, \mpkg{nccmath}\ejax, -% \spkg{nicematrix}, \spkg{noitcrul}\ejax, \spkg{pb-diagram}, -% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \spkg{stackrel}\ejax, +% \spkg{nicematrix}, \spkg{noitcrul}\ejax, +% \spkg{newpxmath}\ejax, \spkg{newtxmath}\ejax, \spkg{newtxsf}\ejax, +% \spkg{pb-diagram}, +% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \epkg{shuffle}\ejax, \spkg{stackrel}\ejax, % \mpkg{statex2}\ejax, \spkg{statmath}\ejax, % \spkg{subsupscripts}\ejax, \spkg{textualicomma}\ijax, -% \spkg{unicode-math}\ejax, \mpkg{witharrows}\ejax, +% \spkg{unicode-math}\ejax, \spkg{ushort}\ejax, \mpkg{witharrows}\ejax, % \mpkg{xfakebold}\ejax, \mpkg{xy}. % Many others work as-is. \\ % @@ -5631,9 +5648,12 @@ This boolean may be tested by the user for later use. % \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym}, % \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \spkg{latexsym}\sjax, % \mpkg{marvosym}, -% \spkg{mathcomp}\ejax, \mpkg{metalogo}, \mpkg{metalogox}, -% \mpkg{pifont}, \spkg{textalpha}, -% \mpkg{textcomp}, \spkg{textgreek}, \mpkg{typicons}, \mpkg{xunicode}. +% \spkg{mathcomp}\ejax, \spkg{mathpazo}\ejax, \spkg{mathptmx}\ejax, +% \mpkg{metalogo}, \mpkg{metalogox}, +% \mpkg{pifont}, \spkg{pxfonts}\ejax, \spkg{textalpha}, +% \mpkg{textcomp}, \spkg{textgreek}, \spkg{txfonts}\ejax, +% \mpkg{typicons}, \spkg{upgreek}\ejax, +% \mpkg{xunicode}. % \\ % % \midrule @@ -5653,7 +5673,8 @@ This boolean may be tested by the user for later use. % \mpkg{chemmacros}, \mpkg{chemnum}, % \spkg{circuitikz}, \spkg{econometrics}\ejax, \spkg{elements}, % \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem}, -% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map}, +% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{hepunits}\ejax, +% \spkg{karnaughmap}, \mpkg{karnaugh-map}, % \mpkg{listings}, \spkg{listingsutf8}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt}, % \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax, \spkg{qcircuit}, % \mpkg{register}, \spkg{simpler-wick}, @@ -7312,10 +7333,9 @@ This boolean may be tested by the user for later use. % ^^A \gindex{ligatures}\gindex{font>ligatures} % \end{enumerate} % \end{itemize} -% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by: % \item |\usepackage{newtxmath}| or other math-related font packages. -% Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp}, -% so they must also be loaded after \pkg{lwarp}. +% Many of these load \pkg{amsmath}, which may now be loaded before \pkg{lwarp}. +% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by: % \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using % \trouble[\pkg{fontspec} with monospaced fonts]{font>monospace} % \trouble{font>ligatures} @@ -10175,12 +10195,6 @@ This boolean may be tested by the user for later use. % % % -% \subsubsection{\pkg{newtxmath} package} -% -% \DescribePackage{newtxmath} -% \limitsnewtxmath -% -% % \subsection{Graphics} % \label{sec:limitsgraphics} % @@ -11757,6 +11771,12 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % \trouble{Label(s) may have changed} % +% \item [``Temporary page! LaTeX was unable to guess the total +% number of pages \dots'':] \ +% Harmless. Recompile the document one more time. +% \trouble{Temporary page \dots unable to guess \dots} +% \trouble{LaTeX was unable to guess the total\dots} +% % \item [``Leaders not followed by proper glue'':] ~ \\ % This can be caused by % a missing |l@<floattype>| or |l@<sectiontype>| definition. @@ -12629,6 +12649,7 @@ This boolean may be tested by the user for later use. % \changes{v0.45}{2017/12/03}{Allows \pkg{memoir}'s preloaded packages.} % \changes{v0.58}{2018/06/21}{Fix: \pkg{memoir} and \pkg{ccaption}.} % \changes{v0.82}{2020/03/17}{\pkg{syntonly}: Added to \cs{LWR@loadafter}.} +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} % % The following packages must be loaded after \pkg{lwarp}: % ^^A *loadafter @@ -12640,6 +12661,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} \LWR@loadafter{academicons} +\LWR@loadafter{accents} \LWR@loadafter{accessibility} \LWR@loadafter{accsupp} \LWR@loadafter{acro} @@ -12650,8 +12672,8 @@ This boolean may be tested by the user for later use. \LWR@loadafter{algorithm2e} \LWR@loadafter{algorithmicx} \LWR@loadafter{alltt} -\LWR@loadafter{amsmath} -\LWR@loadafter{amsthm} +% \LWR@loadafter{amsmath}% may be preloaded +% \LWR@loadafter{amsthm}% may be preloaded \LWR@loadafter{anonchap} \LWR@loadafter{anysize} \LWR@notmemoirloadafter{appendix} @@ -12660,10 +12682,11 @@ This boolean may be tested by the user for later use. \LWR@notmemoirloadafter{array} \LWR@loadafter{arydshln} \LWR@loadafter{asymptote} -% \LWR@loadafter{atbegshi}% used by morewrites +% \LWR@loadafter{atbegshi}% now in LaTeX core, also used by morewrites \LWR@loadafter{attachfile} \LWR@loadafter{attachfile2} \LWR@loadafter{authblk} +\LWR@loadafter{authoraftertitle}% Supported as-is, but must be loaded after. \LWR@loadafter{autobreak} \LWR@loadafter{autonum} \LWR@loadafter{awesomebox} @@ -12696,10 +12719,11 @@ This boolean may be tested by the user for later use. \LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} +\LWR@loadafter{caption3} \LWR@loadafter{cases} % catoptions is supported by the lwarp core % \LWR@loadafter{ccaption}% may be preloaded by memoir -\LWR@loadafter{centernot} +% \LWR@loadafter{centernot}% may be preloaded by newtx \LWR@loadafter{changebar} \LWR@loadafter{changelayout} \LWR@notmemoirloadafter{changepage} @@ -12764,7 +12788,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{etoc} \LWR@loadafter{eurosym} \LWR@loadafter{everypage} -\LWR@loadafter{everyshi} +% \LWR@loadafter{everyshi}% now in LaTeX core \LWR@loadafter{extarrows} \LWR@loadafter{extramarks} \LWR@loadafter{fancybox} @@ -12830,7 +12854,9 @@ This boolean may be tested by the user for later use. \LWR@loadafter{gridset} \LWR@loadafter{hang} \LWR@loadafter{hanging} +\LWR@loadafter{hepunits} \LWR@loadafter{hhline} +\LWR@loadafter{hhtensor} \LWR@loadafter{hypbmsec} \LWR@loadafter{hypcap} \LWR@loadafter{hypdestopt} @@ -12879,9 +12905,13 @@ This boolean may be tested by the user for later use. \LWR@loadafter{marginfix} \LWR@loadafter{marginnote} \LWR@loadafter{marvosym} +% mathalpha may be loaded before lwarp \LWR@loadafter{mathcomp} +\LWR@loadafter{mathdesign} \LWR@loadafter{mathdots} \LWR@loadafter{mathfixs} +\LWR@loadafter{mathpazo} +\LWR@loadafter{mathptmx} \LWR@loadafter{mathtools} \LWR@loadafter{mcaption} \LWR@loadafter{mdframed} @@ -12896,6 +12926,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{minibox} \LWR@loadafter{minitoc} \LWR@loadafter{mismath} +\LWR@loadafter{mleftright} % morefloats must be allowed early for print mode \LWR@notmemoirloadafter{moreverb} % morewrites must be loaded before lwarp @@ -12918,7 +12949,9 @@ This boolean may be tested by the user for later use. \LWR@loadafter{nccmath} \LWR@notmemoirloadafter{needspace} % newclude must be loaded before lwarp -\LWR@loadafter{newtxmath} +% newpxmath may be preloaded +% newtxmath may be loaded before lwarp +% newtxsf may be loaded before lwarp % newunicodechar must be loaded before lwarp \LWR@notmemoirloadafter{nextpage} \LWR@loadafter{nicefrac} @@ -12982,6 +13015,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{pstricks} % \LWR@loadafter{pxatbegshi}% may be used by morewrites \LWR@loadafter{pxeveryshi} +\LWR@loadafter{pxfonts} \LWR@loadafter{pxftnright} \LWR@loadafter{pxjahyper} \LWR@loadafter{quotchap} @@ -13020,6 +13054,7 @@ This boolean may be tested by the user for later use. \LWR@notmemoirloadafter{showidx} \LWR@loadafter{showkeys} \LWR@loadafter{showtags} +\LWR@loadafter{shuffle} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} \LWR@loadafter{SIunits} @@ -13067,6 +13102,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{thm-listof} \LWR@loadafter{thm-restate} \LWR@loadafter{thmbox} +\LWR@loadafter{thmtools} \LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{threeparttablex} @@ -13092,6 +13128,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{trivfloat} \LWR@loadafter{truncate} \LWR@loadafter{turnthepage} +\LWR@loadafter{txfonts} \LWR@loadafter{twoup} % \end{macrocode} % \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.} @@ -13104,8 +13141,10 @@ This boolean may be tested by the user for later use. \LWR@loadafter{unicode-math} \LWR@loadafter{units} \LWR@loadafter{unitsdef} +\LWR@loadafter{upgreek} \LWR@loadafter{upref} \LWR@loadafter{url} +\LWR@loadafter{ushort} \LWR@loadafter{uspace} \LWR@loadafter{varioref} \LWR@notmemoirloadafter{verse} @@ -13390,11 +13429,13 @@ This boolean may be tested by the user for later use. % \begin{macro}{\LWR@patcherror} \marg{packagename} \marg{macroname} % % Prints an error if could not patch a macro. +% \changes{v0.89}{2020/09/01}{Improved message.} % \begin{macrocode} \newcommand*{\LWR@patcherror}[2]{% \PackageError{lwarp}% {% - Unable to patch package #1, macro #2.\MessageBreak + Unable to patch package #1,\MessageBreak + macro \LWRbackslash #2.\MessageBreak Lwarp may need to be updated% }% {Please contact the maintainer of the Lwarp package.}% @@ -13564,6 +13605,19 @@ This boolean may be tested by the user for later use. % \end{macro} % % +% \subsection{Title case} +% +% \begin{macro}{\LWRtexttitlecase} +% \begin{macrocode} +\ExplSyntaxOn +\newcommand*{\LWRtexttitlecase}[1]{% + \text_titlecase:n{#1}% +} +\ExplSyntaxOff +% \end{macrocode} +% \end{macro} +% +% % \subsection{LetLtxMacrocs} % % \begin{macro}{\LWR@LetLtxMacrocs} \marg{newcsname} \marg{oldcsname} @@ -14612,8 +14666,16 @@ This boolean may be tested by the user for later use. tracking=false, kerning=false, spacing=false} - -\DisableLigatures[f,q,t,T,Q]{encoding = *,family = *} +% \begin{macrocode} +% +% Disable ligatures for typewriter fonts. +% The comma was causing issues with \brand{MathJax} and \cs{,} followed by a comma. +% Ligatures for f, q, t, etc used to be disabled for non-typewriter fonts, but +% are now allowed. +% \changes{v0.89}{2020/08/01}{Disable typewriter ligatures.} +% ^^A \DisableLigatures[{,},f,q,t,T,Q]{encoding = *,family = *}% previous +% \begin{macrocode} +\DisableLigatures{encoding = *,family = tt*} % \end{macrocode} % ^^A % ^^A @@ -17749,8 +17811,8 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;} } -/* mdframed, tcolorbox packages */ -.mdframed, .tcolorbox { +/* mdframed, tcolorbox, shadebox packages */ +.mdframed, .tcolorbox, .shadebox { padding: 0ex ; margin: 2ex 0em 2ex 0em ; border: 1px solid black ; @@ -19467,7 +19529,7 @@ MathJax = { subequations: "0", section: "", loader: { - load: ['[tex]/tagFormat'] + load: ['[tex]/tagFormat'], }, startup: { ready() { @@ -19684,15 +19746,16 @@ MathJax = { % \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.} % \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.} % \changes{v0.66}{2019/01/27}{\prog{lwarpmk}: Added \optn{ImagesDirectory} and \optn{ImagesName}.} -% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.}% -% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.}% +% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.} +% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.} % \changes{v0.71}{2019/04/11}{\prog{lwarpmk}: If wrong \filenm{lwarpmk.conf} version, % or wrong OS, -% displays the print command to recompile.}% -% \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}}% +% displays the print command to recompile.} +% \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}} +% \changes{v0.89}{2020/08/29}{\prog{lwarpmk}: \optn{clean} also removes \filenm{*.bbl}} % % The following is only generated if the \optn{lwarpmk} option % was given to \pkg{lwarp}. @@ -19708,7 +19771,7 @@ MathJax = { -- Copyright 2016-2020 Brian Dunn -printversion = "v0.88" +printversion = "v0.89" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -19739,7 +19802,7 @@ lwarpmk pdftohtml [-p project]: lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t, - *.idx, *.ind, *.log, *_html_inc.*, .gl*, + *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*, *_html.pdf, *_html.html, *_html.sidetoc lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -20109,6 +20172,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. sourcename ..".lof " .. sourcename .. "_html.lof " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. + sourcename ..".bbl " .. sourcename .. "_html.bbl " .. " *.idx " .. " *.ind " .. sourcename ..".ps " .. sourcename .."_html.ps " .. @@ -24182,11 +24246,24 @@ end -- not --version % \begin{macro}{\LWR@HTMLsanitizeexpand} \marg{text} % % This version expands the argument before sanitizing it. +% This is only used for adding math to \brand{MathJax} expressions or +% \env{lateximage} \attribute{alt} tags. % % \changes{v0.36}{2017/08/16}{Fix for \pkg{babel-french}.} % \changes{v0.51}{2018/03/07}{Fix: Escapes double quotes.} % \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.} +% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.} % \begin{macrocode} +\edef\LWR@beginspaceleftbrace{begin \LWRleftbrace} +\edef\LWR@beginspaceleftbrace{\detokenize\expandafter{\LWR@beginspaceleftbrace}} +\edef\LWR@beginleftbrace{begin\LWRleftbrace} +\edef\LWR@beginleftbrace{\detokenize\expandafter{\LWR@beginleftbrace}} + +\edef\LWR@endspacerightbrace{end \LWRrightbrace} +\edef\LWR@endspacerightbrace{\detokenize\expandafter{\LWR@endspacerightbrace}} +\edef\LWR@endrightbrace{end\LWRrightbrace} +\edef\LWR@endrightbrace{\detokenize\expandafter{\LWR@endrightbrace}} + \newrobustcmd{\LWR@HTMLsanitizeexpand}[1]{% % \end{macrocode} % Cancel French \pkg{babel} character handling, @@ -24201,6 +24278,18 @@ end -- not --version % \begin{macrocode} \protect\StrSubstitute{\detokenize\expandafter{#1}}% {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]% +% \end{macrocode} +% The math expression may includes spaces between tokens, +% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end} +% and the following brace. +% This space is removed here. +% \begin{macrocode} + \protect\StrSubstitute{\LWR@strresult}% + {\LWR@beginspaceleftbrace}{\LWR@beginleftbrace}[\LWR@strresult]% + \protect\StrSubstitute{\LWR@strresult}% + {\LWR@endspacerightbrace}{\LWR@endrightbrace}[\LWR@strresult]% +% \end{macrocode} +% \begin{macrocode} \LWR@subHTMLsanitize% \LWR@strresult% \endgroup% @@ -24339,11 +24428,10 @@ end -- not --version \CustomizeMathJax{\def\LWRfootnote{1}} \CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}} \CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}} -\end{warpMathJax} % \end{macrocode} +% Various other customizations: % \begin{macrocode} -\begin{warpMathJax} \CustomizeMathJax{\newcommand\ensuremath[1]{#1}} \CustomizeMathJax{% absorb two optional arguments \newcommand{\LWRframebox}[2][]{\fbox{#2}} @@ -24356,6 +24444,20 @@ end -- not --version \CustomizeMathJax{\newcommand{\cline}[1]{}} \CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}} \CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}} +% \end{macrocode} +% +% \cs{protect}, \cs{mathchar}, and \cs{delimiter} are silently discarded; and +% \cs{mathcode} and \cs{delcode} are ignored. +% \changes{v0.89}{2020/07/27}{mathjax=\brand{MathJax}: Added \cs{protect}, and +% \cs{mathcode} and related.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\protect}{}} +\CustomizeMathJax{\def\LWRabsorbnumber#1 {}} +\CustomizeMathJax{\def\LWRabsorbquotenumber"#1 {}} +\CustomizeMathJax{\def\mathchar{\ifnextchar"\LWRabsorbquotenumber\LWRabsorbnumber}} +\CustomizeMathJax{\def\mathcode#1={\mathchar}} +\CustomizeMathJax{\let\delcode\mathcode} +\CustomizeMathJax{\let\delimiter\mathchar} \end{warpMathJax} \begin{warpHTML}% due to warpMathJax @@ -24375,17 +24477,19 @@ end -- not --version \LWR@stoppars \LWR@htmlcomment{MathJax customizations:} -\typeout{---} -\typeout{Package lwarp:} -\typeout{Processing MathJax customizations. If this takes too long,} -\typeout{see the Lwarp manual regarding customizing MathJax.} \begin{BlockClass}{hidden} \LWR@stoppars -\LWR@customizedMathJax +% \end{macrocode} +% +% Avoid ligatures while printing \brand{MathJax} customizations: +% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.} +% \begin{macrocode} +{ + \LWR@print@ttfamily + \LWR@customizedMathJax +} \LWR@startpars \end{BlockClass} -\typeout{Done.} -\typeout{---} \LWR@startpars }{} @@ -26116,8 +26220,22 @@ end -- not --version % disable \cs{ensuremath} by printing a nullified % definition at the start of each file, and add further customizations: % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.} +% \changes{v0.89}{2020/08/17}{MathJax: Improved info message.} % \begin{macrocode} +\ifbool{mathjax}{ + \typeout{---} + \typeout{Package lwarp:} + \typeout{Processing MathJax customizations for the first HTML page.} + \typeout{Later HTML pages will take the same amount of time.} + \typeout{If this takes too long, see the Lwarp manual regarding customizing MathJax.} +}{} + \LWR@customizeMathJax + +\ifbool{mathjax}{ + \typeout{Done.} + \typeout{---} +}{} % \end{macrocode} % % ^^A % Likewise for Ka\TeX: @@ -26238,41 +26356,91 @@ end -- not --version % If labels have not changed, mark successful completion % of the \filenm{lateximages.txt} file. % Executed as everything is being shut down. +% +% For the newer kernel hooks, see \cmds{texdoc lthooks-doc} and \cmds{texdoc ltshipout-doc}. % \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.} +% \changes{v0.89}{2020/07/28}{Adapt to \LaTeX\ core changes.} +% \begin{macrocode} +\ifdef{\AddToHook}{% newer kernel + \AddToHook{enddocument/info}{% + \if@filesw + \ifx \@multiplelabels \relax + \if@tempswa +% \end{macrocode} +% This is where warnings of duplicate labels would appear. +% \begin{macrocode} + \else +% \end{macrocode} +% No duplicate labels, so safe to create images. % \begin{macrocode} -\xpatchcmd{\enddocument} - {% - \if@tempswa - \@latex@warning@no@line{Label(s) may have changed. - Rerun to get cross-references right}% - \fi - } - {% - \if@tempswa - \@latex@warning@no@line{Label(s) may have changed. - Rerun to get cross-references right}% - \else \immediate\write\LWR@lateximagesfile{% |end|end|end|% }% - \fi + \fi + \fi\fi } - {} - { - \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% +}% newer kernel +{% older kernel + \xpatchcmd{\enddocument} + {% + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right}% + \fi + } + {% + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right}% + \else +% \end{macrocode} +% No duplicate labels, so safe to create images. +% \begin{macrocode} + \immediate\write\LWR@lateximagesfile{% + |end|end|end|% + }% + \fi + } + {} + { + \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% + } } } - } +}% older kernel % \end{macrocode} % \end{macro} + +% \section{Nullifying foreground \Slash background hooks} +% +% See \cmds{texdoc lthooks-doc} and \cmds{textdoc ltshipout-doc}. +% +% \changes{v0.89}{2020/07/28}{Foreground/background hooks: Adapt to \LaTeX\ core changes.} +% \begin{macrocode} +\ifdef{\RemoveFromHook}{ + \AfterEndPreamble{ + \IfHookEmptyTF{shipout/background}{}{ + \PackageInfo{lwarp}{Removing background hook} + \RemoveFromHook{shipout/background}[*] + } + \IfHookEmptyTF{shipout/foreground}{}{ + \PackageInfo{lwarp}{Removing foreground hook} + \RemoveFromHook{shipout/foreground}[*] + } + } +}{} +% \end{macrocode} + + + % \begin{macrocode} \end{warpHTML} % \end{macrocode} @@ -27418,7 +27586,7 @@ end -- not --version % \begin{macrocode} \begin{warpHTML} % \end{macrocode} - +% % \begin{macro}{\@begintheorem} \marg{name} \marg{number} % \begin{macrocode} \renewcommand{\@begintheorem}[2]{% @@ -27429,16 +27597,26 @@ end -- not --version } % \end{macrocode} % \end{macro} +% +% % \begin{macro}{\@opargbegintheorem} \marg{name} \marg{number} \marg{oparg} +% +% \LaTeX\ defines this, but \pkg{amsthm} \cs{relax}es it, +% so it will not be defined if \pkg{amsthm} is loaded before \pkg{lwarp}. +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} % \begin{macrocode} -\renewcommand{\@opargbegintheorem}[3]{% -\LWR@forcenewpage -\BlockClass{theoremcontents} -\trivlist -\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape +\ifundef{\@opargbegintheorem}{}{ + \renewcommand{\@opargbegintheorem}[3]{% + \LWR@forcenewpage + \BlockClass{theoremcontents} + \trivlist + \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape + } } % \end{macrocode} % \end{macro} +% +% % \begin{macro}{\@endtheorem} % \begin{macrocode} \renewcommand*{\@endtheorem}{% @@ -35716,12 +35894,20 @@ end -- not --version }% % \end{macrocode} % For \brand{MathJax}, print the math between |\(| and |\)|: +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} {% \LWR@traceinfo{LWR@subsingledollar: Mathjax}% {% \textbackslash(% - \LWR@HTMLsanitize{#4}% + {% +% \end{macrocode} +% \cs{ifmmode} to avoid error about \cs{ttfamily} inside math mode +% in the case of nested math, ex. equation with tcolorbox with math. +% \begin{macrocode} + \ifmmode\else\LWR@print@ttfamily\fi% + \LWR@HTMLsanitize{#4}% + }% \textbackslash)% }% }% mathjax @@ -35793,11 +35979,12 @@ end -- not --version % \end{macrocode} % For \brand{MathJax}, print the math between |\[| and |\]|: % \changes{v0.42}{2017/10/16}{Improved line spacing with mathjax.} +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} { \textbackslash[% - \LWR@HTMLsanitize{#1}% + {\LWR@print@ttfamily\LWR@HTMLsanitize{#1}}% \textbackslash] }% mathjax @@ -35842,6 +36029,7 @@ end -- not --version % % % \begin{macro}{\LWR@singledollar} \marg{alt text} \marg{math expression} +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} \protected\gdef\LWR@singledollar#1${% \ifbool{mathjax}{% @@ -35882,7 +36070,7 @@ end -- not --version \protected\gdef\[#1\]{$$#1$$} } -\endgroup +\endgroup% active $ % \end{macrocode} % \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.} % \begin{macrocode} @@ -35984,9 +36172,12 @@ end -- not --version % Set the default displaymath to the normal version: +% +% \changes{v0.89}{2020/08/12}{Removed \cs{let} of \cs{[}, \cs{]}.} +% ^^A \LetLtxMacro\[\LWR@openbracketnormal% (but not yet defined) +% ^^A \LetLtxMacro\]\LWR@closebracketnormal% +% % \begin{macrocode} -\LetLtxMacro\[\LWR@openbracketnormal% -\LetLtxMacro\]\LWR@closebracketnormal% \LetLtxMacro\displaymath\LWR@displaymathnormal% \LetLtxMacro\enddisplaymath\endLWR@displaymathnormal% % \end{macrocode} @@ -36196,15 +36387,20 @@ end -- not --version % Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters. % \begin{macrocode} \LWR@origtilde\LWR@orignewline - \textbackslash{}begin\{#1\} % \end{macrocode} -% Print the contents, sanitizing for \HTML\ special characters. +% Print the environment name and contents, sanitizing for \HTML\ special characters. +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} - \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}} + {% + \LWR@print@ttfamily% + \textbackslash{}begin\{#1\} + \LWR@orignewline% + \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}% + \LWR@orignewline% + \textbackslash{}end\{#1\} + }% % \end{macrocode} -% Close the \brand{MathJax} environment: % \begin{macrocode} - \textbackslash{}end\{#1\} \LWR@orignewline } % \end{macrocode} @@ -36663,11 +36859,12 @@ end -- not --version % \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.} % \changes{v0.50}{2018/03/02}{Improved \SVG\ math display.} % \changes{v0.51}{2018/03/11}{Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.} +% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.} % \begin{macrocode} \begin{BlockClass}{displaymathnumbered}% \LWR@newautoidanchor% \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[(\LWR@startingequationtag--\LWR@equationtag)% + \begin{lateximage}[(\LWR@startingequationtag\textendash\LWR@equationtag)% \LWR@addmathjax{eqnarray}{\BODY}]*% % \end{macrocode} % Support for \pkg{xfakebold}: @@ -36988,13 +37185,14 @@ end -- not --version % prefixed by the equation numbers. % % \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.} +% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.} % % \begin{macrocode} \newcommand*{\LWR@amsmathbodynumbered}[1] {% \ifnumcomp{\value{LWR@startingequation}}{=}{\value{equation}}% {(\LWR@equationtag)}% - {(\LWR@startingequationtag--\LWR@equationtag)} % extra space + {(\LWR@startingequationtag\textendash\LWR@equationtag)} % extra space \LWR@amsmathbody{#1} % extra space } % \end{macrocode} @@ -37605,6 +37803,14 @@ end -- not --version \LWR@PreloadedPackage{fontaxes} % \end{macrocode} +% \pkg{newpxmath}, etc. may be loaded before \pkg{lwarp}: +% \begin{macrocode} +\LWR@PreloadedPackage{newpxmath} +\LWR@PreloadedPackage{newtxmath} +\LWR@PreloadedPackage{newtxsf} +\LWR@PreloadedPackage{mathalpha} +% \end{macrocode} + % \pkg{nfssext-cfr} may be preloaded by \pkg{cfm-lm} or related font packages. % \begin{macrocode} \LWR@PreloadedPackage{nfssext-cfr} @@ -37675,7 +37881,7 @@ end -- not --version \newrobustcmd{\LWR@siunitx@textdegree}{\HTMLentity{deg}} \newrobustcmd{\LWR@siunitx@textprime}{\HTMLunicode{2032}} \newrobustcmd{\LWR@siunitx@textdblprime}{\HTMLunicode{2033}} -\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}} +\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}} \appto\LWR@restoreorigformatting{% \renewrobustcmd{\LWR@siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}% @@ -40477,7 +40683,7 @@ color:\LWR@origpound\LWR@tempcolor% % -% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}} +% \section{Starting and stopping \pkg{lwarp}} % \codehtml % \begin{macrocode} @@ -40501,6 +40707,27 @@ color:\LWR@origpound\LWR@tempcolor% % \end{macrocode} +% \section{Loading \pkg{everyshi} patches} +% +% \pkg{everyshi} is emulated by the \LaTeX\ core, so its patches are loaded +% here. +% \cs{AtBeginDocument} is used in case an older verison of \LaTeX\ is +% used. +% +% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Included in \LaTeX\ core.} +% +% \codehtml +% \begin{macrocode} +\begin{warpHTML} +\AtBeginDocument{ + \@ifpackageloaded{everyshi}{ + \RequirePackage{lwarp-everyshi} + }{} +} +\end{warpHTML} +% \end{macrocode} + + % \section{Loading \pkg{textcomp} patches} % % \pkg{textcomp} has now been integrated into the \LaTeX\ core, @@ -40515,6 +40742,37 @@ color:\LWR@origpound\LWR@tempcolor% \end{warpHTML} % \end{macrocode} + + +% \section{Loading \pkg{amsmath}, \pkg{amsthm} patches, \pkg{centernot}} +% +% \pkg{amsmath}, \pkg{amsthm}, and \pkg{centernot} may have been preloaded, +% such as by \pkg{newtx}, so their patches are loaded now. +% +% \codehtml +% +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} +% \begin{macrocode} +\begin{warpHTML} +\@ifpackageloaded{amsthm}{ + \RequirePackage{lwarp-amsthm} +}{} +% \end{macrocode} +% +% \begin{macrocode} +\@ifpackageloaded{amsmath}{ + \RequirePackage{lwarp-amsmath} +}{} + +% \pkg{amsthm} may load \pkg{centernot}, so \pkg{centernot} must be checked second. +% \begin{macrocode} +\@ifpackageloaded{centernot}{ + \RequirePackage{lwarp-centernot} +}{} +\end{warpHTML} +% \end{macrocode} + + % \section{Loading \brand{Koma-script} class patches} % % Load patches to \pkg{koma-script}. @@ -41272,6 +41530,99 @@ color:\LWR@origpound\LWR@tempcolor% % % % +% +% +% \iffalse +%<*accents> +% \fi +% +% \part{lwarp-accents.sty} +% +% \section{accents} +% +% \credits{Javier Bezos} +% +% \DescribePackage{accents} +% \pkg{accents} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{accents}[2006/05/12] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{accents} + +\CustomizeMathJax{\newcommand{\ring}[1]{\mathring{#1}}} +\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}} +% \end{macrocode} +% +% As of this writing, \brand{MathJax} v3 does not yet support +% groups for macros, so for \cs{underaccent}, the originals are remembered here, +% then they are temporarily redefined and used inside \cs{underaccent}, +% then restored to their originals. +% \cs{LARGE} gives a reasonable size, and \cs{raise} is used to +% adjust vertically without introducing extra line space. +% \begin{macrocode} +\CustomizeMathJax{\let\LWRgrave\grave} +\CustomizeMathJax{\let\LWRacute\acute} +\CustomizeMathJax{\let\LWRcheck\check} +\CustomizeMathJax{\let\LWRbreve\breve} +\CustomizeMathJax{\let\LWRbar\bar} +\CustomizeMathJax{\let\LWRhat\hat} +\CustomizeMathJax{\let\LWRdot\dot} +\CustomizeMathJax{\let\LWRtilde\tilde} +\CustomizeMathJax{\let\LWRddot\ddot} +\CustomizeMathJax{\let\LWRvec\vec} +\CustomizeMathJax{\let\LWRwidetilde\widetilde} + +\CustomizeMathJax{\newcommand{\underaccent}[2]{% + {% + \renewcommand{\grave}[1]{{\LARGE\LWRgrave{##1}}}% + \renewcommand{\acute}[1]{{\LARGE\LWRacute{##1}}}% + \renewcommand{\check}[1]{{\LARGE\LWRcheck{##1}}}% + \renewcommand{\breve}[1]{{\LARGE\LWRbreve{##1}}}% + \renewcommand{\bar}[1]{{\LARGE\LWRbar{##1}}}% + \renewcommand{\hat}[1]{{\LARGE\LWRhat{##1}}}% + \renewcommand{\dot}[1]{{\LARGE\LWRdot{##1}}}% + \renewcommand{\tilde}[1]{{\LARGE\LWRtilde{##1}}}% + \renewcommand{\ddot}[1]{{\LARGE\LWRddot{##1}}}% + \renewcommand{\vec}[1]{{\LARGE\LWRvec{##1}}}% + \renewcommand{\widetilde}[1]{{\LARGE\LWRwidetilde{\hphantom{#2}}}}% + \underset{\raise 2pt {#1{}}}{#2}% + \let\grave\LWRgrave% + \let\acute\LWRacute% + \let\check\LWRcheck% + \let\breve\LWRbreve% + \let\bar\LWRbar% + \let\hat\LWRhat% + \let\dot\LWRdot% + \let\tilde\LWRtilde% + \let\ddot\LWRddot% + \let\vec\LWRvec% + \let\widetilde\LWRwidetilde% + }% +}} + +\CustomizeMathJax{\newcommand{\undertilde}[1]{% + \underset{\raise 3pt {\widetilde{\hphantom{#1}}}}{#1}% +}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</accents> +% \fi +% +% +% +% % \iffalse %<*accessibility> % \fi @@ -42193,6 +42544,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % Embeds the environment inside a \env{lateximage}. % % \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.} +% \changes{v0.89}{2020/08/02}{AMS environments: Fix: \element{ALT} text env name.} % \begin{macrocode} \NewDocumentCommand{\LWR@amsmathenv@@before}{s m}{% \IfBooleanTF{#1}{ @@ -42202,7 +42554,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% } \LWR@newautoidanchor% \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]* + \begin{lateximage}[\LWR@amsmathbodynumbered{#2}]*% \LWR@applyxfakebold% } % \end{macrocode} @@ -43218,7 +43570,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% \LWR@ProvidesPackageDrop{atbegshi}[2011/10/05] % \end{macrocode} % +% \changes{v0.89}{2020/07/28}{\pkg{atbegshi}: Adapt to \LaTeX kernel changes.} % \begin{macrocode} +\let\AtBeginShipout\relax +\let\AtBeginShipoutNext\relax +\let\AtBeginShipoutFirst\relax +\let\AtBeginShipoutDiscard\relax +\let\AtBeginShipoutInit\relax +\let\AtBeginShipoutAddToBox\relax +\let\AtBeginShipoutAddToBoxForeground\relax +\let\AtBeginShipoutUpperLeft\relax +\let\AtBeginShipoutUpperLeftForeground\relax +\let\AtBeginShipoutOriginalShipout\relax + \newcommand*{\AtBeginShipout}[1]{} \newbox\AtBeginShipoutBox \newcommand*{\AtBeginShipoutNext}[1]{} @@ -43233,7 +43597,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% \def\AtBeginShipoutBoxWidth{0pt} \def\AtBeginShipoutBoxHeight{0pt} \def\AtBeginShipoutBoxDepth{0pt} - % \end{macrocode} % % \iffalse @@ -45475,6 +45838,7 @@ s% % \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.} +% \changes{v0.89}{2020/08/25}{\pkg{caption}: Adapt to v3.5.} % % \codehtml % @@ -45487,9 +45851,10 @@ s% \typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.} \typeout{---} -\LWR@ProvidesPackagePass{caption}[2020/01/03] +\LWR@ProvidesPackagePass{caption}[2020/08/24] % \end{macrocode} - +% +% ^^A This could be given a permanent standardized name, then redefined by lwarp. % \begin{macrocode} \long\def\caption@iibox@#1#2#3#4{% % \setbox\@tempboxa\hbox{#4}% @@ -45508,7 +45873,12 @@ s% #1*% set \caption@position \caption@iftop{% \endgroup - \minipagefullwidth% +% \end{macrocode} +% +% ^^A This parbox could be factored out, given a permanent name, +% ^^A then redefined by lwarp. +% \begin{macrocode} + \minipagefullwidth% lwarp \parbox[t]{\linewidth}{% #1\relax \caption@setposition t% @@ -45520,9 +45890,14 @@ s% }% }{% \endgroup +% \end{macrocode} +% +% ^^A This parbox could be factored out, given a permanent name, +% ^^A then redefined by lwarp. +% \begin{macrocode} % \parbox[b]{#6}{% - \minipagefullwidth% - \parbox[b]{\linewidth}{% + \minipagefullwidth% lwarp + \parbox[b]{\linewidth}{% lwarp #1\relax \caption@setposition b% % \csname caption@hj@#7\endcsname @@ -45535,10 +45910,187 @@ s% } % \end{macrocode} +% \begin{noindmacro}{\caption@makecaption} +% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.} +% ^^A Lwarp could nullify \caption@make@above/bottom. +% \begin{macrocode} +\long\def\caption@makecaption#1#2{% +% \caption@make@above + \caption@@make{#1}{#2}% +% \caption@make@below +} + +\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.} +% ^^A Lwarp has to redefine to use \LWR@futurenonspacelet correctly. +% \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]{% required for token capture + \caption@ORI@xfloat{#1}[#2]% + \caption@settype{#1}% + \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment% + }% +} +% \end{macrocode} + + +% Updates for late patches for \pkg{scrextend}: +% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.} +% \begin{macrocode} +\caption@AtBeginDocument{ +\@ifpackageloaded{lwarp-scrextend}{ + \LetLtxMacro\captionbelow\caption + \LetLtxMacro\captionabove\caption + \LetLtxMacro\captionofbelow\captionof + \LetLtxMacro\captionofabove\captionof +}{} +} +% \end{macrocode} +% +% \iffalse +%</caption> +% \fi +% +% +% +% +% +% \iffalse +%<*caption3> +% \fi +% +% \part{lwarp-caption3.sty} +% \section{caption3} +% +% \credits{Axel Sommerfeldt} +% +% \DescribePackage{caption3} +% \pkg{caption3} is patched for use by \pkg{lwarp}. +% +% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Split from \pkg{lwarp-caption}.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{caption3}[2020/08/23] +% \end{macrocode} +% +% % \begin{noindmacro}{\caption@@@make} % \marg{caption label} \marg{caption text} % \begin{macrocode} +\@ifpackagelater{caption3}{2020/08/23}{ +\renewcommand\caption@@@make[2]{% +\LWR@traceinfo{caption@@@make}% +% \end{macrocode} +% +% ^^A Lwarp has to stop and start its paragraph handling, +% ^^A so I guess caption package could provide null macros for +% ^^A \LWR@stoppars and \LWR@startpars if lwarp has not already defined them. +% \begin{macrocode} + \LWR@stoppars% lwarp +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \sbox\@tempboxa{#1}% +% \ifdim\wd\@tempboxa=\z@ +% \caption@set{labelseparator}{none}% +% \fi + \caption@ifempty{#2}{% + \caption@set{labelseparator}{none}% + \caption@set{textformat}{simple}% + }% + \caption@labelseparator % defines \caption@iflabelfont, +% \caption@labelsep and \caption@labelsep@name +% (the latter is needed by \caption@fmt) +% +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \@setpar{\@@par\caption@@par}\caption@@par + \caption@applyfont +% \end{macrocode} +% +% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|: +% +% \begin{macrocode} +% \caption@fmt + {\ifcaption@star\else + \begingroup + \captionlabelfont +% \end{macrocode} +% +% ^^A \LWR@isolate could also be provided by caption if lwarp has +% ^^A not already defined it. For caption, it might be \@firstofone, for example. +% ^^A (For lwarp it improved Chinese text handling.) +% \begin{macrocode} + \LWR@isolate{#1}% lwarp + \endgroup + \fi}% + {\ifcaption@star\else + \begingroup + \caption@iflabelfont\captionlabelfont + \relax\caption@labelsep + \endgroup + \fi}% + {{\captiontextfont +% \end{macrocode} +% +% ^^A Another null macro in caption, which could be provided if +% ^^A lwarp has not yet defined it: +% \begin{macrocode} + \let\\\newline% lwarp +% + \caption@textstart +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \caption@ifstrut +% {\vrule\@height\ht\strutbox\@width\z@}% +% {}% +% \nobreak\hskip\z@skip % enable hyphenation +% \end{macrocode} +% +% ^^A \LWR@isolate again: +% \begin{macrocode} + \LWR@isolate{\caption@textformat{#2}}% lwarp +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \caption@ifstrut +% {\ifhmode\@finalstrut\strutbox\fi}% +% {}% + \caption@textend}}% +% \end{macrocode} +% +% ^^A as \LWR@startpars above: +% \begin{macrocode} + \LWR@startpars% lwarp +\LWR@traceinfo{caption@@@make done}% +} +}% later than 2020/08/23 +{% earlier than 2020/08/23 \renewcommand\caption@@@make[2]{% \LWR@traceinfo{caption@@@make}% \LWR@stoppars% lwarp @@ -45550,6 +46102,7 @@ s% \let\caption@lsep\@empty \let\caption@tfmt\@firstofone }% +% \@setpar{\@@par\caption@@par}\caption@@par \caption@applyfont % \end{macrocode} % \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|: @@ -45583,10 +46136,15 @@ s% \LWR@startpars% lwarp \LWR@traceinfo{caption@@@make done}% } +}% earlier than 2020/08/23 % \end{macrocode} % \end{noindmacro} - +% +% % \begin{noindmacro}{\caption@@make@} \marg{} \marg{} +% ^^A This could be given a standardized name, +% ^^A and redefined by lwarp as follows. Most of the original +% ^^A is thrown away. % \begin{macrocode} \renewcommand{\caption@@make@}[2]{% \caption@stepthecounter% @@ -45596,93 +46154,42 @@ s% } % \end{macrocode} % \end{noindmacro} - -% \begin{noindmacro}{\caption@makecaption} -% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.} -% \begin{macrocode} -\long\def\caption@makecaption#1#2{% -% \caption@iftop -% {\vskip\belowcaptionskip}% -% {\caption@rule\vskip\abovecaptionskip}% - \caption@@make{#1}{#2}% -% \caption@iftop -% {\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: +% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Improved label seps.} +% ^^A Debatable "improvements": % \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{~:~} +\DeclareCaptionLabelSeparator{colon}{:~} +\DeclareCaptionLabelSeparator{period}{.~} +\DeclareCaptionLabelSeparator{space}{~} +\DeclareCaptionLabelSeparator*{endash}{~\textendash~} +\DeclareCaptionLabelSeparator{arabi}{\if@rl~\fi:~} % \end{macrocode} - +% +% ^^A These are simplifications for HTML: % \begin{macrocode} \DeclareCaptionBox{none}{#2} \DeclareCaptionBox{parbox}{% #2% } - -\DeclareCaptionBox{colorbox}{% - #2% -} % \end{macrocode} - - -% Updates for late patches for \pkg{scrextend}: -% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.} +% +% ^^A Simplification for HTML: % \begin{macrocode} -\caption@AtBeginDocument{ -\@ifpackageloaded{lwarp-scrextend}{ - \LetLtxMacro\captionbelow\caption - \LetLtxMacro\captionabove\caption - \LetLtxMacro\captionofbelow\captionof - \LetLtxMacro\captionofabove\captionof -}{} +\DeclareCaptionBox{colorbox}{% + #2% } % \end{macrocode} - - - +% % \iffalse -%</caption> +%</caption3> % \fi % % % % % -% -% -% % \iffalse %<*cases> % \fi @@ -45752,6 +46259,7 @@ s% % and emulated for \brand{MathJax}. % % \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.} +% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.} % % \codehtml % @@ -45759,9 +46267,17 @@ s% \LWR@ProvidesPackagePass{centernot}[2016/05/16] % \end{macrocode} % +% Based on \href{https://github.com/mathjax/MathJax/issues/2107} +% {\texttt{https://github.com/mathjax/MathJax/issues/2107}} +% with \cs{textstyle} removed to work with sub \Slash super scripts. +% % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + \begin{warpMathJax} -\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}} +\CustomizeMathJax{\newcommand{\centernot}[1]{% + \LWRoverlaysymbols{\unicode{x2215}}{#1} +}} \end{warpMathJax} % \end{macrocode} % @@ -49618,10 +50134,13 @@ name = \chemmacros_translate:n {scheme-name} % is emulated for \brand{MathJax}. % % \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.} % % \codehtml % % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + \LWR@ProvidesPackagePass{econometrics}% no date specified in the original % \end{macrocode} % @@ -49662,95 +50181,11 @@ name = \chemmacros_translate:n {scheme-name} \CustomizeMathJax{\newcommand{\calY}{\mathcal{Y}}} \CustomizeMathJax{\newcommand{\calZ}{\mathcal{Z}}} -\CustomizeMathJax{\newcommand{\mA}{\bm A}} -\CustomizeMathJax{\newcommand{\va}{\bm a}} -\CustomizeMathJax{\newcommand{\mB}{\bm B}} -\CustomizeMathJax{\newcommand{\vb}{\bm b}} -\CustomizeMathJax{\newcommand{\mC}{\bm C}} -\CustomizeMathJax{\newcommand{\vc}{\bm c}} -\CustomizeMathJax{\newcommand{\mD}{\bm D}} -\CustomizeMathJax{\newcommand{\vd}{\bm d}} -\CustomizeMathJax{\newcommand{\mE}{\bm E}} -\CustomizeMathJax{\newcommand{\ve}{\bm e}} -\CustomizeMathJax{\newcommand{\mF}{\bm F}} -\CustomizeMathJax{\newcommand{\vf}{\bm f}} -\CustomizeMathJax{\newcommand{\mG}{\bm G}} -\CustomizeMathJax{\newcommand{\vg}{\bm g}} -\CustomizeMathJax{\newcommand{\mH}{\bm H}} -\CustomizeMathJax{\newcommand{\vh}{\bm h}} -\CustomizeMathJax{\newcommand{\mI}{\bm I}} -\CustomizeMathJax{\newcommand{\vi}{\bm i}} -\CustomizeMathJax{\newcommand{\mJ}{\bm J}} -\CustomizeMathJax{\newcommand{\vj}{\bm j}} -\CustomizeMathJax{\newcommand{\mK}{\bm K}} -\CustomizeMathJax{\newcommand{\vk}{\bm k}} -\CustomizeMathJax{\newcommand{\mL}{\bm L}} -\CustomizeMathJax{\newcommand{\vl}{\bm l}} -\CustomizeMathJax{\newcommand{\mM}{\bm M}} -\CustomizeMathJax{\newcommand{\vm}{\bm m}} -\CustomizeMathJax{\newcommand{\mN}{\bm N}} -\CustomizeMathJax{\newcommand{\vn}{\bm n}} -\CustomizeMathJax{\newcommand{\mO}{\bm O}} -\CustomizeMathJax{\newcommand{\vo}{\bm o}} -\CustomizeMathJax{\newcommand{\mP}{\bm P}} -\CustomizeMathJax{\newcommand{\vp}{\bm p}} -\CustomizeMathJax{\newcommand{\mQ}{\bm Q}} -\CustomizeMathJax{\newcommand{\vq}{\bm q}} -\CustomizeMathJax{\newcommand{\mR}{\bm R}} -\CustomizeMathJax{\newcommand{\vr}{\bm r}} -\CustomizeMathJax{\newcommand{\mS}{\bm S}} -\CustomizeMathJax{\newcommand{\vs}{\bm s}} -\CustomizeMathJax{\newcommand{\mT}{\bm T}} -\CustomizeMathJax{\newcommand{\vt}{\bm t}} -\CustomizeMathJax{\newcommand{\mU}{\bm U}} -\CustomizeMathJax{\newcommand{\vu}{\bm u}} -\CustomizeMathJax{\newcommand{\mV}{\bm V}} -\CustomizeMathJax{\newcommand{\vv}{\bm v}} -\CustomizeMathJax{\newcommand{\mW}{\bm W}} -\CustomizeMathJax{\newcommand{\vw}{\bm w}} -\CustomizeMathJax{\newcommand{\mX}{\bm X}} -\CustomizeMathJax{\newcommand{\vx}{\bm x}} -\CustomizeMathJax{\newcommand{\mY}{\bm Y}} -\CustomizeMathJax{\newcommand{\vy}{\bm y}} -\CustomizeMathJax{\newcommand{\mZ}{\bm Z}} -\CustomizeMathJax{\newcommand{\vz}{\bm z}} - -\CustomizeMathJax{\newcommand{\valpha}{\bm \alpha}} -\CustomizeMathJax{\newcommand{\vbeta}{\bm \beta}} -\CustomizeMathJax{\newcommand{\vgamma}{\bm \gamma}} -\CustomizeMathJax{\newcommand{\vdelta}{\bm \delta}} -\CustomizeMathJax{\newcommand{\vepsi}{\bm \epsi}} -\CustomizeMathJax{\newcommand{\vvarepsilon}{\bm \varepsilon}} -\CustomizeMathJax{\newcommand{\vzeta}{\bm \zeta}} -\CustomizeMathJax{\newcommand{\veta}{\bm \eta}} -\CustomizeMathJax{\newcommand{\vtheta}{\bm \theta}} -\CustomizeMathJax{\newcommand{\viota}{\bm \iota}} -\CustomizeMathJax{\newcommand{\vkappa}{\bm \kappa}} -\CustomizeMathJax{\newcommand{\vlambda}{\bm \lambda}} -\CustomizeMathJax{\newcommand{\vmu}{\bm \mu}} -\CustomizeMathJax{\newcommand{\vnu}{\bm \nu}} -\CustomizeMathJax{\newcommand{\vxi}{\bm \xi}} -\CustomizeMathJax{\newcommand{\vpi}{\bm \pi}} -\CustomizeMathJax{\newcommand{\vrho}{\bm \rho}} -\CustomizeMathJax{\newcommand{\vsigma}{\bm \sigma}} -\CustomizeMathJax{\newcommand{\vtau}{\bm \tau}} -\CustomizeMathJax{\newcommand{\vupsilon}{\bm \upsilon}} -\CustomizeMathJax{\newcommand{\vphi}{\bm \phi}} -\CustomizeMathJax{\newcommand{\vchi}{\bm \chi}} -\CustomizeMathJax{\newcommand{\vpsi}{\bm \psi}} -\CustomizeMathJax{\newcommand{\vomega}{\bm \omega}} - -\CustomizeMathJax{\newcommand{\mGamma}{\bm \varGamma}} -\CustomizeMathJax{\newcommand{\mDelta}{\bm \varDelta}} -\CustomizeMathJax{\newcommand{\mTheta}{\bm \varTheta}} -\CustomizeMathJax{\newcommand{\mLambda}{\bm \varLambda}} -\CustomizeMathJax{\newcommand{\mXi}{\bm \varXi}} -\CustomizeMathJax{\newcommand{\mPi}{\bm \varPi}} -\CustomizeMathJax{\newcommand{\mSigma}{\bm \varSigma}} -\CustomizeMathJax{\newcommand{\mUpsilon}{\bm \varUpsilon}} -\CustomizeMathJax{\newcommand{\mPhi}{\bm \varPhi}} -\CustomizeMathJax{\newcommand{\mPsi}{\bm \varPsi}} -\CustomizeMathJax{\newcommand{\mOmega}{\bm \varOmega}} +\LWR@mathjax@addlatin@u@bfit{m}% uppercase Latin, bold italic +\LWR@mathjax@addlatin@l@bfit{v}% lowercase Latin, bold italic + +\LWR@mathjax@addgreek@l@bfit{v}{}% lowercase Greek bold italic +\LWR@mathjax@addgreek@u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names \CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}} \CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}} @@ -51297,12 +51732,16 @@ name = \chemmacros_translate:n {scheme-name} % \codehtml % % Discard all options for \pkg{lwarp-everyshi}: +% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Adapt to \LaTeX kernel changes.} % \begin{macrocode} \LWR@ProvidesPackageDrop{everyshi}[2001/05/15] % \end{macrocode} % % \begin{macrocode} +\let\EveryShipout\relax \newcommand*{\EveryShipout}[1]{} + +\let\AtNextShipout\relax \newcommand*{\AtNextShipout}[1]{} % \end{macrocode} % @@ -56195,6 +56634,99 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space % % % \iffalse +%<*hepunits> +% \fi +% +% \part{lwarp-hepunits.sty} +% +% \section{hepunits} +% +% \credits{Andy Buckley} +% +% \DescribePackage{hepunits} +% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{hepunits}[2020/04/10] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{hepunits} + +\ifx\@HEPopt@sicmds\@yes +\CustomizeMathJax{\newcommand{\micron}{\micro\metre}} +\CustomizeMathJax{\newcommand{\mrad}{\milli\radian}} +\fi + +\CustomizeMathJax{\newcommand{\gauss}{\mathrm{G}}} + +\CustomizeMathJax{\newcommand{\invcmsq}{\centi\metre\tothe{-2}}} +\CustomizeMathJax{\newcommand{\invcmsqpersecond}{\invcmsq\second\tothe{-1}}} +\CustomizeMathJax{\newcommand{\invcmsqpersec}{\invcmsqpersecond}} + +%% (Inverse) cross-sections +\CustomizeMathJax{\newcommand{\invbarn}{\barn\tothe{-1}}} + +\ifx\@HEPopt@noprefixcmds\@empty +\CustomizeMathJax{\newcommand{\millibarn}{\milli\barn}} +\CustomizeMathJax{\newcommand{\microbarn}{\micro\barn}} +\CustomizeMathJax{\newcommand{\nanobarn}{\nano\barn}} +\CustomizeMathJax{\newcommand{\picobarn}{\pico\barn}} +\CustomizeMathJax{\newcommand{\femtobarn}{\femto\barn}} +\CustomizeMathJax{\newcommand{\attobarn}{\atto\barn}} +\CustomizeMathJax{\newcommand{\zeptobarn}{\zepto\barn}} +\CustomizeMathJax{\newcommand{\yoctobarn}{\yocto\barn}} +\CustomizeMathJax{\newcommand{\invnanobarn}{\nano\invbarn}} +\CustomizeMathJax{\newcommand{\invpicobarn}{\pico\invbarn}} +\CustomizeMathJax{\newcommand{\invfemtobarn}{\femto\invbarn}} +\CustomizeMathJax{\newcommand{\invattobarn}{\atto\invbarn}} +\CustomizeMathJax{\newcommand{\invzeptobarn}{\zepto\invbarn}} +\CustomizeMathJax{\newcommand{\invyoctobarn}{\yocto\invbarn}} +\CustomizeMathJax{\newcommand{\invnb}{\invnanobarn}} +\CustomizeMathJax{\newcommand{\invpb}{\invpicobarn}} +\CustomizeMathJax{\newcommand{\invfb}{\invfemtobarn}} +\CustomizeMathJax{\newcommand{\invab}{\invattobarn}} +\CustomizeMathJax{\newcommand{\invzb}{\invzeptobarn}} +\CustomizeMathJax{\newcommand{\invyb}{\invyoctobarn}} +\fi + +\CustomizeMathJax{\newcommand{\electronvoltc}{\electronvolt\per\mathit{c}}} +\CustomizeMathJax{\newcommand{\electronvoltcsq}{\electronvolt\per\mathit{c}\squared}} +\CustomizeMathJax{\let\eVc\electronvoltc} +\CustomizeMathJax{\let\eVcsq\electronvoltcsq} + +\ifx\@HEPopt@noprefixcmds\@empty +\CustomizeMathJax{\newcommand{\meV}{\milli\eV}} +\CustomizeMathJax{\newcommand{\keV}{\kilo\eV}} +\CustomizeMathJax{\newcommand{\MeV}{\mega\eV}} +\CustomizeMathJax{\newcommand{\GeV}{\giga\eV}} +\CustomizeMathJax{\newcommand{\TeV}{\tera\eV}} +\CustomizeMathJax{\newcommand{\meVc}{\milli\eVc}} +\CustomizeMathJax{\newcommand{\keVc}{\kilo\eVc}} +\CustomizeMathJax{\newcommand{\MeVc}{\mega\eVc}} +\CustomizeMathJax{\newcommand{\GeVc}{\giga\eVc}} +\CustomizeMathJax{\newcommand{\TeVc}{\tera\eVc}} +\CustomizeMathJax{\newcommand{\meVcsq}{\milli\eVcsq}} +\CustomizeMathJax{\newcommand{\keVcsq}{\kilo\eVcsq}} +\CustomizeMathJax{\newcommand{\MeVcsq}{\mega\eVcsq}} +\CustomizeMathJax{\newcommand{\GeVcsq}{\giga\eVcsq}} +\CustomizeMathJax{\newcommand{\TeVcsq}{\tera\eVcsq}} +\fi +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</hepunits> +% \fi +% +% +% +% \iffalse %<*hhline> % \fi % @@ -56247,6 +56779,62 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space % % % \iffalse +%<*hhtensor> +% \fi +% +% \part{lwarp-hhtensor.sty} +% +% \section{hhtensor} +% +% \credits{Harald Harders} +% +% \DescribePackage{hhtensor} +% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{hhtensor}[2011/12/29] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\iftensor@bold + \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}} +\else + \iftensor@uline + \CustomizeMathJax{\newcommand{\vec}[1]{\ushort{#1}}} + \CustomizeMathJax{\newcommand{\matr}[1]{\ushortd{#1}}} + \CustomizeMathJax{\newcommand{\tens}[2]{ + \underset{ + \raise{.5ex}{\underset{#2}{\sim}} + }{#1} + }} + \else + \CustomizeMathJax{\newcommand{\matr}[1]{\vec{\vec{#1}}}} + \CustomizeMathJax{\newcommand{\tens}[2]{ + \underset{ + \raise{.5ex}{\underset{#2}{\sim}} + }{#1} + }} + \fi +\fi +\CustomizeMathJax{\newcommand{\dcdot}{\mathrel{\cdot\mkern 0.0mu \cdot}}} +\CustomizeMathJax{\newcommand{\trans}{{}^{\mathrm{T}}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</hhtensor> +% \fi +% +% +% +% \iffalse %<*hypbmsec> % \fi % @@ -59418,7 +60006,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % The print version does not seem to honor \env{longtable*} from the % \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering} -% \trouble{table>numbering} +% \trouble{table>numbering>ltextable=\pkg{ltxtable}} % \pkg{caption} package, while \pkg{lwarp} does. % % \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.} @@ -60410,6 +60998,46 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % \iffalse +%<*mathalpha> +% \fi +% +% \part{lwarp-mathalpha.sty} +% +% \section{mathalpha} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{mathalpha} +% \pkg{mathalpha} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options, +% \trouble[limitations]{mathalpha=\pkg{mathalpha}} +% and some bold fonts may not be not supported by \brand{MathJax}. +% +% \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{mathalpha}[2019/10/05] + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\mathbbb}[1]{\boldsymbol{\mathbb{#1}}}}% not bold +\CustomizeMathJax{\newcommand{\mathbcal}[1]{\boldsymbol{\mathcal{#1}}}} +\CustomizeMathJax{\newcommand{\mathbfrak}[1]{\boldsymbol{\mathfrak{#1}}}} +\CustomizeMathJax{\newcommand{\mathbscr}[1]{\boldsymbol{\mathscr{#1}}}}% not bold +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathalpha> +% \fi +% +% +% +% +% \iffalse %<*mathcomp> % \fi % @@ -60450,6 +61078,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % +% +% \iffalse +%<*mathdesign> +% \fi +% +% \part{lwarp-mathdesign.sty} +% +% \section{mathdesign} +% +% \credits{Paul Pichaureau} +% +% \DescribePackage{mathdesign} +% \pkg{mathdesign} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathdesign=\pkg{mathdesign}} +% The explicit macros for upright and italic greek letters do work correctly, +% although the user may wish to swap the definitions for +% epsilon and phi. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/08}{\pkg{mathdesign}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + +\LWR@ProvidesPackagePass{mathdesign}[2013/08/29] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathdesign} + +% upright +\LWR@mathjax@addgreek@l@up{}{up} +\LWR@mathjax@addgreek@u@up*{}{up} + + +% italicized +\LWR@mathjax@addgreek@l@it{}{it} +\LWR@mathjax@addgreek@u@it*{}{it} + +% adapt to mathdesign inconsistency: +\CustomizeMathJax{\let\digammaup\Digammaup} +\CustomizeMathJax{\renewcommand{\digammait}{\mathit{\digammaup}}} + +% extra symbols +\CustomizeMathJax{\newcommand{\smallin}{\unicode{x220A}}} +\CustomizeMathJax{\newcommand{\smallowns}{\unicode{x220D}}} +\CustomizeMathJax{\newcommand{\notsmallin}{\LWRoverlaysymbols{/}{\unicode{x220A}}}} +\CustomizeMathJax{\newcommand{\notsmallowns}{\LWRoverlaysymbols{/}{\unicode{x220D}}}} +\CustomizeMathJax{\newcommand{\rightangle}{\unicode{x221F}}} + +% integrals +\CustomizeMathJax{\newcommand{\intclockwise}{\unicode{x2231}}} +\CustomizeMathJax{\newcommand{\ointclockwise}{\unicode{x2232}}} +\CustomizeMathJax{\newcommand{\ointctrclockwise}{\unicode{x2233}}} +\CustomizeMathJax{\newcommand{\oiint}{\unicode{x222F}}} +\CustomizeMathJax{\newcommand{\oiiint}{\unicode{x2230}}} + +% math and text mode +\CustomizeMathJax{\newcommand{\ddag}{\unicode{x2021}}} +\CustomizeMathJax{\newcommand{\P}{\unicode{x00B6}}} +\CustomizeMathJax{\newcommand{\copyright}{\unicode{x00A9}}} +\CustomizeMathJax{\newcommand{\dag}{\unicode{x2020}}} +\CustomizeMathJax{\newcommand{\pounds}{\unicode{x00A3}}} + +% extra symbols +\CustomizeMathJax{\newcommand{\iddots}{\unicode{x22F0}}} +\CustomizeMathJax{\newcommand{\utimes}{\overline{\times}}} +\CustomizeMathJax{\newcommand{\dtimes}{\underline{\times}}} +\CustomizeMathJax{\newcommand{\udtimes}{\overline{\underline{\times}}}} +\CustomizeMathJax{\newcommand{\leftwave}{\left\{}} +\CustomizeMathJax{\newcommand{\rightwave}{\right\}}} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathdesign> +% \fi +% +% +% +% % \iffalse %<*mathdots> % \fi @@ -60528,6 +61246,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % \iffalse +%<*mathpazo> +% \fi +% +% \part{lwarp-mathpazo.sty} +% +% \section{mathpazo} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{mathpazo} +% \pkg{mathpazo} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathpazo=\pkg{mathpazo}} +% The explicit macros for upright greek letters do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/10}{\pkg{mathpazo}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{mathpazo}[2020/03/25] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathpazo} + +\LWR@mathjax@addgreek@u@up*{up}{} + +\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathpazo> +% \fi +% +% +% +% \iffalse +%<*mathptmx> +% \fi +% +% \part{lwarp-mathptmx.sty} +% +% \section{mathptmx} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{mathptmx} +% \pkg{mathptmx} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathptmx=\pkg{mathptmx}} +% The explicit macros for upright greek letters do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/10}{\pkg{mathptmx}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{mathptmx}[2020/03/25] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathptmx} + +\LWR@mathjax@addgreek@u@up*{up}{} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathptmx> +% \fi +% +% +% +% \iffalse %<*mathtools> % \fi % @@ -60610,7 +61418,16 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand{\crampedclap}[2][]{{#1#2}}} \CustomizeMathJax{\newenvironment{crampedsubarray}[1]{}{}} \CustomizeMathJax{\newcommand{\crampedsubstack}{}} -\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2\limits}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Added \cs{adjustlimits}.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\adjustlimits}{}} +% \end{macrocode} +% \begin{macrocode} \CustomizeMathJax{\newcommand{\SwapAboveDisplaySkip}{}} \CustomizeMathJax{\require{extpfeil}} @@ -60816,8 +61633,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand\lparen{(}} \CustomizeMathJax{\newcommand\rparen{)}} -\CustomizeMathJax{\newcommand{\vcentcolon}{:}} \CustomizeMathJax{\newcommand{\ordinarycolon}{:}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\vcentcolon}{\mathrel{\mathop\ordinarycolon}}} \CustomizeMathJax{\newcommand\dblcolon{\vcentcolon\vcentcolon}} \CustomizeMathJax{\newcommand\coloneqq{\vcentcolon=}} @@ -60835,9 +61655,12 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand\colonsim{\vcentcolon\sim}} \CustomizeMathJax{\newcommand\Colonsim{\dblcolon\sim}} -\CustomizeMathJax{\newcommand{\nuparrow}{\cancel{\uparrow}}} -\CustomizeMathJax{\newcommand{\ndownarrow}{\cancel{\downarrow}}} -\CustomizeMathJax{\newcommand{\bigtimes}{{\Large\times}}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\nuparrow}{\mathrel{\cancel{\uparrow}}}} +\CustomizeMathJax{\newcommand{\ndownarrow}{\mathrel{\cancel{\downarrow}}}} +\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\Large\times}\limits}} \CustomizeMathJax{\newcommand{\prescript}[3]{{}^{#1}_{#2}#3}} @@ -62199,6 +63022,7 @@ background: % \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble. % % \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{mismath}: Improved math operators.} % % \codehtml % @@ -62258,48 +63082,48 @@ background: \CustomizeMathJax{\newcommand{\V}{\operatorname{\probastyle{V}}}} \CustomizeMathJax{\newcommand{\Par}{\unicode{x00B6}}} -\CustomizeMathJax{\newcommand{\adj}{\mathrm{adj}}} -\CustomizeMathJax{\newcommand{\Aut}{\mathrm{Aut}}} -\CustomizeMathJax{\newcommand{\Conv}{\mathrm{Conv}}} -\CustomizeMathJax{\newcommand{\cov}{\mathrm{cov}}} -\CustomizeMathJax{\newcommand{\Cov}{\mathrm{Cov}}} -\CustomizeMathJax{\newcommand{curl}{\operatorname{\vect{\mathrm{curl}}}}} -\CustomizeMathJax{\newcommand{\divg}{\mathrm{div}}} -\CustomizeMathJax{\newcommand{\End}{\mathrm{End}}} - -\CustomizeMathJax{\newcommand{\erf}{\mathrm{erf}}} -\CustomizeMathJax{\newcommand{grad}{\operatorname{\vect{\mathrm{grad}}}}} -\CustomizeMathJax{\newcommand{\id}{\mathrm{id}}} -\CustomizeMathJax{\newcommand{\Id}{\mathrm{Id}}} -\CustomizeMathJax{\newcommand{\im}{\mathrm{im}}} +\CustomizeMathJax{\DeclareMathOperator{\adj}{adj}} +\CustomizeMathJax{\DeclareMathOperator{\Aut}{Aut}} +\CustomizeMathJax{\DeclareMathOperator{\Conv}{Conv}} +\CustomizeMathJax{\DeclareMathOperator{\cov}{cov}} +\CustomizeMathJax{\DeclareMathOperator{\Cov}{Cov}} +\CustomizeMathJax{\newcommand{\curl}{\operatorname{\vect{\mathrm{curl}}}}} +\CustomizeMathJax{\DeclareMathOperator{\divg}{div}} +\CustomizeMathJax{\DeclareMathOperator{\End}{End}} + +\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}} +\CustomizeMathJax{\newcommand{\grad}{\operatorname{\vect{\mathrm{grad}}}}} +\CustomizeMathJax{\DeclareMathOperator{\id}{id}} +\CustomizeMathJax{\DeclareMathOperator{\Id}{Id}} +\CustomizeMathJax{\DeclareMathOperator{\im}{im}} \CustomizeMathJax{\let\oldIm\Im} \CustomizeMathJax{\renewcommand{\Im}{\operatorname{Im}}} -\CustomizeMathJax{\newcommand{\lb}{\mathrm{lb}}} -\CustomizeMathJax{\newcommand{\lcm}{\mathrm{lcm}}} +\CustomizeMathJax{\DeclareMathOperator{\lb}{lb}} +\CustomizeMathJax{\DeclareMathOperator{\lcm}{lcm}} -\CustomizeMathJax{\newcommand{\rank}{\mathrm{rank}}} +\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}} \CustomizeMathJax{\let\oldRe\Re} \CustomizeMathJax{\renewcommand{\Re}{\operatorname{Re}}} -\CustomizeMathJax{\newcommand{rot}{\operatorname{\vect{\mathrm{rot}}}}} -\CustomizeMathJax{\newcommand{\sgn}{\mathrm{sgn}}} -\CustomizeMathJax{\newcommand{\spa}{\mathrm{span}}} -\CustomizeMathJax{\newcommand{\tr}{\mathrm{tr}}} -\CustomizeMathJax{\newcommand{\Var}{\mathrm{Var}}} -\CustomizeMathJax{\newcommand{\Zu}{\mathrm{Z}}} - -\CustomizeMathJax{\newcommand{\arccot}{\mathrm{arccot}}} -\CustomizeMathJax{\newcommand{\sech}{\mathrm{sech}}} -\CustomizeMathJax{\newcommand{\csch}{\mathrm{csch}}} -\CustomizeMathJax{\newcommand{\arsinh}{\mathrm{arsinh}}} -\CustomizeMathJax{\newcommand{\arcosh}{\mathrm{arcosh}}} -\CustomizeMathJax{\newcommand{\artanh}{\mathrm{artanh}}} -\CustomizeMathJax{\newcommand{\arcoth}{\mathrm{arcoth}}} -\CustomizeMathJax{\newcommand{\arsech}{\mathrm{arsech}}} -\CustomizeMathJax{\newcommand{\arcsch}{\mathrm{arcsch}}} - -\CustomizeMathJax{\newcommand{\bigO}{\mathcal{O}}} -\CustomizeMathJax{\newcommand{\bigo}{\mathrm{O}}} -\CustomizeMathJax{\newcommand{\lito}{\mathrm{o}}} +\CustomizeMathJax{\newcommand{\rot}{\operatorname{\vect{\mathrm{rot}}}}} +\CustomizeMathJax{\DeclareMathOperator{\sgn}{sgn}} +\CustomizeMathJax{\DeclareMathOperator{\spa}{span}} +\CustomizeMathJax{\DeclareMathOperator{\tr}{tr}} +\CustomizeMathJax{\DeclareMathOperator{\Var}{Var}} +\CustomizeMathJax{\DeclareMathOperator{\Zu}{Z}} + +\CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}} +\CustomizeMathJax{\DeclareMathOperator{\sech}{sech}} +\CustomizeMathJax{\DeclareMathOperator{\csch}{csch}} +\CustomizeMathJax{\DeclareMathOperator{\arsinh}{arsinh}} +\CustomizeMathJax{\DeclareMathOperator{\arcosh}{arcosh}} +\CustomizeMathJax{\DeclareMathOperator{\artanh}{artanh}} +\CustomizeMathJax{\DeclareMathOperator{\arcoth}{arcoth}} +\CustomizeMathJax{\DeclareMathOperator{\arsech}{arsech}} +\CustomizeMathJax{\DeclareMathOperator{\arcsch}{arcsch}} + +\CustomizeMathJax{\DeclareMathOperator{\bigO}{\mathcal{O}}} +\CustomizeMathJax{\DeclareMathOperator{\bigo}{O}} +\CustomizeMathJax{\DeclareMathOperator{\lito}{o}} \CustomizeMathJax{\newcommand{\R}{\mathset{R}}} \CustomizeMathJax{\newcommand{\C}{\mathset{C}}} @@ -62383,6 +63207,41 @@ background: % % % +% \iffalse +%<*mleftright> +% \fi +% +% \part{lwarp-mleftright.sty} +% +% \section{mleftright} +% +% \credits{Heiko Oberdiek} +% +% \DescribePackage{mleftright} +% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{mleftright}[2019/12/03] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\mleft}{\left}} +\CustomizeMathJax{\newcommand{\mright}{\right}} +\CustomizeMathJax{\newcommand{\mleftright}{}} +\CustomizeMathJax{\newcommand{\mleftrightrestore}{}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mleftright> +% \fi +% +% % % \iffalse %<*morefloats> @@ -63781,6 +64640,123 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak % % % +% \iffalse +%<*newpxmath> +% \fi +% +% \part{lwarp-newpxmath.sty} +% +% \section{newpxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newpxmath} +% \pkg{newpxmath} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{newpxmath=\pkg{newpxmath}} +% The explicit macros for upright and italic Greek do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newpxmath}: Added.} +% +% \codehtml +% +% The \brand{MathJax} code from \pkg{newtxmath} is used: +% \begin{macrocode} +\LWR@ProvidesPackagePass{newpxmath}[2020/01/09] + +\LWR@infoprocessingmathjax{newpxmath} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newpxmath> +% \fi +% +% +% +% \iffalse +%<*newtxmath> +% \fi +% +% \part{lwarp-newtxmath.sty} +% +% \section{newtxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newtxmath} +% \pkg{newtxmath} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options, +% \trouble[limitations]{newtxmath=\pkg{newtxmath}} +% except that bold italic Latin letters are not defined for \brand{MathJax} if +% the option is not selected. +% +% The explicit macros for upright and italic Greek and bold italic Latin letters +% do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newtxmath}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{newtxmath}[2020/08/04] + +\LWR@infoprocessingmathjax{newtxmath} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newtxmath> +% \fi +% +% +% +% +% \iffalse +%<*newtxsf> +% \fi +% +% \part{lwarp-newtxsf.sty} +% +% \section{newtxsf} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newtxsf} +% \pkg{newtxsf} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{newtxsf=\pkg{newtxsf}} +% The explicit macros for upright and italic Greek and bold italic Latin letters +% do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newtxsf}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{newtxsf}[2020/05/02] + +\LWR@infoprocessingmathjax{newtxsf} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newtxsf> +% \fi +% +% % % \iffalse %<*nextpage> @@ -67659,6 +68635,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*pxfonts> +% \fi +% +% \part{lwarp-pxfonts.sty} +% +% \section{pxfonts} +% +% \credits{Young Ryu} +% +% \DescribePackage{pxfonts} +% \pkg{pxfonts} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{pxfonts}[2008/01/22] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{pxfonts} + +\LWR@mathjax@addgreek@l@up{}{up} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</pxfonts> +% \fi +% +% +% +% \iffalse %<*pxftnright> % \fi % @@ -69903,6 +70918,78 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*shuffle> +% \fi +% +% \part{lwarp-shuffle.sty} +% +% \section{shuffle} +% +% \credits{Julian Gilbey and Antoine Lejay} +% +% \DescribePackage{shuffle} +% \pkg{shuffle} is emulated for \SVG\ math, and +% also emulated for \brand{MathJax}. +% +% The font used for \pkg{shuffle} may not render correctly when +% converted to \SVG\ math, so a \env{picture} environment drawing +% is used instead. +% +% For \brand{MathJax}, the Unicode character is used, and for +% \cs{cshuffle} a \cs{bar} is added. +% +% \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{shuffle}[2008/10/27] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpHTML} +\newcommand*{\LWR@shuffle@start}{% + \hspace*{.2em} + \begin{picture}(.75,0.65) + \setlength{\unitlength}{1em} + \put(0,0){\line(1,0){.75}} + \put(0,0){\line(0,1){.5}} + \put(.375,0){\line(0,1){.5}} + \put(.75,0){\line(0,1){.5}} +} + +\newcommand*{\LWR@shuffle@finish}{% + \end{picture} + \hspace*{.75em} + \hspace*{.2em} +} + +\newcommand*{\shuffle}{% + \LWR@shuffle@start% + \LWR@shuffle@finish% +} + +\newcommand*{\cshuffle}{% + \LWR@shuffle@start% + \put(.05,.65){\line(1,0){.65}}% + \LWR@shuffle@finish% +} +\end{warpHTML} + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\shuffle}{\unicode{0x29E2}}} +\CustomizeMathJax{\newcommand{\cshuffle}{\bar{\unicode{0x29E2}}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</shuffle> +% \fi +% +% +% +% +% \iffalse %<*sidecap> % \fi @@ -70392,7 +71479,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}} \CustomizeMathJax{\newcommand{\bbar}{\mathrm{bar}}} \CustomizeMathJax{\newcommand{\gal}{\mathrm{Gal}}} -\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}} +\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}} \CustomizeMathJax{\newcommand{\rperminute}{\mathrm{r}\per\minute}} \CustomizeMathJax{\newcommand{\rpersecond}{\mathrm{r}\per\second}} \CustomizeMathJax{\newcommand{\squaremetre}{\power{\metre}{2}}} @@ -70878,6 +71965,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \begin{macrocode} \begin{warpMathJax} \LWR@infoprocessingmathjax{siunitx} +% \end{macrocode} +% +% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}} +\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}} \CustomizeMathJax{\newcommand{\ang}[2][]{(\mathrm{#2})\degree}} \CustomizeMathJax{\newcommand{\num}[2][]{\mathrm{#2}}} @@ -70886,11 +71979,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \SI[opt]{num}[preunit]{unit} \CustomizeMathJax{\newcommand{\LWRSI}[2][]{\mathrm{#1\LWRSInumber\,#2}}} \CustomizeMathJax{\newcommand{\SI}[2][]{\def\LWRSInumber{#2}\LWRSI}} +% \end{macrocode} % +% \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.} +% \begin{macrocode} \CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}} -\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2~-- #3}}} +\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2\,\unicode{x2013}\,#3}}} \CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}} -\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4~-- #3\,#4}}} +\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4\,\unicode{x2013}\,#3\,#4}}} \CustomizeMathJax{\newcommand{\tablenum}[2][]{\mathrm{#2}}} % \CustomizeMathJax{\newcommand{\ampere}{\mathrm{A}}} @@ -70942,8 +72038,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\electronvolt}{\mathrm{eV}}} \CustomizeMathJax{\newcommand{\elementarycharge}{\mathit{e}}} \CustomizeMathJax{\newcommand{\hartree}{\mathit{E}_{\mathrm{h}}}} -\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x0127}}}} -\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}} +\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x210F}}}} +\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}} \CustomizeMathJax{\let\LWRorigbar\bar} \CustomizeMathJax{\newcommand{\bar}{\mathrm{bar}}} \CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}} @@ -72104,10 +73200,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % is emulated for \brand{MathJax}. % % \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.} +% \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm}, +% uses \pkg{lwarp-common-mathjax-letters}.} % % \codehtml % % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + \LWR@ProvidesPackagePass{statmath}[2018/03/08] % \end{macrocode} % @@ -72115,8 +73215,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \begin{warpMathJax} \LWR@infoprocessingmathjax{statmath} -\CustomizeMathJax{\let\abcbf\mathbf} +\ifdefequal{\abcbf}{\mathbf} + {\CustomizeMathJax{\newcommand{\abcbf}[1]{\mathbf{#1}}}} + {\CustomizeMathJax{\newcommand{\abcbf}[1]{\boldsymbol{#1}}}} + \CustomizeMathJax{\newcommand{\greekbf}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\bfA}{\abcbf A}} \CustomizeMathJax{\newcommand{\bfB}{\abcbf B}} \CustomizeMathJax{\newcommand{\bfC}{\abcbf C}} @@ -72169,47 +73273,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\bfx}{\abcbf x}} \CustomizeMathJax{\newcommand{\bfy}{\abcbf y}} \CustomizeMathJax{\newcommand{\bfz}{\abcbf z}} -\CustomizeMathJax{\newcommand{\bfalpha}{\greekbf \alpha}} -\CustomizeMathJax{\newcommand{\bfbeta}{\greekbf \beta}} -\CustomizeMathJax{\newcommand{\bfdelta}{\greekbf \delta}} -\CustomizeMathJax{\newcommand{\bfepsilon}{\greekbf \epsilon}} -\CustomizeMathJax{\newcommand{\bfvarepsilon}{\greekbf \varepsilon}} -\CustomizeMathJax{\newcommand{\bfzeta}{\greekbf \zeta}} -\CustomizeMathJax{\newcommand{\bfeta}{\greekbf \eta}} -\CustomizeMathJax{\newcommand{\bftheta}{\greekbf \theta}} -\CustomizeMathJax{\newcommand{\bfvartheta}{\greekbf \vartheta}} -\CustomizeMathJax{\newcommand{\bfgamma}{\greekbf \gamma}} -\CustomizeMathJax{\newcommand{\bfkappa}{\greekbf \kappa}} -\CustomizeMathJax{\newcommand{\bflambda}{\greekbf \lambda}} -\CustomizeMathJax{\newcommand{\bfmu}{\greekbf \mu}} -\CustomizeMathJax{\newcommand{\bfnu}{\greekbf \nu}} -\CustomizeMathJax{\newcommand{\bfxi}{\greekbf \xi}} -\CustomizeMathJax{\newcommand{\bfpi}{\greekbf \pi}} -\CustomizeMathJax{\newcommand{\bfvarpi}{\greekbf \varpi}} -\CustomizeMathJax{\newcommand{\bfrho}{\greekbf \rho}} -\CustomizeMathJax{\newcommand{\bfvarrho}{\greekbf \varrho}} -\CustomizeMathJax{\newcommand{\bfsigma}{\greekbf \sigma}} -\CustomizeMathJax{\newcommand{\bfvarsigma}{\greekbf \varsigma}} -\CustomizeMathJax{\newcommand{\bftau}{\greekbf \tau}} -\CustomizeMathJax{\newcommand{\bfupsilon}{\greekbf \upsilon}} -\CustomizeMathJax{\newcommand{\bfphi}{\greekbf \phi}} -\CustomizeMathJax{\newcommand{\bfvarphi}{\greekbf \varphi}} -\CustomizeMathJax{\newcommand{\bfchi}{\greekbf \chi}} -\CustomizeMathJax{\newcommand{\bfpsi}{\greekbf \psi}} -\CustomizeMathJax{\newcommand{\bfomega}{\greekbf \omega}} -\CustomizeMathJax{\newcommand{\bfiota}{\greekbf \iota}} -\CustomizeMathJax{\newcommand{\bfGamma}{\greekbf \Gamma}} -\CustomizeMathJax{\newcommand{\bfDelta}{\greekbf \Delta}} -\CustomizeMathJax{\newcommand{\bfTheta}{\greekbf \Theta}} -\CustomizeMathJax{\newcommand{\bfLambda}{\greekbf \Lambda}} -\CustomizeMathJax{\newcommand{\bfXi}{\greekbf \Xi}} -\CustomizeMathJax{\newcommand{\bfPi}{\greekbf \Pi}} -\CustomizeMathJax{\newcommand{\bfSigma}{\greekbf \Sigma}} -\CustomizeMathJax{\newcommand{\bfUpsilon}{\greekbf \Upsilon}} -\CustomizeMathJax{\newcommand{\bfPhi}{\greekbf \Phi}} -\CustomizeMathJax{\newcommand{\bfPsi}{\greekbf \Psi}} -\CustomizeMathJax{\newcommand{\bfOmega}{\greekbf \Omega}} + +\LWR@mathjax@addgreek@l@bfit{bf}{}% Greek lowercase bold face italic +\LWR@mathjax@addgreek@u@bfup*{bf}{}% Greek uppercase bold face upright, cap macros. + \CustomizeMathJax{\newcommand{\bfzero}{\greekbf 0}} + \CustomizeMathJax{\DeclareMathOperator{\cov}{Cov}} \CustomizeMathJax{\DeclareMathOperator{\E}{E}} \CustomizeMathJax{\DeclareMathOperator{\V}{V}} @@ -74533,12 +75602,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \section{thm-listof} % -% \credits{Ulrich M. Schwarz} +% \credits{Ulrich M. Schwarz, Yukai Chou} % % \DescribePackage{thm-listof} % \pkg{thm-listof} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}. % % \changes{v0.88}{2020/07/03}{\pkg{thm-listof}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{thm-listof}: Updated to v0.72.} % % \codehtml % @@ -74551,29 +75621,35 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % Other \pkg{thm-*} package may be loaded by \pkg{thm-listof}. % \begin{macrocode} -\xpatchcmd{\listoftheorems} - {% - \@xa\protected@edef\csname l@\thmt@envname\endcsname{% - \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% - }% - } - {% - \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% - } - {} - {\LWR@patcherror{thm-listof}{listoftheorems}} +\@ifpackagelater{thm-listof}{2020/08/01}{% v0.72 + \def\thmtlo@newentry{% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } +}{% earlier than v0.72 + \xpatchcmd{\listoftheorems} + {% + \@xa\protected@edef\csname l@\thmt@envname\endcsname{% + \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% + }% + } + {% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } + {} + {\LWR@patcherror{thm-listof}{listoftheorems}} -\xpatchcmd{\thmt@mklistcmd} - {% - \@xa\protected@edef\csname l@\thmt@envname\endcsname{% - \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% - }% - } - {% - \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% - } - {} - {\LWR@patcherror{thm-listof}{thmt@mklistcmd}} + \xpatchcmd{\thmt@mklistcmd} + {% + \@xa\protected@edef\csname l@\thmt@envname\endcsname{% + \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% + }% + } + {% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } + {} + {\LWR@patcherror{thm-listof}{thmt@mklistcmd}} +} % \end{macrocode} % % \iffalse @@ -74596,11 +75672,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \pkg{thm-restate} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}. % % \changes{v0.88}{2020/07/03}{\pkg{thm-restate}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{thm-restate}: Updated to v0.72, no changes needed.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackagePass{thm-restate}[2019/12/22] +\LWR@ProvidesPackagePass{thm-restate}[2020/08/01] % \end{macrocode} % % \begin{macrocode} @@ -74677,6 +75754,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% +% \iffalse +%<*thmtools> +% \fi +% +% \part{lwarp-thmtools.sty} +% +% \section{thmtools} +% +% \credits{Ulrich M. Schwarz} +% +% \DescribePackage{thmtools} +% \pkg{thmtools} is patched for use by \pkg{lwarp}. +% +% Also see \pkg{thm-listof} and \pkg{thm-restate}. +% +% \changes{v0.89}{2020/09/02}{\pkg{thmtools}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{thmtools}[2020/08/01] +% \end{macrocode} +% +% The following patches either \pkg{thm-amsthm} or \pkg{thm-ntheorem}. +% \begin{macrocode} +\def\thmt@headstyle@margin{% + \InlineClass{amsthmnnumbertheorem}{\NUMBER} + \ + \InlineClass{amsthmnametheorem}{\NAME} + \InlineClass{amsthmnotetheorem}{\NOTE} +} + +\let\thmt@headstyle@swapnumber\thmt@headstyle@margin +% \end{macrocode} +% +% \iffalse +%</thmtools> +% \fi +% +% +% % \iffalse %<*threadcol> % \fi @@ -77200,6 +78320,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*txfonts> +% \fi +% +% \part{lwarp-txfonts.sty} +% +% \section{txfonts} +% +% \credits{Young Ryu} +% +% \DescribePackage{txfonts} +% \pkg{txfonts} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{txfonts}[2008/01/22] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{txfonts} + +\LWR@mathjax@addgreek@l@up{}{up} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</txfonts> +% \fi +% +% % \iffalse %<*typearea> % \fi @@ -77743,6 +78902,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*upgreek> +% \fi +% +% \part{lwarp-upgreek.sty} +% +% \section{upgreek} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{upgreek} +% \pkg{upgreek} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{upgreek}[2003/02/12] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{upgreek} + +\LWR@mathjax@addgreek@l@up{up}{} +\LWR@mathjax@addgreek@u@up{Up}{} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</upgreek> +% \fi +% +% +% +% % \iffalse %<*upref> % \fi @@ -77817,6 +79019,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% +% \iffalse +%<*ushort> +% \fi +% +% \part{lwarp-ushort.sty} +% +% \section{ushort} +% +% \credits{Martin V\"ath} +% +% \DescribePackage{ushort} +% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{ushort}[2001/06/13] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\ushortdline}[1]{% + \kern{.1em}\underline{\underline{{#1}}}\kern{.1em}% +}} +\CustomizeMathJax{\newcommand{\ushort}[1]{\kern{.1em}\underline{#1}\kern{.1em}}} +\CustomizeMathJax{\newcommand{\ushortd}[1]{\ushortdline{#1}}} +\CustomizeMathJax{\newcommand{\ushortw}[1]{\kern{.1em}\underline{#1}\kern{.1em}}} +\CustomizeMathJax{\newcommand{\ushortdw}[1]{\ushortdline{#1}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</ushort> +% \fi +% +% +% % \iffalse %<*uspace> % \fi @@ -78507,7 +79750,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \begin{macrocode} \begin{warpHTML} -\makeatletter \ifbool{mathjax}{ % For the hidden print version in the HTML: \newcommand{\Arrow}[2][]{} @@ -78564,7 +79806,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', } \AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}} } -\makeatother \end{warpHTML} \begin{warpMathJax} @@ -82763,6 +84004,937 @@ height:\LWR@printlength{\LWR@tempheight}% % \fi % % +% +% ^^A *common-mathjax-letters +% ^^A *letters +% +% \iffalse +%<*common-mathjax-letters> +% \fi +% +% \part{lwarp-common-mathjax-letters.sty} +% +% \section{common-mathjax-letters} +% +% \DescribePackage{lwarp-common-mathjax-letters} +% Common code used by a number of packages to generate Greek math characters +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-letters}[2020/08/10] +% \end{macrocode} +% +% +% \begin{noindmacro}{\LWR@mathjax@addletter} +% * \marg{2: capitalize name?} \marg{3: prefix} \marg{4: postfix} +% \marg{5: name} \marg{6: unicode} +% +% Star to italicize the result, used when the unicode character does not exist. +% \begin{macrocode} +\begin{warpMathJax} + +\NewDocumentCommand{\LWR@mathjax@addletter}{s m m m m m}{ + \IfBooleanTF{#2}% + {\edef\LWR@tempone{\LWRtexttitlecase{#5}}}% + {\edef\LWR@tempone{#5}}% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash(% + \LWRbackslash newcommand\LWRleftbrace\LWRbackslash% + #3% prefix + \LWR@tempone%name + #4% postfix + \LWRrightbrace\LWRleftbrace% + }% + \IfBooleanTF{#1}{% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash mathit\LWRleftbrace% + \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace% + \LWRrightbrace% + }% + }{% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace% + }% + }% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRrightbrace\LWRbackslash)\par% + }% +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@up} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@up}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{03B1} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{03B2} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{03B3} + \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{03B4} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{03B6} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{03B7} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{03B8} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{03B9} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{03BA} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{03BB} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{03BC} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{03BD} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{03BE} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{03BF} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03C0} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03C1} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{03F1} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03C3} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03C4} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03D5} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{03C6} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03C7} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03C8} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03C9} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@up} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@up}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{0391} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{0392} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{0393} + \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{0394} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{0395} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{0396} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{0397} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{0398} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{0399} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{039A} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{039B} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{039C} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{039D} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{039E} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{039F} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03A0} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03A1} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03A3} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03A4} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03A6} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03A7} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03A8} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03A9} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@it} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase italic. +% +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@it}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D701} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D702} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D703} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D704} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D705} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D706} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D707} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D708} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D709} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D70B} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D70C} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D70F} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D719} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D711} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D712} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D713} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D714} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@it} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase italic. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@it}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@bfit} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase boldface italic. +% +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@bfit}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D736} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D737} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D738} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D739} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D73C} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D73D} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D73E} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D740} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D741} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D742} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D743} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D744} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D745} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D755} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D746} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D754} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D748} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D749} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D753} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D74C} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D74D} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D74E} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfit} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase boldface italic. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfit}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D71D} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D71F} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D721} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D722} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D723} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D724} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D725} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D726} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D727} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D728} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D729} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D72B} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D72C} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D72F} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D731} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D732} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D733} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D734} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfup} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase boldface upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfup}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addlatin@u@bfit} \marg{prefix} +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% bold-face italic Latin letters, uppercase and lowercase. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addlatin@u@bfit}{m}{ + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481} +} +% \end{macrocode} +% \end{noindmacro} +% +% \begin{noindmacro}{\LWR@mathjax@addlatin@l@bfit} \marg{prefix} +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% bold-face italic Latin letters, uppercase and lowercase. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addlatin@l@bfit}{m}{ + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{macrocode} +\end{warpMathJax} +% \end{macrocode} + + +% \iffalse +%</common-mathjax-letters> +% \fi +% +% +% +% +% ^^A *common-mathjax-newpxtxmath +% +% \iffalse +%<*common-mathjax-newpxtxmath> +% \fi +% +% \part{lwarp-common-mathjax-newpxtxmath.sty} +% +% \section{common-mathjax-newpxtxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{lwarp-common-mathjax-newpxtxmath} +% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, and \pkg{newtxsf} +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/31}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/08/31] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\fAlt}{f}} +\CustomizeMathJax{\newcommand{\rhoAlt}{\rho}} + +\CustomizeMathJax{\newcommand{\imathscr}{\mathord{\mathscr{i}}}} +\CustomizeMathJax{\newcommand{\jmathscr}{\mathord{\mathscr{j}}}} + +\CustomizeMathJax{\let\llbracket[}% single only +\CustomizeMathJax{\let\rrbracket]}% single only +\CustomizeMathJax{\let\lBrack=\llbracket}% single only +\CustomizeMathJax{\let\rBrack=\rrbracket}% single only +\CustomizeMathJax{\let\smlbrace\{} +\CustomizeMathJax{\let\smrbrace\}} +\CustomizeMathJax{\newcommand{\Perp}{\mathrel{\unicode{x02AEB}}}} +\CustomizeMathJax{\newcommand{\nPerp}{\mathrel{\not{\!\unicode{x02AEB}}}}} +\CustomizeMathJax{\newcommand{\lambdabar}{% + \mathord{\LWRoverlaysymbols{\raise{.5ex}{-}}{\lambda}}% +}} +\CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x019B}}}} +\CustomizeMathJax{\newcommand{\Zbar}{\mathord{\unicode{x01B5}}}} +\CustomizeMathJax{\newcommand{\Angstrom}{\mathord{\unicode{x212B}}}} +\CustomizeMathJax{\newcommand{\Euler}{\mathord{\unicode{x2107}}}} +\CustomizeMathJax{\newcommand{\transp}{\mathord{\unicode{xFF34}}}} +\CustomizeMathJax{\newcommand{\hermtransp}{\mathord{\unicode{xFF28}}}} +\CustomizeMathJax{\let\htransp=\hermtransp} +\CustomizeMathJax{\newcommand{\circledplus}{\mathbin{\unicode{x2295}}}} +\CustomizeMathJax{\newcommand{\circledminus}{\mathbin{\unicode{x2296}}}} +\CustomizeMathJax{\newcommand{\circledtimes}{\mathbin{\unicode{x2297}}}} +\CustomizeMathJax{\newcommand{\circleddot}{\mathbin{\unicode{x2299}}}} +\CustomizeMathJax{\let\overgroup\overparen} +\CustomizeMathJax{\let\overgroupra\overrightarrow} +\CustomizeMathJax{\let\undergroup\underparen} +\CustomizeMathJax{\let\undergroupla\underleftarrow} +\CustomizeMathJax{\newcommand{\widering}[1]{\stackrel{\unicode{x2218}}{\overgroup{#1}}}} +\CustomizeMathJax{\let\widearc\overparen} +\CustomizeMathJax{\let\wideOarc\overrightarrow} +\CustomizeMathJax{\newcommand{\LWRvvstar}[2]{{\overrightarrow{#1}_{#2}}}} +\CustomizeMathJax{\newcommand{\vv}{\ifstar\LWRvvstar\overrightarrow}} +% +\CustomizeMathJax{\let\smallintsl\smallint} +\CustomizeMathJax{\newcommand{\smalliintsl}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}}} +\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\smalloiiintsl}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\smallvarointclockwisesl}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\smallointctrclockwisesl}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\smallsumintsl}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\smallfintsl}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\smallsqintsl}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\smallintup\smallint} +\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}}} +\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\smalloiiintup}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\smallvarointclockwiseup}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\smallointctrclockwiseup}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\smallsumintup}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\smallfintup}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\smallsqintup}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\newcommand{\iint}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiint}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiint}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\intsl\int} +\CustomizeMathJax{\newcommand{\iintsl}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiintsl}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiintsl}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\let\ointsl\oint} +\CustomizeMathJax{\newcommand{\oiintsl}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiintsl}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwisesl}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwisesl}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumintsl}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fintsl}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqintsl}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\intup\int} +\CustomizeMathJax{\newcommand{\iintup}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiintup}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiintup}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\let\ointup\oint} +\CustomizeMathJax{\newcommand{\oiintup}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiintup}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwiseup}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwiseup}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumintup}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fintup}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqintup}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}} +\CustomizeMathJax{\newcommand{\bignplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x22C2}}}% +}} +\CustomizeMathJax{\let\bigcapplus\bignplus} +\CustomizeMathJax{\newcommand{\bigcupplus}{\mathop{\unicode{x2A04}}}} +\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}} +\CustomizeMathJax{\newcommand{\bigsqcapplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A05}}} +}} +\CustomizeMathJax{\newcommand{\bigsqcupplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A06}}} +}} +\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}}} +\CustomizeMathJax{\let\varprod\bigtimes} +% +\CustomizeMathJax{\newcommand{\mappedfrom}{\mathrel{\unicode{x021A4}}}} +\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}} +\CustomizeMathJax{\newcommand{\longmappedfrom}{\mathrel{\unicode{x027FB}}}} +% +\CustomizeMathJax{\newcommand{\Mapsto}{\mathrel{\unicode{x02907}}}} +\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}} +\CustomizeMathJax{\newcommand{\Mappedfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Longmappedfrom}{\mathrel{\unicode{x27FD}}}} +% +\CustomizeMathJax{\newcommand{\mmapsto}{\mathrel{\unicode{x02905}}}} +\CustomizeMathJax{\newcommand{\longmmapsto}{\mathrel{\unicode{x02905}}}} +\CustomizeMathJax{\newcommand{\mmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36 +\CustomizeMathJax{\newcommand{\longmmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36 +% +\CustomizeMathJax{\newcommand{\Mmapsto}{\mathrel{\unicode{x02907}}}} +\CustomizeMathJax{\newcommand{\Longmmapsto}{\mathrel{\unicode{x027FE}}}} +\CustomizeMathJax{\newcommand{\Mmappedfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Longmmappedfrom}{\mathrel{\unicode{x027FD}}}} +% +\CustomizeMathJax{\newcommand{\medcirc}{\mathbin{\unicode{x025CB}}}} +\CustomizeMathJax{\newcommand{\medbullet}{\mathbin{\unicode{x025CF}}}} +\CustomizeMathJax{\newcommand{\varparallel}{\mathrel{\unicode{x02AFD}}}} +\CustomizeMathJax{\newcommand{\varparallelinv}{\mathrel{\unicode{x244A}}}} +\CustomizeMathJax{\newcommand{\nvarparallel}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x02AFD}}}}} +\CustomizeMathJax{\newcommand{\nvarparallelinv}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x244A}}}}} +% +\CustomizeMathJax{\newcommand{\colonapprox}{\mathrel{:\approx}}} +\CustomizeMathJax{\newcommand{\colonsim}{\mathrel{:\sim}}} +\CustomizeMathJax{\newcommand{\Colonapprox}{\mathrel{\unicode{x2237}\approx}}} +\CustomizeMathJax{\newcommand{\Colonsim}{\mathrel{\unicode{x2237}\sim}}} +% +\CustomizeMathJax{\newcommand{\multimapinv}{\mathrel{\unicode{x027DC}}}} +\CustomizeMathJax{\newcommand{\multimapboth}{\mathrel{\unicode{x029DF}}}} +\CustomizeMathJax{\newcommand{\multimapdot}{{\mathrel{-\!\bullet}}}} +\CustomizeMathJax{\newcommand{\multimapdotinv}{\mathrel{\bullet\!-}}} +\CustomizeMathJax{\newcommand{\multimapdotboth}{\mathrel{{\bullet\!\!-\!\!\bullet}}}} +\CustomizeMathJax{\newcommand{\multimapdotbothA}{\mathrel{\unicode{x022B6}}}} +\CustomizeMathJax{\newcommand{\multimapdotbothB}{\mathrel{\unicode{x22B7}}}} +% +\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x22AB}}}} +\CustomizeMathJax{\newcommand{\VvDash}{\mathrel{\unicode{x22AA}}}} +% +\CustomizeMathJax{\newcommand{\preceqq}{\mathrel{\unicode{x02AB3}}}} +\CustomizeMathJax{\newcommand{\succeqq}{\mathrel{\unicode{x02AB4}}}} +% +\CustomizeMathJax{\newcommand{\nprecsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227E}}}}} +\CustomizeMathJax{\newcommand{\nsuccsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227F}}}}} +\CustomizeMathJax{\newcommand{\nlesssim}{\mathrel{\unicode{x02274}}}} +\CustomizeMathJax{\newcommand{\ngtrsim}{\mathrel{\unicode{x02275}}}} +\CustomizeMathJax{\newcommand{\nlessapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A85}}}}} +\CustomizeMathJax{\newcommand{\ngtrapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A86}}}}} +% +\CustomizeMathJax{\newcommand{\npreccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227C}}}}} +\CustomizeMathJax{\newcommand{\nsucccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227D}}}}} +\CustomizeMathJax{\newcommand{\ngtrless}{\mathrel{\unicode{x02279}}}} +\CustomizeMathJax{\newcommand{\nlessgtr}{\mathrel{\unicode{x2278}}}} +\CustomizeMathJax{\newcommand{\nbumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224F}}}}} +\CustomizeMathJax{\newcommand{\nBumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224E}}}}} +% +\CustomizeMathJax{\newcommand{\nbacksim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0223D}}}}} +\CustomizeMathJax{\newcommand{\nbacksimeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022CD}}}}} +\CustomizeMathJax{\newcommand{\nasymp}{\mathrel{\unicode{x226D}}}} +\CustomizeMathJax{\newcommand{\nequiv}{\mathrel{\unicode{x2262}}}} +\CustomizeMathJax{\newcommand{\napprox}{\mathrel{\unicode{x2249}}}} +% +\CustomizeMathJax{\newcommand{\nll}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226A}}}}} +\CustomizeMathJax{\newcommand{\ngg}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226B}}}}} +\CustomizeMathJax{\newcommand{\nthickapprox}{% + \mathrel{\LWRoverlaysymbols{/}{{\mathbf{\unicode{x02248}}}}}% +}} +\CustomizeMathJax{\newcommand{\napproxeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224A}}}}} +\CustomizeMathJax{\newcommand{\nprecapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB7}}}}} +\CustomizeMathJax{\newcommand{\nsuccapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB8}}}}} +\CustomizeMathJax{\newcommand{\npreceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB3}}}}} +\CustomizeMathJax{\newcommand{\nsucceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB4}}}}} +\CustomizeMathJax{\newcommand{\nsimeq}{\mathrel{\unicode{x02244}}}} +% +\CustomizeMathJax{\newcommand{\nSubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D0}}}}} +\CustomizeMathJax{\newcommand{\nSupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D1}}}}} +\CustomizeMathJax{\newcommand{\nsqsubseteq}{\mathrel{\unicode{x022E2}}}} +\CustomizeMathJax{\newcommand{\nsqsupseteq}{\mathrel{\unicode{x022E3}}}} +% +\CustomizeMathJax{\newcommand{\coloneqq}{\mathrel{\unicode{x02254}}}} +\CustomizeMathJax{\newcommand{\eqqcolon}{\mathrel{\unicode{x02255}}}} +\CustomizeMathJax{\newcommand{\Coloneqq}{\mathrel{\unicode{x02A74}}}} +\CustomizeMathJax{\newcommand{\Eqqcolon}{\mathrel{=\!\unicode{x2237}}}} +\CustomizeMathJax{\newcommand{\Coloneq}{\mathrel{\unicode{x2237}-}}} +\CustomizeMathJax{\newcommand{\Eqcolon}{\mathrel{-\unicode{x2237}}}} +% +\CustomizeMathJax{\newcommand{\lvec}[1]{\mathord{\overset{\unicode{x02190}}{#1}}}} +\CustomizeMathJax{\newcommand{\lrvec}[1]{\mathord{\overset{\unicode{x2194}}{#1}}}} +\CustomizeMathJax{\newcommand{\harpoonacc}[1]{\mathord{\overset{\unicode{x021C0}}{#1}}}} +\CustomizeMathJax{\newcommand{\lharpoonacc}[1]{\mathord{\overset{\unicode{x021BC}}{#1}}}} +\CustomizeMathJax{\newcommand{\lrharpoonacc}[1]{\mathord{\overset{\unicode{x0294E}}{#1}}}} +\CustomizeMathJax{\newcommand{\barbar}[1]{\mathord{\overset{=}{#1}}}} +\CustomizeMathJax{\newcommand{\bartilde}[1]{\mathord{\overset{\simeq}{#1}}}} +\CustomizeMathJax{\newcommand{\barhat}[1]{\mathord{\hat{\bar{#1}}}}} +\CustomizeMathJax{\newcommand{\tildebar}[1]{\mathord{\overset{\eqsim}{#1}}}} +\CustomizeMathJax{\newcommand{\tildetilde}[1]{\mathord{\overset{\approx}{#1}}}} +\CustomizeMathJax{\newcommand{\tildehat}[1]{\mathord{\hat{\tilde{#1}}}}} +\CustomizeMathJax{\newcommand{\hatbar}[1]{\mathord{\bar{\hat{#1}}}}} +\CustomizeMathJax{\newcommand{\hattilde}[1]{\mathord{\tilde{\hat{#1}}}}} +\CustomizeMathJax{\newcommand{\hathat}[1]{\mathord{\hat{\hat{#1}}}}} + +\CustomizeMathJax{\newcommand{\cdotB}{\mathord{\boldsymbol{\cdot}}}} +\CustomizeMathJax{\newcommand{\cdotBB}{\mathord{\unicode{x2022}}}} +\CustomizeMathJax{\newcommand{\circS}{\boldsymbol{\circ}}} +\CustomizeMathJax{\newcommand{\bulletSSS}{\bullet}} +\CustomizeMathJax{\newcommand{\bulletSS}{\mathord{\unicode{x025CF}}}} +\CustomizeMathJax{\newcommand{\bulletS}{\mathord{\unicode{x02B24}}}} +\CustomizeMathJax{\newcommand{\primeS}{\prime}} + +\CustomizeMathJax{\newcommand{\strictif}{\mathrel{\unicode{x0297D}}}}% right fish tail +\CustomizeMathJax{\newcommand{\strictfi}{\mathrel{\unicode{x0297C}}}}% left fish tail +\CustomizeMathJax{\newcommand{\strictiff}{% + \mathrel{\unicode{x0297C}\!\!\unicode{x0297D}}% +}}% left/right fish tails +\CustomizeMathJax{\newcommand{\invamp}{\mathbin{\unicode{x0214B}}}} +\CustomizeMathJax{\newcommand{\lbag}{\mathopen{\unicode{x027C5}}}} +\CustomizeMathJax{\newcommand{\rbag}{\mathclose{\unicode{x027C6}}}} +\CustomizeMathJax{\newcommand{\Lbag}{\mathopen{\large\unicode{x027C5}}}} +\CustomizeMathJax{\newcommand{\Rbag}{\mathclose{\large\unicode{x027C6}}}} +\CustomizeMathJax{\newcommand{\circledless}{\mathrel{\unicode{x029C0}}}} +\CustomizeMathJax{\newcommand{\circledgtr}{\mathrel{\unicode{x029C1}}}} +\CustomizeMathJax{\newcommand{\circledwedge}{% + \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{x02227}}}% +}} +\CustomizeMathJax{\newcommand{\circledvee}{% + \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{0x02228}}}% +}} +\CustomizeMathJax{\newcommand{\circledbar}{\mathbin{\unicode{x029B6}}}} +\CustomizeMathJax{\newcommand{\circledbslash}{\mathbin{\unicode{x029B8}}}} + +\CustomizeMathJax{\newcommand{\lJoin}{\mathrel{\unicode{x22C9}}}} +\CustomizeMathJax{\newcommand{\rJoin}{\mathrel{\unicode{x22CA}}}} +\CustomizeMathJax{\newcommand{\lrJoin}{\mathrel{\unicode{x2A1D}}}} +\CustomizeMathJax{\newcommand{\openJoin}{\mathrel{\unicode{x2AA4}}}}% overlapping >< + +\CustomizeMathJax{\newcommand{\lrtimes}{\mathrel{\unicode{x2A1D}}}} +\CustomizeMathJax{\newcommand{\opentimes}{\mathrel{\unicode{x2AA4}}}}% overlapping >< +\CustomizeMathJax{\newcommand{\Diamondblack}{\mathord{\unicode{x025C6}}}} +\CustomizeMathJax{\newcommand{\nplus}{\mathrel{\LWRoverlaysymbols{+}{\unicode{x02229}}}}} +\CustomizeMathJax{\newcommand{\nsqsubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0228F}}}}} +\CustomizeMathJax{\newcommand{\nsqsupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02290}}}}} +\CustomizeMathJax{\newcommand{\dasharrow}{\mathrel{\unicode{x021E2}}}} +\CustomizeMathJax{\newcommand{\dashleftrightarrow}{\mathrel{\unicode{x021E0}\!\unicode{x021E2}}}} +\CustomizeMathJax{\newcommand{\leftsquigarrow}{\mathrel{\unicode{x021DC}}}} +\CustomizeMathJax{\newcommand{\ntwoheadrightarrow}{\mathrel{\unicode{x02900}}}} +\CustomizeMathJax{\newcommand{\ntwoheadleftarrow}{\mathrel{\unicode{x02B34}}}} +\CustomizeMathJax{\newcommand{\boxast}{\mathbin{\unicode{x029C6}}}} +\CustomizeMathJax{\newcommand{\boxbslash}{\mathbin{\unicode{x29C5}}}} +\CustomizeMathJax{\newcommand{\boxbar}{\mathbin{\unicode{x025EB}}}} +\CustomizeMathJax{\newcommand{\boxslash}{\mathbin{\unicode{x029C4}}}} + +\CustomizeMathJax{\newcommand{\Wr}{\mathbin{\unicode{x02240}\!\unicode{x02240}}}} + +% defined above: +% \CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x00023}}}} +% \CustomizeMathJax{\newcommand{\lambdabar}{\mathord{\unicode{x00023}}}} + +\CustomizeMathJax{\newcommand{\varclubsuit}{\mathord{\unicode{x02667}}}} +\CustomizeMathJax{\newcommand{\vardiamondsuit}{\mathord{\unicode{x02666}}}} +\CustomizeMathJax{\newcommand{\varheartsuit}{\mathord{\unicode{x02665}}}} +\CustomizeMathJax{\newcommand{\varspadesuit}{\mathord{\unicode{x02664}}}} + +\CustomizeMathJax{\newcommand{\Nearrow}{\mathrel{\unicode{x021D7}}}} +\CustomizeMathJax{\newcommand{\Searrow}{\mathrel{\unicode{x021D8}}}} +\CustomizeMathJax{\newcommand{\Nwarrow}{\mathrel{\unicode{x021D6}}}} +\CustomizeMathJax{\newcommand{\Swarrow}{\mathrel{\unicode{x021D9}}}} +\CustomizeMathJax{\newcommand{\Top}{\mathord{\unicode{x02AEA}}}} +\CustomizeMathJax{\newcommand{\Bot}{\mathord{\unicode{x02AEB}}}} + +\CustomizeMathJax{\newcommand{\leadstoext}{\mathrel{\unicode{xFF5E}}}} + +\CustomizeMathJax{\newcommand{\sqcupplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02294}}}}} +\CustomizeMathJax{\newcommand{\sqcapplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02293}}}}} + +\CustomizeMathJax{\newcommand{\boxright}{\mathrel{\unicode{x025A1}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\boxleft}{\mathrel{\unicode{x02190}\!\unicode{x025A1}}}} +\CustomizeMathJax{\newcommand{\boxdotright}{\mathrel{\unicode{x022A1}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\boxdotleft}{\mathrel{\unicode{x02190}\!\unicode{x022A1}}}} + +\CustomizeMathJax{\newcommand{\Diamondright}{\mathrel{\unicode{x025C7}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\Diamondleft}{\mathrel{\unicode{x02190}\!\unicode{x025C7}}}} +\CustomizeMathJax{\newcommand{\Diamonddotright}{\mathrel{\unicode{x027D0}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\Diamonddotleft}{\mathrel{\unicode{x02190}\!\unicode{x027D0}}}} + +\CustomizeMathJax{\newcommand{\boxRight}{\mathrel{\unicode{x025A1}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\boxLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025A1}}}} +\CustomizeMathJax{\newcommand{\boxdotRight}{\mathrel{\unicode{x022A1}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\boxdotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x022A1}}}} + +\CustomizeMathJax{\newcommand{\DiamondRight}{\mathrel{\unicode{x025C7}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\DiamondLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025C7}}}} +\CustomizeMathJax{\newcommand{\DiamonddotRight}{\mathrel{\unicode{x027D0}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\DiamonddotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x027D0}}}} +\CustomizeMathJax{\newcommand{\Diamonddot}{\mathrel{\unicode{x027D0}}}} + +\CustomizeMathJax{\newcommand{\circleright}{\mathrel{\unicode{x025CB}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\circleleft}{\mathrel{\unicode{x02190}\!\unicode{x025CB}}}} +\CustomizeMathJax{\newcommand{\circledotright}{\mathrel{\unicode{x02299}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\circledotleft}{\mathrel{\unicode{x02190}\!\unicode{x02299}}}} +\CustomizeMathJax{\let\circleddotright\circledotright} +\CustomizeMathJax{\let\circleddotleft\circledotleft} + +\CustomizeMathJax{\newcommand{\multimapbothvert}{% + \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CB}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothvert}{% + \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CF}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothBvert}{% + \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CB}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothAvert}{% + \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CF}}{|}}}% +}} + +\CustomizeMathJax{\newcommand{\dlb}{\mathopen{\unicode{x027E6}}}} +\CustomizeMathJax{\newcommand{\drb}{\mathopen{\unicode{x027E7}}}} + +% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright} +\LWR@mathjax@addgreek@u@up*{}{up} +\LWR@mathjax@addgreek@u@up*{up}{} +\LWR@mathjax@addgreek@l@up{up}{} +\LWR@mathjax@addgreek@l@up{}{up} +\LWR@mathjax@addgreek@u@it*{}{it} +\LWR@mathjax@addgreek@l@it{}{it} + +% only newtxmath, not newpxmath: +\LWR@mathjax@addgreek@u@it*{it}{} +\LWR@mathjax@addgreek@l@it{it}{} + +\CustomizeMathJax{\newcommand{\varg}{g}} +\CustomizeMathJax{\newcommand{\vary}{y}} +\CustomizeMathJax{\newcommand{\varv}{v}} +\CustomizeMathJax{\newcommand{\varw}{w}} + +\CustomizeMathJax{\newcommand{\nexistsAlt}{\mathord{\unicode{x02204}}}} +\CustomizeMathJax{\newcommand{\existsAlt}{\mathord{\unicode{x02203}}}} +\CustomizeMathJax{\newcommand{\forallAlt}{\mathord{\unicode{x02200}}}} +\CustomizeMathJax{\newcommand{\emptysetAlt}{\mathord{\unicode{x02205}}}} + +\CustomizeMathJax{\newcommand{\uppartial}{\mathord{\unicode{x02202}}}} + +\CustomizeMathJax{\let\varmathbb\mathbb} +\CustomizeMathJax{\let\vmathbb\mathbb} +\CustomizeMathJax{\let\vvmathbb\mathbb} + +\CustomizeMathJax{\let\smallprod\prod} +\CustomizeMathJax{\let\smallsum\sum} +\CustomizeMathJax{\let\smallcoprod\coprod} + +\CustomizeMathJax{\newcommand{\openbox}{\mathord{\unicode{x25FD}}}} +\CustomizeMathJax{\let\textsquare\openbox} + +% only newtxmath, not newpxmath: +\ifdef{\iftx@BI}{ + \iftx@BI + \LWR@mathjax@addlatin@u@bfit{BI} + \LWR@mathjax@addlatin@l@bfit{BI} + \fi +}{} + +% for newpxmath: +\CustomizeMathJax{\newcommand{\mathsterling}{\mathord{\unicode{x000A3}}}} +\CustomizeMathJax{\newcommand{\mathcent}{\mathord{\unicode{x000A2}}}} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</common-mathjax-newpxtxmath> +% \fi +% +% +% +% +% +% ^^A *common-mathjax-overlaysymbols +% +% \iffalse +%<*common-mathjax-overlaysymbols> +% \fi +% +% \part{lwarp-common-mathjax-overlaysymbols.sty} +% +% \section{common-mathjax-overlaysymbols} +% +% \DescribePackage{lwarp-common-mathjax-overlaysymbols} +% Common code used by a number of packages to overlay two symbols +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/17}{\pkg{lwarp-common-mathjax-overlaysymbols}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-overlaysymbols}[2020/08/17] +% \end{macrocode} +% +% \noindmacro{\LWRoverlaysymbols} \marg{symbol} \marg{symbol} +% +% Overlays one symbol over another. +% \begin{macrocode} +\begin{warpMathJax} + +\CustomizeMathJax{\newcommand{\LWRoverlaysymbols}[2]{% + \mathord{% + \smash{% + \mathop{#2\strut}% + \limits^{\smash{\lower3ex{#1}}}% + }% + \strut% + }% +}} + +\end{warpMathJax} +% \end{macrocode} +% +% +% \iffalse +%</common-mathjax-overlaysymbols> +% \fi +% +% +% +% % \addtocontents{toc}{\protect\setcounter{tocdepth}{4}} % % diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins index e0d03f6bff..c3e4c7d0e6 100644 --- a/macros/latex/contrib/lwarp/lwarp.ins +++ b/macros/latex/contrib/lwarp/lwarp.ins @@ -40,6 +40,7 @@ version 2005/12/01 or later. \file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}} \file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}} \file{lwarp-academicons.sty}{\from{lwarp.dtx}{academicons}} +\file{lwarp-accents.sty}{\from{lwarp.dtx}{accents}} \file{lwarp-accessibility.sty}{\from{lwarp.dtx}{accessibility}} \file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}} \file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}} @@ -97,6 +98,7 @@ version 2005/12/01 or later. \file{lwarp-cancel.sty}{\from{lwarp.dtx}{cancel}} \file{lwarp-canoniclayout.sty}{\from{lwarp.dtx}{canoniclayout}} \file{lwarp-caption.sty}{\from{lwarp.dtx}{caption}} +\file{lwarp-caption3.sty}{\from{lwarp.dtx}{caption3}} \file{lwarp-cases.sty}{\from{lwarp.dtx}{cases}} \file{lwarp-centernot.sty}{\from{lwarp.dtx}{centernot}} \file{lwarp-changebar.sty}{\from{lwarp.dtx}{changebar}} @@ -230,7 +232,9 @@ version 2005/12/01 or later. \file{lwarp-gridset.sty}{\from{lwarp.dtx}{gridset}} \file{lwarp-hang.sty}{\from{lwarp.dtx}{hang}} \file{lwarp-hanging.sty}{\from{lwarp.dtx}{hanging}} +\file{lwarp-hepunits.sty}{\from{lwarp.dtx}{hepunits}} \file{lwarp-hhline.sty}{\from{lwarp.dtx}{hhline}} +\file{lwarp-hhtensor.sty}{\from{lwarp.dtx}{hhtensor}} \file{lwarp-hypbmsec.sty}{\from{lwarp.dtx}{hypbmsec}} \file{lwarp-hypcap.sty}{\from{lwarp.dtx}{hypcap}} \file{lwarp-hypdestopt.sty}{\from{lwarp.dtx}{hypdestopt}} @@ -280,9 +284,13 @@ version 2005/12/01 or later. \file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}} \file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}} \file{lwarp-marvosym.sty}{\from{lwarp.dtx}{marvosym}} +\file{lwarp-mathalpha.sty}{\from{lwarp.dtx}{mathalpha}} \file{lwarp-mathcomp.sty}{\from{lwarp.dtx}{mathcomp}} +\file{lwarp-mathdesign.sty}{\from{lwarp.dtx}{mathdesign}} \file{lwarp-mathdots.sty}{\from{lwarp.dtx}{mathdots}} \file{lwarp-mathfixs.sty}{\from{lwarp.dtx}{mathfixs}} +\file{lwarp-mathpazo.sty}{\from{lwarp.dtx}{mathpazo}} +\file{lwarp-mathptmx.sty}{\from{lwarp.dtx}{mathptmx}} \file{lwarp-mathtools.sty}{\from{lwarp.dtx}{mathtools}} \file{lwarp-mcaption.sty}{\from{lwarp.dtx}{mcaption}} \file{lwarp-mdframed.sty}{\from{lwarp.dtx}{mdframed}} @@ -297,6 +305,7 @@ version 2005/12/01 or later. \file{lwarp-minibox.sty}{\from{lwarp.dtx}{minibox}} \file{lwarp-minitoc.sty}{\from{lwarp.dtx}{minitoc}} \file{lwarp-mismath.sty}{\from{lwarp.dtx}{mismath}} +\file{lwarp-mleftright.sty}{\from{lwarp.dtx}{mleftright}} \file{lwarp-morefloats.sty}{\from{lwarp.dtx}{morefloats}} \file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}} \file{lwarp-movie15.sty}{\from{lwarp.dtx}{movie15}} @@ -317,6 +326,9 @@ version 2005/12/01 or later. \file{lwarp-nccfoots.sty}{\from{lwarp.dtx}{nccfoots}} \file{lwarp-nccmath.sty}{\from{lwarp.dtx}{nccmath}} \file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}} +\file{lwarp-newpxmath.sty}{\from{lwarp.dtx}{newpxmath}} +\file{lwarp-newtxmath.sty}{\from{lwarp.dtx}{newtxmath}} +\file{lwarp-newtxsf.sty}{\from{lwarp.dtx}{newtxsf}} \file{lwarp-nextpage.sty}{\from{lwarp.dtx}{nextpage}} \file{lwarp-nfssext-cfr.sty}{\from{lwarp.dtx}{nfssext-cfr}} \file{lwarp-nicefrac.sty}{\from{lwarp.dtx}{nicefrac}} @@ -378,6 +390,7 @@ version 2005/12/01 or later. \file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}} \file{lwarp-pxatbegshi.sty}{\from{lwarp.dtx}{pxatbegshi}} \file{lwarp-pxeveryshi.sty}{\from{lwarp.dtx}{pxeveryshi}} +\file{lwarp-pxfonts.sty}{\from{lwarp.dtx}{pxfonts}} \file{lwarp-pxftnright.sty}{\from{lwarp.dtx}{pxftnright}} \file{lwarp-pxjahyper.sty}{\from{lwarp.dtx}{pxjahyper}} \file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}} @@ -417,6 +430,7 @@ version 2005/12/01 or later. \file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}} \file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}} \file{lwarp-showtags.sty}{\from{lwarp.dtx}{showtags}} +\file{lwarp-shuffle.sty}{\from{lwarp.dtx}{shuffle}} \file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}} \file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}} \file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}} @@ -463,6 +477,7 @@ version 2005/12/01 or later. \file{lwarp-thm-listof.sty}{\from{lwarp.dtx}{thm-listof}} \file{lwarp-thm-restate.sty}{\from{lwarp.dtx}{thm-restate}} \file{lwarp-thmbox.sty}{\from{lwarp.dtx}{thmbox}} +\file{lwarp-thmtools.sty}{\from{lwarp.dtx}{thmtools}} \file{lwarp-threadcol.sty}{\from{lwarp.dtx}{threadcol}} \file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}} \file{lwarp-threeparttablex.sty}{\from{lwarp.dtx}{threeparttablex}} @@ -490,6 +505,7 @@ version 2005/12/01 or later. \file{lwarp-truncate.sty}{\from{lwarp.dtx}{truncate}} \file{lwarp-turnthepage.sty}{\from{lwarp.dtx}{turnthepage}} \file{lwarp-twoup.sty}{\from{lwarp.dtx}{twoup}} +\file{lwarp-txfonts.sty}{\from{lwarp.dtx}{txfonts}} \file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}} \file{lwarp-typicons.sty}{\from{lwarp.dtx}{typicons}} \file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}} @@ -498,8 +514,10 @@ version 2005/12/01 or later. \file{lwarp-unicode-math.sty}{\from{lwarp.dtx}{unicode-math}} \file{lwarp-units.sty}{\from{lwarp.dtx}{units}} \file{lwarp-unitsdef.sty}{\from{lwarp.dtx}{unitsdef}} +\file{lwarp-upgreek.sty}{\from{lwarp.dtx}{upgreek}} \file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}} \file{lwarp-url.sty}{\from{lwarp.dtx}{url}} +\file{lwarp-ushort.sty}{\from{lwarp.dtx}{ushort}} \file{lwarp-uspace.sty}{\from{lwarp.dtx}{uspace}} \file{lwarp-varioref.sty}{\from{lwarp.dtx}{varioref}} \file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}} @@ -538,6 +556,9 @@ version 2005/12/01 or later. \file{lwarp-patch-komascript.sty}{\from{lwarp.dtx}{patch-komascript}} \file{lwarp-patch-memoir.sty}{\from{lwarp.dtx}{patch-memoir}} \file{lwarp-common-multimedia.sty}{\from{lwarp.dtx}{common-multimedia}} +\file{lwarp-common-mathjax-letters.sty}{\from{lwarp.dtx}{common-mathjax-letters}} +\file{lwarp-common-mathjax-newpxtxmath.sty}{\from{lwarp.dtx}{common-mathjax-newpxtxmath}} +\file{lwarp-common-mathjax-overlaysymbols.sty}{\from{lwarp.dtx}{common-mathjax-overlaysymbols}} } \Msg{*********************************************************} \Msg{*} diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf Binary files differindex b935c1803e..dd84ba9fdc 100644 --- a/macros/latex/contrib/lwarp/lwarp.pdf +++ b/macros/latex/contrib/lwarp/lwarp.pdf diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua index fe4396c13f..18c1b40443 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.88" +printversion = "v0.89" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -32,7 +32,7 @@ lwarpmk pdftohtml [-p project]: lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t, - *.idx, *.ind, *.log, *_html_inc.*, .gl*, + *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*, *_html.pdf, *_html.html, *_html.sidetoc lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -386,6 +386,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. sourcename ..".lof " .. sourcename .. "_html.lof " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. + sourcename ..".bbl " .. sourcename .. "_html.bbl " .. " *.idx " .. " *.ind " .. sourcename ..".ps " .. sourcename .."_html.ps " .. diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf Binary files differindex bddd1a53c0..1b03c3ddec 100644 --- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf +++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex index 7ea4ab69f8..ede56a3b74 100644 --- a/macros/latex/contrib/nicematrix/nicematrix-french.tex +++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex @@ -123,7 +123,7 @@ classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller). \bigskip Cette extension nécessite et charge les extensions \pkg{l3keys2e}, \pkg{xparse}, \pkg{array}, \pkg{amsmath} et \pkg{pgfcore} ainsi que le module \pkg{shapes} de \textsc{pgf} (l'extension \pkg{tikz}, qui est une surcouche de -\textsc{pgf} n'est \emph{pas} chargée). L'utilisateur final n'a qu'à charger l'extension \pkg{nicematrix} avec +\textsc{pgf}, n'est \emph{pas} chargée). L'utilisateur final n'a qu'à charger l'extension \pkg{nicematrix} avec l'instruction habituelle : |\usepackage{nicematrix}|. @@ -368,7 +368,7 @@ u_n & 1 & 2 & 4 & 8 & 16 & 32 \\ \bigskip -\colorbox{yellow!50}{\textbf{Nouveau 5.2}}\enskip On peut aussi utiliser la clé +\colorbox{yellow!30}{\textbf{Nouveau 5.2}}\enskip On peut aussi utiliser la clé |baseline| pour aligner une matrice sur un filet horizontal (tracé par |\hline|). On doit pour cela donner la valeur |line-|\textsl{i} où \textsl{i} est le numéro de la rangée qui suit ce filet horizontal. @@ -476,6 +476,9 @@ Rang & 1A & 1B & 1C & 2A & 2B & 2C \\ \end{NiceTabular} \end{center} +\interitem +\colorbox{yellow!50}{\textbf{Nouveau 5.3}}\enskip La commande |\Block| accepte +les options |l|, |c| et |r| pour le placement horizontal. \interitem On peut aussi utiliser la commande |\Block| dans des matrices mathématiques. @@ -561,7 +564,7 @@ Marie & Pauline \\ \hline \bigskip -\colorbox{yellow!50}{\textbf{Nouveau 5.2}}\enskip En revanche, les filets +\colorbox{yellow!30}{\textbf{Nouveau 5.2}}\enskip En revanche, les filets verticaux ne sont pas tracés à l'intérieur des blocs. @@ -807,7 +810,7 @@ Comme on le voit, un «coin vide» est constitué de la réunion de tous les rectangles vides partant de la case située exactement dans le coin. \bigskip -\colorbox{yellow!50}{\textbf{Nouveau 5.2}}\enskip On peut passer en argument de +\colorbox{yellow!30}{\textbf{Nouveau 5.2}}\enskip On peut passer en argument de |\hvlines-except-corners| une liste de coins à prendre en considération. Les coins étant désignés par |NW|, |SW|, |NE| et |SE| (\emph{north west}, \emph{south west}, \emph{north east} et \emph{south east}). @@ -1132,8 +1135,8 @@ Estelle & 15 \end{scope} \bigskip -\colorbox{yellow!50}{\textbf{Nouveau 5.2}}\enskip Il existe une option |respect-blocks| -pour la commande |\rowcolor|. Avec cette option, les ``rangées'' colorées +\colorbox{yellow!30}{\textbf{Nouveau 5.2}}\enskip Il existe une option |respect-blocks| +pour la commande |\rowcolors|. Avec cette option, les ``rangées'' colorées alternativement peuvent s'étendre sur plusieurs rangées réelles du tableau pour englober les blocs. @@ -1141,30 +1144,32 @@ englober les blocs. \begin{scope} \hfuzz=10cm \begin{BVerbatim}[baseline=c,boxwidth=9cm] -\begin{NiceTabular}{cr}[hvlines,code-before = +\begin{NiceTabular}{lr}[hvlines,code-before = ~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@] -\Block{2-1}{Pierre} & 12 \\ - & 13 \\ +\Block[l]{2-1}{Pierre} & 12 \\ + & 13 \\ Jacques & 8 \\ -\Block{3-1}{Stéphanie} & 18 \\ - & 17 \\ - & 15 \\ +\hphantom{Stéphanie} +\Block[l]{3-1}{Stéphanie} & 18 \\ + & 17 \\ + & 15 \\ Amélie & 20 \\ Henri & 14 \\ -\Block{2-1}{Estelle} & 15 \\ - & 19 +\Block[l]{2-1}{Estelle} & 15 \\ + & 19 \end{NiceTabular} \end{BVerbatim} -\begin{NiceTabular}{cr}[hvlines,code-before = \rowcolors{1}{blue!10}{}[respect-blocks],baseline=c] -\Block{2-1}{Pierre} & 12 \\ +\begin{NiceTabular}{lr}[hvlines,code-before = \rowcolors{1}{blue!10}{}[respect-blocks],baseline=c] +\Block[l]{2-1}{Pierre} & 12 \\ & 13 \\ Jacques & 8 \\ -\Block{3-1}{Stéphanie} & 18 \\ +\hphantom{Stéphanie} +\Block[l]{3-1}{Stéphanie} & 18 \\ & 17 \\ & 15 \\ Amélie & 20 \\ Henri & 14 \\ -\Block{2-1}{Estelle} & 15 \\ +\Block[l]{2-1}{Estelle} & 15 \\ & 19 \end{NiceTabular} \end{scope} @@ -1210,7 +1215,7 @@ On remarquera que ces commandes sont compatibles avec les commandes de \begin{NiceTabular}{lSSSS}% [code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}] ~emphase#\toprule@ -\Block{2-1}{Produit} \\ +\Block{2-1}{Produit} & \Block{1-3}{dimensions (cm)} & & & \Block{2-1}{\rotate Prix} \\ ~emphase#\cmidrule(rl){2-4}@ @@ -1259,14 +1264,15 @@ On a alors accès aux trois commandes suivantes : \item |\rowcolor| à utiliser dans une case et qui colorie le reste de la rangée ; \item |\columncolor| à utiliser dans le préambule de la même manière que la -commande éponyme de \pkg{colortbl}\footnote{Contrairement à la commande +commande éponyme de \pkg{colortbl} (néanmoins, contrairement à la commande |\columncolor| de \pkg{colortbl}, celle-ci peut apparaître à l'intérieur d'une -autre commande, elle-même utilisée dans le préambule.}. +autre commande, elle-même utilisée dans le préambule). \end{itemize} \medskip \begin{Verbatim} -\begin{NiceTabular}[colortbl-like]{*{2}{>{~emphase#\columncolor{blue!15}@}c}c} +\NewDocumentCommand { \Blue } { } { ~emphase#\columncolor{blue!15}@ } +\begin{NiceTabular}[colortbl-like]{>{\Blue}c>{\Blue}cc} \toprule ~emphase#\rowcolor{red!15}@ Nom & Prénom & Année de naissance \\ @@ -1281,7 +1287,8 @@ Dupont & Chantal & 15 janvier 1998 \\ \begin{center} -\begin{NiceTabular}[colortbl-like]{*{2}{>{\columncolor{blue!15}}c}c} +\NewDocumentCommand { \Blue } { } { \columncolor{blue!15} } +\begin{NiceTabular}[colortbl-like]{>{\Blue}c>{\Blue}cc} \toprule \rowcolor{red!15} Nom & Prénom & Année de naissance \\ @@ -1301,8 +1308,8 @@ Chacune de ces instructions |\cellcolor|, |\rowcolor| ou |\columncolor| (utilisée hors du |code-before|) produit une instruction |fill| (codée |f|) dans le \textsc{pdf} final. En cas de juxtaposition de rectangles de même couleur, une fine ligne blanche peut donc apparaître dans certains lecteurs de -\textsc{pdf}\footnote{Par exemple SumatraPDF v3.1.2, qui utilise MuPDF de Artifex - Software, dont le moteur de rendu \textsc{pdf} est appelé Fitz.} (entre les +\textsc{pdf}\footnote{Par exemple SumatraPDF, qui utilise MuPDF de Artifex + Software, ou PDF.js utilisé par Firefox.} (entre les deux premières colonnes dans l'exemple ci-dessus). Pour éviter cela, il convient d'utiliser les outils proposés dans le |code-before|. C'est ce que l'on fait dans le codage qui suit. @@ -1923,14 +1930,15 @@ C[a_n^{(p)},a_1] & \Cdots & C[a_n^{(p)},a_n] & & C[a_n^{(p)},a_1^{(p)}] & \Cdots \subsection{Comment créer les lignes en pointillés de manière transparente} -L'extension \pkg{nicematrix} fournit une option appelée |transparent| qui permet -d'utiliser du code existant de manière transparente dans les environnements de -l'\pkg{amsmath} : |{matrix}|, |{pmatrix}|, etc. En fait, cette option est un -alias pour la conjonction de deux options : |renew-dots| et +Si on a un document déjà tapé qui contient un grand nombre de matrices avec des +points de suspension, on peut souhaiter utiliser les lignes pointillées de +\pkg{nicematrix} sans avoir à modifier chaque matrice. Pour cela, +\pkg{nicematrix} propose deux options |renew-dots| et |renew-matrix|.\footnote{Comme toutes les autres options, les options - |renew-dots|, |renew-matrix| et |transparent| peuvent être fixées avec la - commande |\NiceMatrixOptions|, mais elles peuvent aussi être passées en option - du |\usepackage| (ce sont les trois seules).} + |renew-dots|, |renew-matrix| peuvent être fixées avec la commande + |\NiceMatrixOptions|, mais elles peuvent aussi être passées en option du + |\usepackage|. Remarquons que la clé |transparent| est un alias, considéré + comme obsolète, pour la conjonction des clés |renew-dots| et |renew-matrix|.} \smallskip @@ -1951,14 +1959,14 @@ Avec cette option, l'environnement |{matrix}| est redéfini et se comporte comme \end{itemize} \bigskip -Par conséquent, avec l'option |transparent|, un code classique donne directement +Par conséquent, avec les options |renew-dots| et |renew-matrix|, un code classique donne directement le résultat fourni par \pkg{nicematrix}.\par\nobreak \bigskip \begin{scope} -\NiceMatrixOptions{transparent} +\NiceMatrixOptions{renew-dots,renew-matrix} \begin{BVerbatim}[baseline=c,boxwidth=10cm] -~emphase#\NiceMatrixOptions{transparent}@ +~emphase#\NiceMatrixOptions{renew-dots,renew-matrix}@ \begin{pmatrix} 1 & \cdots & \cdots & 1 \\ 0 & \ddots & & \vdots \\ @@ -2404,7 +2412,7 @@ séparés par des virgules quand on utilise plusieurs commandes |\tabularnote| successivement. Le marqueur |#1| est censé correspondre à un nom de compteur LaTeX. -Valeur initiale : |\emph{\alph{#1}}| +Valeur initiale : |\textit{\alph{#1}}| Une autre valeur possible pourrait être tout simplement |\arabic{#1}| @@ -2490,12 +2498,13 @@ Pour un exemple de personnalisation des notes de tableau, voir p.~\pageref{ex:no \subsection{Utilisation de \{NiceTabular\} avec threeparttable} -Si vous souhaitez utiliser l'environnement |{NiceTabular}| dans un environnement -|{threeparttable}| de l'extension éponyme, vous devez patcher l'environnement -|{threeparttable}| avec le code suivant. +Si vous souhaitez utiliser l'environnement |{NiceTabular}| ou |{NiceTAbular*}| +dans un environnement |{threeparttable}| de l'extension éponyme, vous devez +patcher |{threeparttable}| avec le code suivant. \begin{Verbatim}[commandchars=\~\#\!] \makeatletter -\AtBeginEnvironment{threeparttable}{\TPT@hookin{NiceTabular}} +\AtBeginEnvironment{threeparttable} + {\TPT@hookin{NiceTabular}\TPT@hookin{NiceTabular*}} \makeatother \end{Verbatim} @@ -3204,7 +3213,7 @@ L'extension \pkg{nicematrix} fournit deux variables internes mais publiques\foot publique alors que toute variable dont le nom débute par |\g__nicematrix| ou par |\l__nicematrix| est privée.} : \begin{itemize} -\item \colorbox{yellow!50}{\textbf{Nouveau 5.2}}\enskip |\g_nicematrix_code_before_tl| ; +\item \colorbox{yellow!30}{\textbf{Nouveau 5.2}}\enskip |\g_nicematrix_code_before_tl| ; \item |\g_nicematrix_code_after_tl|. \end{itemize} @@ -3421,10 +3430,14 @@ a+b & \Ddots & & \Vdots \\ a+b & \Cdots & a+b & 1 \end{pNiceMatrix}$ - - \end{scope} +\bigskip +\colorbox{yellow!50}{\textbf{Nouveau 5.3}}\enskip On peut choisir l'instruction + |\Ddots| qui sera tracée en premier (et qui servira pour tracer les suivantes + quand la parallélisation est activée) avec la clé |draw-first| : + |\Ddots[draw-first]|. + \subsection{Les cases «vides»} \label{empty-cells} @@ -4268,12 +4281,24 @@ L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\ \draw [color = gray] (A-3-3) to [bend left] (B-3-3) ; \end{tikzpicture} + +\newpage + \section*{Autre documentation} Le document |nicematrix.pdf| (fourni avec l'extension \pkg{nicematrix}) contient une traduction anglaise de la documentation ici présente, ainsi que le code source commenté et un historique des versions. +\bigskip +Les versions successives du fichier |nicematrix.sty| fournies par +TeXLive sont disponibles sur le serveur \textsc{svn} de TeXLive : + +{ +\small +\url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty} +} + \end{document} % Local Variables: diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx index 10e84b7b07..03a6705cd3 100644 --- a/macros/latex/contrib/nicematrix/nicematrix.dtx +++ b/macros/latex/contrib/nicematrix/nicematrix.dtx @@ -15,8 +15,8 @@ % % \fi % \iffalse -\def\myfileversion{5.2} -\def\myfiledate{2020/08/19} +\def\myfileversion{5.3} +\def\myfiledate{2020/09/03} % % %<*batchfile> @@ -409,7 +409,7 @@ version 2005/12/01 or later. % \end{minipage} % % \bigskip -% \colorbox{yellow!50}{\textbf{New 5.2}}\enskip It's also possible to use the +% \colorbox{yellow!30}{\textbf{New 5.2}}\enskip It's also possible to use the % key |baseline| to align a matrix on an horizontal rule (drawn by |\hline|). In % this aim, one should give the value |line-|\textsl{i} where \textsl{i} is the % number of the row following the horizontal rule. @@ -518,6 +518,11 @@ version 2005/12/01 or later. % \end{center} % % +% \interitem +% \colorbox{yellow!50}{\textbf{New 5.3}}\enskip +% +% It's possible to use with the command |\Block| the options |l|, |r| and |c| +% for the horizontal positionning. % % % \interitem @@ -603,7 +608,7 @@ version 2005/12/01 or later. % % % \bigskip -% \colorbox{yellow!50}{\textbf{New 5.2}}\enskip However, the vertical rules are +% \colorbox{yellow!30}{\textbf{New 5.2}}\enskip However, the vertical rules are % not drawn in the blocks. % % \bigskip @@ -837,7 +842,7 @@ version 2005/12/01 or later. % rectangles starting from the cell actually in the corner of the array. % % \bigskip -% \colorbox{yellow!50}{\textbf{New 5.2}}\enskip It's possible to give as value to the +% \colorbox{yellow!30}{\textbf{New 5.2}}\enskip It's possible to give as value to the % key |\hvlines-except-corners| a list of the corners to take into % consideration. The corners are designed by |NW|, |SW|, |NE| and |SE| % (\emph{north west}, \emph{south west}, \emph{north east} and \emph{south @@ -1155,38 +1160,38 @@ version 2005/12/01 or later. % \end{scope} % % \bigskip -% \colorbox{yellow!50}{\textbf{New 5.2}}\enskip There is a key |respect-blocks| -% for the instruction |\rowcolor|. With that key, the ``rows'' alternately +% \colorbox{yellow!30}{\textbf{New 5.2}}\enskip There is a key |respect-blocks| +% for the instruction |\rowcolors|. With that key, the ``rows'' alternately % colored may extend over several row if they have to incorporate blocks. % % \medskip % \begin{scope} % \hfuzz=10cm % \begin{BVerbatim}[baseline=c,boxwidth=9cm] -% \begin{NiceTabular}{cr}[hvlines,code-before = +% \begin{NiceTabular}{lr}[hvlines,code-before = % ~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@] -% \Block{2-1}{John} & 12 \\ +% \Block[l]{2-1}{John} & 12 \\ % & 13 \\ % Stephen & 8 \\ -% \Block{3-1}{Sarah} & 18 \\ +% \Block[l]{3-1}{Sarah} & 18 \\ % & 17 \\ % & 15 \\ % Ashley & 20 \\ % Henry & 14 \\ -% \Block{2-1}{Madison} & 15 \\ +% \Block[l]{2-1}{Madison} & 15 \\ % & 19 % \end{NiceTabular} % \end{BVerbatim} -% \begin{NiceTabular}{cr}[hvlines,code-before = \rowcolors{1}{blue!10}{}[respect-blocks],baseline=c] -% \Block{2-1}{John} & 12 \\ +% \begin{NiceTabular}{lr}[hvlines,code-before = \rowcolors{1}{blue!10}{}[respect-blocks],baseline=c] +% \Block[l]{2-1}{John} & 12 \\ % & 13 \\ % Stephen & 8 \\ -% \Block{3-1}{Sarah} & 18 \\ +% \Block[l]{3-1}{Sarah} & 18 \\ % & 17 \\ % & 15 \\ % Ashley & 20 \\ % Henry & 14 \\ -% \Block{2-1}{Madison} & 15 \\ +% \Block[l]{2-1}{Madison} & 15 \\ % & 19 % \end{NiceTabular} % \end{scope} @@ -1230,7 +1235,7 @@ version 2005/12/01 or later. % \begin{NiceTabular}[c]{lSSSS}% % [code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}] % ~emphase#\toprule@ -% \Block{2-1}{Product} \\ +% \Block{2-1}{Product} & % \Block{1-3}{dimensions (cm)} & & & % \Block{2-1}{\rotate Price} \\ % ~emphase#\cmidrule(rl){2-4}@ @@ -1280,14 +1285,15 @@ version 2005/12/01 or later. % the row; % \item |\columncolor| which must be used in the preamble of the environment % with the same syntax as the corresponding command of -% \pkg{colortbl}\footnote{Unlike the command |\columncolor| of \pkg{colortbl}, +% \pkg{colortbl} (however, unlike the command |\columncolor| of \pkg{colortbl}, % this command |\columncolor| can appear within another command, itself used in the -% preamble.}. +% preamble). % \end{itemize} % % \medskip % \begin{Verbatim} -% \begin{NiceTabular}[colortbl-like]{*{2}{>{~emphase#\columncolor{blue!15}@}c}c} +% \NewDocumentCommand { \Blue } { } { ~emphase#\columncolor{blue!15}@ } +% \begin{NiceTabular}[colortbl-like]{>{\Blue}c>{\Blue}cc} % \toprule % ~emphase#\rowcolor{red!15}@ % Last name & First name & Birth day \\ @@ -1302,7 +1308,8 @@ version 2005/12/01 or later. % % % \begin{center} -% \begin{NiceTabular}[colortbl-like]{*{2}{>{\columncolor{blue!15}}c}c} +% \NewDocumentCommand { \Blue } { } { \columncolor{blue!15} } +% \begin{NiceTabular}[colortbl-like]{>{\Blue}c>{\Blue}cc} % \toprule % \rowcolor{red!15} % Last name & First name & Birth day \\ @@ -1319,8 +1326,8 @@ version 2005/12/01 or later. % Each instruction |\cellcolor|, |\rowcolor| or |\columncolor| will generate an % instruction |fill| (coded~|f|) in the resulting \textsc{pdf}. In cases of % juxtaposed colored rectangles, one may have a thin white color line in some -% \textsc{pdf} viewers\footnote{For example SumatraPDF v3.1.2, which uses MuPDF -% of Artifex Software, whose \textsc{pdf} renderer is called Fitz.} (between the +% \textsc{pdf} viewers\footnote{For example SumatraPDF, which uses MuPDF +% of Artifex Software, or PDF.js used by Firefox.} (between the % two first columns in the above example). In you want to avoid this problem, % you should use the tools in the |code-before|. That's what we do with the % following code. @@ -1931,15 +1938,15 @@ version 2005/12/01 or later. % % \subsection{How to generate the continuous dotted lines transparently} % -% The package \pkg{nicematrix} provides an option called |transparent| for using -% existing code transparently in the environments of the \pkg{amsmath} : -% |{matrix}|, |{pmatrix}|, |{bmatrix}|, etc. In fact, this -% option is an alias for the conjonction of two options: +% Imagine you have a document with a great number of mathematical matrices with +% ellipsis. You may wish to use the dotted lines of \pkg{nicematrix} without +% having to modify the code of each matrix. It's possible with the keys. % |renew-dots| and |renew-matrix|.\footnote{The options |renew-dots|, -% |renew-matrix| and |transparent| can be fixed with the command +% |renew-matrix| can be fixed with the command % |\NiceMatrixOptions| like the other options. However, they can also be fixed -% as options of the command |\usepackage| (it's an exception for these three -% specific options.)} +% as options of the command |\usepackage|. There is also a key |transparent| +% which is an alias for the conjonction of |renew-dots| and |renew-matrix| but it +% must be considered as obsolete.} % % \smallskip % @@ -1959,14 +1966,14 @@ version 2005/12/01 or later. % \end{itemize} % % \bigskip -% Therefore, with the option |transparent|, a classical code gives directly the -% ouput of \pkg{nicematrix}.\par\nobreak +% Therefore, with the keys |renew-dots| and |renew-matrix|, a classical code +% gives directly the ouput of \pkg{nicematrix}.\par\nobreak % % \bigskip % \begin{scope} -% \NiceMatrixOptions{transparent} +% \NiceMatrixOptions{renew-dots,renew-matrix} % \begin{BVerbatim}[baseline=c,boxwidth=10cm] -% ~emphase#\NiceMatrixOptions{transparent}@ +% ~emphase#\NiceMatrixOptions{renew-dots,renew-matrix}@ % \begin{pmatrix} % 1 & \cdots & \cdots & 1 \\ % 0 & \ddots & & \vdots \\ @@ -2481,12 +2488,13 @@ version 2005/12/01 or later. % \subsection{Use of \{NiceTabular\} with threeparttable} % % -% If you wish to use the environment |{NiceTabular}| in an environment -% |{threeparttable}| of the eponymous package, you have to patch the environment -% |{threeparttable}| with the following code: +% If you wish to use the environment |{NiceTabular}| or |{NiceTabular*}| in an +% environment |{threeparttable}| of the eponymous package, you have to patch the +% environment |{threeparttable}| with the following code: % \begin{Verbatim}[commandchars=\~\#\!] % \makeatletter -% \AtBeginEnvironment{threeparttable}{\TPT@hookin{NiceTabular}} +% \AtBeginEnvironment{threeparttable} +% {\TPT@hookin{NiceTabular}\TPT@hookin{NiceTabular*}} % \makeatother % \end{Verbatim} % @@ -3188,7 +3196,7 @@ version 2005/12/01 or later. % public and each variable with name beginning with |\g__nicematrix| or % |\l__nicematrix| is private.}: % \begin{itemize} -% \item \colorbox{yellow!50}{\textbf{New 5.2}}\enskip |\g_nicematrix_code_before_tl| ; +% \item \colorbox{yellow!30}{\textbf{New 5.2}}\enskip |\g_nicematrix_code_before_tl| ; % \item |\g_nicematrix_code_after_tl|. % \end{itemize} % @@ -3400,9 +3408,13 @@ version 2005/12/01 or later. % a+b & \Cdots & a+b & 1 % \end{pNiceMatrix}$ % -% % \end{scope} % +% \colorbox{yellow!50}{\textbf{New 5.3}}\enskip It's possible to specify the +% instruction |\Ddots| which will be drawn first (and which will be used to draw +% the other diagonal dotted line when the parallelization is in force) with the +% key |draw-first|: |\Ddots[draw-first]|. +% % \subsection{The ``empty'' cells} % % \label{empty-cells} @@ -5017,8 +5029,8 @@ version 2005/12/01 or later. % \end{macrocode} % % \bigskip -% Some cells will be declared as ``empty'' (for example a cell with the -% instrution |\Cdot|). +% Some cells will be declared as ``empty'' (for example a cell with an +% instrution |\Cdots|). % \begin{macrocode} \bool_new:N \g_@@_empty_cell_bool % \end{macrocode} @@ -5087,6 +5099,19 @@ version 2005/12/01 or later. % \begin{macrocode} \tl_new:N \l_@@_color_tl % \end{macrocode} +% +% \medskip +% The parameter of position of the label of a block (|c|, |r| or |l|). +% \begin{macrocode} +\tl_new:N \l_@@_pos_of_block_tl +\tl_set:Nn \l_@@_pos_of_block_tl { c } +% \end{macrocode} +% +% \medskip +% Used when the key |draw-first| is used for |\Ddots| or |\Iddots|. +% \begin{macrocode} +\bool_new:N \l_@@_draw_first_bool +% \end{macrocode} % % \bigskip % \textbf{Variables for the exterior rows and columns}\par\nobreak @@ -5673,14 +5698,16 @@ version 2005/12/01 or later. % \begin{macrocode} down .tl_set:N = \l_@@_xdots_down_tl , up .tl_set:N = \l_@@_xdots_up_tl , +% \end{macrocode} +% The key |draw-first|, which is meant to be used only with |\Ddots| and +% |\Iddots|, which be catched when |\Ddots| or |\Iddots| is used (during the +% construction of the array and not when we draw the dotted lines). +% \begin{macrocode} + draw-first .code:n = \prg_do_nothing: , unknown .code:n = \@@_error:n { Unknown~option~for~xdots } } % \end{macrocode} % -% \bigskip -% The following keys are for the tabular notes (specified by the command -% |\tabularnote| inside |{NiceTabular}| and |{NiceArray}|). -% % % \bigskip % \begin{macrocode} @@ -5941,6 +5968,9 @@ version 2005/12/01 or later. % \begin{macrocode} renew-matrix .code:n = \@@_renew_matrix: , renew-matrix .value_forbidden:n = true , +% \end{macrocode} +% The key |transparent| is now considered as obsolete (because its name is ambiguous). +% \begin{macrocode} transparent .meta:n = { renew-dots , renew-matrix } , transparent .value_forbidden:n = true, % \end{macrocode} @@ -6303,9 +6333,9 @@ version 2005/12/01 or later. % \end{macrocode} % % \interitem -% The first argument of the following command |\@@_instruction_of_type:nn| +% The second argument of the following command |\@@_instruction_of_type:nnn| % defined below is the type of the instruction (|Cdots|, |Vdots|, |Ddots|, -% etc.). The second argument is the list of options. This command writes in the +% etc.). The third argument is the list of options. This command writes in the % corresponding |\g_@@_|\textsl{type}|_lines_tl| the instruction which will % actually draw the line after the construction of the matrix. % @@ -6339,21 +6369,23 @@ version 2005/12/01 or later. % % % \bigskip +% The first argument is a boolean which indicates whether you must put the +% instruction on the left or on the right on the list of instructions. % \begin{macrocode} -\cs_new_protected:Npn \@@_instruction_of_type:nn #1 #2 +\cs_new_protected:Npn \@@_instruction_of_type:nnn #1 #2 #3 { % \end{macrocode} % It's important to use a |\tl_gput_right:cx| and not a |\tl_gput_left:cx| % because we want the |\Ddots| lines to be drawn in the order of appearance % in the array (for parallelisation). % \begin{macrocode} - \tl_gput_right:cx - { g_@@_ #1 _ lines _ tl } + \bool_if:nTF { #1 } \tl_gput_left:cx \tl_gput_right:cx + { g_@@_ #2 _ lines _ tl } { - \use:c { @@ _ draw _ #1 : nnn } + \use:c { @@ _ draw _ #2 : nnn } { \int_use:N \c@iRow } { \int_use:N \c@jCol } - { \exp_not:n { #2 } } + { \exp_not:n { #3 } } } } % \end{macrocode} @@ -6371,7 +6403,7 @@ version 2005/12/01 or later. \cs_set_eq:NN \@acoll \@arrayacol \cs_set_eq:NN \@acolr \@arrayacol \cs_set_eq:NN \@acol \@arrayacol - \cs_set:Npn \@halignto { } + \cs_set_nopar:Npn \@halignto { } \@array@array } % \end{macrocode} @@ -6386,8 +6418,8 @@ version 2005/12/01 or later. { \dim_set_eq:NN \col@sep \tabcolsep } { \dim_set_eq:NN \col@sep \arraycolsep } \dim_compare:nNnTF \l_@@_tabular_width_dim = \c_zero_dim - { \cs_set:Npn \@halignto { } } - { \cs_set:Npx \@halignto { to \dim_use:N \l_@@_tabular_width_dim } } + { \cs_set_nopar:Npn \@halignto { } } + { \cs_set_nopar:Npx \@halignto { to \dim_use:N \l_@@_tabular_width_dim } } % \end{macrocode} % It \pkg{colortbl} is loaded, |\@tabarray| has been redefined to incorporate % |\CT@start|. @@ -6568,7 +6600,7 @@ version 2005/12/01 or later. { % \end{macrocode} % \begin{macrocode} - \cs_set:Npn \arraystretch { 0.47 } + \cs_set_nopar:Npn \arraystretch { 0.47 } \dim_set:Nn \arraycolsep { 1.45 pt } } % \end{macrocode} @@ -6580,7 +6612,7 @@ version 2005/12/01 or later. % |\everycr| to |{ }| and we \emph{need} to have to change the value of % |\everycr|. % \begin{macrocode} - \cs_set:Npn \ialign + \cs_set_nopar:Npn \ialign { \bool_if:NTF \c_@@_colortbl_loaded_bool { @@ -6744,6 +6776,8 @@ version 2005/12/01 or later. \bgroup \tl_set:Nn \l_@@_left_delim_tl { #1 } \tl_set:Nn \l_@@_right_delim_tl { #2 } + \dim_zero:N \g_@@_width_last_col_dim + \dim_zero:N \g_@@_width_first_col_dim \bool_gset_false:N \g_@@_row_of_col_done_bool \str_if_empty:NT \g_@@_name_env_str { \str_gset:Nn \g_@@_name_env_str { NiceArrayWithDelims } } @@ -8221,6 +8255,7 @@ version 2005/12/01 or later. \skip_horizontal:N \l_@@_left_margin_dim \skip_horizontal:N \l_@@_extra_left_margin_dim } + \bool_gset_false:N \g_@@_empty_cell_bool \skip_horizontal:N -2\col@sep } } @@ -8290,6 +8325,7 @@ version 2005/12/01 or later. \@@_node_for_the_cell: } } + \bool_gset_false:N \g_@@_empty_cell_bool } } % \end{macrocode} @@ -8612,16 +8648,16 @@ version 2005/12/01 or later. % etc.) and no corners. In that case, we switch to a shortcut version of % |\@@_vline_i:nn| and |\@@_hline:nn|. % \begin{macrocode} - % \bool_lazy_all:nT - % { - % { \seq_if_empty_p:N \g_@@_pos_of_blocks_seq } - % { \seq_if_empty_p:N \g_@@_pos_of_xdots_seq } - % { \seq_if_empty_p:N \l_@@_empty_corner_cells_seq } - % } - % { - % \cs_set_eq:NN \@@_vline_i:nn \@@_vline_i_complete:nn - % \cs_set_eq:NN \@@_hline_i:nn \@@_hline_i_complete:nn - % } + \bool_lazy_all:nT + { + { \seq_if_empty_p:N \g_@@_pos_of_blocks_seq } + { \seq_if_empty_p:N \g_@@_pos_of_xdots_seq } + { \seq_if_empty_p:N \l_@@_empty_corner_cells_seq } + } + { + \cs_set_eq:NN \@@_vline_i:nn \@@_vline_i_complete:nn + \cs_set_eq:NN \@@_hline_i:nn \@@_hline_i_complete:nn + } \bool_if:NT \l_@@_hlines_bool \@@_draw_hlines: \bool_if:NT \l_@@_vlines_bool \@@_draw_vlines: \g_@@_internal_code_after_tl @@ -9201,7 +9237,6 @@ version 2005/12/01 or later. % \begin{macrocode} \cs_new_protected:Npn \@@_draw_Vdots:nnn #1 #2 #3 { - \tl_if_empty:VF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } } \cs_if_free:cT { @@ _ dotted _ #1 - #2 } { \@@_find_extremities_of_line:nnnn { #1 } { #2 } 1 0 @@ -9218,6 +9253,8 @@ version 2005/12/01 or later. { \color { nicematrix-last-col } } } \keys_set:nn { NiceMatrix / xdots } { #3 } + \tl_if_empty:VF \l_@@_xdots_color_tl + { \color { \l_@@_xdots_color_tl } } \@@_actually_draw_Vdots: \group_end: } @@ -9796,7 +9833,7 @@ version 2005/12/01 or later. \int_compare:nNnTF \c@jCol = \l_@@_last_col_int { \@@_error:nn { in~last~col } \Ldots } { - \@@_instruction_of_type:nn { Ldots } + \@@_instruction_of_type:nnn \c_false_bool { Ldots } { #1 , down = #2 , up = #3 } } } @@ -9815,7 +9852,7 @@ version 2005/12/01 or later. \int_compare:nNnTF \c@jCol = \l_@@_last_col_int { \@@_error:nn { in~last~col } \Cdots } { - \@@_instruction_of_type:nn { Cdots } + \@@_instruction_of_type:nnn \c_false_bool { Cdots } { #1 , down = #2 , up = #3 } } } @@ -9834,7 +9871,7 @@ version 2005/12/01 or later. \int_compare:nNnTF \c@iRow = \l_@@_last_row_int { \@@_error:nn { in~last~row } \Vdots } { - \@@_instruction_of_type:nn { Vdots } + \@@_instruction_of_type:nnn \c_false_bool { Vdots } { #1 , down = #2 , up = #3 } } } @@ -9843,6 +9880,7 @@ version 2005/12/01 or later. } % \end{macrocode} % +% % \bigskip % \begin{macrocode} \exp_args:NNV \NewDocumentCommand \@@_Ddots \l_@@_argspec_tl @@ -9859,7 +9897,8 @@ version 2005/12/01 or later. \l_@@_last_col_int { \@@_error:nn { in~last~col } \Ddots } } { - \@@_instruction_of_type:nn { Ddots } + \keys_set_known:nn { NiceMatrix / Ddots } { #1 } + \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Ddots } { #1 , down = #2 , up = #3 } } @@ -9885,7 +9924,8 @@ version 2005/12/01 or later. \l_@@_last_col_int { \@@_error:nn { in~last~col } \Iddots } } { - \@@_instruction_of_type:nn { Iddots } + \keys_set_known:nn { NiceMatrix / Ddots } { #1 } + \@@_instruction_of_type:nnn \l_@@_draw_first_bool { Iddots } { #1 , down = #2 , up = #3 } } @@ -9898,7 +9938,18 @@ version 2005/12/01 or later. % End of the |\AtBeginDocument|. % % -% +% \bigskip +% Despite its name, the following set of keys will be used for |\Ddots| but also +% for |\Iddots|. +% \begin{macrocode} +\keys_define:nn { NiceMatrix / Ddots } + { + draw-first .bool_set:N = \l_@@_draw_first_bool , + draw-first .default:n = true , + draw-first .value_forbidden:n = true + } +% \end{macrocode} +% % \bigskip % The command |\@@_Hspace:| will be linked to |\hspace| in |{NiceArray}|. % \begin{macrocode} @@ -9918,14 +9969,14 @@ version 2005/12/01 or later. \cs_new:Npn \@@_multicolumn:nnn #1 #2 #3 { % \begin{macrocode} -% We have to act in expandable way since it will begin by a |\multicolumn|. +% We have to act in an expandable way since it will begin by a |\multicolumn|. % \end{macrocode \exp_args:NNe \@@_old_multicolumn { #1 } % \end{macrocode} -% We will have to replace |\tl_lower_case:n| in the future -% since |\tl_lower_case:n| seems to be deprecated. +% We will have to replace |\tl_lower_case:n| in the future since it seems to be +% deprecated. % \begin{macrocode} { \exp_args:Ne \str_case:nn { \tl_lower_case:n { #2 } } @@ -9964,6 +10015,8 @@ version 2005/12/01 or later. } } \int_gadd:Nn \c@jCol { #1 - 1 } + \int_compare:nNnT \c@jCol > \g_@@_col_total_int + { \int_gset_eq:NN \g_@@_col_total_int \c@jCol } } } % \end{macrocode} @@ -9979,8 +10032,12 @@ version 2005/12/01 or later. % \begin{macrocode} \cs_new:Npn \@@_Hdotsfor: { - \multicolumn { 1 } { c } { } - \@@_Hdotsfor_i + \int_compare:nNnTF \c@jCol = 0 + { \@@_error:n { Hdotsfor~in~col~0 } } + { + \multicolumn { 1 } { c } { } + \@@_Hdotsfor_i + } } % \end{macrocode} % @@ -10010,7 +10067,7 @@ version 2005/12/01 or later. #1 , #3 , down = \exp_not:n { #4 } , up = \exp_not:n { #5 } } - } + } \prg_replicate:nn { #2 - 1 } { & \multicolumn { 1 } { c } { } } } } @@ -10799,9 +10856,12 @@ version 2005/12/01 or later. \cs_new_protected:Npn \@@_vline_i:nn #1 #2 { % \end{macrocode} -% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. +% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When +% we have found a row corresponding to a rule to draw, we note its number in +% |\l_tmpc_tl|. % \begin{macrocode} \tl_set:Nx \l_tmpb_tl { #1 } + \tl_clear_new:N \l_tmpc_tl \int_step_variable:nNn \c@iRow \l_tmpa_tl { % \end{macrocode} @@ -10818,8 +10878,34 @@ version 2005/12/01 or later. { \@@_test_if_vline_in_block:nnnn ##1 } \clist_if_empty:NF \l_@@_except_corners_clist \@@_test_in_corner_v: - \bool_if:NT \g_tmpa_bool - { \@@_vline_ii:nnnn { #1 } { #2 } \l_tmpa_tl \l_tmpa_tl } + \bool_if:NTF \g_tmpa_bool + { + \tl_if_empty:NT \l_tmpc_tl +% \end{macrocode} +% We keep in memory that we have a rule to draw. +% \begin{macrocode} + { \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl } + } + { + \tl_if_empty:NF \l_tmpc_tl + { + \@@_vline_ii:nnnn + { #1 } + { #2 } + \l_tmpc_tl + { \int_eval:n { \l_tmpa_tl - 1 } } + \tl_clear:N \l_tmpc_tl + } + } + } + \tl_if_empty:NF \l_tmpc_tl + { + \@@_vline_ii:nnnn + { #1 } + { #2 } + \l_tmpc_tl + { \int_use:N \c@iRow } + \tl_clear:N \l_tmpc_tl } } % \end{macrocode} @@ -10945,9 +11031,12 @@ version 2005/12/01 or later. \cs_new_protected:Npn \@@_hline_i:nn #1 #2 { % \end{macrocode} -% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. +% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. Whe, +% we have found a column corresponding to a rule to draw, we note its numver in +% |\l_tmpc_tl|. % \begin{macrocode} \tl_set:Nn \l_tmpa_tl { #1 } + \tl_clear_new:N \l_tmpc_tl \int_step_variable:nNn \c@jCol \l_tmpb_tl { % \end{macrocode} @@ -10963,8 +11052,34 @@ version 2005/12/01 or later. \seq_map_inline:Nn \g_@@_pos_of_xdots_seq { \@@_test_if_hline_in_block:nnnn ##1 } \clist_if_empty:NF \l_@@_except_corners_clist \@@_test_in_corner_h: - \bool_if:NT \g_tmpa_bool - { \@@_hline_ii:nnnn { #1 } { #2 } \l_tmpb_tl \l_tmpb_tl } + \bool_if:NTF \g_tmpa_bool + { + \tl_if_empty:NT \l_tmpc_tl +% \end{macrocode} +% We keep in memory that we have a rule to draw. +% \begin{macrocode} + { \tl_set_eq:NN \l_tmpc_tl \l_tmpb_tl } + } + { + \tl_if_empty:NF \l_tmpc_tl + { + \@@_hline_ii:nnnn + { #1 } + { #2 } + \l_tmpc_tl + { \int_eval:n { \l_tmpb_tl - 1 } } + \tl_clear:N \l_tmpc_tl + } + } + } + \tl_if_empty:NF \l_tmpc_tl + { + \@@_hline_ii:nnnn + { #1 } + { #2 } + \l_tmpc_tl + { \int_use:N \c@jCol } + \tl_clear:N \l_tmpc_tl } } % \end{macrocode} @@ -11046,7 +11161,7 @@ version 2005/12/01 or later. % \bigskip % \begin{macrocode} \cs_new_protected:Npn \@@_hline_i_complete:nn #1 #2 - { \@@_hline_ii:nnnn #1 #2 1 { \int_use:N \c@jCol } } + { \@@_hline_ii:nnnn { #1 } { #2 } 1 { \int_use:N \c@jCol } } % \end{macrocode} % % \bigskip @@ -11910,8 +12025,8 @@ version 2005/12/01 or later. % \begin{macrocode} \cs_new_protected:Npn \@@_extract_coords_values: #1 - #2 \q_stop { - \cs_set:Npn \@@_i: { #1 } - \cs_set:Npn \@@_j: { #2 } + \cs_set_nopar:Npn \@@_i: { #1 } + \cs_set_nopar:Npn \@@_j: { #2 } } % \end{macrocode} % @@ -11950,7 +12065,7 @@ version 2005/12/01 or later. % because it has an optional argument between |<| and |>| (for TeX instructions % put before the math mode of the label) % -% It's mandatory to use a expandable command (probably because of the first +% It's mandatory to use an expandable command (probably because of the first % optional argument?). % \begin{macrocode} \NewExpandableDocumentCommand \@@_Block: { O { } m D < > { } m } @@ -12026,6 +12141,13 @@ version 2005/12/01 or later. tikz .value_required:n = true , color .tl_set:N = \l_@@_color_tl , color .value_required:n = true , + l .code:n = \tl_set:Nn \l_@@_pos_of_block_tl l , + l .value_forbidden:n = true , + r .code:n = \tl_set:Nn \l_@@_pos_of_block_tl r , + r .value_forbidden:n = true , + c .code:n = \tl_set:Nn \l_@@_pos_of_block_tl c , + c .value_forbidden:n = true , + unknown .code:n = \@@_error:n { Unknown~key~for~Block } } % \end{macrocode} % @@ -12062,15 +12184,15 @@ version 2005/12/01 or later. % % \medskip % \begin{macrocode} - \cs_set_protected:Npn \diagbox ##1 ##2 - { - \tl_gput_right:Nx \g_@@_internal_code_after_tl - { - \@@_actually_diagbox:nnnnnn - { #1 } { #2 } { #3 } { #4 } - { \exp_not:n { ##1 } } { \exp_not:n { ##2 } } - } - } + \cs_set_protected_nopar:Npn \diagbox ##1 ##2 + { + \tl_gput_right:Nx \g_@@_internal_code_after_tl + { + \@@_actually_diagbox:nnnnnn + { #1 } { #2 } { #3 } { #4 } + { \exp_not:n { ##1 } } { \exp_not:n { ##2 } } + } + } % \end{macrocode} % % \medskip @@ -12176,8 +12298,11 @@ version 2005/12/01 or later. \cs_if_exist:cT { pgf @ sh @ ns @ \@@_env: - ##1 - #2 } { - \pgfpointanchor { \@@_env: - ##1 - #2 } { west } - \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x } + \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 } + { + \pgfpointanchor { \@@_env: - ##1 - #2 } { west } + \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x } + } } } % \end{macrocode} @@ -12196,8 +12321,11 @@ version 2005/12/01 or later. \cs_if_exist:cT { pgf @ sh @ ns @ \@@_env: - ##1 - #4 } { - \pgfpointanchor { \@@_env: - ##1 - #4 } { east } - \dim_set:Nn \l_tmpd_dim { \dim_max:nn \l_tmpd_dim \pgf@x } + \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 } + { + \pgfpointanchor { \@@_env: - ##1 - #4 } { east } + \dim_set:Nn \l_tmpd_dim { \dim_max:nn \l_tmpd_dim \pgf@x } + } } } \dim_compare:nNnT \l_tmpd_dim = { - \c_max_dim } @@ -12224,7 +12352,8 @@ version 2005/12/01 or later. } % \end{macrocode} % \medskip -% Now, we will put the label of the block. +% Now, we will put the label of the block beginning with the case of a |\Block| +% of one row. % \begin{macrocode} \int_compare:nNnTF { #1 } = { #3 } { @@ -12248,24 +12377,65 @@ version 2005/12/01 or later. % \end{macrocode} % We retrieve (in |\pgf@x|) the $x$-value of the center of the block. % \begin{macrocode} - \@@_qpoint:n { #1 - #2 - block - short } + \pgfpointanchor + { \@@_env: - #1 - #2 - block - short } + { + \str_case:Vn \l_@@_pos_of_block_tl + { + c { center } + l { west } + r { east } + } + } % \end{macrocode} % We put the label of the block which has been composed in |\l_@@_cell_box|. % \begin{macrocode} \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim } - \pgfnode { rectangle } { base } + \pgfset { inner~sep = \c_zero_dim } + \pgfnode + { rectangle } + { + \str_case:Vn \l_@@_pos_of_block_tl + { + c { base } + l { base~west } + r { base~east } + } + } { \box_use_drop:N \l_@@_cell_box } { } { } } % \end{macrocode} % % \medskip % If the number of rows is different of $1$, we put the label of the block in -% the center of the (short) node (the label of the block has been composed in -% |\l_@@_cell_box|). +% using the short node (the label of the block has been composed in +% |\l_@@_cell_box|). % \begin{macrocode} { - \pgftransformshift { \@@_qpoint:n { #1 - #2 - block - short } } - \pgfnode { rectangle } { center } + \pgftransformshift + { + \pgfpointanchor + { \@@_env: - #1 - #2 - block - short } + { + \str_case:Vn \l_@@_pos_of_block_tl + { + c { center } + l { west } + r { east } + } + } + } + \pgfset { inner~sep = \c_zero_dim } + \pgfnode + { rectangle } + { + \str_case:Vn \l_@@_pos_of_block_tl + { + c { center } + l { west } + r { east } + } + } { \box_use_drop:N \l_@@_cell_box } { } { } } \endpgfpicture @@ -12891,6 +13061,14 @@ version 2005/12/01 or later. % \end{macrocode} % % \begin{macrocode} +\@@_msg_new:nn { Hdotsfor~in~col~0 } + { + You~can't~use~\token_to_str:N \Hdotsfor\ in~an~exterior~column~of~ + the~array.~If~you~go~on,~the~corresponding~dotted~line~won't~be~drawn. + } +% \end{macrocode} +% +% \begin{macrocode} \@@_msg_new:nn { bad~corner } { #1~is~an~incorrect~specification~for~a~corner~(in~the~keys~ @@ -13009,7 +13187,19 @@ version 2005/12/01 or later. } % \end{macrocode} % -% +% \begin{macrocode} +\@@_msg_new:nnn { Unknown~key~for~Block } + { + The~key~'\l_keys_key_tl'~is~unknown~for~the~command~\token_to_str:N + \Block.\\ If~you~go~on,~it~will~be~ignored. \\ + For~a~list~of~the~available~keys,~type~H~<return>. + } + { + The~available~options~are~(in~alphabetic~order):~c,~ + color,~l,~and~r. + } +% \end{macrocode} +% % \begin{macrocode} \@@_msg_new:nnn { Unknown~key~for~notes } { @@ -13265,6 +13455,15 @@ version 2005/12/01 or later. % \vspace{1cm} % \section{History} % +% The successive versions of the file |nicematrix.sty| provided by TeXLive are available on the +% \textsc{svn} server of TeXLive: +% +% { +% \small +% \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty} +% } +% +% % \subsection*{Changes between versions 1.0 and 1.1} % % The dotted lines are no longer drawn with Tikz nodes but with Tikz circles @@ -13615,7 +13814,16 @@ version 2005/12/01 or later. % The key |baseline| can take in as value of the form \textsl{line-i} to align % the |\hline| in the row \textsl{i}. % -% The key |hvlines-except-corners| may take in as value a list of corner (eg: NW,SE). +% The key |hvlines-except-corners| may take in as value a list of corners (eg: NW,SE). +% +% \subsection*{Changes between versions 5.2 and 5.3} +% +% Keys |c|, |r| and |l| for the command |\Block|. +% +% It's possible to use the key |draw-first| with |\Ddots| and |\Iddots| to +% specify which dotted line will be drawn first (the other lines will be drawn +% parallel to that one if parallelization is activated). +% % % \PrintIndex % diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf Binary files differindex ebefac27a8..9743eb335d 100644 --- a/macros/latex/contrib/nicematrix/nicematrix.pdf +++ b/macros/latex/contrib/nicematrix/nicematrix.pdf diff --git a/macros/latex/contrib/oberdiek/README.md b/macros/latex/contrib/oberdiek/README.md index cbdfd8b6c8..825d268512 100644 --- a/macros/latex/contrib/oberdiek/README.md +++ b/macros/latex/contrib/oberdiek/README.md @@ -1,6 +1,6 @@ # Oberdiek bundle -Version: 2020-08-01 +Version: 2020-09-02 This file describes the directory CTAN:macros/latex/contrib/oberdiek/ @@ -49,7 +49,6 @@ Other files in the CTAN directory: * holtxdoc: extra documentation macros; * hypbmsec: bookmarks in sectioning commands; * hypcap: anjusting anchors of captions; -* hypdestopt: optimising hyperref’s pdfTeX driver destinations; * hypdoc: hyper-references in the LaTeX standard doc package; * hypgotoe: experimental package for links to embedded files; * hyphsubst: substitute hyphenation patterns; diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf Binary files differindex 88dd37cf7b..99508dc8bf 100644 --- a/macros/latex/contrib/oberdiek/aliascnt.pdf +++ b/macros/latex/contrib/oberdiek/aliascnt.pdf diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf Binary files differindex ca2159f163..7c435f524f 100644 --- a/macros/latex/contrib/oberdiek/bmpsize.pdf +++ b/macros/latex/contrib/oberdiek/bmpsize.pdf diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf Binary files differindex f07187e50c..f4ceda8550 100644 --- a/macros/latex/contrib/oberdiek/centernot.pdf +++ b/macros/latex/contrib/oberdiek/centernot.pdf diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf Binary files differindex 92c0fd36ea..6ed193a216 100644 --- a/macros/latex/contrib/oberdiek/chemarr.pdf +++ b/macros/latex/contrib/oberdiek/chemarr.pdf diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf Binary files differindex d6be30706d..63a575742e 100644 --- a/macros/latex/contrib/oberdiek/classlist.pdf +++ b/macros/latex/contrib/oberdiek/classlist.pdf diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf Binary files differindex e6bd4ecf28..50265fa311 100644 --- a/macros/latex/contrib/oberdiek/colonequals.pdf +++ b/macros/latex/contrib/oberdiek/colonequals.pdf diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf Binary files differindex 7794d5f6fb..9d98daddba 100644 --- a/macros/latex/contrib/oberdiek/dvipscol.pdf +++ b/macros/latex/contrib/oberdiek/dvipscol.pdf diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf Binary files differindex 6058293fe1..403ec71aac 100644 --- a/macros/latex/contrib/oberdiek/engord.pdf +++ b/macros/latex/contrib/oberdiek/engord.pdf diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf Binary files differindex 89a517bb42..0c604fc3b1 100644 --- a/macros/latex/contrib/oberdiek/enparen.pdf +++ b/macros/latex/contrib/oberdiek/enparen.pdf diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf Binary files differindex 0305785a2e..61b21d1985 100644 --- a/macros/latex/contrib/oberdiek/eolgrab.pdf +++ b/macros/latex/contrib/oberdiek/eolgrab.pdf diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf Binary files differindex 94743cee5c..1f5e6a2245 100644 --- a/macros/latex/contrib/oberdiek/fibnum.pdf +++ b/macros/latex/contrib/oberdiek/fibnum.pdf diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf Binary files differindex c39b6a802d..5f561e1b33 100644 --- a/macros/latex/contrib/oberdiek/flags.pdf +++ b/macros/latex/contrib/oberdiek/flags.pdf diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf Binary files differindex 3f438af499..d88cbae03d 100644 --- a/macros/latex/contrib/oberdiek/holtxdoc.pdf +++ b/macros/latex/contrib/oberdiek/holtxdoc.pdf diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf Binary files differindex 4ad84d6cbf..b6fcb731c5 100644 --- a/macros/latex/contrib/oberdiek/hypbmsec.pdf +++ b/macros/latex/contrib/oberdiek/hypbmsec.pdf diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/oberdiek/hypcap.pdf Binary files differindex 4c33bde26c..334f67bf9e 100644 --- a/macros/latex/contrib/oberdiek/hypcap.pdf +++ b/macros/latex/contrib/oberdiek/hypcap.pdf diff --git a/macros/latex/contrib/oberdiek/hypdoc.pdf b/macros/latex/contrib/oberdiek/hypdoc.pdf Binary files differindex 849dc53cc5..82eb5d5195 100644 --- a/macros/latex/contrib/oberdiek/hypdoc.pdf +++ b/macros/latex/contrib/oberdiek/hypdoc.pdf diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf Binary files differindex dba3357190..87858187c4 100644 --- a/macros/latex/contrib/oberdiek/hypgotoe.pdf +++ b/macros/latex/contrib/oberdiek/hypgotoe.pdf diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf Binary files differindex 4d508389c0..a553d7ba51 100644 --- a/macros/latex/contrib/oberdiek/hyphsubst.pdf +++ b/macros/latex/contrib/oberdiek/hyphsubst.pdf diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf Binary files differindex 06933d8e2b..55042d429c 100644 --- a/macros/latex/contrib/oberdiek/ifdraft.pdf +++ b/macros/latex/contrib/oberdiek/ifdraft.pdf diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf Binary files differindex aa906e45b4..fd72a8cb91 100644 --- a/macros/latex/contrib/oberdiek/iflang.pdf +++ b/macros/latex/contrib/oberdiek/iflang.pdf diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib index f3d00291d6..fd2b6229a7 100644 --- a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib +++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib @@ -103,13 +103,6 @@ version={1.12}, url={https://ctan.org/pkg/hypcap}, } -@manual{oberdiek:hypdestopt, - title={The hypdestopt package}, - author={Heiko Oberdiek}, - date={2016-05-21}, - version={2.5}, - url={https://ctan.org/pkg/hypdestopt}, -} @manual{oberdiek:hypdoc, title={The hypdoc package}, author={Heiko Oberdiek}, diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins index 2225a1b33c..8914f4a7e5 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.ins +++ b/macros/latex/contrib/oberdiek/oberdiek.ins @@ -41,7 +41,6 @@ \batchinput{holtxdoc.dtx} \batchinput{hypbmsec.dtx} \batchinput{hypcap.dtx} -\batchinput{hypdestopt.dtx} \batchinput{hypdoc.dtx} \batchinput{hypgotoe.dtx} \batchinput{hyphsubst.dtx} diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf Binary files differindex 9c39006a6f..482d935da6 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.pdf +++ b/macros/latex/contrib/oberdiek/oberdiek.pdf diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex index 6b52d9bca3..9b7cb6857f 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.tex +++ b/macros/latex/contrib/oberdiek/oberdiek.tex @@ -10,7 +10,7 @@ \newcommand*{\Author}{Heiko Oberdiek} \newcommand*{\Email}{ho-tex at tug.org} -\newcommand*{\Date}{2020/08/01} +\newcommand*{\Date}{2020/09/02} % Copyright (C) 2006-2016 by % Heiko Oberdiek @@ -204,8 +204,6 @@ [\entrysep] \entry{hypcap}{Adjusting the anchors of captions}% [\entrysep] -\entry{hypdestopt}{Hyperref destination optimizer}% -[\entrysep] \entry{hypdoc}{Hyper extensions for doc.sty}% [\entrysep] \entry{hypgotoe}{Links to embedded files}% @@ -416,17 +414,6 @@ the rest in the \cs{caption} command. \tocinclude{hypcap} \newpage -\subsection{\pkgsectformat{hypdestopt}} -\label{hypdestopt} -\begin{abstract} -Package \xpackage{hypdestopt} supports \xpackage{hyperref}'s -\xoption{pdftex} driver. It removes unnecessary destinations -and shortens the destination names or uses numbered destinations -to get smaller PDF files. -\end{abstract} -\tocinclude{hypdestopt} - -\newpage \subsection{\pkgsectformat{hypdoc}} \label{hypdoc} \begin{abstract} diff --git a/macros/latex/contrib/oberdiek/pagegrid.pdf b/macros/latex/contrib/oberdiek/pagegrid.pdf Binary files differindex dfd0294a43..1aefe9f9d6 100644 --- a/macros/latex/contrib/oberdiek/pagegrid.pdf +++ b/macros/latex/contrib/oberdiek/pagegrid.pdf diff --git a/macros/latex/contrib/oberdiek/pdfcol.pdf b/macros/latex/contrib/oberdiek/pdfcol.pdf Binary files differindex 389652ec38..b09e4f602d 100644 --- a/macros/latex/contrib/oberdiek/pdfcol.pdf +++ b/macros/latex/contrib/oberdiek/pdfcol.pdf diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf Binary files differindex 64ce4915e4..899ac9d9fc 100644 --- a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf +++ b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf Binary files differindex 0c69e89412..5032716ee8 100644 --- a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf +++ b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf Binary files differindex 920203f40e..29730a96bd 100644 --- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf +++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf Binary files differindex 468ab9b255..03e5ce1f8f 100644 --- a/macros/latex/contrib/oberdiek/pdfcrypt.pdf +++ b/macros/latex/contrib/oberdiek/pdfcrypt.pdf diff --git a/macros/latex/contrib/oberdiek/pdfrender.pdf b/macros/latex/contrib/oberdiek/pdfrender.pdf Binary files differindex d1335436d5..212dc3664b 100644 --- a/macros/latex/contrib/oberdiek/pdfrender.pdf +++ b/macros/latex/contrib/oberdiek/pdfrender.pdf diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf Binary files differindex 4c37798f2c..1a640fb01e 100644 --- a/macros/latex/contrib/oberdiek/protecteddef.pdf +++ b/macros/latex/contrib/oberdiek/protecteddef.pdf diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf Binary files differindex 2fecaefee9..04356d885a 100644 --- a/macros/latex/contrib/oberdiek/resizegather.pdf +++ b/macros/latex/contrib/oberdiek/resizegather.pdf diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf Binary files differindex 88097719ca..f10a2e887d 100644 --- a/macros/latex/contrib/oberdiek/rotchiffre.pdf +++ b/macros/latex/contrib/oberdiek/rotchiffre.pdf diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf Binary files differindex e9f69e95da..725e81f60d 100644 --- a/macros/latex/contrib/oberdiek/scrindex.pdf +++ b/macros/latex/contrib/oberdiek/scrindex.pdf diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf Binary files differindex f3009b2f03..53bf65cac2 100644 --- a/macros/latex/contrib/oberdiek/setouterhbox.pdf +++ b/macros/latex/contrib/oberdiek/setouterhbox.pdf diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf Binary files differindex c79bd6368d..4e4cabfb46 100644 --- a/macros/latex/contrib/oberdiek/settobox.pdf +++ b/macros/latex/contrib/oberdiek/settobox.pdf diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf Binary files differindex 311cdf1963..a10c1ca7e4 100644 --- a/macros/latex/contrib/oberdiek/stackrel.pdf +++ b/macros/latex/contrib/oberdiek/stackrel.pdf diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf Binary files differindex 09de65a2a4..a465d1468c 100644 --- a/macros/latex/contrib/oberdiek/stampinclude.pdf +++ b/macros/latex/contrib/oberdiek/stampinclude.pdf diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf Binary files differindex ae21206d8b..1fa8dbc47e 100644 --- a/macros/latex/contrib/oberdiek/tabularht.pdf +++ b/macros/latex/contrib/oberdiek/tabularht.pdf diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf Binary files differindex 128e427f7a..7746fdb439 100644 --- a/macros/latex/contrib/oberdiek/tabularkv.pdf +++ b/macros/latex/contrib/oberdiek/tabularkv.pdf diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/oberdiek/telprint.pdf Binary files differindex fe655b9c09..58d1577101 100644 --- a/macros/latex/contrib/oberdiek/telprint.pdf +++ b/macros/latex/contrib/oberdiek/telprint.pdf diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf Binary files differindex 3f365b77db..3e4e1da4af 100644 --- a/macros/latex/contrib/oberdiek/thepdfnumber.pdf +++ b/macros/latex/contrib/oberdiek/thepdfnumber.pdf diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf Binary files differindex d061ba72d8..32de2441fc 100644 --- a/macros/latex/contrib/oberdiek/twoopt.pdf +++ b/macros/latex/contrib/oberdiek/twoopt.pdf diff --git a/macros/latex/contrib/pict2e/p2e-drivers.pdf b/macros/latex/contrib/pict2e/p2e-drivers.pdf Binary files differindex 12c0741fba..1b8add2b0e 100644 --- a/macros/latex/contrib/pict2e/p2e-drivers.pdf +++ b/macros/latex/contrib/pict2e/p2e-drivers.pdf diff --git a/macros/latex/contrib/pict2e/pict2e.dtx b/macros/latex/contrib/pict2e/pict2e.dtx index cccd714da7..8bb7a289fc 100644 --- a/macros/latex/contrib/pict2e/pict2e.dtx +++ b/macros/latex/contrib/pict2e/pict2e.dtx @@ -23,7 +23,7 @@ % %<*package> \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{pict2e}[2020/06/20 v0.3e Improved picture commands (HjG,RN,JT)] +\ProvidesPackage{pict2e}[2020/08/16 v0.4a Improved picture commands (HjG,RN,JT)] %</package> % %<*driver> @@ -63,9 +63,8 @@ % \fi % % \GetFileInfo{pict2e.sty} -% \def\docdate{2020/06/20} +% \def\docdate{2020/08/16} % -% \CheckSum{2206} % % ^^A ======== % @@ -190,6 +189,7 @@ % \changes{v0.3d}{2020/06/13}{\cmd{\@sline} renamed \cmd{\pIIe@sline} (RN)} % \changes{v0.3e}{2020/06/20}{Added \cmd{\Vector}, \cmd{\polyvector} % suggested by FMi (RN)} +% \changes{v0.4a}{2020/08/16}{Default lengths to match extended \LaTeX\ version} % \fi % % \changes{v0.1a}{2003/07/18}{First version. (RN)} @@ -1501,6 +1501,27 @@ % % \subsection{Preliminaries} % +% \begin{macro}{\@defaultunitsset} +% Command to accept a number or length expression. +% Added to \LaTeX\ 2020-10-01 release but provided here for older releases. +% +% Set a length register, |#1|, +% accepting number or an etex length expression, |#2|, +% with default unit, |#3|. +% +% |#3| can be a literal unit such as |cm| or a length register such +% as |\unitlength|. +% +% This is used in all |picture| commands that take picture coordinates. +% So |\put(2,2)| as previously but now |\put(\textwidth-5cm,0.4\texteight)| +% Note that you can only use expressions with lengths, |\put(1+2,0)| is not +% supported. +% \begin{macrocode} +\def\@defaultunitsset#1#2#3{% + \@defaultunits#1\dimexpr#2#3\relax\relax\@nnil} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\pIIe@mode} % \begin{macro}{\pIIe@code} % \begin{macro}{\Gin@driver} @@ -2412,7 +2433,7 @@ \begingroup \pIIe@checkslopeargsline{#1}{#2}% \@tempdima=#1pt\relax \@tempdimb=#2pt\relax - \@linelen #3\unitlength + \@defaultunitsset\@linelen{#3}\unitlength \ifdim\@linelen<\z@ \@badlinearg \else \pIIe@sline \pIIe@moveto\z@\z@ @@ -2485,10 +2506,10 @@ \begingroup \pIIe@checkslopeargsvector{#1}{#2}% \@tempdima=#1pt\relax \@tempdimb=#2pt\relax - \@linelen#3\unitlength + \@defaultunitsset\@linelen{#3}\unitlength \ifdim\@linelen<\z@ \@badlinearg \else \pIIe@sline - \@linelen#3\unitlength + \@defaultunitsset\@linelen{#3}\unitlength \pIIe@pyth{\@tempdima}{\@tempdimb}\dimen@ \ifdim\@tempdima=\z@ \else \ifdim\@tempdimb=\z@ \else @@ -2871,7 +2892,7 @@ % argument (RN,HjG)} % \changes{v0.2n}{2004/04/22}{Allow zero diameter (RN/HjG)} % \begin{macrocode} - \@tempdima#1\unitlength + \@defaultunitsset\@tempdima{#1}\unitlength \ifdim\@tempdima<\z@ \pIIe@badcircarg \fi \divide\@tempdima\tw@ \pIIe@circle\@tempdima @@ -3038,16 +3059,12 @@ % \cite[p.~223]{LAMPORT} does not specify explicitly whether the % \oarg{rad} argument should be given in terms of \cmd{\unitlength} or % as an absolute length. -% To implement this feature, we borrow from the \textsf{graphics} -% package: -% See \cmd{\Gin@defaultbp} and \cmd{\Gin@def@bp} from -% \texttt{graphics.dtx}. +% This is now re-implemented in terms of \cmd{@defaultunitsset}. % \begin{macrocode} \newcommand*\pIIe@defaultUL[2]{% - \afterassignment\pIIe@def@UL\dimen@#2\unitlength\relax{#1}{#2}} + \@defaultunitsset\dimen@{#2}\unitlength + \edef#1{\the\dimen@}} % \end{macrocode} -% However, things are simpler in our case, since we always need the -% value stored in \cmd{\dimen@}. % Hence, we could\slash should omit the unnecessary argument!?) % \changes{v0.2h}{2004/01/07}{Check for negative or zero radius % argument (RN,HjG)} @@ -3103,8 +3120,8 @@ % \end{macrocode} % In analogy to circles, we need only half of the size value. % \begin{macrocode} - \@ovxx#1\unitlength \divide\@ovxx\tw@ - \@ovyy#2\unitlength \divide\@ovyy\tw@ + \@defaultunitsset\@ovxx{#1}\unitlength \divide\@ovxx\tw@ + \@defaultunitsset\@ovyy{#2}\unitlength \divide\@ovyy\tw@ \@tempdimc \ifdim\@ovyy>\@ovxx \@ovxx \else \@ovyy \fi \ifdim\pIIe@maxovalrad<\@tempdimc \@tempdimc\pIIe@maxovalrad\relax \fi % \end{macrocode} @@ -3238,9 +3255,12 @@ % \begin{macrocode} \@killglue \begingroup - \@ovxx#2\unitlength \@ovyy#3\unitlength - \@ovdx#4\unitlength \@ovdy#5\unitlength - \@xdim#6\unitlength \@ydim#7\unitlength + \@defaultunitsset\@ovxx{#2}\unitlength + \@defaultunitsset\@ovyy{#3}\unitlength + \@defaultunitsset\@ovdx{#4}\unitlength + \@defaultunitsset\@ovdy{#5}\unitlength + \@defaultunitsset\@xdim{#6}\unitlength + \@defaultunitsset\@ydim{#7}\unitlength % \end{macrocode} % \noindent % \BigIndent $P_1 = P_m + 1/3 (P_0 - P_m)$ @@ -3398,10 +3418,12 @@ \def\pIIe@arc@@(#1,#2)#3{% \if@tempswa \pIIe@moveto\z@\z@ - \pIIe@arc{\z@}{\z@}{#3\unitlength}{#1}{#2}% + \@defaultunitsset\@tempdimc{#3}\unitlength + \pIIe@arc{\z@}{\z@}{\@tempdimc}{#1}{#2}% \pIIe@closepath\pIIe@fillGraph \else - \pIIe@arc[1]{\z@}{\z@}{#3\unitlength}{#1}{#2}% + \@defaultunitsset\@tempdimc{#3}\unitlength + \pIIe@arc[1]{\z@}{\z@}{\@tempdimc}{#1}{#2}% \pIIe@strokeGraph \fi} \ifx\undefined\arc @@ -3428,12 +3450,16 @@ \def\Line(#1,#2)(#3,#4){\polyline(#1,#2)(#3,#4)} \def\polyline(#1,#2){% \@killglue - \pIIe@moveto{#1\unitlength}{#2\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@moveto{\@tempdimc}{\@tempdimb}% \@ifnextchar\lp@r{\@polyline}{\PackageWarning{pict2e}% {Polygonal lines require at least two vertices!}% \ignorespaces}} \def\@polyline(#1,#2){% - \pIIe@lineto{#1\unitlength}{#2\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@lineto{\@tempdimc}{\@tempdimb}% \@ifnextchar\lp@r{\@polyline}{\pIIe@strokeGraph\ignorespaces}} \def\Vector(#1,#2)(#3,#4){\polyvector(#1,#2)(#3,#4)} \def\polyvector(#1,#2){% @@ -3445,8 +3471,10 @@ % \end{macrocode} % See the similar definition for \cmd{\vector} (\ref{sec:implementation:vector}) % \begin{macrocode} - \@xdim#1\unitlength \@tempdima=#3\unitlength - \@ydim#2\unitlength \@tempdimb=#4\unitlength + \@defaultunitsset\@xdim{#1}\unitlength + \@defaultunitsset\@tempdima{#3}\unitlength + \@defaultunitsset\@ydim{#2}\unitlength + \@defaultunitsset\@tempdimb{#4}\unitlength \advance\@tempdima-\@xdim \advance\@tempdimb-\@ydim \ifdim\@tempdima=\z@ \@linelen\@tempdimb \else \ifdim\@tempdimb=\z@ \@linelen\@tempdima \else @@ -3467,11 +3495,16 @@ \@ifstar{\begingroup\@tempswatrue\@polygon}% {\begingroup\@tempswafalse\@polygon}} \def\@polygon(#1,#2){% - \pIIe@moveto{#1\unitlength}{#2\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@moveto{\@tempdimc}{\@tempdimb}% \@ifnextchar\lp@r{\@@polygon}{\PackageWarning{pict2e}% {Polygons require at least two vertices!}% \ignorespaces}} - \def\@@polygon(#1,#2){\pIIe@lineto{#1\unitlength}{#2\unitlength}% + \def\@@polygon(#1,#2){% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@lineto{\@tempdimc}{\@tempdimb}% \@ifnextchar\lp@r{\@@polygon}{\pIIe@closepath \if@tempswa\pIIe@fillGraph\else\pIIe@strokeGraph\fi \endgroup @@ -3497,20 +3530,33 @@ % \begin{macrocode} \def\moveto(#1,#2){% \@killglue - \pIIe@moveto{#1\unitlength}{#2\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@moveto{\@tempdimc}{\@tempdimb}% \ignorespaces} \def\lineto(#1,#2){% \@killglue - \pIIe@lineto{#1\unitlength}{#2\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \pIIe@lineto{\@tempdimc}{\@tempdimb}% \ignorespaces} \def\curveto(#1,#2)(#3,#4)(#5,#6){% \@killglue - \pIIe@curveto{#1\unitlength}{#2\unitlength}{#3\unitlength}{#4\unitlength}% - {#5\unitlength}{#6\unitlength}% + \@defaultunitsset\@tempdimc{#1}\unitlength + \@defaultunitsset\@tempdimb{#2}\unitlength + \@defaultunitsset\@tempdima{#3}\unitlength + \@defaultunitsset\dimen@{#4}\unitlength + \@defaultunitsset\@ovxx{#5}\unitlength + \@defaultunitsset\@ovyy{#6}\unitlength + \pIIe@curveto{\@tempdimc}{\@tempdimb}{\@tempdima}{\dimen@}% + {\@ovxx}{\@ovyy}% \ignorespaces} \newcommand*\circlearc[6][0]{% \@killglue - \pIIe@arc[#1]{#2\unitlength}{#3\unitlength}{#4\unitlength}{#5}{#6}% + \@defaultunitsset\@tempdimc{#2}\unitlength + \@defaultunitsset\@tempdimb{#3}\unitlength + \@defaultunitsset\@tempdima{#4}\unitlength + \pIIe@arc[#1]{\@tempdimc}{\@tempdimb}{\@tempdima}{#5}{#6}% \ignorespaces} \def\closepath{\pIIe@closepath} \def\strokepath{\pIIe@strokeGraph} @@ -3596,9 +3642,17 @@ \def\pIIe@@cbezier#1)#2(#3)#4(#5)#6({\@cbezier#1)(#3)(#5)(}% \def\@cbezier[#1](#2,#3)(#4,#5)(#6,#7)(#8,#9){% \@killglue - \pIIe@moveto{#2\unitlength}{#3\unitlength}% - \pIIe@curveto{#4\unitlength}{#5\unitlength}% - {#6\unitlength}{#7\unitlength}{#8\unitlength}{#9\unitlength}% + \@defaultunitsset\@tempdimc{#2}\unitlength + \@defaultunitsset\@tempdimb{#3}\unitlength + \pIIe@moveto{\@tempdimc}{\@tempdimb}% + \@defaultunitsset\@tempdimc{#4}\unitlength + \@defaultunitsset\@tempdimb{#5}\unitlength + \@defaultunitsset\@tempdima{#6}\unitlength + \@defaultunitsset\dimen@{#7}\unitlength + \@defaultunitsset\@ovxx{#8}\unitlength + \@defaultunitsset\@ovyy{#9}\unitlength + \pIIe@curveto{\@tempdimc}{\@tempdimb}% + {\@tempdima}{\dimen@}{\@ovxx}{\@ovyy}% \pIIe@strokeGraph \ignorespaces}% } diff --git a/macros/latex/contrib/pict2e/pict2e.pdf b/macros/latex/contrib/pict2e/pict2e.pdf Binary files differindex bb634560b3..03dcb9f143 100644 --- a/macros/latex/contrib/pict2e/pict2e.pdf +++ b/macros/latex/contrib/pict2e/pict2e.pdf diff --git a/macros/latex/contrib/scratch3/README b/macros/latex/contrib/scratch3/README index a8ee05f184..cfbd104f88 100644 --- a/macros/latex/contrib/scratch3/README +++ b/macros/latex/contrib/scratch3/README @@ -3,9 +3,9 @@ ___________________________________ L'extension scratch3 - v0.17 + v0.18 - 27 avril 2020 + 3 septembre 2020 ___________________________________ Author : Christian Tellechea diff --git a/macros/latex/contrib/scratch3/scratch3-fr.pdf b/macros/latex/contrib/scratch3/scratch3-fr.pdf Binary files differindex 22d00f2c56..757fca53dd 100644 --- a/macros/latex/contrib/scratch3/scratch3-fr.pdf +++ b/macros/latex/contrib/scratch3/scratch3-fr.pdf diff --git a/macros/latex/contrib/scratch3/scratch3-fr.tex b/macros/latex/contrib/scratch3/scratch3-fr.tex index 03cbfc64e3..30ba693d0f 100644 --- a/macros/latex/contrib/scratch3/scratch3-fr.tex +++ b/macros/latex/contrib/scratch3/scratch3-fr.tex @@ -627,4 +627,8 @@ Toute remarque, remonte de bug ---~je n'ose pas dire amlioration du code~---, \begin{version}{0.17}{27/04/2020} >Quelques petites modifications pour ne plus appeler aucune macro prive de simplekv et sa version 0.2. \end{version} +\begin{version}{0.18}{03/09/2020} + >initialisation de \verb|\scr_yoffset| et \verb|\scr_xoffset| dans \verb|\scr_namemoreblocks|. + >initialisation de \verb|\scr_linewidth| dans \verb|\greenflag|. +\end{version} \end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/scratch3/scratch3.sty b/macros/latex/contrib/scratch3/scratch3.sty index fe6ca27523..d28a8a3e2e 100644 --- a/macros/latex/contrib/scratch3/scratch3.sty +++ b/macros/latex/contrib/scratch3/scratch3.sty @@ -5,9 +5,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \def\scrname {scratch3} % -\def\scrver {0.17} % +\def\scrver {0.18} % % % -\def\scrdate {2020/04/27} % +\def\scrdate {2020/09/03} % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -400,8 +400,9 @@ \gdef\scr_blockstop{0}% } \newcommand*\scr_namemoreblocks[1]{% - \begin{tikzpicture}% + \begin{tikzpicture} \setscratch{num blocks=false}% + \scr_xoffset0pt \scr_yoffset\dimexpr\scr_corner+\scr_ysepsup\relax% bugfix 0.18 \definecolor{scrmoreblocks}{HTML}{ff4d6a}% choix couleur fonce pour trac du bloc qui suit \scr_normalblock{scrmoreblocks}{% \definecolor{scrmoreblocks}{HTML}{ff6680}% rtablir couleur claire par dfaut @@ -1141,6 +1142,7 @@ sharp corners, scale=0.4 ] + \scr_normalizedim\scr_linewidth line width[0pt,5pt]% bugfix 0.18 \draw[ line width=\scr_linewidth, draw={% @@ -1246,4 +1248,9 @@ Versions : | | | initialise dans \initmoreblocks | |---------+------------+------------------------------------------------------| | 0.17 | 27/04/2020 | * 2 ou 3 modifs en rapport avec la v0.2 de simplekv | +|---------+------------+------------------------------------------------------| +| 0.18 | xx/xx/xxxx | * initialisation de \scr_yoffset et \scr_xoffset dans| +| | | \scr_namemoreblocks | +| | | * \scr_linewidth est dsormais dfinie dans | +| | | \greenflag | |---------+------------+------------------------------------------------------|
\ No newline at end of file |