summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/acadian.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/canadien.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/francais.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/french.ldf14
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel-italian/italian.ldf8
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua5
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua24
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex3
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua8
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua42
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-transforms.lua50
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def333
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty790
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex1
-rw-r--r--Master/texmf-dist/tex/generic/babel/errbabel.def27
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini17
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini78
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini20
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini16
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini22
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini15
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini36
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini2
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini8
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini8
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini53
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini47
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini40
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini15
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini27
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def293
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf3
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def1
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def1
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def1
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def29
-rw-r--r--Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex254
-rw-r--r--Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex78
-rw-r--r--Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex6
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty6
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex67
-rw-r--r--Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex2
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdown.tex673
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex47
-rw-r--r--Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex2
-rw-r--r--Master/texmf-dist/tex/generic/oberdiek/telprint.sty255
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex31
-rw-r--r--Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex63
-rw-r--r--Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex37
-rw-r--r--Master/texmf-dist/tex/generic/pst-node/pst-node.tex61
-rw-r--r--Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex113
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex27
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht55
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht12
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht9
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht4
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht24
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht25
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/caption.4ht12
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht52
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht35
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht28
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht19
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/esvect.4ht25
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht14
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht9
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/french.4ht49
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht231
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/html4-math.4ht86
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/html4.4ht286
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht117
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/jats.4ht115
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/latex.4ht65
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/longtable.4ht29
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht82
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/makecell.4ht33
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht40
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht25
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht43
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/mathml.4ht81
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/memoir.4ht19
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht57
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/minted.4ht23
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht168
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht28
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/piton.4ht39
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht25
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht7
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht6
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht8
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty12
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/th4.4ht18
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht12
-rw-r--r--Master/texmf-dist/tex/generic/witharrows/witharrows.sty372
-rw-r--r--Master/texmf-dist/tex/generic/witharrows/witharrows.tex284
-rw-r--r--Master/texmf-dist/tex/generic/xcomment/xcomment.sty8
-rw-r--r--Master/texmf-dist/tex/generic/xcomment/xcomment.tex171
122 files changed, 4240 insertions, 2562 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
index 146e293ffcd..c74b119c023 100644
--- a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{acadian}
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
\PackageInfo{acadian.ldf}%
{`acadian' dialect is currently\MessageBreak
*absolutely identical* to the\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
index c04ed30c114..5f4ce1fbd56 100644
--- a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{canadien}
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
\PackageWarning{canadien.ldf}%
{Option `canadien' for Babel is *deprecated*,\MessageBreak
it might be removed sooner or later. Please\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/francais.ldf b/Master/texmf-dist/tex/generic/babel-french/francais.ldf
index 930425c55a6..f1dab47db9f 100644
--- a/Master/texmf-dist/tex/generic/babel-french/francais.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/francais.ldf
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{francais}
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
\PackageWarning{francais.ldf}%
{Option `francais' for Babel is *deprecated*,\MessageBreak
it might be removed sooner or later. Please\MessageBreak
diff --git a/Master/texmf-dist/tex/generic/babel-french/french.ldf b/Master/texmf-dist/tex/generic/babel-french/french.ldf
index e464ea33b0b..61bb613bc09 100644
--- a/Master/texmf-dist/tex/generic/babel-french/french.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/french.ldf
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{french}
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
%%
%% Babel package for LaTeX version 2e
%% Copyright © 1996-2024
@@ -108,7 +108,6 @@
\fi
\fi
\bbl@tempa
-\ifLaTeXe \NeedsTeXFormat{LaTeX2e}[2022/06/01] \fi
\newif\ifFBunicode
\newif\ifFBLuaTeX
\newif\ifFBXeTeX
@@ -505,9 +504,10 @@
\DeclareRobustCommand\rmfamilyFB{\FB@spacing@on \rmfamilyORI}
\DeclareRobustCommand\sffamilyFB{\FB@spacing@on \sffamilyORI}
\fi
+\providecommand\texorpdfstring[2]{#1}
\DeclareRobustCommand*{\NoAutoSpacing}{%
- \FB@spacing@off
- \ifFB@active@punct\shorthandoff{;:!?}\fi
+ \texorpdfstring{\FB@spacing@off
+ \ifFB@active@punct\shorthandoff{;:!?}\fi}{}%
}
\ifLaTeXe
\else
@@ -526,7 +526,6 @@
\fi
\let\xspace\relax
\fi
-\providecommand\texorpdfstring[2]{#1}
\newcommand*{\FB@og}{\texorpdfstring{\@FB@og}{\guillemotleft\space}}
\newcommand*{\FB@fg}{\texorpdfstring{\@FB@fg}{\space\guillemotright}}
\newcommand*{\FB@guillspace}{\penalty\@M\FBguillspace}
@@ -1109,6 +1108,7 @@
BEFORE babel/french; reported}%
\fi
}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\newif\ifFBShowOptions
\newif\ifFBStandardLayout \FBStandardLayouttrue
\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchtrue
@@ -1271,14 +1271,14 @@
Reported}%
\fi
}
-\newcommand*{\FB@ListOldLayout@setup}[1]%
+\newcommand*{\FBListOldLayout@setup}[1]%
{\csname FBListOldLayout#1\endcsname
\ifFBListOldLayout
\FBStandardEnumerateEnvtrue
\renewcommand*{\FrenchLabelItem}{\textendash}%
\fi
}
-\newcommand*{\FB@CompactItemize@setup}[1]%
+\newcommand*{\FBCompactItemize@setup}[1]%
{\csname FBCompactItemize#1\endcsname
\ifFBCompactItemize
\FBStandardItemizeEnvfalse
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
index 59dcd15ac8c..043aa84c723 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
@@ -24,7 +24,7 @@
%% Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%%
\ProvidesLanguage{frenchb}
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
\def\bbl@tempa{frenchb}
\ifx\CurrentOption\bbl@tempa
\chardef\l@frenchb\l@french
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
index 3149b146ffc..34f19225fca 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
@@ -1,6 +1,6 @@
--[[
File `frenchb.lua’ generated from frenchb.dtx
- [2024-05-24 v3.6a French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
Copyright © 2014-2024 Daniel Flipo
<daniel (dot) flipo (at) free (dot) fr>
License LPPL: see french.ldf.
diff --git a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
index f9bd02c13b1..5cff95de4c7 100644
--- a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
@@ -12,7 +12,7 @@
%%
%% License information appended.
\ProvidesLanguage{italian}
- [2024/01/03 v.1.5.00 Italian support for the babel system]
+ [2024/10/10 v.1.5.01 Italian support for the babel system]
%%
%% Please report errors to: claudio dot beccari at gmail dot com
%%
@@ -195,7 +195,9 @@
}}
\DeclareMathSymbol{\virgoladecimale}{\mathord}{letters}{"3B}
\DeclareMathSymbol{\virgola}{\mathpunct}{letters}{"3B}
-{\catcode`,\active \gdef,{\futurelet\tempB\?}}
+
+{\catcode`,\active \protected\gdef,%
+ {\futurelet\tempB\it@tempcomma}}
\DeclareRobustCommand*\periodo[1]{\overline{#1}}
@@ -204,7 +206,7 @@
\if\@Cifra #1\relax\def\tempC{\virgoladecimale}%
\@break@tfor\fi}\tempC}
-\DeclareRobustCommand*\?{%
+\DeclareRobustCommand*\it@tempcomma{%
\ifx\tempB\@sptoken
\expandafter\@firstoftwo
\else
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
index a981db5b267..a0bfe0b3a7c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
@@ -32,9 +32,6 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
-
-Babel = Babel or {}
-
Babel.bidi_enabled = true
require('babel-data-bidi.lua')
@@ -162,7 +159,7 @@ function Babel.bidi(head, ispar)
elseif first_d and dir ~= strong_lr then
dir_mark(head, first_d, last_d, outer)
first_d, last_d = nil, nil
- end
+ end
end
if dir and not last_lr and dir ~= 'l' and outer == 'r' then
item.char = characters[item.char] and
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
index 4d0d19156f0..8b3ef3e62e4 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -32,9 +32,6 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
-
-Babel = Babel or {}
-
-- eg, Babel.fontmap[1][<prefontid>]=<dirfontid>
Babel.fontmap = Babel.fontmap or {}
@@ -102,7 +99,7 @@ end
-- TODO - \hbox with an explicit dir can lead to wrong results
-- <R \hbox dir TLT{<R>}> and <L \hbox dir TRT{<L>}>. A small attempt
--- was s made to improve the situation, but the problem is the 3-dir
+-- was made to improve the situation, but the problem is the 3-dir
-- model in babel/Unicode and the 2-dir model in LuaTeX don't fit
-- well.
@@ -124,6 +121,7 @@ function Babel.bidi(head, ispar, hdir)
local has_hyperlink = false
local ATDIR = Babel.attr_dir
+ local attr_d
local save_outer
local temp = node.get_attribute(head, ATDIR)
@@ -158,6 +156,8 @@ function Babel.bidi(head, ispar, hdir)
if glyph_not_symbol_font(item)
or (item.id == 7 and item.subtype == 2) then
+ if node.get_attribute(item, ATDIR) == 128 then goto nextnode end
+
local d_font = nil
local item_r
if item.id == 7 and item.subtype == 2 then
@@ -165,6 +165,7 @@ function Babel.bidi(head, ispar, hdir)
else
item_r = item
end
+
local chardata = characters[item_r.char]
d = chardata and chardata.d or nil
if not d or d == 'nsm' then
@@ -292,6 +293,7 @@ function Babel.bidi(head, ispar, hdir)
-- Force mathdir in math if ON (currently works as expected only
-- with 'l')
+
if inmath and d == 'on' then
d = ('TRT' == tex.mathdir) and 'r' or 'l'
end
@@ -307,9 +309,12 @@ function Babel.bidi(head, ispar, hdir)
table.insert(nodes, {item, d, outer_first})
end
+ node.set_attribute(item, ATDIR, 128)
outer_first = nil
- end
+ ::nextnode::
+
+ end -- for each node
-- TODO -- repeated here in case EN/ET is the last node. Find a
-- better way of doing things:
@@ -470,3 +475,12 @@ function Babel.bidi(head, ispar, hdir)
return head
end
+-- Make sure anything is marked as 'bidi done' (including nodes inserted
+-- after the babel algorithm).
+function Babel.unset_atdir(head)
+ local ATDIR = Babel.attr_dir
+ for item in node.traverse(head) do
+ node.set_attribute(item, ATDIR, 128)
+ end
+ return head
+end
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
index d9e77aa25ea..837d83ff400 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\def\bbl@ca@buddhist#1-#2-#3\@@#4#5#6{%
\edef#4{\number\numexpr#1+543\relax}%
\edef#5{#2}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
index 15eed489707..cff847e02c4 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ExplSyntaxOn
\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
\def\bbl@cs@gregleap#1{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
index 449567ed8ad..43d23a1479e 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ExplSyntaxOn
\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
\def\bbl@cs@gregleap#1{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
index b1d94e1a454..95a8ef64656 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ExplSyntaxOn
\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
\def\bbl@cs@gregleap#1{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
index 8964a0c2417..315180da5af 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\newcount\bbl@cntcommon
\def\bbl@remainder#1#2#3{%
#3=#1\relax
@@ -199,7 +198,7 @@
#2=\bbl@cntcommon}
\def\bbl@hebrdayspriormonths#1#2#3{%
{\countdef\tmpf= 14
- #3=\ifcase #1\relax
+ #3=\ifcase #1
0 \or
0 \or
30 \or
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
index b769b5fcd11..28c5dd9dc03 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ExplSyntaxOn
\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
\def\bbl@cs@gregleap#1{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
index b0f26920b0b..f896cbeba63 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ExplSyntaxOn
\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
\def\bbl@cs@gregleap#1{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
index 7aa786c41cf..80ec84ca1ae 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
@@ -32,27 +32,21 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
-
-- Data from Unicode and ConTeXt
-Babel = Babel or {}
-
Babel.ranges = {
{0x0590, 0x05FF, 'r'},
{0x0600, 0x07BF, 'al'},
{0x07C0, 0x085F, 'r'},
{0x0860, 0x086F, 'al'},
{0x08A0, 0x08FF, 'al'},
- {0xE000, 0xF8FF, 'on'}, -- PUA
{0xFB1D, 0xFB4F, 'r'},
{0xFB50, 0xFDFF, 'al'},
{0xFE70, 0xFEFF, 'al'},
{0x10800, 0x10C4F, 'r'},
{0x1E800, 0x1E8DF, 'r'},
{0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'},
- {0xF0000, 0xFFFFD, 'on'}, -- PUA
- {0x100000, 0x10FFFD, 'on'} -- PUA
+ {0x1F300, 0x1F9FF, 'on'}
}
Babel.characters = {
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
index fc6e5bb17dc..49623e9f9ce 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
@@ -32,9 +32,6 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
-
-Babel = Babel or {}
-
Babel.cjk_characters = {
[0x0021]={c='ex'},
[0x0022]={c='qu'},
@@ -196,14 +193,39 @@ Babel.cjk_characters = {
[0x301D]={c='op'},
[0x301E]={c='cl'},
[0x301F]={c='cl'},
+ [0x3043]={c='cj'},
+ [0x3045]={c='cj'},
+ [0x3047]={c='cj'},
+ [0x3049]={c='cj'},
+ [0x3063]={c='cj'},
+ [0x3083]={c='cj'},
+ [0x3085]={c='cj'},
+ [0x3087]={c='cj'},
+ [0x308E]={c='cj'},
+ [0x3095]={c='cj'},
+ [0x3096]={c='cj'},
[0x303B]={c='ns'},
[0x303C]={c='ns'},
+ [0x3041]={c='cj'},
[0x309B]={c='ns'},
[0x309C]={c='ns'},
[0x309D]={c='ns'},
[0x309E]={c='ns'},
[0x30A0]={c='ns'},
+ [0x30A1]={c='cj'},
+ [0x30A3]={c='cj'},
+ [0x30A5]={c='cj'},
+ [0x30A7]={c='cj'},
+ [0x30A9]={c='cj'},
+ [0x30C3]={c='cj'},
+ [0x30E3]={c='cj'},
+ [0x30E5]={c='cj'},
+ [0x30E7]={c='cj'},
+ [0x30EE]={c='cj'},
+ [0x30F5]={c='cj'},
+ [0x30F6]={c='cj'},
[0x30FB]={c='ns'},
+ [0x30FC]={c='cj'},
[0x30FD]={c='ns'},
[0x30FE]={c='ns'},
[0xA015]={c='ns'},
@@ -273,25 +295,33 @@ Babel.cjk_characters = {
[0xFF61]={c='cl', w='h'},
[0xFF62]={c='op', w='h'},
[0xFF63]={c='cl', w='h'},
- [0xFF64]={c='cl', w='h'}
+ [0xFF64]={c='cl', w='h'},
+ [0xFF70]={c='cj'}
}
Babel.cjk_class = setmetatable ( Babel.cjk_characters, {
__index = function(_, k)
if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3
- or (k >= 0x2E80 and k <= 0x9FFF)
+ or (k >= 0x2E80 and k <= 0x31E9) -- Skip small
+ or (k >= 0x3200 and k <= 0x9FFF)
or (k >= 0xA000 and k <= 0xA48F) -- Yi
or (k >= 0xA490 and k <= 0xA4CF) -- Yi
or (k >= 0xF900 and k <= 0xFAFF)
or (k >= 0xFE10 and k <= 0xFE1F)
or (k >= 0xFE30 and k <= 0xFE6F)
- or (k >= 0xFF00 and k <= 0xFFEF)
+ or (k >= 0xFF00 and k <= 0xFF66) -- Skip small
+ or (k >= 0xFF70 and k <= 0xFFEF)
or (k >= 0x1F000 and k <= 0x1FFFD)
or (k >= 0x20000 and k <= 0x2FFFD)
or (k >= 0x30000 and k <= 0x3FFFD) then
return {c='I'}
elseif (k >= 0x20A0 and k <= 0x20CF) then
return {c='pr'}
+ elseif (k >= 0x31F0 and k <= 0x31FF)
+ or (k >= 0xFF67 and k <= 0xFF6F)
+ or (k >= 0x1B150 and k <= 0x1B152)
+ or (k >= 0x1B164 and k <= 0x1B167) then
+ return {c='cj'}
else
return {c='O'}
end
diff --git a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
index 08ee95e770c..3e14af381d0 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
@@ -32,29 +32,16 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
-
Babel.linebreaking.replacements = {}
Babel.linebreaking.replacements[0] = {} -- pre
Babel.linebreaking.replacements[1] = {} -- post
--- Discretionaries contain strings as nodes
-function Babel.str_to_nodes(fn, matches, base)
- local n, head, last
- if fn == nil then return nil end
- for s in string.utfvalues(fn(matches)) do
- if base.id == 7 then
- base = base.replace
- end
- n = node.copy(base)
- n.char = s
- if not head then
- head = n
- else
- last.next = n
- end
- last = n
+function Babel.tovalue(v)
+ if type(v) == 'table' then
+ return Babel.locale_props[v[1]].vars[v[2]] or v[3]
+ else
+ return v
end
- return head
end
Babel.fetch_subtext = {}
@@ -187,6 +174,7 @@ Babel.us_char = string.char(31)
function Babel.hyphenate_replace(head, mode)
local u = unicode.utf8
local lbkr = Babel.linebreaking.replacements[mode]
+ local tovalue = Babel.tovalue
local word_head = head
@@ -390,9 +378,9 @@ function Babel.hyphenate_replace(head, mode)
d.replace = Babel.str_to_nodes(crep.no, matches, item_base)
d.attr = item_base.attr
if crep.pre == nil then -- TeXbook p96
- d.penalty = crep.penalty or tex.hyphenpenalty
+ d.penalty = tovalue(crep.penalty) or tex.hyphenpenalty
else
- d.penalty = crep.penalty or tex.exhyphenpenalty
+ d.penalty = tovalue(crep.penalty) or tex.exhyphenpenalty
end
placeholder = '|'
head, new = node.insert_before(head, item, d)
@@ -403,16 +391,16 @@ function Babel.hyphenate_replace(head, mode)
elseif crep and crep.penalty then
d = node.new(14, 0) -- (penalty, userpenalty)
d.attr = item_base.attr
- d.penalty = crep.penalty
+ d.penalty = tovalue(crep.penalty)
head, new = node.insert_before(head, item, d)
elseif crep and crep.space then
-- 655360 = 10 pt = 10 * 65536 sp
d = node.new(12, 13) -- (glue, spaceskip)
local quad = font.getfont(item_base.font).size or 655360
- node.setglue(d, crep.space[1] * quad,
- crep.space[2] * quad,
- crep.space[3] * quad)
+ node.setglue(d, tovalue(crep.space[1]) * quad,
+ tovalue(crep.space[2]) * quad,
+ tovalue(crep.space[3]) * quad)
if mode == 0 then
placeholder = ' '
end
@@ -422,18 +410,18 @@ function Babel.hyphenate_replace(head, mode)
-- 655360 = 10 pt = 10 * 65536 sp
d = node.new(2, 3) -- (rule, empty) = \no*rule
local quad = font.getfont(item_base.font).size or 655360
- d.width = crep.norule[1] * quad
- d.height = crep.norule[2] * quad
- d.depth = crep.norule[3] * quad
+ d.width = tovalue(crep.norule[1]) * quad
+ d.height = tovalue(crep.norule[2]) * quad
+ d.depth = tovalue(crep.norule[3]) * quad
head, new = node.insert_before(head, item, d)
elseif crep and crep.spacefactor then
d = node.new(12, 13) -- (glue, spaceskip)
local base_font = font.getfont(item_base.font)
node.setglue(d,
- crep.spacefactor[1] * base_font.parameters['space'],
- crep.spacefactor[2] * base_font.parameters['space_stretch'],
- crep.spacefactor[3] * base_font.parameters['space_shrink'])
+ tovalue(crep.spacefactor[1]) * base_font.parameters['space'],
+ tovalue(crep.spacefactor[2]) * base_font.parameters['space_stretch'],
+ tovalue(crep.spacefactor[3]) * base_font.parameters['space_shrink'])
if mode == 0 then
placeholder = ' '
end
@@ -446,7 +434,7 @@ function Babel.hyphenate_replace(head, mode)
d = node.new(13, 1) -- (kern, user)
local quad = font.getfont(item_base.font).size or 655360
d.attr = item_base.attr
- d.kern = crep.kern * quad
+ d.kern = tovalue(crep.kern) * quad
head, new = node.insert_before(head, item, d)
elseif crep and crep.node then
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index d7a24d8540c..bef836d3966 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ifx\ldf@quit\@undefined\else
\endinput\fi % Same line!
\ifx\ProvidesFile\@undefined
@@ -40,8 +39,8 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2024/06/02 v24.6 Babel common definitions]
-\ifx\AtBeginDocument\@undefined % TODO. change test.
+\ProvidesFile{babel.def}[2024/11/08 v24.13 Babel common definitions]
+\ifx\AtBeginDocument\@undefined
\def\@empty{}
\def\loadlocalcfg#1{%
\openin0#1.cfg
@@ -596,8 +595,8 @@
\toks@\expandafter{\bbl@tempc#3}%
\expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
\fi}
-\def\bbl@version{24.6}
-\def\bbl@date{2024/06/02}
+\def\bbl@version{24.13}
+\def\bbl@date{2024/11/08}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -722,10 +721,9 @@
\edef\bbl@id@last{\the\count@}%
\ifcase\bbl@engine\or
\directlua{
- Babel = Babel or {}
- Babel.locale_props = Babel.locale_props or {}
Babel.locale_props[\bbl@id@last] = {}
Babel.locale_props[\bbl@id@last].name = '\languagename'
+ Babel.locale_props[\bbl@id@last].vars = {}
}%
\fi}%
{}%
@@ -738,30 +736,8 @@
\let\endselectlanguage\relax
\def\BabelContentsFiles{toc,lof,lot}
\def\bbl@set@language#1{% from selectlanguage, pop@
- % The old buggy way. Preserved for compatibility.
- \edef\languagename{%
- \ifnum\escapechar=\expandafter`\string#1\@empty
- \else\string#1\@empty\fi}%
- \ifcat\relax\noexpand#1%
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \edef\languagename{#1}%
- \let\localename\languagename
- \else
- \bbl@info{Using '\string\language' instead of 'language' is\\%
- deprecated. If what you want is to use a\\%
- macro containing the actual locale, make\\%
- sure it does not not match any language.\\%
- Reported}%
- \ifx\scantokens\@undefined
- \def\localename{??}%
- \else
- \scantokens\expandafter{\expandafter
- \def\expandafter\localename\expandafter{\languagename}}%
- \fi
- \fi
- \else
- \def\localename{#1}% This one has the correct catcodes
- \fi
+ % The old buggy way. Preserved for compatibility, but simplified
+ \edef\languagename{\expandafter\string#1\@empty}%
\select@language{\languagename}%
% write to auxs
\expandafter\ifx\csname date\languagename\endcsname\relax\else
@@ -776,18 +752,21 @@
\fi}
\let\bbl@restorelastskip\relax
\let\bbl@savelastskip\relax
-\newif\ifbbl@bcpallowed
-\bbl@bcpallowedfalse
-\def\select@language#1{% from set@, babel@aux
+\def\select@language#1{% from set@, babel@aux, babel@toc
\ifx\bbl@selectorname\@empty
\def\bbl@selectorname{select}%
- % set hymap
\fi
+ % set hymap
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
- % set name
+ % set name (when coming from babel@aux)
\edef\languagename{#1}%
\bbl@fixname\languagename
- % TODO. name@map must be here?
+ % define \localename when coming from set@, with a trick
+ \ifx\scantokens\@undefined
+ \def\localename{??}%
+ \else
+ \bbl@exp{\\\scantokens{\def\\\localename{\languagename}\\\noexpand}\relax}%
+ \fi
\bbl@provide@locale
\bbl@iflanguage\languagename{%
\let\bbl@select@type\z@
@@ -795,7 +774,7 @@
\def\babel@aux#1#2{%
\select@language{#1}%
\bbl@foreach\BabelContentsFiles{% \relax -> don't assume vertical mode
- \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% TODO - plain?
+ \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}%
\def\babel@toc#1#2{%
\select@language{#1}}
\newif\ifbbl@usedategroup
@@ -824,7 +803,7 @@
\csname captions#1\endcsname\relax
\fi
\bbl@xin@{,date,}{,\bbl@select@opts,}%
- \ifin@ % if \foreign... within \<lang>date
+ \ifin@ % if \foreign... within \<language>date
\csname date#1\endcsname\relax
\fi
\fi
@@ -864,6 +843,12 @@
\ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida
\ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan)
\ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font
+ % hyphenation - save mins
+ \babel@savevariable\lefthyphenmin
+ \babel@savevariable\righthyphenmin
+ \ifnum\bbl@engine=\@ne
+ \babel@savevariable\hyphenationmin
+ \fi
\ifin@
% unhyphenated/kashida/elongated/padding = allow stretching
\language\l@unhyphenated
@@ -875,16 +860,18 @@
% other = select patterns
\bbl@patterns{#1}%
\fi
- % hyphenation - mins
- \babel@savevariable\lefthyphenmin
- \babel@savevariable\righthyphenmin
+ % hyphenation - set mins
\expandafter\ifx\csname #1hyphenmins\endcsname\relax
\set@hyphenmins\tw@\thr@@\relax
+ \@nameuse{bbl@hyphenmins@}%
\else
\expandafter\expandafter\expandafter\set@hyphenmins
\csname #1hyphenmins\endcsname\relax
\fi
- % reset selector name
+ \@nameuse{bbl@hyphenmins@}%
+ \@nameuse{bbl@hyphenmins@\languagename}%
+ \@nameuse{bbl@hyphenatmin@}%
+ \@nameuse{bbl@hyphenatmin@\languagename}%
\let\bbl@selectorname\@empty}
\long\def\otherlanguage#1{%
\def\bbl@selectorname{other}%
@@ -928,6 +915,9 @@
\BabelText{#2}% Still in vertical mode!
{\par}%
\endgroup}
+\providecommand\BabelWrapText[1]{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \expandafter\bbl@tempa\expandafter{\BabelText{#1}}}
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
@@ -936,6 +926,7 @@
\bbl@usedategroupfalse
\fi
\bbl@fixname\languagename
+ \let\localename\languagename
% TODO. name@map here?
\bbl@provide@locale
\bbl@iflanguage\languagename{%
@@ -1054,13 +1045,91 @@
preloaded for \bbl@nulllanguage\space instead}}
\let\bbl@usehooks\@gobbletwo
\ifx\bbl@onlyswitch\@empty\endinput\fi
- % Here ended switch.def
+\bbl@trace{Defining babelensure}
+\newcommand\babelensure[2][]{%
+ \AddBabelHook{babel-ensure}{afterextras}{%
+ \ifcase\bbl@select@type
+ \bbl@cl{e}%
+ \fi}%
+ \begingroup
+ \let\bbl@ens@include\@empty
+ \let\bbl@ens@exclude\@empty
+ \def\bbl@ens@fontenc{\relax}%
+ \def\bbl@tempb##1{%
+ \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}%
+ \edef\bbl@tempa{\bbl@tempb#1\@empty}%
+ \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}%
+ \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}%
+ \def\bbl@tempc{\bbl@ensure}%
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@include}}%
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@exclude}}%
+ \toks@\expandafter{\bbl@tempc}%
+ \bbl@exp{%
+ \endgroup
+ \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}}
+\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc
+ \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list
+ \ifx##1\@undefined % 3.32 - Don't assume the macro exists
+ \edef##1{\noexpand\bbl@nocaption
+ {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}%
+ \fi
+ \ifx##1\@empty\else
+ \in@{##1}{#2}%
+ \ifin@\else
+ \bbl@ifunset{bbl@ensure@\languagename}%
+ {\bbl@exp{%
+ \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{%
+ \\\foreignlanguage{\languagename}%
+ {\ifx\relax#3\else
+ \\\fontencoding{#3}\\\selectfont
+ \fi
+ ########1}}}}%
+ {}%
+ \toks@\expandafter{##1}%
+ \edef##1{%
+ \bbl@csarg\noexpand{ensure@\languagename}%
+ {\the\toks@}}%
+ \fi
+ \expandafter\bbl@tempb
+ \fi}%
+ \expandafter\bbl@tempb\bbl@captionslist\today\@empty
+ \def\bbl@tempa##1{% elt for include list
+ \ifx##1\@empty\else
+ \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}%
+ \ifin@\else
+ \bbl@tempb##1\@empty
+ \fi
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa#1\@empty}
+\def\bbl@captionslist{%
+ \prefacename\refname\abstractname\bibname\chaptername\appendixname
+ \contentsname\listfigurename\listtablename\indexname\figurename
+ \tablename\partname\enclname\ccname\headtoname\pagename\seename
+ \alsoname\proofname\glossaryname}
+\bbl@trace{Short tags}
+\newcommand\babeltags[1]{%
+ \edef\bbl@tempa{\zap@space#1 \@empty}%
+ \def\bbl@tempb##1=##2\@@{%
+ \edef\bbl@tempc{%
+ \noexpand\newcommand
+ \expandafter\noexpand\csname ##1\endcsname{%
+ \noexpand\protect
+ \expandafter\noexpand\csname otherlanguage*\endcsname{##2}}
+ \noexpand\newcommand
+ \expandafter\noexpand\csname text##1\endcsname{%
+ \noexpand\foreignlanguage{##2}}}
+ \bbl@tempc}%
+ \bbl@for\bbl@tempa\bbl@tempa{%
+ \expandafter\bbl@tempb\bbl@tempa\@@}}
+\bbl@trace{Compatibility with language.def}
\ifx\directlua\@undefined\else
\ifx\bbl@luapatterns\@undefined
\input luababel.def
\fi
\fi
-\bbl@trace{Compatibility with language.def}
\ifx\bbl@languages\@undefined
\ifx\directlua\@undefined
\openin1 = language.def % TODO. Remove hardcoded number
@@ -1093,28 +1162,6 @@
\xdef#1{\the\toks@}}%
\fi
\fi}
-\def\bbl@withactive#1#2{%
- \begingroup
- \lccode`~=`#2\relax
- \lowercase{\endgroup#1~}}
-\def\bbl@redefine#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \expandafter\def\csname\bbl@tempa\endcsname}
-\@onlypreamble\bbl@redefine
-\def\bbl@redefine@long#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \long\expandafter\def\csname\bbl@tempa\endcsname}
-\@onlypreamble\bbl@redefine@long
-\def\bbl@redefinerobust#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \bbl@ifunset{\bbl@tempa\space}%
- {\expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}%
- {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}%
- \@namedef{\bbl@tempa\space}}
-\@onlypreamble\bbl@redefinerobust
\bbl@trace{Hooks}
\newcommand\AddBabelHook[3][]{%
\bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}%
@@ -1148,70 +1195,8 @@
\def\bbl@tempa#1=#2\@@{\NewHook{babel/#1}}
\bbl@foreach\bbl@evargs{\bbl@tempa#1\@@}
\fi
-\bbl@trace{Defining babelensure}
-\newcommand\babelensure[2][]{%
- \AddBabelHook{babel-ensure}{afterextras}{%
- \ifcase\bbl@select@type
- \bbl@cl{e}%
- \fi}%
- \begingroup
- \let\bbl@ens@include\@empty
- \let\bbl@ens@exclude\@empty
- \def\bbl@ens@fontenc{\relax}%
- \def\bbl@tempb##1{%
- \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}%
- \edef\bbl@tempa{\bbl@tempb#1\@empty}%
- \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}%
- \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}%
- \def\bbl@tempc{\bbl@ensure}%
- \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
- \expandafter{\bbl@ens@include}}%
- \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
- \expandafter{\bbl@ens@exclude}}%
- \toks@\expandafter{\bbl@tempc}%
- \bbl@exp{%
- \endgroup
- \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}}
-\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc
- \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list
- \ifx##1\@undefined % 3.32 - Don't assume the macro exists
- \edef##1{\noexpand\bbl@nocaption
- {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}%
- \fi
- \ifx##1\@empty\else
- \in@{##1}{#2}%
- \ifin@\else
- \bbl@ifunset{bbl@ensure@\languagename}%
- {\bbl@exp{%
- \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{%
- \\\foreignlanguage{\languagename}%
- {\ifx\relax#3\else
- \\\fontencoding{#3}\\\selectfont
- \fi
- ########1}}}}%
- {}%
- \toks@\expandafter{##1}%
- \edef##1{%
- \bbl@csarg\noexpand{ensure@\languagename}%
- {\the\toks@}}%
- \fi
- \expandafter\bbl@tempb
- \fi}%
- \expandafter\bbl@tempb\bbl@captionslist\today\@empty
- \def\bbl@tempa##1{% elt for include list
- \ifx##1\@empty\else
- \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}%
- \ifin@\else
- \bbl@tempb##1\@empty
- \fi
- \expandafter\bbl@tempa
- \fi}%
- \bbl@tempa#1\@empty}
-\def\bbl@captionslist{%
- \prefacename\refname\abstractname\bibname\chaptername\appendixname
- \contentsname\listfigurename\listtablename\indexname\figurename
- \tablename\partname\enclname\ccname\headtoname\pagename\seename
- \alsoname\proofname\glossaryname}
+\providecommand\PassOptionsToLocale[2]{%
+ \bbl@csarg\bbl@add@list{passto@#2}{#1}}
\bbl@trace{Macros for setting language files up}
\def\bbl@ldfinit{%
\let\bbl@screset\@empty
@@ -1244,7 +1229,7 @@
\catcode`\@=\atcatcode \let\atcatcode\relax
\catcode`\==\eqcatcode \let\eqcatcode\relax
\endinput}
-\def\bbl@afterldf#1{% TODO. Merge into the next macro? Unused elsewhere
+\def\bbl@afterldf#1{%
\bbl@afterlang
\let\bbl@afterlang\relax
\let\BabelModifiers\relax
@@ -1260,11 +1245,14 @@
\@onlypreamble\ldf@finish
\def\main@language#1{%
\def\bbl@main@language{#1}%
- \let\languagename\bbl@main@language % TODO. Set localename
+ \let\languagename\bbl@main@language
+ \let\localename\bbl@main@language
+ \let\mainlocalename\bbl@main@language
\bbl@id@assign
\bbl@patterns{\languagename}}
\def\bbl@beforestart{%
\def\@nolanerr##1{%
+ \bbl@carg\chardef{l@##1}\z@
\bbl@warning{Undefined language '##1' in aux.\\Reported}}%
\bbl@usehooks{beforestart}{}%
\global\let\bbl@beforestart\relax}
@@ -1272,8 +1260,8 @@
{\@nameuse{bbl@beforestart}}% Group!
\if@filesw
\providecommand\babel@aux[2]{}%
- \immediate\write\@mainaux{%
- \string\providecommand\string\babel@aux[2]{}}%
+ \immediate\write\@mainaux{\unexpanded{%
+ \providecommand\babel@aux[2]{\global\let\babel@toc\@gobbletwo}}}%
\immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}%
\fi
\expandafter\selectlanguage\expandafter{\bbl@main@language}%
@@ -1283,7 +1271,7 @@
\global\let\babel@aux\@gobbletwo % Also as flag
\fi}
\ifcase\bbl@engine\or
- \AtBeginDocument{\pagedir\bodydir} % TODO - a better place
+ \AtBeginDocument{\pagedir\bodydir}
\fi
\def\select@language@x#1{%
\ifcase\bbl@select@type
@@ -1292,6 +1280,10 @@
\select@language{#1}%
\fi}
\bbl@trace{Shorhands}
+\def\bbl@withactive#1#2{%
+ \begingroup
+ \lccode`~=`#2\relax
+ \lowercase{\endgroup#1~}}
\def\bbl@add@special#1{% 1:a macro like \", \?, etc.
\bbl@add\dospecials{\do#1}% test @sanitize = \relax, for back. compat.
\bbl@ifunset{@sanitize}{}{\bbl@add\@sanitize{\@makeother#1}}%
@@ -1306,18 +1298,6 @@
\endgroup
\fi
\fi}
-\def\bbl@remove@special#1{%
- \begingroup
- \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
- \else\noexpand##1\noexpand##2\fi}%
- \def\do{\x\do}%
- \def\@makeother{\x\@makeother}%
- \edef\x{\endgroup
- \def\noexpand\dospecials{\dospecials}%
- \expandafter\ifx\csname @sanitize\endcsname\relax\else
- \def\noexpand\@sanitize{\@sanitize}%
- \fi}%
- \x}
\def\bbl@active@def#1#2#3#4{%
\@namedef{#3#1}{%
\expandafter\ifx\csname#2@sh@#1@\endcsname\relax
@@ -1420,7 +1400,7 @@
\bbl@afterfi\csname#1@sh@#2@sel\endcsname
\fi}
\begingroup
-\bbl@ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain?
+\bbl@ifunset{ifincsname}%
{\gdef\active@prefix#1{%
\ifx\protect\@typeset@protect
\else
@@ -1461,7 +1441,6 @@
\csname bbl@normal@\string#1\endcsname}
\def\bbl@firstcs#1#2{\csname#1\endcsname}
\def\bbl@scndcs#1#2{\csname#2\endcsname}
-
\def\babel@texpdf#1#2#3#4{%
\ifx\texorpdfstring\@undefined
\textormath{#1}{#3}%
@@ -1502,7 +1481,7 @@
\expandafter\@firstoftwo
\fi}
\def\user@group{user}
-\def\language@group{english} % TODO. I don't like defaults
+\def\language@group{english}
\def\system@group{system}
\def\useshorthands{%
\@ifstar\bbl@usesh@s{\bbl@usesh@x{}}}
@@ -1717,6 +1696,24 @@
\def\babel@savevariable#1{%
\toks@\expandafter{\originalTeX #1=}%
\bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
+\def\bbl@redefine#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine
+\def\bbl@redefine@long#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \long\expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine@long
+\def\bbl@redefinerobust#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \bbl@ifunset{\bbl@tempa\space}%
+ {\expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}%
+ {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}%
+ \@namedef{\bbl@tempa\space}}
+\@onlypreamble\bbl@redefinerobust
\def\bbl@frenchspacing{%
\ifnum\the\sfcode`\.=\@m
\let\bbl@nonfrenchspacing\relax
@@ -1753,21 +1750,6 @@
\fi}%
\bbl@fs@chars
\fi\fi\fi}
-\bbl@trace{Short tags}
-\def\babeltags#1{%
- \edef\bbl@tempa{\zap@space#1 \@empty}%
- \def\bbl@tempb##1=##2\@@{%
- \edef\bbl@tempc{%
- \noexpand\newcommand
- \expandafter\noexpand\csname ##1\endcsname{%
- \noexpand\protect
- \expandafter\noexpand\csname otherlanguage*\endcsname{##2}}
- \noexpand\newcommand
- \expandafter\noexpand\csname text##1\endcsname{%
- \noexpand\foreignlanguage{##2}}}
- \bbl@tempc}%
- \bbl@for\bbl@tempa\bbl@tempa{%
- \expandafter\bbl@tempb\bbl@tempa\@@}}
\bbl@trace{Hyphens}
\@onlypreamble\babelhyphenation
\AtEndOfPackage{%
@@ -1794,6 +1776,23 @@
{\csname bbl@hyphenation@\bbl@tempa\endcsname\space}%
#2}}}%
\fi}}
+\ifx\NewDocumentCommand\@undefined\else
+ \NewDocumentCommand\babelhyphenmins{sommo}{%
+ \IfNoValueTF{#2}%
+ {\protected@edef\bbl@hyphenmins@{\set@hyphenmins{#3}{#4}}%
+ \IfValueT{#5}{%
+ \protected@edef\bbl@hyphenatmin@{\hyphenationmin=#5\relax}}%
+ \IfBooleanT{#1}{%
+ \lefthyphenmin=#3\relax
+ \righthyphenmin=#4\relax
+ \IfValueT{#5}{\hyphenationmin=#5\relax}}}%
+ {\edef\bbl@tempb{\zap@space#2 \@empty}%
+ \bbl@for\bbl@tempa\bbl@tempb{%
+ \@namedef{bbl@hyphenmins@\bbl@tempa}{\set@hyphenmins{#3}{#4}}%
+ \IfValueT{#5}{%
+ \@namedef{bbl@hyphenatmin@\bbl@tempa}{\hyphenationmin=#5\relax}}}%
+ \IfBooleanT{#1}{\bbl@error{hyphenmins-args}{}{}{}}}}
+\fi
\def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi}
\def\bbl@t@one{T1}
\def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
@@ -2026,7 +2025,7 @@
\bbl@xin@{,}{\bbl@language@opts}%
\chardef\bbl@opt@hyphenmap\ifin@4\else\@ne\fi
\fi}
-\newcommand\setlocalecaption{% TODO. Catch typos.
+\newcommand\setlocalecaption{%
\@ifstar\bbl@setcaption@s\bbl@setcaption@x}
\def\bbl@setcaption@x#1#2#3{% language caption-name string
\bbl@trim@def\bbl@tempa{#2}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 71582e98272..c30933da249 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -32,21 +32,24 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
-\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2024/06/02 v24.6 The Babel package]
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{babel}%
+ [2024/11/08 v24.13
+ The multilingual framework for pdfLaTeX, LuaLaTeX and XeLaTeX]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
\ifx\directlua\@undefined\else
- \directlua{ Babel = Babel or {}
+ \directlua{
+ Babel = Babel or {}
Babel.debug = true }%
\input{babel-debug.tex}%
\fi}
{\providecommand\bbl@trace[1]{}%
\let\bbl@debug\@gobble
\ifx\directlua\@undefined\else
- \directlua{ Babel = Babel or {}
+ \directlua{
+ Babel = Babel or {}
Babel.debug = false }%
\fi}
\def\bbl@error#1{% Implicit #2#3#4
@@ -308,7 +311,7 @@
#1\ifx\@empty#2\else,\bbl@afterfi\bbl@tempb#2\fi}%
\def\bbl@tempe#1=#2\@@{%
\bbl@csarg\edef{mod@#1}{\bbl@tempb#2}}
-\def\bbl@tempd#1.#2\@nnil{% TODO. Refactor lists?
+\def\bbl@tempd#1.#2\@nnil{%
\ifx\@empty#2%
\edef\bbl@tempc{\ifx\bbl@tempc\@empty\else\bbl@tempc,\fi#1}%
\else
@@ -317,7 +320,7 @@
\edef\bbl@tempc{%
\ifx\bbl@tempc\@empty\else\bbl@tempc,\fi#1.\bbl@tempb#2}%
\else
- \in@{$modifiers$}{$#1$}% TODO. Allow spaces.
+ \in@{$modifiers$}{$#1$}%
\ifin@
\bbl@tempe#2\@@
\else
@@ -344,8 +347,8 @@
\DeclareOption{shorthands=off}{\bbl@tempa shorthands=\bbl@tempa}
\chardef\bbl@iniflag\z@
\DeclareOption{provide=*}{\chardef\bbl@iniflag\@ne} % main -> +1
-\DeclareOption{provide+=*}{\chardef\bbl@iniflag\tw@} % add = 2
-\DeclareOption{provide*=*}{\chardef\bbl@iniflag\thr@@} % add + main
+\DeclareOption{provide+=*}{\chardef\bbl@iniflag\tw@} % second = 2
+\DeclareOption{provide*=*}{\chardef\bbl@iniflag\thr@@} % second + main
\let\bbl@autoload@options\@empty
\DeclareOption{provide@=*}{\def\bbl@autoload@options{import}}
\newif\ifbbl@single
@@ -407,7 +410,6 @@
\in@{,provide,}{,#1,}%
\ifin@
\def\bbl@opt@provide{#2}%
- \bbl@replace\bbl@opt@provide{;}{,}%
\fi}
\fi
\bbl@trace{Conditional loading of shorthands}
@@ -466,8 +468,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{24.6}
-\def\bbl@date{2024/06/02}
+\def\bbl@version{24.13}
+\def\bbl@date{2024/11/08}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -547,34 +549,6 @@
\fi
\fi\fi}
\let\bbl@initoload\relax
-\def\bbl@provide@locale{%
- \ifx\babelprovide\@undefined
- \bbl@error{base-on-the-fly}{}{}{}%
- \fi
- \let\bbl@auxname\languagename % Still necessary. TODO
- \bbl@ifunset{bbl@bcp@map@\languagename}{}% Move uplevel??
- {\edef\languagename{\@nameuse{bbl@bcp@map@\languagename}}}%
- \ifbbl@bcpallowed
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \expandafter
- \bbl@bcplookup\languagename-\@empty-\@empty-\@empty\@@
- \ifx\bbl@bcp\relax\else % Returned by \bbl@bcplookup
- \edef\languagename{\bbl@bcp@prefix\bbl@bcp}%
- \edef\localename{\bbl@bcp@prefix\bbl@bcp}%
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \let\bbl@initoload\bbl@bcp
- \bbl@exp{\\\babelprovide[\bbl@autoload@bcpoptions]{\languagename}}%
- \let\bbl@initoload\relax
- \fi
- \bbl@csarg\xdef{bcp@map@\bbl@bcp}{\localename}%
- \fi
- \fi
- \fi
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \IfFileExists{babel-\languagename.tex}%
- {\bbl@exp{\\\babelprovide[\bbl@autoload@options]{\languagename}}}%
- {}%
- \fi}
\def\iflanguage#1{%
\bbl@iflanguage{#1}{%
\ifnum\csname l@#1\endcsname=\language
@@ -620,10 +594,9 @@
\edef\bbl@id@last{\the\count@}%
\ifcase\bbl@engine\or
\directlua{
- Babel = Babel or {}
- Babel.locale_props = Babel.locale_props or {}
Babel.locale_props[\bbl@id@last] = {}
Babel.locale_props[\bbl@id@last].name = '\languagename'
+ Babel.locale_props[\bbl@id@last].vars = {}
}%
\fi}%
{}%
@@ -636,30 +609,8 @@
\let\endselectlanguage\relax
\def\BabelContentsFiles{toc,lof,lot}
\def\bbl@set@language#1{% from selectlanguage, pop@
- % The old buggy way. Preserved for compatibility.
- \edef\languagename{%
- \ifnum\escapechar=\expandafter`\string#1\@empty
- \else\string#1\@empty\fi}%
- \ifcat\relax\noexpand#1%
- \expandafter\ifx\csname date\languagename\endcsname\relax
- \edef\languagename{#1}%
- \let\localename\languagename
- \else
- \bbl@info{Using '\string\language' instead of 'language' is\\%
- deprecated. If what you want is to use a\\%
- macro containing the actual locale, make\\%
- sure it does not not match any language.\\%
- Reported}%
- \ifx\scantokens\@undefined
- \def\localename{??}%
- \else
- \scantokens\expandafter{\expandafter
- \def\expandafter\localename\expandafter{\languagename}}%
- \fi
- \fi
- \else
- \def\localename{#1}% This one has the correct catcodes
- \fi
+ % The old buggy way. Preserved for compatibility, but simplified
+ \edef\languagename{\expandafter\string#1\@empty}%
\select@language{\languagename}%
% write to auxs
\expandafter\ifx\csname date\languagename\endcsname\relax\else
@@ -674,18 +625,21 @@
\fi}
\let\bbl@restorelastskip\relax
\let\bbl@savelastskip\relax
-\newif\ifbbl@bcpallowed
-\bbl@bcpallowedfalse
-\def\select@language#1{% from set@, babel@aux
+\def\select@language#1{% from set@, babel@aux, babel@toc
\ifx\bbl@selectorname\@empty
\def\bbl@selectorname{select}%
- % set hymap
\fi
+ % set hymap
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
- % set name
+ % set name (when coming from babel@aux)
\edef\languagename{#1}%
\bbl@fixname\languagename
- % TODO. name@map must be here?
+ % define \localename when coming from set@, with a trick
+ \ifx\scantokens\@undefined
+ \def\localename{??}%
+ \else
+ \bbl@exp{\\\scantokens{\def\\\localename{\languagename}\\\noexpand}\relax}%
+ \fi
\bbl@provide@locale
\bbl@iflanguage\languagename{%
\let\bbl@select@type\z@
@@ -693,7 +647,7 @@
\def\babel@aux#1#2{%
\select@language{#1}%
\bbl@foreach\BabelContentsFiles{% \relax -> don't assume vertical mode
- \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% TODO - plain?
+ \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}%
\def\babel@toc#1#2{%
\select@language{#1}}
\newif\ifbbl@usedategroup
@@ -722,7 +676,7 @@
\csname captions#1\endcsname\relax
\fi
\bbl@xin@{,date,}{,\bbl@select@opts,}%
- \ifin@ % if \foreign... within \<lang>date
+ \ifin@ % if \foreign... within \<language>date
\csname date#1\endcsname\relax
\fi
\fi
@@ -762,6 +716,12 @@
\ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida
\ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan)
\ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font
+ % hyphenation - save mins
+ \babel@savevariable\lefthyphenmin
+ \babel@savevariable\righthyphenmin
+ \ifnum\bbl@engine=\@ne
+ \babel@savevariable\hyphenationmin
+ \fi
\ifin@
% unhyphenated/kashida/elongated/padding = allow stretching
\language\l@unhyphenated
@@ -773,16 +733,18 @@
% other = select patterns
\bbl@patterns{#1}%
\fi
- % hyphenation - mins
- \babel@savevariable\lefthyphenmin
- \babel@savevariable\righthyphenmin
+ % hyphenation - set mins
\expandafter\ifx\csname #1hyphenmins\endcsname\relax
\set@hyphenmins\tw@\thr@@\relax
+ \@nameuse{bbl@hyphenmins@}%
\else
\expandafter\expandafter\expandafter\set@hyphenmins
\csname #1hyphenmins\endcsname\relax
\fi
- % reset selector name
+ \@nameuse{bbl@hyphenmins@}%
+ \@nameuse{bbl@hyphenmins@\languagename}%
+ \@nameuse{bbl@hyphenatmin@}%
+ \@nameuse{bbl@hyphenatmin@\languagename}%
\let\bbl@selectorname\@empty}
\long\def\otherlanguage#1{%
\def\bbl@selectorname{other}%
@@ -826,6 +788,9 @@
\BabelText{#2}% Still in vertical mode!
{\par}%
\endgroup}
+\providecommand\BabelWrapText[1]{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \expandafter\bbl@tempa\expandafter{\BabelText{#1}}}
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
@@ -834,6 +799,7 @@
\bbl@usedategroupfalse
\fi
\bbl@fixname\languagename
+ \let\localename\languagename
% TODO. name@map here?
\bbl@provide@locale
\bbl@iflanguage\languagename{%
@@ -952,13 +918,91 @@
preloaded for \bbl@nulllanguage\space instead}}
\let\bbl@usehooks\@gobbletwo
\ifx\bbl@onlyswitch\@empty\endinput\fi
- % Here ended switch.def
+\bbl@trace{Defining babelensure}
+\newcommand\babelensure[2][]{%
+ \AddBabelHook{babel-ensure}{afterextras}{%
+ \ifcase\bbl@select@type
+ \bbl@cl{e}%
+ \fi}%
+ \begingroup
+ \let\bbl@ens@include\@empty
+ \let\bbl@ens@exclude\@empty
+ \def\bbl@ens@fontenc{\relax}%
+ \def\bbl@tempb##1{%
+ \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}%
+ \edef\bbl@tempa{\bbl@tempb#1\@empty}%
+ \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}%
+ \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}%
+ \def\bbl@tempc{\bbl@ensure}%
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@include}}%
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@exclude}}%
+ \toks@\expandafter{\bbl@tempc}%
+ \bbl@exp{%
+ \endgroup
+ \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}}
+\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc
+ \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list
+ \ifx##1\@undefined % 3.32 - Don't assume the macro exists
+ \edef##1{\noexpand\bbl@nocaption
+ {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}%
+ \fi
+ \ifx##1\@empty\else
+ \in@{##1}{#2}%
+ \ifin@\else
+ \bbl@ifunset{bbl@ensure@\languagename}%
+ {\bbl@exp{%
+ \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{%
+ \\\foreignlanguage{\languagename}%
+ {\ifx\relax#3\else
+ \\\fontencoding{#3}\\\selectfont
+ \fi
+ ########1}}}}%
+ {}%
+ \toks@\expandafter{##1}%
+ \edef##1{%
+ \bbl@csarg\noexpand{ensure@\languagename}%
+ {\the\toks@}}%
+ \fi
+ \expandafter\bbl@tempb
+ \fi}%
+ \expandafter\bbl@tempb\bbl@captionslist\today\@empty
+ \def\bbl@tempa##1{% elt for include list
+ \ifx##1\@empty\else
+ \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}%
+ \ifin@\else
+ \bbl@tempb##1\@empty
+ \fi
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa#1\@empty}
+\def\bbl@captionslist{%
+ \prefacename\refname\abstractname\bibname\chaptername\appendixname
+ \contentsname\listfigurename\listtablename\indexname\figurename
+ \tablename\partname\enclname\ccname\headtoname\pagename\seename
+ \alsoname\proofname\glossaryname}
+\bbl@trace{Short tags}
+\newcommand\babeltags[1]{%
+ \edef\bbl@tempa{\zap@space#1 \@empty}%
+ \def\bbl@tempb##1=##2\@@{%
+ \edef\bbl@tempc{%
+ \noexpand\newcommand
+ \expandafter\noexpand\csname ##1\endcsname{%
+ \noexpand\protect
+ \expandafter\noexpand\csname otherlanguage*\endcsname{##2}}
+ \noexpand\newcommand
+ \expandafter\noexpand\csname text##1\endcsname{%
+ \noexpand\foreignlanguage{##2}}}
+ \bbl@tempc}%
+ \bbl@for\bbl@tempa\bbl@tempa{%
+ \expandafter\bbl@tempb\bbl@tempa\@@}}
+\bbl@trace{Compatibility with language.def}
\ifx\directlua\@undefined\else
\ifx\bbl@luapatterns\@undefined
\input luababel.def
\fi
\fi
-\bbl@trace{Compatibility with language.def}
\ifx\bbl@languages\@undefined
\ifx\directlua\@undefined
\openin1 = language.def % TODO. Remove hardcoded number
@@ -991,28 +1035,6 @@
\xdef#1{\the\toks@}}%
\fi
\fi}
-\def\bbl@withactive#1#2{%
- \begingroup
- \lccode`~=`#2\relax
- \lowercase{\endgroup#1~}}
-\def\bbl@redefine#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \expandafter\def\csname\bbl@tempa\endcsname}
-\@onlypreamble\bbl@redefine
-\def\bbl@redefine@long#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \long\expandafter\def\csname\bbl@tempa\endcsname}
-\@onlypreamble\bbl@redefine@long
-\def\bbl@redefinerobust#1{%
- \edef\bbl@tempa{\bbl@stripslash#1}%
- \bbl@ifunset{\bbl@tempa\space}%
- {\expandafter\let\csname org@\bbl@tempa\endcsname#1%
- \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}%
- {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}%
- \@namedef{\bbl@tempa\space}}
-\@onlypreamble\bbl@redefinerobust
\bbl@trace{Hooks}
\newcommand\AddBabelHook[3][]{%
\bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}%
@@ -1046,70 +1068,8 @@
\def\bbl@tempa#1=#2\@@{\NewHook{babel/#1}}
\bbl@foreach\bbl@evargs{\bbl@tempa#1\@@}
\fi
-\bbl@trace{Defining babelensure}
-\newcommand\babelensure[2][]{%
- \AddBabelHook{babel-ensure}{afterextras}{%
- \ifcase\bbl@select@type
- \bbl@cl{e}%
- \fi}%
- \begingroup
- \let\bbl@ens@include\@empty
- \let\bbl@ens@exclude\@empty
- \def\bbl@ens@fontenc{\relax}%
- \def\bbl@tempb##1{%
- \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}%
- \edef\bbl@tempa{\bbl@tempb#1\@empty}%
- \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}%
- \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}%
- \def\bbl@tempc{\bbl@ensure}%
- \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
- \expandafter{\bbl@ens@include}}%
- \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
- \expandafter{\bbl@ens@exclude}}%
- \toks@\expandafter{\bbl@tempc}%
- \bbl@exp{%
- \endgroup
- \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}}
-\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc
- \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list
- \ifx##1\@undefined % 3.32 - Don't assume the macro exists
- \edef##1{\noexpand\bbl@nocaption
- {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}%
- \fi
- \ifx##1\@empty\else
- \in@{##1}{#2}%
- \ifin@\else
- \bbl@ifunset{bbl@ensure@\languagename}%
- {\bbl@exp{%
- \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{%
- \\\foreignlanguage{\languagename}%
- {\ifx\relax#3\else
- \\\fontencoding{#3}\\\selectfont
- \fi
- ########1}}}}%
- {}%
- \toks@\expandafter{##1}%
- \edef##1{%
- \bbl@csarg\noexpand{ensure@\languagename}%
- {\the\toks@}}%
- \fi
- \expandafter\bbl@tempb
- \fi}%
- \expandafter\bbl@tempb\bbl@captionslist\today\@empty
- \def\bbl@tempa##1{% elt for include list
- \ifx##1\@empty\else
- \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}%
- \ifin@\else
- \bbl@tempb##1\@empty
- \fi
- \expandafter\bbl@tempa
- \fi}%
- \bbl@tempa#1\@empty}
-\def\bbl@captionslist{%
- \prefacename\refname\abstractname\bibname\chaptername\appendixname
- \contentsname\listfigurename\listtablename\indexname\figurename
- \tablename\partname\enclname\ccname\headtoname\pagename\seename
- \alsoname\proofname\glossaryname}
+\providecommand\PassOptionsToLocale[2]{%
+ \bbl@csarg\bbl@add@list{passto@#2}{#1}}
\bbl@trace{Macros for setting language files up}
\def\bbl@ldfinit{%
\let\bbl@screset\@empty
@@ -1142,7 +1102,7 @@
\catcode`\@=\atcatcode \let\atcatcode\relax
\catcode`\==\eqcatcode \let\eqcatcode\relax
\endinput}
-\def\bbl@afterldf#1{% TODO. Merge into the next macro? Unused elsewhere
+\def\bbl@afterldf#1{%
\bbl@afterlang
\let\bbl@afterlang\relax
\let\BabelModifiers\relax
@@ -1158,11 +1118,14 @@
\@onlypreamble\ldf@finish
\def\main@language#1{%
\def\bbl@main@language{#1}%
- \let\languagename\bbl@main@language % TODO. Set localename
+ \let\languagename\bbl@main@language
+ \let\localename\bbl@main@language
+ \let\mainlocalename\bbl@main@language
\bbl@id@assign
\bbl@patterns{\languagename}}
\def\bbl@beforestart{%
\def\@nolanerr##1{%
+ \bbl@carg\chardef{l@##1}\z@
\bbl@warning{Undefined language '##1' in aux.\\Reported}}%
\bbl@usehooks{beforestart}{}%
\global\let\bbl@beforestart\relax}
@@ -1170,30 +1133,18 @@
{\@nameuse{bbl@beforestart}}% Group!
\if@filesw
\providecommand\babel@aux[2]{}%
- \immediate\write\@mainaux{%
- \string\providecommand\string\babel@aux[2]{}}%
+ \immediate\write\@mainaux{\unexpanded{%
+ \providecommand\babel@aux[2]{\global\let\babel@toc\@gobbletwo}}}%
\immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}%
\fi
\expandafter\selectlanguage\expandafter{\bbl@main@language}%
- \ifx\bbl@normalsf\@empty
- \ifnum\sfcode`\.=\@m
- \let\normalsfcodes\frenchspacing
- \else
- \let\normalsfcodes\nonfrenchspacing
- \fi
- \else
- \let\normalsfcodes\bbl@normalsf
- \fi
\ifbbl@single % must go after the line above.
\renewcommand\selectlanguage[1]{}%
\renewcommand\foreignlanguage[2]{#2}%
\global\let\babel@aux\@gobbletwo % Also as flag
\fi}
-\AddToHook{begindocument/before}{%
- \let\bbl@normalsf\normalsfcodes
- \let\normalsfcodes\relax} % Hack, to delay the setting
\ifcase\bbl@engine\or
- \AtBeginDocument{\pagedir\bodydir} % TODO - a better place
+ \AtBeginDocument{\pagedir\bodydir}
\fi
\def\select@language@x#1{%
\ifcase\bbl@select@type
@@ -1202,6 +1153,10 @@
\select@language{#1}%
\fi}
\bbl@trace{Shorhands}
+\def\bbl@withactive#1#2{%
+ \begingroup
+ \lccode`~=`#2\relax
+ \lowercase{\endgroup#1~}}
\def\bbl@add@special#1{% 1:a macro like \", \?, etc.
\bbl@add\dospecials{\do#1}% test @sanitize = \relax, for back. compat.
\bbl@ifunset{@sanitize}{}{\bbl@add\@sanitize{\@makeother#1}}%
@@ -1216,18 +1171,6 @@
\endgroup
\fi
\fi}
-\def\bbl@remove@special#1{%
- \begingroup
- \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
- \else\noexpand##1\noexpand##2\fi}%
- \def\do{\x\do}%
- \def\@makeother{\x\@makeother}%
- \edef\x{\endgroup
- \def\noexpand\dospecials{\dospecials}%
- \expandafter\ifx\csname @sanitize\endcsname\relax\else
- \def\noexpand\@sanitize{\@sanitize}%
- \fi}%
- \x}
\def\bbl@active@def#1#2#3#4{%
\@namedef{#3#1}{%
\expandafter\ifx\csname#2@sh@#1@\endcsname\relax
@@ -1330,7 +1273,7 @@
\bbl@afterfi\csname#1@sh@#2@sel\endcsname
\fi}
\begingroup
-\bbl@ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain?
+\bbl@ifunset{ifincsname}%
{\gdef\active@prefix#1{%
\ifx\protect\@typeset@protect
\else
@@ -1371,7 +1314,6 @@
\csname bbl@normal@\string#1\endcsname}
\def\bbl@firstcs#1#2{\csname#1\endcsname}
\def\bbl@scndcs#1#2{\csname#2\endcsname}
-
\def\babel@texpdf#1#2#3#4{%
\ifx\texorpdfstring\@undefined
\textormath{#1}{#3}%
@@ -1412,7 +1354,7 @@
\expandafter\@firstoftwo
\fi}
\def\user@group{user}
-\def\language@group{english} % TODO. I don't like defaults
+\def\language@group{english}
\def\system@group{system}
\def\useshorthands{%
\@ifstar\bbl@usesh@s{\bbl@usesh@x{}}}
@@ -1627,6 +1569,24 @@
\def\babel@savevariable#1{%
\toks@\expandafter{\originalTeX #1=}%
\bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
+\def\bbl@redefine#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine
+\def\bbl@redefine@long#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \long\expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine@long
+\def\bbl@redefinerobust#1{%
+ \edef\bbl@tempa{\bbl@stripslash#1}%
+ \bbl@ifunset{\bbl@tempa\space}%
+ {\expandafter\let\csname org@\bbl@tempa\endcsname#1%
+ \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}%
+ {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}%
+ \@namedef{\bbl@tempa\space}}
+\@onlypreamble\bbl@redefinerobust
\def\bbl@frenchspacing{%
\ifnum\the\sfcode`\.=\@m
\let\bbl@nonfrenchspacing\relax
@@ -1663,21 +1623,6 @@
\fi}%
\bbl@fs@chars
\fi\fi\fi}
-\bbl@trace{Short tags}
-\def\babeltags#1{%
- \edef\bbl@tempa{\zap@space#1 \@empty}%
- \def\bbl@tempb##1=##2\@@{%
- \edef\bbl@tempc{%
- \noexpand\newcommand
- \expandafter\noexpand\csname ##1\endcsname{%
- \noexpand\protect
- \expandafter\noexpand\csname otherlanguage*\endcsname{##2}}
- \noexpand\newcommand
- \expandafter\noexpand\csname text##1\endcsname{%
- \noexpand\foreignlanguage{##2}}}
- \bbl@tempc}%
- \bbl@for\bbl@tempa\bbl@tempa{%
- \expandafter\bbl@tempb\bbl@tempa\@@}}
\bbl@trace{Hyphens}
\@onlypreamble\babelhyphenation
\AtEndOfPackage{%
@@ -1704,6 +1649,23 @@
{\csname bbl@hyphenation@\bbl@tempa\endcsname\space}%
#2}}}%
\fi}}
+\ifx\NewDocumentCommand\@undefined\else
+ \NewDocumentCommand\babelhyphenmins{sommo}{%
+ \IfNoValueTF{#2}%
+ {\protected@edef\bbl@hyphenmins@{\set@hyphenmins{#3}{#4}}%
+ \IfValueT{#5}{%
+ \protected@edef\bbl@hyphenatmin@{\hyphenationmin=#5\relax}}%
+ \IfBooleanT{#1}{%
+ \lefthyphenmin=#3\relax
+ \righthyphenmin=#4\relax
+ \IfValueT{#5}{\hyphenationmin=#5\relax}}}%
+ {\edef\bbl@tempb{\zap@space#2 \@empty}%
+ \bbl@for\bbl@tempa\bbl@tempb{%
+ \@namedef{bbl@hyphenmins@\bbl@tempa}{\set@hyphenmins{#3}{#4}}%
+ \IfValueT{#5}{%
+ \@namedef{bbl@hyphenatmin@\bbl@tempa}{\hyphenationmin=#5\relax}}}%
+ \IfBooleanT{#1}{\bbl@error{hyphenmins-args}{}{}{}}}}
+\fi
\def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi}
\def\bbl@t@one{T1}
\def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
@@ -1936,7 +1898,7 @@
\bbl@xin@{,}{\bbl@language@opts}%
\chardef\bbl@opt@hyphenmap\ifin@4\else\@ne\fi
\fi}
-\newcommand\setlocalecaption{% TODO. Catch typos.
+\newcommand\setlocalecaption{%
\@ifstar\bbl@setcaption@s\bbl@setcaption@x}
\def\bbl@setcaption@x#1#2#3{% language caption-name string
\bbl@trim@def\bbl@tempa{#2}%
@@ -2169,39 +2131,6 @@
\fi
\bbl@trace{Bidi layout}
\providecommand\IfBabelLayout[3]{#3}%
-\newcommand\BabelPatchSection[1]{%
- \@ifundefined{#1}{}{%
- \bbl@exp{\let\<bbl@ss@#1>\<#1>}%
- \@namedef{#1}{%
- \@ifstar{\bbl@presec@s{#1}}%
- {\@dblarg{\bbl@presec@x{#1}}}}}}
-\def\bbl@presec@x#1[#2]#3{%
- \bbl@exp{%
- \\\select@language@x{\bbl@main@language}%
- \\\bbl@cs{sspre@#1}%
- \\\bbl@cs{ss@#1}%
- [\\\foreignlanguage{\languagename}{\unexpanded{#2}}]%
- {\\\foreignlanguage{\languagename}{\unexpanded{#3}}}%
- \\\select@language@x{\languagename}}}
-\def\bbl@presec@s#1#2{%
- \bbl@exp{%
- \\\select@language@x{\bbl@main@language}%
- \\\bbl@cs{sspre@#1}%
- \\\bbl@cs{ss@#1}*%
- {\\\foreignlanguage{\languagename}{\unexpanded{#2}}}%
- \\\select@language@x{\languagename}}}
-\IfBabelLayout{sectioning}%
- {\BabelPatchSection{part}%
- \BabelPatchSection{chapter}%
- \BabelPatchSection{section}%
- \BabelPatchSection{subsection}%
- \BabelPatchSection{subsubsection}%
- \BabelPatchSection{paragraph}%
- \BabelPatchSection{subparagraph}%
- \def\babel@toc#1{%
- \select@language@x{\bbl@main@language}}}{}
-\IfBabelLayout{captions}%
- {\BabelPatchSection{caption}}{}
\bbl@trace{Input engine specific macros}
\ifcase\bbl@engine
\input txtbabel.def
@@ -2229,7 +2158,7 @@
\bbl@vforeach{captions,date,import,main,script,language,%
hyphenrules,linebreaking,justification,mapfont,maparabic,%
mapdigits,intraspace,intrapenalty,onchar,transforms,alph,%
- Alph,labels,labels*,calendar,date,casing,interchar}%
+ Alph,labels,labels*,calendar,date,casing,interchar,@import}%
{\bbl@csarg\let{KVP@##1}\@nnil}%
\global\let\bbl@release@transforms\@empty
\global\let\bbl@release@casing\@empty
@@ -2238,7 +2167,10 @@
\global\let\bbl@extend@ini\@gobble
\global\let\bbl@included@inis\@empty
\gdef\bbl@key@list{;}%
- \bbl@forkv{#1}{%
+ \bbl@ifunset{bbl@passto@#2}%
+ {\def\bbl@tempa{#1}}%
+ {\bbl@exp{\def\\\bbl@tempa{\[bbl@passto@#2],\unexpanded{#1}}}}%
+ \expandafter\bbl@forkv\expandafter{\bbl@tempa}{%
\in@{/}{##1}% With /, (re)sets a value in the ini
\ifin@
\global\let\bbl@extend@ini\bbl@extend@ini@aux
@@ -2255,6 +2187,10 @@
\ifx\bbl@screset\@undefined
\bbl@ldfinit
\fi
+ % ==
+ \ifx\bbl@KVP@@import\@nnil\else \ifx\bbl@KVP@import\@nnil
+ \def\bbl@KVP@import{\@empty}%
+ \fi\fi
% == date (as option) ==
% \ifx\bbl@KVP@date\@nnil\else
% \fi
@@ -2284,7 +2220,7 @@
{}%
\let\bbl@KVP@date\@empty
\fi
- \let\bbl@KVP@captions@@\bbl@KVP@captions % TODO. A dirty hack
+ \let\bbl@KVP@captions@@\bbl@KVP@captions
\ifx\bbl@KVP@captions\@nnil
\let\bbl@KVP@captions\bbl@KVP@import
\fi
@@ -2344,122 +2280,12 @@
{\directlua{
Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}%
\fi
- % == onchar ==
- \ifx\bbl@KVP@onchar\@nnil\else
- \bbl@luahyphenate
- \bbl@exp{%
- \\\AddToHook{env/document/before}{{\\\select@language{#2}{}}}}%
- \directlua{
- if Babel.locale_mapped == nil then
- Babel.locale_mapped = true
- Babel.linebreaking.add_before(Babel.locale_map, 1)
- Babel.loc_to_scr = {}
- Babel.chr_to_loc = Babel.chr_to_loc or {}
- end
- Babel.locale_props[\the\localeid].letters = false
- }%
- \bbl@xin@{ letters }{ \bbl@KVP@onchar\space}%
- \ifin@
- \directlua{
- Babel.locale_props[\the\localeid].letters = true
- }%
- \fi
- \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}%
- \ifin@
- \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection
- \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}%
- \fi
- \bbl@exp{\\\bbl@add\\\bbl@starthyphens
- {\\\bbl@patterns@lua{\languagename}}}%
- % TODO - error/warning if no script
- \directlua{
- if Babel.script_blocks['\bbl@cl{sbcp}'] then
- Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cl{sbcp}']
- Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space
- end
- }%
- \fi
- \bbl@xin@{ fonts }{ \bbl@KVP@onchar\space}%
- \ifin@
- \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
- \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}%
- \directlua{
- if Babel.script_blocks['\bbl@cl{sbcp}'] then
- Babel.loc_to_scr[\the\localeid] =
- Babel.script_blocks['\bbl@cl{sbcp}']
- end}%
- \ifx\bbl@mapselect\@undefined % TODO. almost the same as mapfont
- \AtBeginDocument{%
- \bbl@patchfont{{\bbl@mapselect}}%
- {\selectfont}}%
- \def\bbl@mapselect{%
- \let\bbl@mapselect\relax
- \edef\bbl@prefontid{\fontid\font}}%
- \def\bbl@mapdir##1{%
- \begingroup
- \setbox\z@\hbox{% Force text mode
- \def\languagename{##1}%
- \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
- \bbl@switchfont
- \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack
- \directlua{
- Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
- ['/\bbl@prefontid'] = \fontid\font\space}%
- \fi}%
- \endgroup}%
- \fi
- \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
- \fi
- % TODO - catch non-valid values
- \fi
- % == mapfont ==
- % For bidi texts, to switch the font based on direction
- \ifx\bbl@KVP@mapfont\@nnil\else
- \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}%
- {\bbl@error{unknown-mapfont}{}{}{}}%
- \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
- \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}%
- \ifx\bbl@mapselect\@undefined % TODO. See onchar.
- \AtBeginDocument{%
- \bbl@patchfont{{\bbl@mapselect}}%
- {\selectfont}}%
- \def\bbl@mapselect{%
- \let\bbl@mapselect\relax
- \edef\bbl@prefontid{\fontid\font}}%
- \def\bbl@mapdir##1{%
- {\def\languagename{##1}%
- \let\bbl@ifrestoring\@firstoftwo % avoid font warning
- \bbl@switchfont
- \directlua{Babel.fontmap
- [\the\csname bbl@wdir@##1\endcsname]%
- [\bbl@prefontid]=\fontid\font}}}%
- \fi
- \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
- \fi
% == Line breaking: intraspace, intrapenalty ==
% For CJK, East Asian, Southeast Asian, if interspace in ini
\ifx\bbl@KVP@intraspace\@nnil\else % We can override the ini or set
\bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}%
\fi
\bbl@provide@intraspace
- % == Line breaking: CJK quotes == TODO -> @extras
- \ifcase\bbl@engine\or
- \bbl@xin@{/c}{/\bbl@cl{lnbrk}}%
- \ifin@
- \bbl@ifunset{bbl@quote@\languagename}{}%
- {\directlua{
- Babel.locale_props[\the\localeid].cjk_quotes = {}
- local cs = 'op'
- for c in string.utfvalues(%
- [[\csname bbl@quote@\languagename\endcsname]]) do
- if Babel.cjk_characters[c].c == 'qu' then
- Babel.locale_props[\the\localeid].cjk_quotes[c] = cs
- end
- cs = ( cs == 'op') and 'cl' or 'op'
- end
- }}%
- \fi
- \fi
% == Line breaking: justification ==
\ifx\bbl@KVP@justification\@nnil\else
\let\bbl@KVP@linebreaking\bbl@KVP@justification
@@ -2475,6 +2301,7 @@
\bbl@xin@{/e}{/\bbl@cl{lnbrk}}%
\ifin@\else\bbl@xin@{/k}{/\bbl@cl{lnbrk}}\fi
\ifin@\bbl@arabicjust\fi
+ % WIP
\bbl@xin@{/p}{/\bbl@cl{lnbrk}}%
\ifin@\AtBeginDocument{\@nameuse{bbl@tibetanjust}}\fi
% == Line breaking: hyphenate.other.(locale|script) ==
@@ -3193,17 +3020,32 @@
\ifx\bbl@savetoday\@empty
\bbl@exp{% TODO. Move to a better place.
\\\AfterBabelCommands{%
- \def\<\languagename date>{\\\protect\<\languagename date >}%
- \\\newcommand\<\languagename date >[4][]{%
- \\\bbl@usedategrouptrue
- \<bbl@ensure@\languagename>{%
- \\\localedate[####1]{####2}{####3}{####4}}}}%
+ \gdef\<\languagename date>{\\\protect\<\languagename date >}%
+ \gdef\<\languagename date >{\\\bbl@printdate{\languagename}}}%
\def\\\bbl@savetoday{%
\\\SetString\\\today{%
\<\languagename date>[convert]%
{\\\the\year}{\\\the\month}{\\\the\day}}}}%
\fi}%
{}}}
+\def\bbl@printdate#1{%
+ \@ifnextchar[{\bbl@printdate@i{#1}}{\bbl@printdate@i{#1}[]}}
+\def\bbl@printdate@i#1[#2]#3#4#5{%
+ \bbl@usedategrouptrue
+ \@nameuse{bbl@ensure@#1}{\localedate[#2]{#3}{#4}{#5}}}
+\AddToHook{begindocument/before}{%
+ \let\bbl@normalsf\normalsfcodes
+ \let\normalsfcodes\relax}
+\AtBeginDocument{%
+ \ifx\bbl@normalsf\@empty
+ \ifnum\sfcode`\.=\@m
+ \let\normalsfcodes\frenchspacing
+ \else
+ \let\normalsfcodes\nonfrenchspacing
+ \fi
+ \else
+ \let\normalsfcodes\bbl@normalsf
+ \fi}
\let\bbl@calendar\@empty
\newcommand\babelcalendar[2][\the\year-\the\month-\the\day]{%
\@nameuse{bbl@ca@#2}#1\@@}
@@ -3251,7 +3093,7 @@
\bbl@csarg\let{inikv@transforms.posthyphenation}\bbl@inikv
\def\bbl@transforms@aux#1#2#3#4,#5\relax{%
#1[#2]{#3}{#4}{#5}}
-\begingroup % A hack. TODO. Don't require an specific order
+\begingroup % A hack. TODO. Don't require a specific order
\catcode`\%=12
\catcode`\&=14
\gdef\bbl@transforms#1#2#3{&%
@@ -3421,58 +3263,17 @@
{\bbl@cs{cntr@#1.F.\number#5#6#7#8@\languagename}}}
\def\bbl@alphnum@invalid#1{%
\bbl@error{alphabetic-too-large}{#1}{}{}}
-\def\bbl@localeinfo#1#2{%
- \bbl@ifunset{bbl@info@#2}{#1}%
- {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
- {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
-\newcommand\localeinfo[1]{%
- \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
- \bbl@afterelse\bbl@localeinfo{}%
- \else
- \bbl@localeinfo
- {\bbl@error{no-ini-info}{}{}{}}%
- {#1}%
- \fi}
-\@namedef{bbl@info@tag.ini}{lini}
-\@namedef{bbl@info@name.english}{elname}
-\@namedef{bbl@info@name.opentype}{lname}
-\@namedef{bbl@info@tag.bcp47}{tbcp}
-\@namedef{bbl@info@language.tag.bcp47}{lbcp}
-\@namedef{bbl@info@tag.opentype}{lotf}
-\@namedef{bbl@info@script.name}{esname}
-\@namedef{bbl@info@script.name.opentype}{sname}
-\@namedef{bbl@info@script.tag.bcp47}{sbcp}
-\@namedef{bbl@info@script.tag.opentype}{sotf}
-\@namedef{bbl@info@region.tag.bcp47}{rbcp}
-\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
-\@namedef{bbl@info@extension.t.tag.bcp47}{extt}
-\@namedef{bbl@info@extension.u.tag.bcp47}{extu}
-\@namedef{bbl@info@extension.x.tag.bcp47}{extx}
-\ifcase\bbl@engine % Converts utf8 to its code (expandable)
- \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax}
-\else
- \def\bbl@utftocode#1{\expandafter`\string#1}
-\fi
-\providecommand\BCPdata{}
-\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix
- \renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty}
- \def\bbl@bcpdata@i#1#2#3#4#5#6\@empty{%
- \@nameuse{str_if_eq:nnTF}{#1#2#3#4#5}{main.}%
- {\bbl@bcpdata@ii{#6}\bbl@main@language}%
- {\bbl@bcpdata@ii{#1#2#3#4#5#6}\languagename}}%
- \def\bbl@bcpdata@ii#1#2{%
- \bbl@ifunset{bbl@info@#1.tag.bcp47}%
- {\bbl@error{unknown-ini-field}{#1}{}{}}%
- {\bbl@ifunset{bbl@\csname bbl@info@#1.tag.bcp47\endcsname @#2}{}%
- {\bbl@cs{\csname bbl@info@#1.tag.bcp47\endcsname @#2}}}}
-\fi
-\@namedef{bbl@info@casing.tag.bcp47}{casing}
\newcommand\BabelUppercaseMapping[3]{%
\DeclareUppercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
\newcommand\BabelTitlecaseMapping[3]{%
\DeclareTitlecaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
\newcommand\BabelLowercaseMapping[3]{%
\DeclareLowercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
+\ifcase\bbl@engine % Converts utf8 to its code (expandable)
+ \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax}
+\else
+ \def\bbl@utftocode#1{\expandafter`\string#1}
+\fi
\def\bbl@casemapping#1#2#3{% 1:variant
\def\bbl@tempa##1 ##2{% Loop
\bbl@casemapping@i{##1}%
@@ -3507,6 +3308,33 @@
\DeclareTitlecaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
\fi
\fi}
+\def\bbl@localeinfo#1#2{%
+ \bbl@ifunset{bbl@info@#2}{#1}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
+ {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
+\newcommand\localeinfo[1]{%
+ \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
+ \bbl@afterelse\bbl@localeinfo{}%
+ \else
+ \bbl@localeinfo
+ {\bbl@error{no-ini-info}{}{}{}}%
+ {#1}%
+ \fi}
+\@namedef{bbl@info@tag.ini}{lini}
+\@namedef{bbl@info@name.english}{elname}
+\@namedef{bbl@info@name.opentype}{lname}
+\@namedef{bbl@info@tag.bcp47}{tbcp}
+\@namedef{bbl@info@language.tag.bcp47}{lbcp}
+\@namedef{bbl@info@tag.opentype}{lotf}
+\@namedef{bbl@info@script.name}{esname}
+\@namedef{bbl@info@script.name.opentype}{sname}
+\@namedef{bbl@info@script.tag.bcp47}{sbcp}
+\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@region.tag.bcp47}{rbcp}
+\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
+\@namedef{bbl@info@extension.t.tag.bcp47}{extt}
+\@namedef{bbl@info@extension.u.tag.bcp47}{extu}
+\@namedef{bbl@info@extension.x.tag.bcp47}{extx}
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -3543,6 +3371,50 @@
\def\bbl@elt##1##2##3{\typeout{##1/##2 = ##3}}%
\@nameuse{bbl@inidata@#1}%
\typeout{*******}}
+\newif\ifbbl@bcpallowed
+\bbl@bcpallowedfalse
+\def\bbl@provide@locale{%
+ \ifx\babelprovide\@undefined
+ \bbl@error{base-on-the-fly}{}{}{}%
+ \fi
+ \let\bbl@auxname\languagename % Still necessary.
+ \bbl@ifunset{bbl@bcp@map@\languagename}{}% Move uplevel??
+ {\edef\languagename{\@nameuse{bbl@bcp@map@\languagename}}}%
+ \ifbbl@bcpallowed
+ \expandafter\ifx\csname date\languagename\endcsname\relax
+ \expandafter
+ \bbl@bcplookup\languagename-\@empty-\@empty-\@empty\@@
+ \ifx\bbl@bcp\relax\else % Returned by \bbl@bcplookup
+ \edef\languagename{\bbl@bcp@prefix\bbl@bcp}%
+ \edef\localename{\bbl@bcp@prefix\bbl@bcp}%
+ \expandafter\ifx\csname date\languagename\endcsname\relax
+ \let\bbl@initoload\bbl@bcp
+ \bbl@exp{\\\babelprovide[\bbl@autoload@bcpoptions]{\languagename}}%
+ \let\bbl@initoload\relax
+ \fi
+ \bbl@csarg\xdef{bcp@map@\bbl@bcp}{\localename}%
+ \fi
+ \fi
+ \fi
+ \expandafter\ifx\csname date\languagename\endcsname\relax
+ \IfFileExists{babel-\languagename.tex}%
+ {\bbl@exp{\\\babelprovide[\bbl@autoload@options]{\languagename}}}%
+ {}%
+ \fi}
+\providecommand\BCPdata{}
+\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix
+ \renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty}
+ \def\bbl@bcpdata@i#1#2#3#4#5#6\@empty{%
+ \@nameuse{str_if_eq:nnTF}{#1#2#3#4#5}{main.}%
+ {\bbl@bcpdata@ii{#6}\bbl@main@language}%
+ {\bbl@bcpdata@ii{#1#2#3#4#5#6}\languagename}}%
+ \def\bbl@bcpdata@ii#1#2{%
+ \bbl@ifunset{bbl@info@#1.tag.bcp47}%
+ {\bbl@error{unknown-ini-field}{#1}{}{}}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#1.tag.bcp47\endcsname @#2}{}%
+ {\bbl@cs{\csname bbl@info@#1.tag.bcp47\endcsname @#2}}}}
+\fi
+\@namedef{bbl@info@casing.tag.bcp47}{casing}
\newcommand\babeladjust[1]{% TODO. Error handling.
\bbl@forkv{#1}{%
\bbl@ifunset{bbl@ADJ@##1@##2}%
@@ -3757,6 +3629,39 @@
\let\org@bibcite\bibcite
\let\org@@bibitem\@bibitem
\fi
+\newcommand\BabelPatchSection[1]{%
+ \@ifundefined{#1}{}{%
+ \bbl@exp{\let\<bbl@ss@#1>\<#1>}%
+ \@namedef{#1}{%
+ \@ifstar{\bbl@presec@s{#1}}%
+ {\@dblarg{\bbl@presec@x{#1}}}}}}
+\def\bbl@presec@x#1[#2]#3{%
+ \bbl@exp{%
+ \\\select@language@x{\bbl@main@language}%
+ \\\bbl@cs{sspre@#1}%
+ \\\bbl@cs{ss@#1}%
+ [\\\foreignlanguage{\languagename}{\unexpanded{#2}}]%
+ {\\\foreignlanguage{\languagename}{\unexpanded{#3}}}%
+ \\\select@language@x{\languagename}}}
+\def\bbl@presec@s#1#2{%
+ \bbl@exp{%
+ \\\select@language@x{\bbl@main@language}%
+ \\\bbl@cs{sspre@#1}%
+ \\\bbl@cs{ss@#1}*%
+ {\\\foreignlanguage{\languagename}{\unexpanded{#2}}}%
+ \\\select@language@x{\languagename}}}
+\IfBabelLayout{sectioning}%
+ {\BabelPatchSection{part}%
+ \BabelPatchSection{chapter}%
+ \BabelPatchSection{section}%
+ \BabelPatchSection{subsection}%
+ \BabelPatchSection{subsubsection}%
+ \BabelPatchSection{paragraph}%
+ \BabelPatchSection{subparagraph}%
+ \def\babel@toc#1{%
+ \select@language@x{\bbl@main@language}}}{}
+\IfBabelLayout{captions}%
+ {\BabelPatchSection{caption}}{}
\bbl@trace{Marks}
\IfBabelLayout{sectioning}
{\ifx\bbl@opt@headfoot\@nnil
@@ -3932,8 +3837,8 @@
\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}
\bbl@trace{Loading basic (internal) bidi support}
\ifodd\bbl@engine
-\else % TODO. Move to txtbabel
- \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200 % Any xe+lua bidi=
+\else % TODO. Move to txtbabel. Any xe+lua bidi
+ \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200
\bbl@error{bidi-only-lua}{}{}{}%
\let\bbl@beforeforeign\leavevmode
\AtEndOfPackage{%
@@ -3944,7 +3849,9 @@
\ifx\RTLfootnotetext\@undefined
\AtEndOfPackage{%
\EnableBabelHook{babel-bidi}%
- \bbl@loadfontspec % bidi needs fontspec
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}% bidi needs fontspec
+ \fi
\usepackage#1{bidi}%
\let\bbl@digitsdotdash\DigitsDotDashInterCharToks
\def\DigitsDotDashInterCharToks{% See the 'bidi' package
@@ -3978,13 +3885,13 @@
\fi
\bbl@trace{Macros to switch the text direction}
\def\bbl@alscripts{,Arabic,Syriac,Thaana,}
-\def\bbl@rscripts{% TODO. Base on codes ??
- ,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,%
- Old Hungarian,Lydian,Mandaean,Manichaean,%
- Meroitic Cursive,Meroitic,Old North Arabian,%
- Nabataean,N'Ko,Orkhon,Palmyrene,Inscriptional Pahlavi,%
- Psalter Pahlavi,Phoenician,Inscriptional Parthian,Samaritan,%
- Old South Arabian,}%
+\def\bbl@rscripts{%
+ ,Garay,Todhri,Imperial Aramaic,Avestan,Cypriot,Elymaic,Hatran,Hebrew,%
+ Old Hungarian,Kharoshthi,Lydian,Mandaean,Manichaean,Mende Kikakui,%
+ Meroitic Cursive,Meroitic,Old North Arabian,Nabataean,N'Ko,%
+ Old Turkic,Orkhon,Palmyrene,Inscriptional Pahlavi,Psalter Pahlavi,%
+ Phoenician,Inscriptional Parthian,Hanifi,Samaritan,Old Sogdian,%
+ Old South Arabian,Yezidi,}%
\def\bbl@provide@dirs#1{%
\bbl@xin@{\csname bbl@sname@#1\endcsname}{\bbl@alscripts\bbl@rscripts}%
\ifin@
@@ -4015,8 +3922,10 @@
\bbl@pardir{#1}% <- Must precede \bbl@textdir
\fi
\bbl@textdir{#1}}
-\AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir}
-\DisableBabelHook{babel-bidi}
+\ifnum\bbl@bidimode>\z@
+ \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir}
+ \DisableBabelHook{babel-bidi}
+\fi
\ifodd\bbl@engine % luatex=1
\else % pdftex=0, xetex=2
\newcount\bbl@dirlevel
@@ -4072,19 +3981,15 @@
\else
{\setbox\z@\lastbox\beginR\box\z@}%
\fi}%
- \let\bbl@severypar\everypar
- \newtoks\everypar
- \everypar=\bbl@severypar
- \bbl@severypar{\bbl@xeeverypar\the\everypar}}
+ \AddToHook{para/begin}{\bbl@xeeverypar}}
\ifnum\bbl@bidimode>200 % Any xe bidi=
\let\bbl@textdir@i\@gobbletwo
\let\bbl@xebidipar\@empty
\AddBabelHook{bidi}{foreign}{%
- \def\bbl@tempa{\def\BabelText####1}%
\ifcase\bbl@thetextdir
- \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
+ \BabelWrapText{\LR{##1}}%
\else
- \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
+ \BabelWrapText{\RL{##1}}%
\fi}
\def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}
\fi
@@ -4132,6 +4037,7 @@
\IfFileExists{\CurrentOption.ldf}%
{\bbl@load@language{\CurrentOption}}%
{#1\bbl@load@language{#2}#3}}
+\DeclareOption{friulian}{\bbl@try@load@lang{}{friulan}{}}
\DeclareOption{hebrew}{%
\ifcase\bbl@engine\or
\bbl@error{only-pdftex-lang}{hebrew}{luatex}{}%
@@ -4159,10 +4065,16 @@
*}}%
{\bbl@error{config-not-found}{}{}{}}%
\fi
+\def\bbl@tempf{,}
+\bbl@foreach\@raw@classoptionslist{%
+ \in@{=}{#1}%
+ \ifin@\else
+ \edef\bbl@tempf{\bbl@tempf\zap@space#1 \@empty,}%
+ \fi}
\ifx\bbl@opt@main\@nnil
\ifnum\bbl@iniflag>\z@ % if all ldf's: set implicitly, no main pass
\let\bbl@tempb\@empty
- \edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}%
+ \edef\bbl@tempa{\bbl@tempf,\bbl@language@opts}%
\bbl@foreach\bbl@tempa{\edef\bbl@tempb{#1,\bbl@tempb}}%
\bbl@foreach\bbl@tempb{% \bbl@tempb is a reversed list
\ifx\bbl@opt@main\@nnil % ie, if not yet assigned
@@ -4193,11 +4105,11 @@
\else % + * (other = ini)
\DeclareOption{#1}{%
\bbl@ldfinit
- \babelprovide[import]{#1}%
+ \babelprovide[@import]{#1}% %%%%%
\bbl@afterldf{}}%
\fi
\fi}
-\bbl@foreach\@classoptionslist{%
+\bbl@foreach\bbl@tempf{%
\def\bbl@tempa{#1}%
\ifx\bbl@tempa\bbl@opt@main\else
\ifnum\bbl@iniflag<\tw@ % 0 ø (other = ldf)
@@ -4210,18 +4122,20 @@
\IfFileExists{babel-#1.tex}%
{\DeclareOption{#1}{%
\bbl@ldfinit
- \babelprovide[import]{#1}%
+ \babelprovide[@import]{#1}% %%%%%%
\bbl@afterldf{}}}%
{}%
\fi
\fi}
+\NewHook{babel/presets}
+\UseHook{babel/presets}
\def\AfterBabelLanguage#1{%
\bbl@ifsamestring\CurrentOption{#1}{\global\bbl@add\bbl@afterlang}{}}
\DeclareOption*{}
\ProcessOptions*
\bbl@trace{Option 'main'}
\ifx\bbl@opt@main\@nnil
- \edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}
+ \edef\bbl@tempa{\bbl@tempf,\bbl@language@opts}
\let\bbl@tempc\@empty
\edef\bbl@templ{,\bbl@loaded,}
\edef\bbl@templ{\expandafter\strip@prefix\meaning\bbl@templ}
@@ -4245,7 +4159,9 @@
\bbl@ldfinit
\let\CurrentOption\bbl@opt@main
\bbl@exp{% \bbl@opt@provide = empty if *
- \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}%
+ \\\babelprovide
+ [\bbl@opt@provide,@import,main]% %%%%%
+ {\bbl@opt@main}}%
\bbl@afterldf{}
\DeclareOption{\bbl@opt@main}{}
\else % case 0,2 (main is ldf)
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index f960bc6bf1d..e6a4076d6d1 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\catcode`\{=1 % left brace is begin-group character
\catcode`\}=2 % right brace is end-group character
\catcode`\#=6 % hash mark is macro parameter character
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index b189e6f7dd7..0483d7eb722 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\catcode`\{=1 % left brace is begin-group character
\catcode`\}=2 % right brace is end-group character
\catcode`\#=6 % hash mark is macro parameter character
diff --git a/Master/texmf-dist/tex/generic/babel/errbabel.def b/Master/texmf-dist/tex/generic/babel/errbabel.def
index 432899cb34e..9674a0fbf26 100644
--- a/Master/texmf-dist/tex/generic/babel/errbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/errbabel.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\catcode`\{=1 \catcode`\}=2 \catcode`\#=6
\catcode`\:=12 \catcode`\,=12 \catcode`\.=12 \catcode`\-=12
\catcode`\'=12 \catcode`\(=12 \catcode`\)=12
@@ -100,19 +99,19 @@
{This macro is available only in LuaLaTeX and XeLaTeX.}%
{Consider switching to these engines.}
\bbl@errmessage{only-lua}
- {This macro is available only in LuaLaTeX.}%
+ {This macro is available only in LuaLaTeX}%
{Consider switching to that engine.}
\bbl@errmessage{unknown-provide-key}
{Unknown key '#1' in \string\babelprovide}%
{See the manual for valid keys}%
\bbl@errmessage{unknown-mapfont}
{Option '\bbl@KVP@mapfont' unknown for\\%
- mapfont. Use 'direction'.}%
+ mapfont. Use 'direction'}%
{See the manual for details.}
\bbl@errmessage{no-ini-file}
{There is no ini file for the requested language\\%
(#1: \languagename). Perhaps you misspelled it or your\\%
- installation is not complete.}%
+ installation is not complete}%
{Fix the name or reinstall babel.}
\bbl@errmessage{digits-is-reserved}
{The counter name 'digits' is reserved for mapping\\%
@@ -120,7 +119,7 @@
{Use another name.}
\bbl@errmessage{limit-two-digits}
{Currently two-digit years are restricted to the\\
- range 0-9999.}%
+ range 0-9999}%
{There is little you can do. Sorry.}
\bbl@errmessage{alphabetic-too-large}
{Alphabetic numeral too large (#1)}%
@@ -132,20 +131,20 @@
{See the manual for details.}
\bbl@errmessage{unknown-ini-field}
{Unknown field '#1' in \string\BCPdata.\\%
- Perhaps you misspelled it.}%
+ Perhaps you misspelled it}%
{See the manual for details.}
\bbl@errmessage{unknown-locale-key}
{Unknown key for locale '#2':\\%
#3\\%
- \string#1 will be set to \relax}%
+ \string#1 will be set to \string\relax}%
{Perhaps you misspelled it.}%
\bbl@errmessage{adjust-only-vertical}
{Currently, #1 related features can be adjusted only\\%
- in the main vertical list.}%
+ in the main vertical list}%
{Maybe things change in the future, but this is what it is.}
\bbl@errmessage{layout-only-vertical}
{Currently, layout related features can be adjusted only\\%
- in vertical mode.}%
+ in vertical mode}%
{Maybe things change in the future, but this is what it is.}
\bbl@errmessage{bidi-only-lua}
{The bidi method 'basic' is available only in\\%
@@ -175,11 +174,11 @@
{See the manual for further info}
\bbl@errmessage{unknown-interchar}
{'#1' for '\languagename' cannot be enabled.\\%
- Maybe there is a typo.}%
+ Maybe there is a typo}%
{See the manual for further details.}
\bbl@errmessage{unknown-interchar-b}
{'#1' for '\languagename' cannot be disabled.\\%
- Maybe there is a typo.}%
+ Maybe there is a typo}%
{See the manual for further details.}
\bbl@errmessage{charproperty-only-vertical}
{\string\babelcharproperty\space can be used only in\\%
@@ -214,7 +213,11 @@
{The '#1' ldf style doesn't work with #2,\\%
but you can use the ini locale instead.\\%
Try adding 'provide=*' to the option list. You may\\%
- also want to set 'bidi=' to some value.}%
+ also want to set 'bidi=' to some value}%
+ {See the manual for further details.}
+\bbl@errmessage{hyphenmins-args}
+ {\string\babelhyphenmins\ accepts either the optional\\%
+ argument or the star, but not both at the same time}%
{See the manual for further details.}
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 4ed4a864950..116176dd1ca 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -32,16 +32,15 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\ifx\ProvidesFile\@undefined
\def\ProvidesFile#1[#2 #3 #4]{%
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2024/06/02 v24.6 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2024/11/08 v24.13 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{24.6}
-\def\bbl@date{2024/06/02}
+\def\bbl@version{24.13}
+\def\bbl@date{2024/11/08}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
index 4a2d6023b7c..a9d0c5b8418 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ብሊን
name.english = Blin
name.babel = blin
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini b/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini
index 0e0c9cc5734..d2f98bc65db 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini
@@ -4,11 +4,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.0
-date = 2023-12-09
+version = 1.1
+date = 2024-08-11
name.local = 𑄌𑄋𑄴𑄟𑄳𑄦
name.english = Chakma
name.babel = chakma
@@ -146,8 +147,6 @@ hyphenationmin =
[characters]
ranges = 11100..1114F
-
-[characters]
delimiters.quotes =
auxiliary =
exemplarCharacters = [𑄀 𑄠𑄂 𑄃 𑄄 𑄅 𑄆 𑄇 𑄈 𑄉 𑄊 𑄋 𑄌 𑄠𑄎 𑄠𑄠𑄑 𑄒 𑄓 𑄔 𑄕 𑄖 𑄗 𑄘 𑄙 𑄚 𑄛 𑄜 𑄠𑄞 𑄟 𑄠 𑄡 𑄢 𑄣 𑄤 𑄥 𑄦 𑄧 𑄨 𑄩 𑄪 𑄫 𑄬 𑄭 𑄮 𑄯 𑄰 𑄱 𑄲 𑄳 𑄴]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
index 538f6426138..dd1f69945b3 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
@@ -8,11 +8,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.5
-date = 2022-12-08
+version = 1.6
+date = 2024-08-11
name.local = Kurdîy nawendî
name.english = Central Kurdish
name.babel = sorani centralkurdish-latin
@@ -66,18 +67,6 @@ months.wide.9 = Eylûl
months.wide.10 = Tişrînî Yekem
months.wide.11 = Tişrînî Dûhem
months.wide.12 = Kanûnî Dûhem
-months.wide.1 =
-months.wide.2 =
-months.wide.3 =
-months.wide.4 =
-months.wide.5 =
-months.wide.6 =
-months.wide.7 =
-months.wide.8 =
-months.wide.9 =
-months.wide.10 =
-months.wide.11 =
-months.wide.12 =
months.narrow.1 =
months.narrow.2 =
months.narrow.3 =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
index 15248a46c52..27e5c237aec 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.4
-date = 2022-12-08
+version = 1.5
+date = 2024-08-11
name.local = ÑловѣÌньÑкъ Ñ©ê™ê™‘Ìкъ
name.english = Church Slavic
name.babel = churchslavic-oldcyrillic
@@ -36,7 +37,6 @@ contents = СодержаÌнїе}
listfigure = ÐадпиÑаÌнїе и҆з̾ѡбражеÌнїй
listtable = ÐадпиÑаÌнїе таблиÌцъ
index = ПредмѣÌтный ᲂу҆казаÌтель
-author = И҆менноÌй ᲂу҆казаÌтель
figure = И҆з̾ѡбражеÌнїе
table = ТаблиÌца
part = ЧаÌÑÑ‚ÑŒ
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
index ddb4f370899..b8aae6be369 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
@@ -4,8 +4,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2023-04-10
+version = 1.2
+date = 2024-10-14
name.local = Ἐλληνικά
; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
name.english = Polytonic Greek
@@ -196,7 +196,7 @@ upper.modern.S.321 = ʹ
lower.ancient.1 = α β γ δ ε ϛ ζ η θ
lower.ancient.2 = ι κ λ μ ν ξ ο π ϟ
lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡
-lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ
+lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ
lower.ancient.S.321 = ʹ
upper.ancient.1 = Α Β Γ Δ Ε Ϛ Ζ Η Θ
upper.ancient.2 = Ι Κ Λ Μ ΠΞ Ο Π Ϟ
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
index a84e306423c..c00b5308375 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.10
-date = 2023-04-10
+version = 1.11
+date = 2024-10-14
name.local = Ελληνικά
name.english = Greek
name.babel = greek monotonicgreek
@@ -200,7 +200,7 @@ upper.modern.S.321 = ʹ
lower.ancient.1 = α β γ δ ε ϛ ζ η θ
lower.ancient.2 = ι κ λ μ ν ξ ο π ϟ
lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡
-lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ
+lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ
lower.ancient.S.321 = ʹ
upper.ancient.1 = Α Β Γ Δ Ε Ϛ Ζ Η Θ
upper.ancient.2 = Ι Κ Λ Μ ΠΞ Ο Π Ϟ
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex b/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex
index 7cf89429810..f7ffd341e3b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex
@@ -41,12 +41,12 @@
\def\greek@num@format#1#2#3#4#5#6#7#8{%
\BabelGreekNumeralMarker{%
\BabelGreekNumeralMyriads#1#2#3#4%
- \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi
+ \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi
\ifnum#6#7#8=\z@\else
\BabelGreekNumeralMarkerEnd{%
\ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi
\ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
- \ifcase#8\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi}%
+ \ifcase#8\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi}%
\fi}}
\def\greek@invalid{%
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex
index 4f52408717c..707d02822f7 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex
@@ -41,12 +41,12 @@
\def\greek@num@format#1#2#3#4#5#6#7#8{%
\BabelGreekNumeralMarker{%
\BabelGreekNumeralMyriads#1#2#3#4%
- \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi
+ \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi
\ifnum#6#7#8=\z@\else
\BabelGreekNumeralMarkerEnd{%
\ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi
\ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
- \ifcase#8\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi}%
+ \ifcase#8\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi}%
\fi}}
\def\greek@invalid{%
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
index a74c5c3f431..74c1b10be1e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini
@@ -6,11 +6,13 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; contribution by J. Khaganov <@ponte-vecchio>
+; contribution by @DerKaiser4709
[identification]
charset = utf8
-version = 1.4
-date = 2022-07-03
+version = 1.5
+date = 2024-06-04
name.local = Filipino
name.english = Filipino
name.babel = filipino
@@ -26,50 +28,50 @@ encodings = T1 OT1 LY1
derivate = no
[captions]
-preface =
-ref =
-abstract =
-bib =
-chapter =
-appendix =
-contents =
-listfigure =
-listtable =
-index =
-figure =
-table =
-part =
+preface = Paunang Salita
+ref = Talasanggunian
+abstract = Abstrak
+bib = Talaaklatan
+chapter = Kabanata
+appendix = Hugpong
+contents = Talalamanan
+listfigure = Talalarawan
+listtable = Talatalayan
+index = Talatuntunan
+figure = Laraw
+table = Talay
+part = Bahagi
encl =
cc =
headto =
-page =
-see =
-also =
-proof =
-glossary =
+page = Pahina
+see = tignan ang
+also = tignan din
+proof = Patunay
+glossary = Glosaryo
[captions.licr]
-preface =
-ref =
-abstract =
-bib =
-chapter =
-appendix =
-contents =
-listfigure =
-listtable =
-index =
-figure =
-table =
-part =
+preface = Paunang Salita
+ref = Talasanggunian
+abstract = Abstrak
+bib = Talaaklatan
+chapter = Kabanata
+appendix = Hugpong
+contents = Talalamanan
+listfigure = Talalarawan
+listtable = Talatalayan
+index = Talatuntunan
+figure = Laraw
+table = Talay
+part = Bahagi
encl =
cc =
headto =
-page =
-see =
-also =
-proof =
-glossary =
+page = Pahina
+see = tignan ang
+also = tignan din
+proof = Patunay
+glossary = Glosaryo
[date.gregorian]
date.long = [MMMM] [d], [y]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
index 7c72949c135..0ccd73e6dc1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2024-01-03
+version = 1.1
+date = 2024-11-05
name.local = français
name.english = French
name.babel = french-belgium french-be
@@ -190,35 +190,35 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2
[transforms.prehyphenation]
punctuation.space.1.0 = { [^|{(}{[}{007B}] () [;!{?}] () }
punctuation.space.1.1 = { insert, penalty = 10000 }
-punctuation.space.1.2 = { insert, spacefactor= .5 0 0, data = 1 }
+punctuation.space.1.2 = { insert, spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 1 }
punctuation.space.1.3 = {}
punctuation.space.2.0 = { [^{(}{[}{007B}] () | [;!{?}] () }
punctuation.space.2.1 = { insert, penalty = 10000 }
-punctuation.space.2.2 = { spacefactor= .5 0 0, data = 2 }
+punctuation.space.2.2 = { spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 2 }
punctuation.space.2.3 = {}
punctuation.space.3.0 = { [^|{(}{[}{007B} ] () : () }
punctuation.space.3.1 = { insert, penalty = 10000 }
-punctuation.space.3.2 = { insert, spacefactor= 1 1 1, data = 1 }
+punctuation.space.3.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 }
punctuation.space.3.3 = {}
punctuation.space.4.0 = { [^{(}{[}{007B} ] () |: () }
punctuation.space.4.1 = { insert, penalty = 10000 }
-punctuation.space.4.2 = { spacefactor= 1 1 1, data = 2 }
+punctuation.space.4.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 }
punctuation.space.4.3 = {}
punctuation.space.5.0 = { [^|]()»() }
punctuation.space.5.1 = { insert, penalty = 10000 }
-punctuation.space.5.2 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.5.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.5.3 = {}
punctuation.space.6.0 = { [^|]()|»() }
punctuation.space.6.1 = { insert, penalty = 10000 }
-punctuation.space.6.2 = { spacefactor= .8 .3 .8, data = 2 }
+punctuation.space.6.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 }
punctuation.space.6.3 = {}
punctuation.space.7.0 = { «[^|] }
punctuation.space.7.1 = {}
punctuation.space.7.2 = { insert, penalty = 10000 }
-punctuation.space.7.3 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.7.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.7.4 = {}
punctuation.space.8.0 = { «|[^|] }
punctuation.space.8.1 = {}
punctuation.space.8.2 = { insert, penalty = 10000 }
-punctuation.space.8.3 = { spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.8.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.8.4 = {}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
index 86116c3395a..2717612f514 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2024-01-03
+version = 1.1
+date = 2024-11-05
name.local = français canadien
name.english = Canadian French
name.babel = canadien french-canada french-ca canadianfrench
@@ -190,27 +190,27 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2
[transforms.prehyphenation]
punctuation.space.1.0 = { [^|{(}{[}{007B} ] () : () }
punctuation.space.1.1 = { insert, penalty = 10000 }
-punctuation.space.1.2 = { insert, spacefactor= 1 1 1, data = 1 }
+punctuation.space.1.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 }
punctuation.space.1.3 = {}
punctuation.space.2.0 = { [^{(}{[}{007B} ] () |: () }
punctuation.space.2.1 = { insert, penalty = 10000 }
-punctuation.space.2.2 = { spacefactor= 1 1 1, data = 2 }
+punctuation.space.2.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 }
punctuation.space.2.3 = {}
punctuation.space.3.0 = { [^|]()»() }
punctuation.space.3.1 = { insert, penalty = 10000 }
-punctuation.space.3.2 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.3.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.3.3 = {}
punctuation.space.4.0 = { [^|]()|»() }
punctuation.space.4.1 = { insert, penalty = 10000 }
-punctuation.space.4.2 = { spacefactor= .8 .3 .8, data = 2 }
+punctuation.space.4.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 }
punctuation.space.4.3 = {}
punctuation.space.5.0 = { «[^|] }
punctuation.space.5.1 = {}
punctuation.space.5.2 = { insert, penalty = 10000 }
-punctuation.space.5.3 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.5.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.5.4 = {}
punctuation.space.6.0 = { «|[^|] }
punctuation.space.6.1 = {}
punctuation.space.6.2 = { insert, penalty = 10000 }
-punctuation.space.6.3 = { spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.6.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.6.4 = {}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
index 5567074e9a1..b0aee1a8848 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
@@ -1,7 +1,7 @@
; This file is part of babel. For further details see:
; https://www.ctan.org/pkg/babel
; Data has been collected mainly from the following sources:
-; * babel language styles (license LPPL):
+; * babel language styles (license LPPL):€
; https://www.ctan.org/pkg/babel-contrib
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2024-01-03
+version = 1.1
+date = 2024-11-05
name.local = français
name.english = French
name.babel = french
@@ -189,36 +189,36 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2
[transforms.prehyphenation]
punctuation.space.1.0 = { [^|{(}{[}{007B}] () [;!{?}] () }
punctuation.space.1.1 = { insert, penalty = 10000 }
-punctuation.space.1.2 = { insert, spacefactor= .5 0 0, data = 1 }
+punctuation.space.1.2 = { insert, spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 1 }
punctuation.space.1.3 = {}
punctuation.space.2.0 = { [^{(}{[}{007B}] () | [;!{?}] () }
punctuation.space.2.1 = { insert, penalty = 10000 }
-punctuation.space.2.2 = { spacefactor= .5 0 0, data = 2 }
+punctuation.space.2.2 = { spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 2 }
punctuation.space.2.3 = {}
punctuation.space.3.0 = { [^|{(}{[}{007B} ] () : () }
punctuation.space.3.1 = { insert, penalty = 10000 }
-punctuation.space.3.2 = { insert, spacefactor= 1 1 1, data = 1 }
+punctuation.space.3.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 }
punctuation.space.3.3 = {}
punctuation.space.4.0 = { [^{(}{[}{007B} ] () |: () }
punctuation.space.4.1 = { insert, penalty = 10000 }
-punctuation.space.4.2 = { spacefactor= 1 1 1, data = 2 }
+punctuation.space.4.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 }
punctuation.space.4.3 = {}
punctuation.space.5.0 = { [^|]()»() }
punctuation.space.5.1 = { insert, penalty = 10000 }
-punctuation.space.5.2 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.5.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.5.3 = {}
punctuation.space.6.0 = { [^|]()|»() }
punctuation.space.6.1 = { insert, penalty = 10000 }
-punctuation.space.6.2 = { spacefactor= .8 .3 .8, data = 2 }
+punctuation.space.6.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 }
punctuation.space.6.3 = {}
punctuation.space.7.0 = { «[^|] }
punctuation.space.7.1 = {}
punctuation.space.7.2 = { insert, penalty = 10000 }
-punctuation.space.7.3 = { insert, spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.7.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.7.4 = {}
punctuation.space.8.0 = { «|[^|] }
punctuation.space.8.1 = {}
punctuation.space.8.2 = { insert, penalty = 10000 }
-punctuation.space.8.3 = { spacefactor= .8 .3 .8, data = 1 }
+punctuation.space.8.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 }
punctuation.space.8.4 = {}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
index b84ab729083..85cbddcb068 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = áŒá‹•á‹áŠ›
name.english = Geez
name.babel = geez
@@ -107,9 +107,10 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
hyphenchar =
prehyphenchar =
posthyphenchar =
@@ -117,6 +118,10 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes = â€â€â€™â€™
diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex
index 2425d655e5c..e8d56403660 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex
@@ -49,12 +49,12 @@
\def\greek@num@format#1#2#3#4#5#6#7#8{%
\BabelGreekNumeralMarker{%
\BabelGreekNumeralMyriads#1#2#3#4%
- \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi
+ \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi
\ifnum#6#7#8=\z@\else
\BabelGreekNumeralMarkerEnd{%
\ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi
\ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
- \ifcase#8\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi}%
+ \ifcase#8\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi}%
\fi}}
\def\greek@invalid{%
diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
index d11485f64af..a62a6c008ea 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.8
-date = 2022-07-28
+version = 1.9
+date = 2024-10-14
name.local = ΑÏχαία ελληνικά
name.english = Ancient Greek
name.babel = ancientgreek
@@ -179,7 +179,7 @@ superscriptingExponent = ×
lower.ancient.1 = α β γ δ ε ϛ ζ η θ
lower.ancient.2 = ι κ λ μ ν ξ ο π ϟ
lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡
-lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ
+lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ
lower.ancient.S.321 = ʹ
upper.ancient.1 = Α Β Γ Δ Ε Ϛ Ζ Η Θ
upper.ancient.2 = Ι Κ Λ Μ ΠΞ Ο Π Ϟ
diff --git a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
index 613a08b47b7..f0c1b90487f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.10
-date = 2023-08-31
+version = 1.11
+date = 2024-08-11
name.local = עברית
name.english = Hebrew
name.babel = hebrew
@@ -47,7 +48,7 @@ headto = ×ל
page = עמוד
see = ר××”
also = ר××” ×’×
-proof = הוכחה}
+proof = הוכחה
glossary = מילון מונחי×
[captions.licr]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
index 1d44a83d6ae..eab65831399 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
@@ -1,3 +1,4 @@
+
; This file is part of babel. For further details see:
; https://www.ctan.org/pkg/babel
; Data has been collected mainly from the following sources:
@@ -9,8 +10,8 @@
[identification]
charset = utf8
-version = 1.11
-date = 2024-04-18
+version = 1.12
+date = 2024-08-27
name.local = 日本語
name.english = Japanese
name.babel = japanese
@@ -197,4 +198,35 @@ parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
fullwidth.lower.alpha = ï½ ï½‚ c d ï½… f g h i j k l ï½ ï½Ž ï½ ï½ ï½‘ ï½’ s ï½” u ï½– ï½— x ï½™ z
fullwidth.upper.alpha = 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
+[transforms.prehyphenation]
+linebreak.strict.1.0 = { [々ããƒã…ã‡ã‰ã£ã‚ƒã‚…ょゎ゛-ゞァィゥェォッャュョヮヵヶゕゖㇰ-ㇿ・-ヾ・-ゥェ-ー゙] }
+linebreak.strict.1.1 = { insert, penalty = 10000, step = 1 }
+linebreak.strict.1.2 = {}
+;
+spacing.basic.1.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[ã€ã€‚,.・:!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『ã€ã€”〖〘〚“ã€] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini
index 5e96b1494ac..6a413b48944 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini
@@ -13,7 +13,7 @@ version = 1.1
date = 2020-06-30
name.local = Kurmancî
name.english = Northern Kurdish
-name.babel = kurmanji northernkurdish
+name.babel = northernkurdish kurmanji
name.polyglossia = kurdish
tag.bcp47 = kmr
language.tag.bcp47 = kmr
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini
index eff48777f29..1bd1ed86d61 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.5
-date = 2024-04-18
+version = 1.6
+date = 2024-08-11
name.local = 한국어
name.english = Korean
name.babel = korean-han korean-hani
@@ -56,9 +57,6 @@ see =
also =
proof = 證明
glossary = 語 彙
-section.template = [[presection]] [section] [[postsection]]
-presection = 第
-postsection = 節
[captions.licr]
preface =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
index a56ab37a39c..5bb9db0de60 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.13
-date = 2024-04-18
+version = 1.14
+date = 2024-08-11
name.local = 한국어
name.english = Korean
name.babel = korean
@@ -57,9 +58,6 @@ see =
also =
proof = ì¦ëª…
glossary = 용어집
-section.template = [[presection]] [section] [[postsection]]
-presection = 제
-postsection = ì ˆ
[captions.licr]
preface =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
index ea33f69050c..4c3dee3325e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2024-11-05
name.local = لۊری شومالی
name.english = Northern Luri
name.babel = northernluri
@@ -24,6 +24,7 @@ script.tag.opentype = arab
level = 1
encodings = LAE LFE
derivate = no
+warning = Persian and Islamic months are undefined.
[captions]
preface =
@@ -129,6 +130,48 @@ dayPeriods.narrow.pm = PM
dayPeriods.wide.am = AM
dayPeriods.wide.pm = PM
+[date.persian]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+months.narrow.1 =
+months.narrow.2 =
+months.narrow.3 =
+months.narrow.4 =
+months.narrow.5 =
+months.narrow.6 =
+months.narrow.7 =
+months.narrow.8 =
+months.narrow.9 =
+months.narrow.10 =
+months.narrow.11 =
+months.narrow.12 =
+
+[date.islamic]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
[time.gregorian]
time.medium = [HH]:[mm]:[ss]
time.short = [HH]:[mm]
@@ -148,10 +191,10 @@ hyphenationmin =
[characters]
delimiters.quotes = “â€â€˜â€™
-auxiliary = [\u200B\u200C\u200D\u200E\u200F \u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0654 إ ة ك ه ى ي]
-exemplarCharacters = [\u0659 \u065B آ أ ؤ ئ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ٠ڤ ق ک گ ل م ن ھ ە و ۉ ۊ ی ؽ]
+auxiliary = [\u200B\u200C\u200D\u200E\u200F ً ٌ ٠َ ٠٠ّ ْ ٔ إ ة ك ه ى ي]
+exemplarCharacters = [ٙ ٛ آ أ ؤ ئ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ٠ڤ ق ک گ ل م ن ھ ە و ۉ ۊ ی ؽ]
index = [آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ٠ق ک گ ل م ن ھ و ی]
-punctuation = [\\- †‑ ، ٫ ٬ ؛ \\: ! ؟ . … ‹ › « » ( ) \\[ \\] * / \\\\]
+punctuation = [\\- â€â€‘ ØŒ Ù« Ù¬ Ø› \\: ! ØŸ . … ‹ › « » ( ) \\[ \\] * / \\\\]
[numbers]
defaultNumberingSystem = arabext
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini b/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini
index 1fa9142b128..937a336ea20 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini
@@ -8,11 +8,12 @@
; http://unicode.org/copyright.html
; * Some typos fixed by Stojan Trajanovski
; * Some typos fixed by Dario Gjorgjevski
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.6
-date = 2022-09-07
+version = 1.7
+date = 2024-08-11
name.local = македонÑки
name.english = Macedonian
name.babel = macedonian
@@ -49,7 +50,7 @@ page = ÑÑ‚Ñ€.
see = види
also = види иÑто така
proof = доказ
-glossaryname = Речник
+glossary = Речник
[captions.licr]
preface = \CYRP\cyrr\cyre\cyrd\cyrg\cyro\cyrv\cyro\cyrr
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
index 234c7a1774a..3826c393f15 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2024-11-05
name.local = مازرونی
name.english = Mazanderani
name.babel = mazanderani
@@ -24,6 +24,7 @@ script.tag.opentype = arab
level = 1
encodings = LFE LAE
derivate = no
+warning = Persian and Islamic months are undefined.
[captions]
preface =
@@ -129,6 +130,48 @@ dayPeriods.narrow.pm = PM
dayPeriods.wide.am = AM
dayPeriods.wide.pm = PM
+[date.persian]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+months.narrow.1 =
+months.narrow.2 =
+months.narrow.3 =
+months.narrow.4 =
+months.narrow.5 =
+months.narrow.6 =
+months.narrow.7 =
+months.narrow.8 =
+months.narrow.9 =
+months.narrow.10 =
+months.narrow.11 =
+months.narrow.12 =
+
+[date.islamic]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
[time.gregorian]
time.medium = [HH]:[mm]:[ss]
time.short = [HH]:[mm]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
index 67b0eaa5441..532b5cf943b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2024-10-24
name.local = پښتو
name.english = Pashto
name.babel = pashto
@@ -129,6 +129,36 @@ dayPeriods.narrow.pm = غ.و.
dayPeriods.wide.am = غ.م.
dayPeriods.wide.pm = غ.و.
+[date.persian]
+date.long = د [y] د [MMMM] [d]
+months.wide.1 = وری
+months.wide.2 = غویی
+months.wide.3 = غبرگولی
+months.wide.4 = چنگاښ
+months.wide.5 = زمری
+months.wide.6 = وږی
+months.wide.7 = تله
+months.wide.8 = Ù„Ú“Ù…
+months.wide.9 = لیندÛ
+months.wide.10 = مرغومی
+months.wide.11 = سلواغه
+months.wide.12 = کب
+
+[date.islamic]
+date.long = د [y] د [MMMM] [d]
+months.wide.1 = محرم
+months.wide.2 = صÙر
+months.wide.3 = ربيع
+months.wide.4 = ربيع II
+months.wide.5 = جماعه
+months.wide.6 = جماعه II
+months.wide.7 = رجب
+months.wide.8 = شعبان
+months.wide.9 = رمضان
+months.wide.10 = شوال
+months.wide.11 = ذي القعده
+months.wide.12 = ذي الحج
+
[time.gregorian]
time.medium = [H]:[mm]:[ss]
time.short = [H]:[mm]
@@ -148,9 +178,9 @@ hyphenationmin =
[characters]
delimiters.quotes = “â€â€˜â€™
-auxiliary = [\u200C \u200D \u200E\u200F Û’]
-exemplarCharacters = [\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 Ø¢ ا Ø£ Ø¡ ب Ù¾ ت Ù¼ Ø« ج Ú Ú† Ú… Ø­ Ø® د Ú‰ Ø° ر Ú“ ز Ú˜ Ú– س Ø´ Úš ص ض Ø· ظ ع غ Ù Ù‚ Ú© Ú« Ú¯ Ù„ Ù… Ù† Ú¼ Ù‡ Ø© Ùˆ ؤ ÛŒ ÙŠ Û Û Ø¦]
-punctuation = [، ; \\: ! ۔ ' ‘ ( ) \\[ \\] \\{ \\} /]
+auxiliary = [\u200C\u200D\u200E\u200F Û’]
+exemplarCharacters = [ÙŽ Ù Ù Ù‹ Ù ÙŒ Ù‘ Ù’ Ù” Ù° Ø¢ اأ Ø¡ ب Ù¾ ت Ù¼ Ø« ج Ú Ú† Ú… Ø­ Ø® د Ú‰ Ø° ر Ú“ ز Ú˜ Ú– س Ø´ Úš ص ض Ø· ظ ع غ Ù Ù‚ Ú© Ú«Ú¯ Ù„ Ù… Ù† Ú¼ هة وؤ یيÛÛئ]
+punctuation = [، ; \\: ! ۔ '‘ ( ) \\[ \\] \\{ \\} /]
[numbers]
defaultNumberingSystem = arabext
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini
index d75c53e5428..734bd0049de 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.4
-date = 2022-10-12
+version = 1.5
+date = 2024-08-11
name.local = română
name.english = Romanian
name.babel = romanian
@@ -36,7 +37,7 @@ appendix = Anexa
contents = Cuprins
listfigure = Listă de figuri
listtable = Listă de tabele
-index = Index
+index = Glosar
figure = Figura
table = Tabela
part = Partea
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini b/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini
index 3fbf1a022e7..8b7531f6889 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With some cleaning up by Stephen Huan (@stephen-huan)
[identification]
charset = utf8
-version = 1.3
-date = 2022-10-12
+version = 1.4
+date = 2024-08-11
name.local = slovenÅ¡Äina
name.english = Slovenian
name.babel = slovene slovenian
@@ -47,7 +48,7 @@ page = Stran
see = glej
also = glej tudi
proof = Dokaz
-glossary = Glossary
+glossary = Slovar
[captions.licr]
preface = Predgovor
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
index 92aa31f638d..a4ae7c3ff0b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2023-03-11
+version = 1.5
+date = 2024-06-24
name.local = ትáŒáˆ­áŠ›
name.english = Tigrinya
name.babel = tigrinya
@@ -146,9 +146,10 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
hyphenchar =
prehyphenchar =
posthyphenchar =
@@ -156,6 +157,10 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes = “â€â€˜â€™
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
index c8e8fa6102c..170f59cb53f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ትáŒáˆ¨
name.english = Tigre
name.babel = tigre
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
index a28543e339a..4a5dd741077 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2023-03-31
+version = 1.1
+date = 2024-06-24
name.local = ወላይታቱ
name.english = Wolaytta
name.babel = wolaytta
@@ -105,16 +105,21 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-hyphenrules =
-lefthyphenmin =
-righthyphenmin =
-hyphenchar =
-prehyphenchar =
-posthyphenchar =
-exhyphenchar =
-preexhyphenchar =
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = unhyphenated
+lefthyphenmin = 1
+righthyphenmin = 1
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
postexhyphenchar =
-hyphenationmin =
+hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
index 44bb43ad511..af779cf183d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.14
-date = 2023-10-24
+version = 1.15
+date = 2024-10-27
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -240,3 +240,31 @@ parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
fullwidth.lower.alpha = ï½ ï½‚ c d ï½… f g h i j k l ï½ ï½Ž ï½ ï½ ï½‘ ï½’ s ï½” u ï½– ï½— x ï½™ z
fullwidth.upper.alpha = 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
date.day = åˆä¸€ åˆäºŒ åˆä¸‰ åˆå›› åˆäº” åˆå…­ åˆä¸ƒ åˆå…« åˆä¹ åˆå å一 å二 å三 åå›› å五 åå…­ å七 åå…« åä¹ äºŒå 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 å»¿ä¹ ä¸‰å
+
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[ã€ã€‚,.・:!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『ã€ã€”〖〘〚“ã€] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『ã€ã€”〖〘〚“ã€]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 82edeff91f7..c6eae45ca37 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -32,7 +32,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
+\directlua{ Babel = Babel or {} } % DL2
\ifx\AddBabelHook\@undefined % When plain.def, babel.sty starts
\bbl@trace{Read language.dat}
\ifx\bbl@readstream\@undefined
@@ -178,8 +178,6 @@
{\expandafter\expandafter\expandafter\bbl@luapatterns
\csname bbl@hyphendata@\the\language\endcsname}}{}}
\endinput\fi
- % Here ends \ifx\AddBabelHook\@undefined
- % A few lines are only read by hyphen.cfg
\ifx\DisableBabelHook\@undefined
\AddBabelHook{luatex}{everylanguage}{%
\def\process@language##1##2##3{%
@@ -195,16 +193,13 @@
{\expandafter\expandafter\expandafter\bbl@tempb
\csname bbl@hyphendata@\the\language\endcsname}}
\endinput\fi
- % Here stops reading code for hyphen.cfg
- % The following is read the 2nd time it's loaded
- % First, global declarations for lua
-\begingroup % TODO - to a lua file
+\begingroup % TODO - to a lua file % DL3
\catcode`\%=12
\catcode`\'=12
\catcode`\"=12
\catcode`\:=12
\directlua{
- Babel = Babel or {}
+ Babel.locale_props = Babel.locale_props or {}
function Babel.lua_error(e, a)
tex.print([[\noexpand\csname bbl@error\endcsname{]] ..
e .. '}{' .. (a or '') .. '}{}{}')
@@ -229,6 +224,40 @@
callback.register('process_input_buffer',Babel.callback)
end
end
+ function Babel.str_to_nodes(fn, matches, base)
+ local n, head, last
+ if fn == nil then return nil end
+ for s in string.utfvalues(fn(matches)) do
+ if base.id == 7 then
+ base = base.replace
+ end
+ n = node.copy(base)
+ n.char = s
+ if not head then
+ head = n
+ else
+ last.next = n
+ end
+ last = n
+ end
+ return head
+ end
+ Babel.linebreaking = Babel.linebreaking or {}
+ Babel.linebreaking.before = {}
+ Babel.linebreaking.after = {}
+ Babel.locale = {}
+ function Babel.linebreaking.add_before(func, pos)
+ tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]])
+ if pos == nil then
+ table.insert(Babel.linebreaking.before, func)
+ else
+ table.insert(Babel.linebreaking.before, pos, func)
+ end
+ end
+ function Babel.linebreaking.add_after(func)
+ tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]])
+ table.insert(Babel.linebreaking.after, func)
+ end
function Babel.addpatterns(pp, lg)
local lg = lang.new(lg)
local pats = lang.patterns(lg) or ''
@@ -295,13 +324,13 @@
str:find( [[\string\babelsublr]] ) then
str = str:gsub( [[\string\babelsublr%s*(%b{})]],
function(m) return m:sub(2,-2) end )
- end
- return str
-end
+ end
+ return str
+ end
}
\endgroup
\ifx\newattribute\@undefined\else % Test for plain
- \newattribute\bbl@attr@locale
+ \newattribute\bbl@attr@locale % DL4
\directlua{ Babel.attr_locale = luatexbase.registernumber'bbl@attr@locale' }
\AddBabelHook{luatex}{beforeextras}{%
\setattribute\bbl@attr@locale\localeid}
@@ -379,28 +408,8 @@ end
{\csname bbl@patterns@\bbl@tempa\endcsname\space}%
#2}}}%
\fi}}
-\directlua{
- Babel = Babel or {}
- Babel.linebreaking = Babel.linebreaking or {}
- Babel.linebreaking.before = {}
- Babel.linebreaking.after = {}
- Babel.locale = {} % Free to use, indexed by \localeid
- function Babel.linebreaking.add_before(func, pos)
- tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]])
- if pos == nil then
- table.insert(Babel.linebreaking.before, func)
- else
- table.insert(Babel.linebreaking.before, pos, func)
- end
- end
- function Babel.linebreaking.add_after(func)
- tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]])
- table.insert(Babel.linebreaking.after, func)
- end
-}
\def\bbl@intraspace#1 #2 #3\@@{%
\directlua{
- Babel = Babel or {}
Babel.intraspaces = Babel.intraspaces or {}
Babel.intraspaces['\csname bbl@sbcp@\languagename\endcsname'] = %
{b = #1, p = #2, m = #3}
@@ -409,7 +418,6 @@ end
}}
\def\bbl@intrapenalty#1\@@{%
\directlua{
- Babel = Babel or {}
Babel.intrapenalties = Babel.intrapenalties or {}
Babel.intrapenalties['\csname bbl@sbcp@\languagename\endcsname'] = #1
Babel.locale_props[\the\localeid].intrapenalty = #1
@@ -422,7 +430,6 @@ end
\gdef\bbl@seaintraspace{&
\let\bbl@seaintraspace\relax
\directlua{
- Babel = Babel or {}
Babel.sea_enabled = true
Babel.sea_ranges = Babel.sea_ranges or {}
function Babel.set_chranges (script, chrng)
@@ -471,7 +478,6 @@ end
\gdef\bbl@cjkintraspace{%
\let\bbl@cjkintraspace\relax
\directlua{
- Babel = Babel or {}
require('babel-data-cjk.lua')
Babel.cjk_enabled = true
function Babel.cjk_linebreak(head)
@@ -496,8 +502,10 @@ end
class = props.cjk_quotes[item.char]
end
- if class == 'cp' then class = 'cl' end % )] as CL
- if class == 'id' then class = 'I' end
+ if class == 'cp' then class = 'cl' % )] as CL
+ elseif class == 'id' then class = 'I'
+ elseif class == 'cj' then class = 'I' % loose
+ end
local br = 0
if class and last_class and Babel.cjk_breaks[last_class][class] then
@@ -544,10 +552,10 @@ end
func(head)
end
end
+ lang.hyphenate(head)
if Babel.cjk_enabled then
Babel.cjk_linebreak(head)
end
- lang.hyphenate(head)
if Babel.linebreaking.after then
for k, func in ipairs(Babel.linebreaking.after) do
func(head)
@@ -568,7 +576,6 @@ end
\ifin@ % cjk
\bbl@cjkintraspace
\directlua{
- Babel = Babel or {}
Babel.locale_props = Babel.locale_props or {}
Babel.locale_props[\the\localeid].linebreak = 'c'
}%
@@ -580,7 +587,6 @@ end
\bbl@seaintraspace
\bbl@exp{\\\bbl@intraspace\bbl@cl{intsp}\\\@@}%
\directlua{
- Babel = Babel or {}
Babel.sea_ranges = Babel.sea_ranges or {}
Babel.set_chranges('\bbl@cl{sbcp}',
'\bbl@cl{chrng}')
@@ -844,23 +850,10 @@ end
}
\endgroup
\fi\fi % ends Arabic just block: \ifnum\bbl@bidimode>100...
+\bbl@trace{Font handling with fontspec}
\AddBabelHook{babel-fontspec}{afterextras}{\bbl@switchfont}
\AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts}
\DisableBabelHook{babel-fontspec}
-\bbl@trace{Font handling with fontspec}
-\ifx\ExplSyntaxOn\@undefined\else
- \def\bbl@fs@warn@nx#1#2{% \bbl@tempfs is the original macro
- \in@{,#1,}{,no-script,language-not-exist,}%
- \ifin@\else\bbl@tempfs@nx{#1}{#2}\fi}
- \def\bbl@fs@warn@nxx#1#2#3{%
- \in@{,#1,}{,no-script,language-not-exist,}%
- \ifin@\else\bbl@tempfs@nxx{#1}{#2}{#3}\fi}
- \def\bbl@loadfontspec{%
- \let\bbl@loadfontspec\relax
- \ifx\fontspec\@undefined
- \usepackage{fontspec}%
- \fi}%
-\fi
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
\bbl@foreach{#1}{%
@@ -871,8 +864,10 @@ end
\fi}%
\edef\bbl@tempa{#1}%
\def\bbl@tempb{#2}% Used by \bbl@bblfont
- \bbl@loadfontspec
- \EnableBabelHook{babel-fontspec}% Just calls \bbl@switchfont
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}%
+ \fi
+ \EnableBabelHook{babel-fontspec}%
\bbl@bblfont}
\newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt
\bbl@ifunset{\bbl@tempb family}%
@@ -996,17 +991,10 @@ end
{\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}%
\<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}%
{\\\newfontlanguage{\bbl@cl{lname}}{\bbl@cl{lotf}}}%
- \let\\\bbl@tempfs@nx\<__fontspec_warning:nx>%
- \let\<__fontspec_warning:nx>\\\bbl@fs@warn@nx
- \let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>%
- \let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx
\\\renewfontfamily\\#4%
[\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
#2]}{#3}% ie \bbl@exp{..}{#3}
- \bbl@exp{%
- \let\<__fontspec_warning:nx>\\\bbl@tempfs@nx
- \let\<__fontspec_warning:nxx>\\\bbl@tempfs@nxx}%
\begingroup
#4%
\xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)}
@@ -1027,7 +1015,7 @@ end
\def\bbl@font@rst#1#2#3#4{%
\bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}}
\def\bbl@font@fams{rm,sf,tt}
-\directlua{
+\directlua{% DL6
Babel.script_blocks = {
['dflt'] = {},
['Arab'] = {{0x0600, 0x06FF}, {0x08A0, 0x08FF}, {0x0750, 0x077F},
@@ -1195,7 +1183,7 @@ end
Babel.chr_to_loc[\the\count@] =
\bbl@ifblank{#1}{-1000}{\the\bbl@cs{id@@#1}}\space
}}
-\directlua{
+\directlua{% DL7
Babel.nohyphenation = \the\l@nohyphenation
}
\begingroup
@@ -1223,23 +1211,26 @@ end
{\bbl@add@list\babeltempb{nil}}&%
{\directlua{
local rep = [=[##1]=]
+ local three_args = '%s*=%s*([%-%d%.%a{}|]+)%s+([%-%d%.%a{}|]+)%s+([%-%d%.%a{}|]+)'
+ &% Numeric passes directly: kern, penalty...
rep = rep:gsub('^%s*(remove)%s*$', 'remove = true')
rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ')
rep = rep:gsub('^%s*(after)%s*,', 'after = true, ')
rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func)
rep = rep:gsub('node%s*=%s*(%a+)%s*(%a*)', Babel.capture_node)
- rep = rep:gsub(&%
- '(norule)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
- 'norule = {' .. '%2, %3, %4' .. '}')
+ rep = rep:gsub( '(norule)' .. three_args,
+ 'norule = {' .. '%2, %3, %4' .. '}')
if #1 == 0 or #1 == 2 then
- rep = rep:gsub(&%
- '(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
+ rep = rep:gsub( '(space)' .. three_args,
'space = {' .. '%2, %3, %4' .. '}')
- rep = rep:gsub(&%
- '(spacefactor)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)',
+ rep = rep:gsub( '(spacefactor)' .. three_args,
'spacefactor = {' .. '%2, %3, %4' .. '}')
rep = rep:gsub('(kashida)%s*=%s*([^%s,]*)', Babel.capture_kashida)
- else
+ &% Transform values
+ rep, n = rep:gsub( '{([%a%-%.]+)|([%-%d%.]+)}',
+ '{\the\csname bbl@id@@#3\endcsname,"%1",%2}')
+ end
+ if #1 == 1 then
rep = rep:gsub( '(no)%s*=%s*([^%s,]*)', Babel.capture_func)
rep = rep:gsub( '(pre)%s*=%s*([^%s,]*)', Babel.capture_func)
rep = rep:gsub( '(post)%s*=%s*([^%s,]*)', Babel.capture_func)
@@ -1248,8 +1239,8 @@ end
}}}&%
\bbl@foreach\babeltempb{&%
\bbl@forkv{{##1}}{&%
- \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,&%
- no,post,penalty,kashida,space,spacefactor,kern,node,after,}&%
+ \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,no,&%
+ post,penalty,kashida,space,spacefactor,kern,node,after,norule,}&%
\ifin@\else
\bbl@error{bad-transform-option}{####1}{}{}&%
\fi}}&%
@@ -1375,13 +1366,15 @@ end
require('babel-transforms.lua')
Babel.linebreaking.add_before(Babel.pre_hyphenate_replace)
}}
+\newcommand\SetTransformValue[3]{%
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@#1\endcsname].vars["#2"] = #3
+ }}
\newcommand\localeprehyphenation[1]{%
\directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }}
\def\bbl@activate@preotf{%
\let\bbl@activate@preotf\relax % only once
\directlua{
- Babel = Babel or {}
- %
function Babel.pre_otfload_v(head)
if Babel.numbers and Babel.digits_mapped then
head = Babel.numbers(head)
@@ -1392,7 +1385,7 @@ end
return head
end
%
- function Babel.pre_otfload_h(head, gc, sz, pt, dir)
+ function Babel.pre_otfload_h(head, gc, sz, pt, dir) %%% TODO
if Babel.numbers and Babel.digits_mapped then
head = Babel.numbers(head)
end
@@ -1415,7 +1408,7 @@ end
'luaotfload.node_processor') or nil)
}}
\breakafterdirmode=1
-\ifnum\bbl@bidimode>\@ne % Any bidi= except default=1
+\ifnum\bbl@bidimode>\@ne % Any bidi= except default (=1)
\let\bbl@beforeforeign\leavevmode
\AtEndOfPackage{\EnableBabelHook{babel-bidi}}
\RequirePackage{luatexbase}
@@ -1426,6 +1419,9 @@ end
require('babel-bidi-basic.lua')
\or
require('babel-bidi-basic-r.lua')
+ table.insert(Babel.ranges, {0xE000, 0xF8FF, 'on'})
+ table.insert(Babel.ranges, {0xF0000, 0xFFFFD, 'on'})
+ table.insert(Babel.ranges, {0x100000, 0x10FFFD, 'on'})
\fi}
\newattribute\bbl@attr@dir
\directlua{ Babel.attr_dir = luatexbase.registernumber'bbl@attr@dir' }
@@ -1493,6 +1489,12 @@ end
end
luatexbase.add_to_callback("hpack_filter", Babel.math_box_dir,
"Babel.math_box_dir", 0)
+ if Babel.unset_atdir then
+ luatexbase.add_to_callback("pre_linebreak_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ luatexbase.add_to_callback("hpack_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ end
}}%
\fi
\DeclareRobustCommand\localebox[1]{%
@@ -1638,6 +1640,115 @@ end
\fi\fi}
\fi
\def\bbl@provide@extra#1{%
+ % == onchar ==
+ \ifx\bbl@KVP@onchar\@nnil\else
+ \bbl@luahyphenate
+ \bbl@exp{%
+ \\\AddToHook{env/document/before}{{\\\select@language{#1}{}}}}%
+ \directlua{
+ if Babel.locale_mapped == nil then
+ Babel.locale_mapped = true
+ Babel.linebreaking.add_before(Babel.locale_map, 1)
+ Babel.loc_to_scr = {}
+ Babel.chr_to_loc = Babel.chr_to_loc or {}
+ end
+ Babel.locale_props[\the\localeid].letters = false
+ }%
+ \bbl@xin@{ letters }{ \bbl@KVP@onchar\space}%
+ \ifin@
+ \directlua{
+ Babel.locale_props[\the\localeid].letters = true
+ }%
+ \fi
+ \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}%
+ \ifin@
+ \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection
+ \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}%
+ \fi
+ \bbl@exp{\\\bbl@add\\\bbl@starthyphens
+ {\\\bbl@patterns@lua{\languagename}}}%
+ \directlua{
+ if Babel.script_blocks['\bbl@cl{sbcp}'] then
+ Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cl{sbcp}']
+ Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space
+ end
+ }%
+ \fi
+ \bbl@xin@{ fonts }{ \bbl@KVP@onchar\space}%
+ \ifin@
+ \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
+ \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}%
+ \directlua{
+ if Babel.script_blocks['\bbl@cl{sbcp}'] then
+ Babel.loc_to_scr[\the\localeid] =
+ Babel.script_blocks['\bbl@cl{sbcp}']
+ end}%
+ \ifx\bbl@mapselect\@undefined % TODO. almost the same as mapfont
+ \AtBeginDocument{%
+ \bbl@patchfont{{\bbl@mapselect}}%
+ {\selectfont}}%
+ \def\bbl@mapselect{%
+ \let\bbl@mapselect\relax
+ \edef\bbl@prefontid{\fontid\font}}%
+ \def\bbl@mapdir##1{%
+ \begingroup
+ \setbox\z@\hbox{% Force text mode
+ \def\languagename{##1}%
+ \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
+ \bbl@switchfont
+ \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
+ ['/\bbl@prefontid'] = \fontid\font\space}%
+ \fi}%
+ \endgroup}%
+ \fi
+ \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
+ \fi
+ % TODO - catch non-valid values
+ \fi
+ % == mapfont ==
+ % For bidi texts, to switch the font based on direction
+ \ifx\bbl@KVP@mapfont\@nnil\else
+ \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}%
+ {\bbl@error{unknown-mapfont}{}{}{}}%
+ \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
+ \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}%
+ \ifx\bbl@mapselect\@undefined % TODO. See onchar.
+ \AtBeginDocument{%
+ \bbl@patchfont{{\bbl@mapselect}}%
+ {\selectfont}}%
+ \def\bbl@mapselect{%
+ \let\bbl@mapselect\relax
+ \edef\bbl@prefontid{\fontid\font}}%
+ \def\bbl@mapdir##1{%
+ {\def\languagename{##1}%
+ \let\bbl@ifrestoring\@firstoftwo % avoid font warning
+ \bbl@switchfont
+ \directlua{Babel.fontmap
+ [\the\csname bbl@wdir@##1\endcsname]%
+ [\bbl@prefontid]=\fontid\font}}}%
+ \fi
+ \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
+ \fi
+ % == Line breaking: CJK quotes ==
+ \ifcase\bbl@engine\or
+ \bbl@xin@{/c}{/\bbl@cl{lnbrk}}%
+ \ifin@
+ \bbl@ifunset{bbl@quote@\languagename}{}%
+ {\directlua{
+ Babel.locale_props[\the\localeid].cjk_quotes = {}
+ local cs = 'op'
+ for c in string.utfvalues(%
+ [[\csname bbl@quote@\languagename\endcsname]]) do
+ if Babel.cjk_characters[c].c == 'qu' then
+ Babel.locale_props[\the\localeid].cjk_quotes[c] = cs
+ end
+ cs = ( cs == 'op') and 'cl' or 'op'
+ end
+ }}%
+ \fi
+ \fi
% == Counters: mapdigits ==
% Native digits
\ifx\bbl@KVP@mapdigits\@nnil\else
@@ -1645,7 +1756,6 @@ end
{\RequirePackage{luatexbase}%
\bbl@activate@preotf
\directlua{
- Babel = Babel or {} %%% -> presets in luababel
Babel.digits_mapped = true
Babel.digits = Babel.digits or {}
Babel.digits[\the\localeid] =
@@ -1682,6 +1792,21 @@ end
\bbl@replace\bbl@tempa{transforms.}{}%
\bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
\fi}%
+ \bbl@exp{%
+ \\\bbl@ifblank{\bbl@cl{dgnat}}%
+ {\let\\\bbl@tempa\relax}%
+ {\def\\\bbl@tempa{%
+ \\\bbl@elt{transforms.prehyphenation}%
+ {digits.native.1.0}{([0-9])}%
+ \\\bbl@elt{transforms.prehyphenation}%
+ {digits.native.1.1}{string={1\string|0123456789\string|\bbl@cl{dgnat}}}}}}%
+ \ifx\bbl@tempa\relax\else
+ \toks@\expandafter\expandafter\expandafter{%
+ \csname bbl@inidata@\languagename\endcsname}%
+ \bbl@csarg\edef{inidata@\languagename}{%
+ \unexpanded\expandafter{\bbl@tempa}%
+ \the\toks@}%
+ \fi
\csname bbl@inidata@\languagename\endcsname
\bbl@release@transforms\relax % \relax closes the last item.
\fi}
@@ -1702,7 +1827,9 @@ end
{\chardef\bbl@tabular@mode\z@}%
{\chardef\bbl@tabular@mode\@ne}}% Mixed, with LTR cols
\ifnum\bbl@bidimode>\@ne % Any lua bidi= except default=1
- \ifcase\bbl@tabular@mode\or % 1
+ % Redefine: vrules mess up dirs. TODO: why?
+ \def\@arstrut{\relax\copy\@arstrutbox}%
+ \ifcase\bbl@tabular@mode\or % 1 = Mixed - default
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}
\AtBeginDocument{%
@@ -1727,7 +1854,7 @@ end
{\\\do@row@strut\<fi>}{\\\do@row@strut\<fi>\egroup}}}%
{}}%
\fi}%
- \or % 2
+ \or % 2 = All RTL - tabular
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}%
\AtBeginDocument{%
@@ -1753,9 +1880,9 @@ end
\ifnum\bbl@bidimode>\z@ % Any bidi=
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
\bbl@exp{%
- \def\\\bbl@insidemath{0}%
\mathdir\the\bodydir
#1% Once entered in math, set boxes to restore values
+ \def\\\bbl@insidemath{0}%
\<ifmmode>%
\everyvbox{%
\the\everyvbox
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 346399ca4f2..e6fe3d88ca6 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -32,8 +32,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
-\ProvidesLanguage{nil}[2024/06/02 v24.6 Nil language]
+\ProvidesLanguage{nil}[2024/11/08 v24.13 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def
index f5f85e202d9..6624d517539 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\input babel.def
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 13f56013121..e991164458d 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\let\bbl@onlyswitch\@empty
\input babel.def
\let\bbl@onlyswitch\@undefined
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index 70ae95c5d4b..380fb2380c7 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\providecommand\bbl@provide@intraspace{}
\bbl@trace{Redefinitions for bidi layout}
\def\bbl@sspre@caption{% TODO: Unused!
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 9775e235b39..ccb2f14b9fd 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -32,7 +32,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-
\def\BabelStringsDefault{unicode}
\let\xebbl@stop\relax
\AddBabelHook{xetex}{encodedcommands}{%
@@ -94,23 +93,10 @@
\fi}%
\fi}
\ifx\DisableBabelHook\@undefined\endinput\fi %%%% TODO: why
+\bbl@trace{Font handling with fontspec}
\AddBabelHook{babel-fontspec}{afterextras}{\bbl@switchfont}
\AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts}
\DisableBabelHook{babel-fontspec}
-\bbl@trace{Font handling with fontspec}
-\ifx\ExplSyntaxOn\@undefined\else
- \def\bbl@fs@warn@nx#1#2{% \bbl@tempfs is the original macro
- \in@{,#1,}{,no-script,language-not-exist,}%
- \ifin@\else\bbl@tempfs@nx{#1}{#2}\fi}
- \def\bbl@fs@warn@nxx#1#2#3{%
- \in@{,#1,}{,no-script,language-not-exist,}%
- \ifin@\else\bbl@tempfs@nxx{#1}{#2}{#3}\fi}
- \def\bbl@loadfontspec{%
- \let\bbl@loadfontspec\relax
- \ifx\fontspec\@undefined
- \usepackage{fontspec}%
- \fi}%
-\fi
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
\bbl@foreach{#1}{%
@@ -121,8 +107,10 @@
\fi}%
\edef\bbl@tempa{#1}%
\def\bbl@tempb{#2}% Used by \bbl@bblfont
- \bbl@loadfontspec
- \EnableBabelHook{babel-fontspec}% Just calls \bbl@switchfont
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}%
+ \fi
+ \EnableBabelHook{babel-fontspec}%
\bbl@bblfont}
\newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt
\bbl@ifunset{\bbl@tempb family}%
@@ -246,17 +234,10 @@
{\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}%
\<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}%
{\\\newfontlanguage{\bbl@cl{lname}}{\bbl@cl{lotf}}}%
- \let\\\bbl@tempfs@nx\<__fontspec_warning:nx>%
- \let\<__fontspec_warning:nx>\\\bbl@fs@warn@nx
- \let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>%
- \let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx
\\\renewfontfamily\\#4%
[\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
#2]}{#3}% ie \bbl@exp{..}{#3}
- \bbl@exp{%
- \let\<__fontspec_warning:nx>\\\bbl@tempfs@nx
- \let\<__fontspec_warning:nxx>\\\bbl@tempfs@nxx}%
\begingroup
#4%
\xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)}
diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
index 943745bf7a0..cca735bf1e0 100644
--- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
+++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
@@ -266,6 +266,58 @@
%
%>>>
+%% check loaded TikZ/pgf version %<<<`
+%
+% parse the release date, thanks to Skillmon
+% https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2231681032
+% date can be yyyy-mm-dd or (older TikZ) yyyy/mm/dd
+\begingroup
+ \pgfutil@protected\def\parsedate#1%
+ {%
+ \afterassignment\parsedate@month
+ \pgf@circ@count@a=#1\relax
+ }
+ \pgfutil@protected\def\parsedate@month#1%
+ {%
+ \afterassignment\parsedate@day
+ \pgf@circ@count@b=%
+ }
+ \pgfutil@protected\def\parsedate@day#1%
+ {%
+ \afterassignment\parsedate@cleanup
+ \pgf@circ@count@c=%
+ }
+ \def\parsedate@cleanup#1\relax{}%
+ \parsedate{\pgfrevisiondate}%
+ \xdef\ctikz@@pgfyear{\the\pgf@circ@count@a}%
+ \xdef\ctikz@@pgfmonth{\the\pgf@circ@count@b}%
+ \xdef\ctikz@@pgfday{\the\pgf@circ@count@c}%
+\endgroup
+% The following code thanks to Skillmon:
+% https://tex.stackexchange.com/a/722570/38080
+% modified by romano to check the date
+\def\ctikz@@ifpgfafter@auxi#1#2%
+ {%
+ \ifnum#1
+ \ctikz@@ifpgfafter@auxii{#2}%
+ \fi
+ }
+\def\ctikz@@ifpgfafter@auxii#1\fi#2\ctikz@@ifpgfafter#3{\fi#1}
+\def\ctikz@@ifpgfafter#1-#2-#3#%
+ {%
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear>#1}\pgfutil@firstoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear<#1}\pgfutil@secondoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth>#2}\pgfutil@firstoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth<#2}\pgfutil@secondoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfday<#3}\pgfutil@secondoftwo
+ \pgfutil@gobble\ctikz@@ifpgfafter\pgfutil@firstoftwo
+ }
+%
+% usage \ctikz@@ifpgfafter 2023-01-16{true}{false}
+% ^^^ no spaces here, braces needed.
+%
+%>>>
+
%% arrow tips macros and utilities %<<<1
% the default arrow is latexslim, which has been ported over old arrows library (deprecated)
@@ -298,9 +350,70 @@
\pgfpathclose
\pgfusepathqfill
}
-
\pgfarrowsdeclarereversed{latexslim reversed}{latexslim reversed}{latexslim}{latexslim}
-
+%% Jack Tap, see
+%% https://github.com/circuitikz/circuitikz/issues/806
+\pgfdeclarearrow{name=Jack Tap,
+ parameters = {%
+ \the\pgfarrowlength,%
+ \the\pgfarrowwidth,%
+ \ifpgfarrowswap s\fi%
+ \ifpgfarrowopen o\fi%
+ \ifpgfarrowroundjoin j\fi
+ \ifpgfarrowroundcap c\fi%
+ },
+ setup code = {
+ \pgfarrowssettipend{.5\pgfarrowlength}
+ \pgfarrowssetlineend{-.6\pgfarrowlength}
+ \pgfarrowssetvisualbackend{-.6\pgfarrowlength}
+ \pgfarrowssetbackend{-.6\pgfarrowlength}
+ % hull
+ \pgfarrowshullpoint{.5\pgfarrowlength}{0pt}
+ \pgfarrowshullpoint{0pt}{\pgfarrowwidth}
+ \pgfarrowshullpoint{-.6\pgfarrowlength}{0pt}
+ % Saves: Only the length:
+ \pgfarrowssavethe\pgfarrowlength
+ \pgfarrowssavethe\pgfarrowwidth
+ },
+ drawing code = {
+ \pgfsetdash{}{+0pt}
+ \pgfarrowlinewidth=\pgflinewidth
+ \ifpgfarrowroundjoin\pgfsetroundjoin\else\pgfsetmiterjoin\fi
+ \ifpgfarrowroundcap\pgfsetroundcap\else\pgfsetbuttcap\fi
+ \pgfpathmoveto{\pgfqpoint{-.6\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgfarrowwidth}}
+ \pgfpathlineto{\pgfqpoint{.5\pgfarrowlength}{0pt}}
+ \ifpgfarrowopen
+ \pgfusepathqstroke
+ \else
+ \pgfpathclose
+ \ifdim\pgfarrowlinewidth>0pt\pgfusepathqfillstroke\else\pgfusepathqfill\fi
+ \fi
+ },
+ defaults = {length = 0.3cm, width=0.15cm, open},
+ % cache=false, % breaks everything
+}
+% the new "fill without arg" will be in TikZ 3.1.11. Apply it here if we have an
+% older version
+\ctikz@@ifpgfafter 2023-01-16{\relax}{%
+ % thanks @muzimuzhi https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2229075269
+ % undo the fill/.value required key
+ \expandafter\let\csname pgfk@/pgf/arrow keys/fill/.@def\endcsname\@undefined
+ \pgfkeys{/pgf/arrow keys/fill/.code={%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgf@nonetext%
+ \pgfarrowsaddtooptions{\pgfarrowopentrue}%
+ \else\ifx\pgf@temp\pgfkeysnovalue@text%
+ \pgfarrowsaddtooptions{\pgfarrowopenfalse}%
+ \else
+ \pgfarrowsaddtooptions{\pgfarrowopenfalse\def\pgf@arrows@fill@color{#1}}%
+ \fi\fi
+ }}%
+}
+\tikzset{v/.tip={Jack Tap[swap]}, ^/.tip={Jack Tap},
+ vf/.tip={Jack Tap[swap,fill]}, ^f/.tip={Jack Tap[fill]}}
+%
% select the arrows using available defaults.
\def\pgfcirc@arrow@default{default}
% choose the arrows to use. Use #2 and #3 if the key is equal to "default"
@@ -466,7 +579,30 @@
\fi
\fi
}
-
+% similar o the above, use the fill parameter to set fill or draw
+% for a subset of the shape
+\def\pgf@circ@subset@fill@or@draw#1{%
+ % You *must* be sure that this is called inside a \pgfscope!
+ \edef\@@none{none}\edef\@@default{default}
+ \edef\@@tmp{\ctikzvalof{#1/fill}}
+ \ifx\@@tmp\@@none
+ \pgfusepath{draw}
+ \else
+ \ifx\@@tmp\@@default\else
+ \pgfsetfillcolor{\@@tmp}
+ \fi
+ \pgfusepath{draw, fill}
+ \fi
+}
+% ...and for the thickness
+\def\pgf@circ@subset@thickness#1{%
+ % You *must* be sure that this is called inside a \pgfscope!
+ \edef\@@default{default}
+ \edef\@@tmp{\ctikzvalof{#1/thickness}}
+ \ifx\@@tmp\@@default\else
+ \pgfsetlinewidth{\@@tmp\pgflinewidth}%
+ \fi
+}
% set the text color (via \color) if the color is not default or none
% needed in some strange case (like bodydiode' dots)
\def\pgf@circ@maybe@color#1{%
@@ -557,6 +693,7 @@
% #7 - macros drawing the bipole
%
\long\def\pgfcircdeclarebipolescaled#1#2#3#4#5#6#7{
+ % \typeout{Declaring bipole:\space #4,}
\pgfdeclareshape{#4shape}{
\savedmacro{\ctikzclass}{\edef\ctikzclass{#1}}
\saveddimen{\scaledRlen}{\pgfmathsetlength{\pgf@x}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}}
@@ -602,97 +739,33 @@
\pgf@y=.5\pgf@y
}
\anchor{center}{\pgfpointorigin}
- \anchor{n}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{north east}{
- \northeast
- }
- \anchor{north west}{
- \northeast
- \pgf@x=-\pgf@x
- }
- \anchor{ne}{
- \northeast
- }
- \anchor{nw}{
- \northeast
- \pgf@x=-\pgf@x
- }
- \anchor{e}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{s}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{south east}{
- \southwest
- \pgf@x=-\pgf@x
- }
- \anchor{south west}{
- \southwest
- }
- \anchor{se}{
- \southwest
- \pgf@x=-\pgf@x
- }
- \anchor{sw}{
- \southwest
- }
- \anchor{w}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{north}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{east}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{south}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{west}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{right}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{above}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{left}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{below}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{a}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{b}{
- \southwest
- \pgf@y=0cm
- }
+ \anchor{n}{\northeast\pgf@x=0cm }
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{ne}{\northeast}
+ \anchor{nw}{\northeast\pgf@x=-\pgf@x}
+ \anchor{e}{\northeast\pgf@y=0cm }
+ \anchor{s}{\southwest\pgf@x=0cm }
+ \anchor{south east}{\southwest\pgf@x=-\pgf@x}
+ \anchor{south west}{\southwest}
+ \anchor{se}{\southwest\pgf@x=-\pgf@x}
+ \anchor{sw}{\southwest}
+ \anchor{w}{\southwest\pgf@y=0cm }
+ \anchor{north}{\northeast\pgf@x=0cm }
+ \anchor{east}{\northeast\pgf@y=0cm }
+ \anchor{south}{\southwest\pgf@x=0cm }
+ \anchor{west}{\southwest\pgf@y=0cm }
+ \anchor{right}{\northeast\pgf@y=0cm }
+ \anchor{above}{\northeast\pgf@x=0cm }
+ \anchor{left}{\southwest\pgf@y=0cm }
+ \anchor{below}{\southwest\pgf@x=0cm }
+ \anchor{a}{\northeast\pgf@y=0cm }
+ \anchor{b}{\southwest\pgf@y=0cm }
\savedanchor{\textanchor}{%
\pgf@y=\ht\pgfnodeparttextbox
\pgf@x=-.5\wd\pgfnodeparttextbox
}
- \anchor{text}{
- \textanchor
- }
+ \anchor{text}{ \textanchor }
\anchorborder{%
\ifpgf@circuit@bipole@inverted
\pgf@circ@res@left=-\pgf@x
@@ -711,7 +784,6 @@
#2%
\pgf@circ@draw@component{
\pgf@circ@setcolor
-
\northeast
\pgf@circ@res@up = \pgf@y
\pgf@circ@res@zero = 0cm
diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
index 626ed28812b..b30e741458d 100644
--- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
+++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
@@ -632,13 +632,21 @@
\pgfusepath{draw}
\endpgfscope
}%
-
%% Zig-zag resistors
+% see https://github.com/circuitikz/circuitikz/discussions/814
+\ctikzset{resistors/zigzag stub/.initial=0}
+\ctikzset{resistors/zigzag hook/.code={}}
\def\pgf@circ@zigzag#1{%
+ \pgf@circ@res@temp=\ctikzvalof{resistors/zigzag stub}\pgf@circ@res@step
+ \advance \pgf@circ@res@step by -2\pgf@circ@res@temp
\divide \pgf@circ@res@step by \numexpr4*\zigs\relax
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \ifdim\pgf@circ@res@temp>0pt
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left+\pgf@circ@res@temp -\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \fi
\pgf@circ@res@other = \pgf@circ@res@left
+ \advance\pgf@circ@res@other by \pgf@circ@res@temp
\pgf@circ@count@a=\zigs\relax
% first half zig
\advance\pgf@circ@res@other by \pgf@circ@res@step
@@ -655,11 +663,14 @@
\advance\pgf@circ@res@other by 2\pgf@circ@res@step
\pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{#1\pgf@circ@res@down}}
\advance\pgf@circ@res@other by \pgf@circ@res@step
- \pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{\pgf@circ@res@zero}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \ifdim\pgf@circ@res@temp>0pt
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgf@circ@res@temp+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \fi
\pgfsetbeveljoin
+ \pgfkeys{/tikz/circuitikz/resistors/zigzag hook}
\pgfusepath{draw}
}
-
%% Resistor
\pgfcircdeclarebipolescaled{resistors}
{
@@ -672,7 +683,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen}
\pgf@circ@zigzag{1}
}
@@ -692,7 +703,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen}
\pgf@circ@zigzag{.5}
\pgfscope
@@ -731,7 +742,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen}
\pgf@circ@zigzag{1}
\pgfscope
@@ -761,7 +772,7 @@
{%
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen}
\pgf@circ@zigzag{.5}
\pgfscope
@@ -810,7 +821,7 @@
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@right/\@@intscale+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen}
\pgf@circ@zigzag{\@@hscale}
}%
@@ -6031,6 +6042,13 @@
\ctikzset{bipoles/qpprobe/voltage/additional shift/.initial=.5}
\ctikzset{bipoles/iloop/width/.initial=.40}
\ctikzset{bipoles/iloop/height/.initial=.60}
+% currtap see https://github.com/circuitikz/circuitikz/issues/807
+\ctikzset{bipoles/currtap/height/.initial=0.4}
+\ctikzset{bipoles/currtap/dot size/.initial=0.5}
+\ctikzset{bipoles/currtap/fill/.initial=default}
+\ctikzset{bipoles/currtap/dash/.initial=none}
+\ctikzset{bipoles/currtap/color/.initial=default}
+\ctikzset{bipoles/currtap/thickness/.initial=default}
\ctikzset{bipoles/oscope/height/.initial=.60}
\ctikzset{bipoles/oscope/width/.initial=.60}
@@ -6607,6 +6625,28 @@
\pgfusepath{draw}
\endpgfscope
}
+%% currtap
+\pgfcircdeclarebipolescaled{instruments}
+{
+ \savedmacro{\@@dotsize}{\def\@@dotsize{\ctikzvalof{bipoles/currtap/dot size}}}
+ \anchor{tap}{\northeast\pgf@x=0pt\pgf@y=\@@dotsize\pgf@y\pgf@y=-\pgf@y}
+}
+{\ctikzvalof{bipoles/currtap/height}}
+{currtap}
+{\ctikzvalof{bipoles/currtap/height}}
+{\ctikzvalof{bipoles/currtap/height}}
+{
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{0.95\pgf@circ@res@left}{0pt}}
+ \pgfpatharc{180}{0}{0.95\pgf@circ@res@right}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfusepath{draw}
+ \pgf@circ@subset@color@dash{bipoles/currtap}
+ \pgf@circ@subset@thickness{bipoles/currtap}
+ \pgfusepath{draw}
+ \pgfpathcircle{\pgfpoint{0pt}{0pt}}{\@@dotsize*\pgf@circ@res@up}
+ \pgf@circ@subset@fill@or@draw{bipoles/currtap}
+}
% %>>>
% Path definitions for Instruments%<<<
@@ -6619,8 +6659,8 @@
\pgfcirc@activate@bipole@simple{l}{rmeterwa}
\pgfcirc@activate@bipole@simple{l}{smeter}
\pgfcirc@activate@bipole@simple{l}{iloop}
-% \pgfcirc@activate@bipole@simple{l}{iloop2} that was wrong
\pgfcirc@activate@bipole{l}{ilooptwo}{iloop2}{iloop2}
+\pgfcirc@activate@bipole@simple{l}{currtap}
\pgfcirc@activate@bipole@simple{l}{qvprobe}
\pgfcirc@activate@bipole@simple{l}{qiprobe}
\pgfcirc@activate@bipole@simple{l}{qpprobe}
@@ -6774,16 +6814,22 @@
% spring into the damper
\pgfscope
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@zero}}
+ \pgfscope
+ \pgftransformationadjustments
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \pgfpathlineto{\pgfpoint{.95\pgf@circ@res@left}{\pgf@circ@res@zero}}
\pgfsetcornersarced{\pgfpoint{.25\pgf@circ@res@up}{.25\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.75\pgf@circ@res@left}{.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.5\pgf@circ@res@left}{-.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.25\pgf@circ@res@left}{.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{-.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/damper/length}\pgf@circ@res@right}{.75\pgf@circ@res@up}}
+ \pgfsetbuttcap
+ \pgfsetbeveljoin
\pgfusepath{stroke}
\endpgfscope
+ \endpgfscope
% damper box
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}
@@ -7171,18 +7217,18 @@
{\ctikzvalof{bipoles/thermocouple/height}}
{\ctikzvalof{bipoles/thermocouple/width}}
{
+ \pgfsetrectcap
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
- \pgfusepath{draw}
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
- \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}}
- \pgfusepath{draw}
- \pgfsetlinewidth{\pgfstartlinewidth}
- \pgfpathmoveto{\pgfpoint{0}{\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{.5\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0}}
\pgfusepath{draw}
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
}
%% fuse
\pgfcircdeclarebipolescaled{misc}
diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
index e3665b88625..cb95f54ef3e 100644
--- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
+++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
@@ -231,13 +231,15 @@
\compattikzset{#2/.style={\comnpatname #1, #3={##1}}}%
}
% create a bipole
-\def\pgfcirc@activate@bipole#1#2#3#4{% path name, base node name, style name
+\def\pgfcirc@activate@bipole#1#2#3#4{% type of label, path name, base node name, style name
+ % \typeout{Activate bipole:\space #4,}
\expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}%
\pgfcirc@path@to@style{#1}{#2}{#4}{}% no options here, let's see
}
\def\pgfcirc@activate@bipole@simple#1#2{\pgfcirc@activate@bipole{#1}{#2}{#2}{#2}}
% create a bipole with options
-\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% path name, base node name, style name
+\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% type of label, path name, base node name, style name, options
+ % \typeout{Activate bipole:\space #4,}
\expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}%
\pgfcirc@path@to@style{#1}{#2}{#4}{#5}% no options here, let's see
}
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
index 7f3827b207b..61d4f2d20c2 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `latex-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -45,8 +45,8 @@
\RequirePackage{expl3}
\ProvidesExplPackage
{lt3luabridge}%
- {2024-02-14}%
- {2.1.0}%
+ {2024-07-03}%
+ {2.2.0}%
{An expl3 package that allows you to execute Lua code in LuaTeX or any other
TeX engine that exposes the shell}
\input lt3luabridge\relax
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
index 256456220e0..26d3dc6a0b9 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `generic-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -117,9 +117,34 @@
=
{ \c_luabridge_method_shell_int }
{
- \str_const:Nn
- \c_luabridge_default_output_dirname_str
- { . }
+ \sys_if_platform_unix:TF
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { $TEXMF_OUTPUT_DIRECTORY }
+ }
+ {
+ \sys_if_platform_windows:TF
+ {
+ \str_set:Nn
+ \l_tmpa_str
+ { TEXMF_OUTPUT_DIRECTORY }
+ \str_put_left:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_put_right:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_const:NV
+ \c_luabridge_default_output_dirname_str
+ \l_tmpa_str
+ }
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { . }
+ }
+ }
\str_const:Nx
\c_luabridge_default_helper_script_filename_str
{ \jobname.luabridge.lua }
@@ -207,9 +232,37 @@
\g_luabridge_helper_script_filename_str
\sys_get_shell:xnNTF
{
- texlua~
- \g_luabridge_output_dirname_str /
- \g_luabridge_helper_script_filename_str
+ \str_if_eq:NNTF
+ \g_luabridge_output_dirname_str
+ \c_luabridge_default_output_dirname_str
+ {
+ \sys_if_platform_windows:TF
+ {
+ if~not~defined~TEXMF_OUTPUT_DIRECTORY~(
+ texlua~
+ \g_luabridge_helper_script_filename_str
+ )~else~(
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ )
+ }
+ {
+ \sys_if_platform_unix:T
+ {
+ TEXMF_OUTPUT_DIRECTORY =
+ ${TEXMF_OUTPUT_DIRECTORY:-.} \iow_newline:
+ }
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
+ }
+ {
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
}
{ }
#1
diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
index ac4eed7372b..35e6ab1e8ab 100644
--- a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
+++ b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex
@@ -6,7 +6,7 @@
%%
%% lt3luabridge.dtx (with options: `context-package')
%%
-%% Copyright (C) 2016-2024 Vít Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/generic/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex
index 9c71c07afd1..ed5a94c990c 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdown.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdown.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `tex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej GenÄur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -51,7 +51,9 @@
\prop_new:N \g__markdown_default_lua_options_prop
\seq_new:N \g__markdown_option_layers_seq
\tl_const:Nn \c__markdown_option_layer_lua_tl { lua }
-\seq_gput_right:NV \g__markdown_option_layers_seq \c__markdown_option_layer_lua_tl
+\seq_gput_right:NV
+ \g__markdown_option_layers_seq
+ \c__markdown_option_layer_lua_tl
\cs_new:Nn
\__markdown_add_lua_option:nnn
{
@@ -128,21 +130,50 @@
\cs_generate_variant:Nn
\msg_error:nnnn
{ nnnV }
-\seq_new:N \g__markdown_option_types_seq
-\tl_const:Nn \c__markdown_option_type_clist_tl { clist }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_clist_tl
-\tl_const:Nn \c__markdown_option_type_counter_tl { counter }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_counter_tl
-\tl_const:Nn \c__markdown_option_type_boolean_tl { boolean }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_boolean_tl
-\tl_const:Nn \c__markdown_option_type_number_tl { number }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_number_tl
-\tl_const:Nn \c__markdown_option_type_path_tl { path }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_path_tl
-\tl_const:Nn \c__markdown_option_type_slice_tl { slice }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_slice_tl
-\tl_const:Nn \c__markdown_option_type_string_tl { string }
-\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_string_tl
+\seq_new:N
+ \g__markdown_option_types_seq
+\tl_const:Nn
+ \c__markdown_option_type_clist_tl
+ { clist }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_clist_tl
+\tl_const:Nn
+ \c__markdown_option_type_counter_tl
+ { counter }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_counter_tl
+\tl_const:Nn
+ \c__markdown_option_type_boolean_tl
+ { boolean }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_boolean_tl
+\tl_const:Nn
+ \c__markdown_option_type_number_tl
+ { number }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_number_tl
+\tl_const:Nn
+ \c__markdown_option_type_path_tl
+ { path }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_path_tl
+\tl_const:Nn
+ \c__markdown_option_type_slice_tl
+ { slice }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_slice_tl
+\tl_const:Nn
+ \c__markdown_option_type_string_tl
+ { string }
+\seq_gput_right:NV
+ \g__markdown_option_types_seq
+ \c__markdown_option_type_string_tl
\cs_new:Nn
\__markdown_get_option_type:nN
{
@@ -323,6 +354,10 @@
\__markdown_add_lua_option:nnn
{ eagerCache }
{ boolean }
+ { true }
+\__markdown_add_lua_option:nnn
+ { experimental }
+ { boolean }
{ false }
\__markdown_add_lua_option:nnn
{ singletonCache }
@@ -413,6 +448,10 @@
{ boolean }
{ false }
\__markdown_add_lua_option:nnn
+ { ensureJekyllData }
+ { boolean }
+ { false }
+\__markdown_add_lua_option:nnn
{ expectJekyllData }
{ boolean }
{ false }
@@ -580,12 +619,20 @@
{ boolean }
{ true }
\ExplSyntaxOff
-\def\markdownLastModified{2024-06-20}%
-\def\markdownVersion{3.6.1-0-g5a45a922}%
+\def\markdownLastModified{2024-11-03}%
+\def\markdownVersion{3.8.1-0-gbbed72f3}%
\let\markdownBegin\relax
\let\markdownEnd\relax
+\let\yamlBegin\relax
+\def\yamlEnd{\markdownEnd\endgroup}
\let\markinline\relax
\let\markdownInput\relax
+\def\yamlInput#1{%
+ \begingroup
+ \yamlSetup{jekyllData, expectJekyllData, ensureJekyllData}%
+ \markdownInput{#1}%
+ \endgroup
+}%
\let\markdownEscape\relax
\ExplSyntaxOn
\tl_const:Nn \c__markdown_option_layer_plain_tex_tl { plain_tex }
@@ -602,7 +649,9 @@
\seq_new:N \g__markdown_plain_tex_options_seq
\prop_new:N \g__markdown_plain_tex_option_types_prop
\prop_new:N \g__markdown_default_plain_tex_options_prop
-\seq_gput_right:NV \g__markdown_option_layers_seq \c__markdown_option_layer_plain_tex_tl
+\seq_gput_right:NV
+ \g__markdown_option_layers_seq
+ \c__markdown_option_layer_plain_tex_tl
\cs_new:Nn
\__markdown_add_plain_tex_option:nnn
{
@@ -622,6 +671,9 @@
\cs_gset_eq:NN
\markdownSetup
\__markdown_setup:n
+\cs_gset_eq:NN
+ \yamlSetup
+ \markdownSetup
\prg_new_conditional:Nnn
\__markdown_if_option:n
{ TF, T, F }
@@ -664,38 +716,10 @@
{ inputTempFileName }
{ path }
{ \jobname.markdown.in }
-\cs_generate_variant:Nn
- \__markdown_add_plain_tex_option:nnn
- { nnV }
-\ExplSyntaxOff
-\input lt3luabridge.tex
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \cs_if_exist_p:N
- \luabridge_tl_set:Nn &&
- (
- \int_compare_p:nNn
- { \g_luabridge_method_int }
- =
- { \c_luabridge_method_directlua_int } ||
- \sys_if_shell_unrestricted_p:
- )
- }
- {
- \luabridge_tl_set:Nn
- \l_tmpa_tl
- { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
- }
- {
- \tl_set:Nn
- \l_tmpa_tl
- { . }
- }
-\__markdown_add_plain_tex_option:nnV
+\__markdown_add_plain_tex_option:nnn
{ outputDir }
{ path }
- \l_tmpa_tl
+ { . }
\__markdown_add_plain_tex_option:nnn
{ plain }
{ boolean }
@@ -740,18 +764,64 @@
\cs_new:Nn
\__markdown_define_option_command:n
{
- \__markdown_option_tl_to_csname:nN
+ \str_if_eq:nnTF
{ #1 }
- \l_tmpa_tl
- \cs_if_exist:cF
- { \l_tmpa_tl }
+ { outputDir }
+ { \__markdown_define_option_command_output_dir: }
{
- \__markdown_get_default_option_value:nN
- { #1 }
- \l_tmpa_tl
- \__markdown_set_option_value:nV
+ \__markdown_option_tl_to_csname:nN
{ #1 }
\l_tmpa_tl
+ \cs_if_exist:cF
+ { \l_tmpa_tl }
+ {
+ \__markdown_get_default_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \__markdown_set_option_value:nV
+ { #1 }
+ \l_tmpa_tl
+ }
+ }
+ }
+\ExplSyntaxOff
+\input lt3luabridge.tex
+\ExplSyntaxOn
+\cs_new:Nn
+ \__markdown_define_option_command_output_dir:
+ {
+ \cs_if_free:NT
+ \markdownOptionOutputDir
+ {
+ \bool_if:nTF
+ {
+ \cs_if_exist_p:N
+ \luabridge_tl_set:Nn &&
+ (
+ \int_compare_p:nNn
+ { \g_luabridge_method_int }
+ =
+ { \c_luabridge_method_directlua_int } ||
+ \sys_if_shell_unrestricted_p:
+ )
+ }
+ {
+ \group_begin:
+ \cctab_select:N
+ \c_str_cctab
+ \luabridge_tl_set:Nn
+ \l_tmpa_tl
+ { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
+ \tl_gset:NV
+ \markdownOptionOutputDir
+ \l_tmpa_tl
+ \group_end:
+ }
+ {
+ \tl_gset:Nn
+ \markdownOptionOutputDir
+ { . }
+ }
}
}
\cs_new:Nn
@@ -914,7 +984,7 @@
\prg_generate_conditional_variant:Nnn
\str_if_eq:nn
{ en }
- { F }
+ { p, F }
\msg_new:nnn
{ markdown }
{ malformed-name-for-clist-option }
@@ -948,14 +1018,22 @@
},
}
\seq_new:N
- \g__markdown_themes_seq
+ \g__markdown_theme_names_seq
+\seq_new:N
+ \g__markdown_theme_versions_seq
\tl_new:N
\g__markdown_current_theme_tl
\tl_gset:Nn
\g__markdown_current_theme_tl
{ }
\seq_gput_right:NV
- \g__markdown_themes_seq
+ \g__markdown_theme_names_seq
+ \g__markdown_current_theme_tl
+\cs_new:Npn
+ \markdownThemeVersion
+ { }
+\seq_gput_right:NV
+ \g__markdown_theme_versions_seq
\g__markdown_current_theme_tl
\cs_new:Nn
\__markdown_set_theme:n
@@ -978,31 +1056,85 @@
{ underscores-in-theme-name }
{ #1 }
}
- \str_set:Nn
- \l_tmpa_str
+ \str_if_in:nnTF
{ #1 }
+ { @ }
+ {
+ \regex_extract_once:nnN
+ { (.*) @ (.*) }
+ { #1 }
+ \l_tmpa_seq
+ \seq_gpop_left:NN
+ \l_tmpa_seq
+ \l_tmpa_tl
+ \seq_gpop_left:NN
+ \l_tmpa_seq
+ \l_tmpa_tl
+ \tl_gset:NV
+ \g__markdown_current_theme_tl
+ \l_tmpa_tl
+ \seq_gpop_left:NN
+ \l_tmpa_seq
+ \l_tmpa_tl
+ \cs_gset:Npe
+ \markdownThemeVersion
+ {
+ \tl_use:N
+ \l_tmpa_tl
+ }
+ }
+ {
+ \tl_gset:Nn
+ \g__markdown_current_theme_tl
+ { #1 }
+ \cs_gset:Npn
+ \markdownThemeVersion
+ { latest }
+ }
+ \str_set:NV
+ \l_tmpa_str
+ \g__markdown_current_theme_tl
\str_replace_all:Nnn
\l_tmpa_str
{ / }
{ _ }
- \tl_gset:Nn
+ \tl_set:NV
+ \l_tmpa_tl
\g__markdown_current_theme_tl
- { #1 / }
+ \tl_put_right:Nn
+ \g__markdown_current_theme_tl
+ { / }
\seq_gput_right:NV
- \g__markdown_themes_seq
+ \g__markdown_theme_names_seq
\g__markdown_current_theme_tl
- \__markdown_load_theme:nV
- { #1 }
+ \seq_gput_right:NV
+ \g__markdown_theme_versions_seq
+ \markdownThemeVersion
+ \__markdown_load_theme:VeV
+ \l_tmpa_tl
+ { \markdownThemeVersion }
\l_tmpa_str
\seq_gpop_right:NN
- \g__markdown_themes_seq
+ \g__markdown_theme_names_seq
\l_tmpa_tl
\seq_get_right:NN
- \g__markdown_themes_seq
+ \g__markdown_theme_names_seq
\l_tmpa_tl
\tl_gset:NV
\g__markdown_current_theme_tl
\l_tmpa_tl
+ \seq_gpop_right:NN
+ \g__markdown_theme_versions_seq
+ \l_tmpa_tl
+ \seq_get_right:NN
+ \g__markdown_theme_versions_seq
+ \l_tmpa_tl
+ \cs_gset:Npe
+ \markdownThemeVersion
+ {
+ \tl_use:N
+ \l_tmpa_tl
+ }
}
\msg_new:nnnn
{ markdown }
@@ -1017,6 +1149,9 @@
\cs_generate_variant:Nn
\tl_replace_all:Nnn
{ NnV }
+\cs_generate_variant:Nn
+ \cs_gset:Npn
+ { Npe }
\prop_new:N
\g__markdown_snippets_prop
\cs_new:Nn
@@ -1044,10 +1179,14 @@
{ redefined-snippet }
\l_tmpa_tl
}
- \prop_gput:NVn
+ \keys_precompile:nnN
+ { markdown/options }
+ { #2 }
+ \l_tmpb_tl
+ \prop_gput:NVV
\g__markdown_snippets_prop
\l_tmpa_tl
- { #2 }
+ \l_tmpb_tl
}
\cs_gset_eq:NN
\markdownSetupSnippet
@@ -1061,20 +1200,21 @@
{ markdown }
{ redefined-snippet }
{ Redefined~snippet~#1 }
+\tl_new:N
+ \l__markdown_current_snippet_tl
\prg_new_conditional:Nnn
\__markdown_if_snippet_exists:n
{ TF, T, F }
{
\tl_set:NV
- \l_tmpa_tl
+ \l__markdown_current_snippet_tl
\g__markdown_current_theme_tl
\tl_put_right:Nn
- \l_tmpa_tl
+ \l__markdown_current_snippet_tl
{ #1 }
- \prop_get:NVNTF
+ \prop_if_in:NVTF
\g__markdown_snippets_prop
- \l_tmpa_tl
- \l_tmpb_tl
+ \l__markdown_current_snippet_tl
{ \prg_return_true: }
{ \prg_return_false: }
}
@@ -1098,7 +1238,7 @@
\g__markdown_snippets_prop
\l_tmpa_tl
\l_tmpb_tl
- \__markdown_setup:V
+ \tl_use:N
\l_tmpb_tl
}
{
@@ -1113,9 +1253,6 @@
{ markdown }
{ undefined-snippet }
{ Can't~invoke~undefined~snippet~#1 }
-\cs_generate_variant:Nn
- \__markdown_setup:n
- { V }
\tl_new:N
\l__markdown_import_current_theme_tl
\keys_define:nn
@@ -2370,6 +2507,26 @@
{ untickedBox }
{ 0 }
\ExplSyntaxOff
+\def\markdownRendererWarning{%
+ \markdownRendererWarningPrototype}%
+\def\markdownRendererError{%
+ \markdownRendererErrorPrototype}%
+\ExplSyntaxOn
+\seq_gput_right:Nn
+ \g__markdown_renderers_seq
+ { warning }
+\prop_gput:Nnn
+ \g__markdown_renderer_arities_prop
+ { warning }
+ { 4 }
+\seq_gput_right:Nn
+ \g__markdown_renderers_seq
+ { error }
+\prop_gput:Nnn
+ \g__markdown_renderer_arities_prop
+ { error }
+ { 4 }
+\ExplSyntaxOff
\def\markdownRendererJekyllDataBegin{%
\markdownRendererJekyllDataBeginPrototype}%
\ExplSyntaxOn
@@ -2458,11 +2615,80 @@
{ jekyllDataNumber }
{ 2 }
\ExplSyntaxOff
-\def\markdownRendererJekyllDataString{%
- \markdownRendererJekyllDataStringPrototype}%
+\def\markdownRendererJekyllDataTypographicString{%
+ \markdownRendererJekyllDataTypographicStringPrototype}%
+\def\markdownRendererJekyllDataProgrammaticString{%
+ \markdownRendererJekyllDataProgrammaticStringPrototype}%
\ExplSyntaxOn
\seq_gput_right:Nn
\g__markdown_renderers_seq
+ { jekyllDataTypographicString }
+\prop_gput:Nnn
+ \g__markdown_renderer_arities_prop
+ { jekyllDataTypographicString }
+ { 2 }
+\seq_gput_right:Nn
+ \g__markdown_renderers_seq
+ { jekyllDataProgrammaticString }
+\prop_gput:Nnn
+ \g__markdown_renderer_arities_prop
+ { jekyllDataProgrammaticString }
+ { 2 }
+\cs_gset:Npn
+ \markdownRendererJekyllDataTypographicString
+ {
+ \cs_if_exist:NTF
+ \markdownRendererJekyllDataString
+ {
+ \__markdown_if_option:nTF
+ { experimental }
+ {
+ \markdownError
+ {
+ The~jekyllDataString~renderer~has~been~deprecated,~
+ to~be~removed~in~Markdown~4.0.0
+ }
+ }
+ {
+ \markdownWarning
+ {
+ The~jekyllDataString~renderer~has~been~deprecated,~
+ to~be~removed~in~Markdown~4.0.0
+ }
+ \markdownRendererJekyllDataString
+ }
+ }
+ {
+ \cs_if_exist:NTF
+ \markdownRendererJekyllDataStringPrototype
+ {
+ \__markdown_if_option:nTF
+ { experimental }
+ {
+ \markdownError
+ {
+ The~jekyllDataString~renderer~prototype~
+ has~been~deprecated,~
+ to~be~removed~in~Markdown~4.0.0
+ }
+ }
+ {
+ \markdownWarning
+ {
+ The~jekyllDataString~renderer~prototype~
+ has~been~deprecated,~
+ to~be~removed~in~Markdown~4.0.0
+ }
+ \markdownRendererJekyllDataStringPrototype
+ }
+ }
+ {
+ \markdownRendererJekyllDataTypographicStringPrototype
+ }
+ }
+ }
+\seq_gput_right:Nn
+ \g__markdown_renderers_seq
{ jekyllDataString }
\prop_gput:Nnn
\g__markdown_renderer_arities_prop
@@ -2481,9 +2707,12 @@
{ 1 }
\cs_new:Nn \__markdown_define_renderers:
{
- \seq_map_function:NN
+ \seq_map_inline:Nn
\g__markdown_renderers_seq
- \__markdown_define_renderer:n
+ {
+ \__markdown_define_renderer:n
+ { ##1 }
+ }
}
\cs_new:Nn \__markdown_define_renderer:n
{
@@ -2547,6 +2776,13 @@
\l__markdown_renderer_definition_tl
},
}
+ \str_if_eq:nnT
+ { #1 }
+ { jekyllDataString }
+ {
+ \cs_undefine:N
+ #2
+ }
}
\cs_new_protected:Nn
\__markdown_tl_set_from_cs:NNn
@@ -2804,9 +3040,12 @@
{ nV }
\cs_new:Nn \__markdown_define_renderer_prototypes:
{
- \seq_map_function:NN
+ \seq_map_inline:Nn
\g__markdown_renderers_seq
- \__markdown_define_renderer_prototype:n
+ {
+ \__markdown_define_renderer_prototype:n
+ { ##1 }
+ }
}
\cs_new:Nn \__markdown_define_renderer_prototype:n
{
@@ -2871,14 +3110,19 @@
\l__markdown_renderer_prototype_definition_tl
},
}
- \cs_if_free:NT
- #2
+ \str_if_eq:nnF
+ { #1 }
+ { jekyllDataString }
{
- \cs_generate_from_arg_count:NNnn
+ \cs_if_free:NT
#2
- \cs_set:Npn
- { #3 }
- { }
+ {
+ \cs_generate_from_arg_count:NNnn
+ #2
+ \cs_set:Npn
+ { #3 }
+ { }
+ }
}
}
\cs_generate_variant:Nn
@@ -2980,6 +3224,11 @@
|gdef|markdownBegin{%
|markdownReadAndConvert{\markdownEnd}%
{|markdownEnd}}%
+ |gdef|yamlBegin{%
+ |begingroup
+ |yamlSetup{jekyllData, expectJekyllData, ensureJekyllData}%
+ |markdownReadAndConvert{\yamlEnd}%
+ {|yamlEnd}}%
|endgroup
\ExplSyntaxOn
\keys_define:nn
@@ -3043,53 +3292,91 @@
\msg_error:nnnn
{ nnee }
\prop_new:N \g__markdown_plain_tex_loaded_themes_linenos_prop
+\prop_new:N \g__markdown_plain_tex_loaded_themes_versions_prop
\cs_new:Nn
- \__markdown_plain_tex_load_theme:nn
+ \__markdown_plain_tex_load_theme:nnn
{
\prop_get:NnNTF
\g__markdown_plain_tex_loaded_themes_linenos_prop
{ #1 }
\l_tmpa_tl
{
- \msg_warning:nnnV
- { markdown }
- { repeatedly-loaded-plain-tex-theme }
+ \prop_get:NnN
+ \g__markdown_plain_tex_loaded_themes_versions_prop
{ #1 }
- \l_tmpa_tl
+ \l_tmpb_tl
+ \str_if_eq:nVTF
+ { #2 }
+ \l_tmpb_tl
+ {
+ \msg_warning:nnnVn
+ { markdown }
+ { repeatedly-loaded-plain-tex-theme }
+ { #1 }
+ \l_tmpa_tl
+ { #2 }
+ }
+ {
+ \msg_error:nnnnVV
+ { markdown }
+ { different-versions-of-plain-tex-theme }
+ { #1 }
+ { #2 }
+ \l_tmpb_tl
+ \l_tmpa_tl
+ }
}
{
- \msg_info:nnn
+ \msg_info:nnnn
{ markdown }
{ loading-plain-tex-theme }
{ #1 }
+ { #2 }
\prop_gput:Nnx
\g__markdown_plain_tex_loaded_themes_linenos_prop
{ #1 }
{ \tex_the:D \tex_inputlineno:D }
+ \prop_gput:Nnn
+ \g__markdown_plain_tex_loaded_themes_versions_prop
+ { #1 }
+ { #2 }
\file_input:n
- { markdown theme #2 }
+ { markdown theme #3 }
}
}
\msg_new:nnn
{ markdown }
{ loading-plain-tex-theme }
- { Loading~plain~TeX~Markdown~theme~#1 }
+ { Loading~version~#2~of~plain~TeX~Markdown~theme~#1 }
\msg_new:nnn
{ markdown }
{ repeatedly-loaded-plain-tex-theme }
{
- Plain~TeX~Markdown~theme~#1~was~previously~
+ Version~#3~of~plain~TeX~Markdown~theme~#1~was~previously~
loaded~on~line~#2,~not~loading~it~again
}
+\msg_new:nnn
+ { markdown }
+ { different-versions-of-plain-tex-theme }
+ {
+ Tried~to~load~version~#2~of~plain~TeX~Markdown~theme~#1~
+ but~version~#3~has~already~been~loaded~on~line~#4
+ }
\cs_generate_variant:Nn
\prop_gput:Nnn
{ Nnx }
\cs_gset_eq:NN
- \__markdown_load_theme:nn
- \__markdown_plain_tex_load_theme:nn
+ \__markdown_load_theme:nnn
+ \__markdown_plain_tex_load_theme:nnn
\cs_generate_variant:Nn
- \__markdown_load_theme:nn
- { nV }
+ \__markdown_load_theme:nnn
+ { VeV }
+\cs_generate_variant:Nn
+ \msg_error:nnnnnn
+ { nnnnVV }
+\cs_generate_variant:Nn
+ \msg_warning:nnnnn
+ { nnnVn }
\cs_new:Npn
\markdownLoadPlainTeXTheme
{
@@ -3113,16 +3400,17 @@
\l_tmpa_str
{ / }
{ _ }
- \__markdown_plain_tex_load_theme:VV
+ \__markdown_plain_tex_load_theme:VeV
\l_tmpb_tl
+ { \markdownThemeVersion }
\l_tmpa_str
}
\cs_generate_variant:Nn
\tl_set:Nn
{ Ne }
\cs_generate_variant:Nn
- \__markdown_plain_tex_load_theme:nn
- { VV }
+ \__markdown_plain_tex_load_theme:nnn
+ { VeV }
\str_if_eq:VVT
\c__markdown_top_layer_tl
\c__markdown_option_layer_plain_tex_tl
@@ -3131,8 +3419,16 @@
\__markdown_if_option:nF
{ noDefaults }
{
- \__markdown_setup:n
- {theme = witiko/markdown/defaults}
+ \__markdown_if_option:nTF
+ { experimental }
+ {
+ \__markdown_setup:n
+ { theme = witiko/markdown/defaults@experimental }
+ }
+ {
+ \__markdown_setup:n
+ { theme = witiko/markdown/defaults }
+ }
}
\ExplSyntaxOn
}
@@ -3171,7 +3467,7 @@
\l_tmpa_tl
\tl_gput_right:Nx
\g__markdown_formatted_lua_options_tl
- { #1~=~ \l_tmpa_tl ,~ }
+ { #1~=~ \l_tmpa_tl ,~ }
}
{
\str_if_eq_p:VV
@@ -3188,9 +3484,18 @@
\clist_map_inline:Vn
\l_tmpa_tl
{
- \tl_gput_right:Nx
+ \__markdown_lua_escape:xN
+ { ##1 }
+ \l_tmpb_tl
+ \tl_gput_right:Nn
+ \g__markdown_formatted_lua_options_tl
+ { " }
+ \tl_gput_right:NV
\g__markdown_formatted_lua_options_tl
- { "##1" ,~ }
+ \l_tmpb_tl
+ \tl_gput_right:Nn
+ \g__markdown_formatted_lua_options_tl
+ { " ,~ }
}
\tl_gput_right:Nx
\g__markdown_formatted_lua_options_tl
@@ -3201,9 +3506,18 @@
\__markdown_get_option_value:nN
{ #1 }
\l_tmpa_tl
- \tl_gput_right:Nx
+ \__markdown_lua_escape:xN
+ { \l_tmpa_tl }
+ \l_tmpb_tl
+ \tl_gput_right:Nn
+ \g__markdown_formatted_lua_options_tl
+ { #1~=~ " }
+ \tl_gput_right:NV
\g__markdown_formatted_lua_options_tl
- { #1~=~ " \l_tmpa_tl " ,~ }
+ \l_tmpb_tl
+ \tl_gput_right:Nn
+ \g__markdown_formatted_lua_options_tl
+ { " ,~ }
}
}
\cs_generate_variant:Nn
@@ -3211,18 +3525,77 @@
{ Vn }
\let\markdownPrepareLuaOptions=\__markdown_format_lua_options:
\def\markdownLuaOptions{{ \g__markdown_formatted_lua_options_tl }}
+\sys_if_engine_luatex:TF
+ {
+ \cs_new:Nn
+ \__markdown_lua_escape:nN
+ {
+ \tl_set:Nx
+ #2
+ {
+ \lua_escape:n
+ { #1 }
+ }
+ }
+ }
+ {
+ \regex_const:Nn
+ \c__markdown_lua_escape_regex
+ { [\\"'] }
+ \cs_new:Nn
+ \__markdown_lua_escape:nN
+ {
+ \tl_set:Nn
+ #2
+ { #1 }
+ \regex_replace_all:NnN
+ \c__markdown_lua_escape_regex
+ { \u { c_backslash_str } \0 }
+ #2
+ }
+ }
+\cs_generate_variant:Nn
+ \__markdown_lua_escape:nN
+ { xN }
+\tl_new:N
+ \markdownInputFilename
+\cs_new:Npn
+ \markdownPrepareInputFilename
+ #1
+ {
+ \__markdown_lua_escape:xN
+ { #1 }
+ \markdownInputFilename
+ \tl_gset:Nx
+ \markdownInputFilename
+ { " \markdownInputFilename " }
+ }
+\cs_new:Npn
+ \markdownPrepare
+ {
+ local~lfs = require("lfs")
+ local~options = \markdownLuaOptions
+ if~not~lfs.isdir(options.cacheDir) then~
+ assert(lfs.mkdir(options.cacheDir))
+ end~
+ local~md = require("markdown")
+ local~convert = md.new(options)
+ }
+\cs_new:Npn
+ \markdownConvert
+ {
+ local~filename = \markdownInputFilename
+ local~file = assert(io.open(filename, "r"),
+ [[Could~not~open~file~"]] .. filename .. [["~for~reading]])
+ local~input = assert(file:read("*a"))
+ assert(file:close())
+ print(convert(input))
+ }
\ExplSyntaxOff
-\def\markdownPrepare{%
- local lfs = require("lfs")
- local cacheDir = "\markdownOptionCacheDir"
- if not lfs.isdir(cacheDir) then
- assert(lfs.mkdir(cacheDir))
- end
- local md = require("markdown")
- local convert = md.new(\markdownLuaOptions)
-}%
\def\markdownCleanup{%
- lfs.rmdir(cacheDir)
+ if options.cacheDir then
+ lfs.rmdir(options.cacheDir)
+ end
}%
\csname newread\endcsname\markdownInputFileStream
\csname newwrite\endcsname\markdownOutputFileStream
@@ -3319,6 +3692,9 @@
}
}
}
+ \str_gset:NV
+ \g_luabridge_output_dirname_str
+ \markdownOptionOutputDir
\luabridge_now:e
{ #1 }
}
@@ -3405,29 +3781,42 @@
\msg_new:nnn
{ markdown }
{ buffering-markinline }
- { Buffering~inline~markdown~input~into~the~temporary~input~file~"#1". }
+ { Buffering~inline~markdown~input~into~
+ the~temporary~input~file~"#1". }
\msg_new:nnnn
{ markdown }
{ markinline-peek-failure }
{ Use~of~\iow_char:N \\ markinline~doesn't~match~its~definition }
- { The~macro~should~be~followed~by~inline~markdown~text~in~curly~braces }
+ { The~macro~should~be~followed~by~inline~
+ markdown~text~in~curly~braces }
\cs_new:Npn
\markdownInput
#1
{
- \file_get_full_name:nNTF
- { #1 }
- \l_tmpa_tl
+ \__markdown_if_option:nTF
+ { frozenCache }
{
- \exp_args:NV
- \markdownInputRaw
- \l_tmpa_tl
+ \markdownInputRaw
+ { #1 }
}
{
- \msg_error:nnnV
- { markdown }
- { markdown-file-does-not-exist }
+ \tl_set:Nx
+ \l_tmpa_tl
{ #1 }
+ \file_get_full_name:VNTF
+ \l_tmpa_tl
+ \l_tmpb_tl
+ {
+ \exp_args:NV
+ \markdownInputRaw
+ \l_tmpb_tl
+ }
+ {
+ \msg_error:nnV
+ { markdown }
+ { markdown-file-does-not-exist }
+ \l_tmpa_tl
+ }
}
}
\msg_new:nnn
@@ -3453,20 +3842,18 @@
|fi
|markdownInfo{Including markdown document number
"|the|markdownOptionFrozenCacheCounter" from frozen cache}%
- |csname markdownFrozenCache|the|markdownOptionFrozenCacheCounter|endcsname
+ |csname markdownFrozenCache%
+ |the|markdownOptionFrozenCacheCounter|endcsname
|global|advance|markdownOptionFrozenCacheCounter by 1|relax
}{%
|markdownInfo{Including markdown document "&1"}%
|openin|markdownInputFileStream&1
|closein|markdownInputFileStream
|markdownPrepareLuaOptions
+ |markdownPrepareInputFilename{&1}%
|markdownLuaExecute{%
|markdownPrepare
- local file = assert(io.open("&1", "r"),
- [[Could not open file "&1" for reading]])
- local input = assert(file:read("*a"))
- assert(file:close())
- print(convert(input))
+ |markdownConvert
|markdownCleanup}%
|markdownIfOption{finalizeCache}{%
|global|advance|markdownOptionFrozenCacheCounter by 1|relax}{}%
diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
index dc8a90917f6..6ca36cac93f 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-markdown-defaults-tex')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej GenÄur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -77,18 +77,22 @@
\def\markdownRendererUlEndTightPrototype{}%
\def\markdownRendererOlBeginPrototype{}%
\def\markdownRendererOlBeginTightPrototype{}%
-\def\markdownRendererFancyOlBeginPrototype#1#2{\markdownRendererOlBegin}%
-\def\markdownRendererFancyOlBeginTightPrototype#1#2{\markdownRendererOlBeginTight}%
+\def\markdownRendererFancyOlBeginPrototype#1#2{%
+ \markdownRendererOlBegin}%
+\def\markdownRendererFancyOlBeginTightPrototype#1#2{%
+ \markdownRendererOlBeginTight}%
\def\markdownRendererOlItemPrototype{}%
\def\markdownRendererOlItemWithNumberPrototype#1{}%
\def\markdownRendererOlItemEndPrototype{}%
\def\markdownRendererFancyOlItemPrototype{\markdownRendererOlItem}%
-\def\markdownRendererFancyOlItemWithNumberPrototype{\markdownRendererOlItemWithNumber}%
+\def\markdownRendererFancyOlItemWithNumberPrototype{%
+ \markdownRendererOlItemWithNumber}%
\def\markdownRendererFancyOlItemEndPrototype{}%
\def\markdownRendererOlEndPrototype{}%
\def\markdownRendererOlEndTightPrototype{}%
\def\markdownRendererFancyOlEndPrototype{\markdownRendererOlEnd}%
-\def\markdownRendererFancyOlEndTightPrototype{\markdownRendererOlEndTight}%
+\def\markdownRendererFancyOlEndTightPrototype{%
+ \markdownRendererOlEndTight}%
\def\markdownRendererDlBeginPrototype{}%
\def\markdownRendererDlBeginTightPrototype{}%
\def\markdownRendererDlItemPrototype#1{#1}%
@@ -163,8 +167,30 @@
\def\markdownRendererSectionBeginPrototype{}%
\def\markdownRendererSectionEndPrototype{}%
\ExplSyntaxOn
+\cs_gset:Npn
+ \markdownRendererWarningPrototype
+ #1#2#3#4
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { #2 }
+ \tl_if_empty:nF
+ { #4 }
+ {
+ \tl_put_right:Nn
+ \l_tmpa_tl
+ { \iow_newline: #4 }
+ }
+ \exp_args:NV
+ \markdownWarning
+ \l_tmpa_tl
+ }
+\ExplSyntaxOff
+\def\markdownRendererErrorPrototype#1#2#3#4{%
+ \markdownError{#2}{#4}}%
+\ExplSyntaxOn
\cs_new:Nn
- \__markdown_plain_tex_default_input_raw_inline_renderer_prototype:nn
+ \__markdown_plain_tex_default_input_raw_inline:nn
{
\str_case:nn
{ #2 }
@@ -174,7 +200,7 @@
}
}
\cs_new:Nn
- \__markdown_plain_tex_default_input_raw_block_renderer_prototype:nn
+ \__markdown_plain_tex_default_input_raw_block:nn
{
\str_case:nn
{ #2 }
@@ -186,14 +212,14 @@
\cs_gset:Npn
\markdownRendererInputRawInlinePrototype#1#2
{
- \__markdown_plain_tex_default_input_raw_inline_renderer_prototype:nn
+ \__markdown_plain_tex_default_input_raw_inline:nn
{ #1 }
{ #2 }
}
\cs_gset:Npn
\markdownRendererInputRawBlockPrototype#1#2
{
- \__markdown_plain_tex_default_input_raw_block_renderer_prototype:nn
+ \__markdown_plain_tex_default_input_raw_block:nn
{ #1 }
{ #2 }
}
@@ -310,7 +336,8 @@
{ #1 }
{ #2 }
}
-\def\markdownRendererJekyllDataStringPrototype#1#2{
+\def\markdownRendererJekyllDataProgrammaticStringPrototype#1#2{}
+\def\markdownRendererJekyllDataTypographicStringPrototype#1#2{
\markdown_jekyll_data_set_keyvals:nn
{ #1 }
{ #2 }
diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
index 90d34446f00..dd00c00f7f4 100644
--- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
+++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex
@@ -6,7 +6,7 @@
%%
%% markdown.dtx (with options: `themes-witiko-tilde')
%%
-%% Copyright (C) 2016-2024 Vít Starý Novotný
+%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej GenÄur
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/generic/oberdiek/telprint.sty b/Master/texmf-dist/tex/generic/oberdiek/telprint.sty
deleted file mode 100644
index aa51f0bd5b3..00000000000
--- a/Master/texmf-dist/tex/generic/oberdiek/telprint.sty
+++ /dev/null
@@ -1,255 +0,0 @@
-%%
-%% This is file `telprint.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% telprint.dtx (with options: `package')
-%%
-%% This is a generated file.
-%%
-%% Project: telprint
-%% Version: 2016/05/16 v1.11
-%%
-%% Copyright (C)
-%% 1996, 1997, 2004-2008 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%% https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%% https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%%
-%%
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%%
-%% This work consists of the main source file telprint.dtx
-%% and the derived files
-%% telprint.sty, telprint.pdf, telprint.ins, telprint.drv,
-%% telprint-test1.tex.
-%%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
- \catcode13=5 % ^^M
- \endlinechar=13 %
- \catcode35=6 % #
- \catcode39=12 % '
- \catcode44=12 % ,
- \catcode45=12 % -
- \catcode46=12 % .
- \catcode58=12 % :
- \catcode64=11 % @
- \catcode123=1 % {
- \catcode125=2 % }
- \expandafter\let\expandafter\x\csname ver@telprint.sty\endcsname
- \ifx\x\relax % plain-TeX, first loading
- \else
- \def\empty{}%
- \ifx\x\empty % LaTeX, first loading,
- % variable is initialized, but \ProvidesPackage not yet seen
- \else
- \expandafter\ifx\csname PackageInfo\endcsname\relax
- \def\x#1#2{%
- \immediate\write-1{Package #1 Info: #2.}%
- }%
- \else
- \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
- \fi
- \x{telprint}{The package is already loaded}%
- \aftergroup\endinput
- \fi
- \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
- \catcode13=5 % ^^M
- \endlinechar=13 %
- \catcode35=6 % #
- \catcode39=12 % '
- \catcode40=12 % (
- \catcode41=12 % )
- \catcode44=12 % ,
- \catcode45=12 % -
- \catcode46=12 % .
- \catcode47=12 % /
- \catcode58=12 % :
- \catcode64=11 % @
- \catcode91=12 % [
- \catcode93=12 % ]
- \catcode123=1 % {
- \catcode125=2 % }
- \expandafter\ifx\csname ProvidesPackage\endcsname\relax
- \def\x#1#2#3[#4]{\endgroup
- \immediate\write-1{Package: #3 #4}%
- \xdef#1{#4}%
- }%
- \else
- \def\x#1#2[#3]{\endgroup
- #2[{#3}]%
- \ifx#1\@undefined
- \xdef#1{#3}%
- \fi
- \ifx#1\relax
- \xdef#1{#3}%
- \fi
- }%
- \fi
-\expandafter\x\csname ver@telprint.sty\endcsname
-\ProvidesPackage{telprint}%
- [2016/05/16 v1.11 Format German phone numbers (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
- \catcode13=5 % ^^M
- \endlinechar=13 %
- \catcode123=1 % {
- \catcode125=2 % }
- \catcode64=11 % @
- \def\x{\endgroup
- \expandafter\edef\csname TELAtEnd\endcsname{%
- \endlinechar=\the\endlinechar\relax
- \catcode13=\the\catcode13\relax
- \catcode32=\the\catcode32\relax
- \catcode35=\the\catcode35\relax
- \catcode61=\the\catcode61\relax
- \catcode64=\the\catcode64\relax
- \catcode123=\the\catcode123\relax
- \catcode125=\the\catcode125\relax
- }%
- }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP@EnsureCode#1#2{%
- \edef\TELAtEnd{%
- \TELAtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{33}{12}% !
-\TMP@EnsureCode{36}{3}% $
-\TMP@EnsureCode{40}{12}% (
-\TMP@EnsureCode{41}{12}% )
-\TMP@EnsureCode{42}{12}% *
-\TMP@EnsureCode{43}{12}% +
-\TMP@EnsureCode{44}{12}% ,
-\TMP@EnsureCode{45}{12}% -
-\TMP@EnsureCode{46}{12}% .
-\TMP@EnsureCode{47}{12}% /
-\TMP@EnsureCode{91}{12}% [
-\TMP@EnsureCode{93}{12}% ]
-\TMP@EnsureCode{126}{13}% ~ (active)
-\edef\TELAtEnd{\TELAtEnd\noexpand\endinput}
-\ifx\DeclareRobustCommand\UnDeFiNeD
- \def\DeclareRobustCommand*#1[1]{\def#1##1}%
- \def\TELreset{\let\DeclareRobustCommand=\UnDeFiNeD}%
- \input infwarerr.sty\relax
- \@PackageInfo{telprint}{%
- Macros are not robust!%
- }%
-\else
- \let\TELreset=\relax
-\fi
-\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}}
-\telspace{{}$\,${}}
-\DeclareRobustCommand*{\telhyphen}[1]{\def\TELhyphen{#1}}
-\telhyphen{\leavevmode\hbox{-}}% \hbox zur Verhinderung der Trennung
-\DeclareRobustCommand*{\telslash}[1]{\def\TELslash{#1}}
-\telslash{/}%
-\DeclareRobustCommand*{\telleftparen}[1]{\def\TELleftparen{#1}}
-\telleftparen{(}%
-\DeclareRobustCommand*{\telrightparen}[1]{\def\TELrightparen{#1}}
-\telrightparen{)}%
-\DeclareRobustCommand*{\telplus}[1]{\def\TELplus{#1}}
-\telplus{+}%
-\DeclareRobustCommand*{\teltilde}[1]{\def\TELtilde{#1}}
-\teltilde{~}%
-\newtoks\TELtoks
-\def\TELnumber#1#2\TELnumberEND{%
- \begingroup
- \def\0{#2}%
- \expandafter\endgroup
- \ifx\0\empty
- \TELtoks=\expandafter{\the\TELtoks#1}%
- \ifnum\TELswitch=0 %
- \def\TELx{\TELspace}\def\TELy{}%
- \else
- \def\TELx{}\def\TELy{\TELspace}%
- \fi
- \the\TELtoks
- \else
- \ifnum\TELswitch=0 %
- \TELtoks=\expandafter{\the\TELtoks#1\TELx}%
- \def\TELswitch{1}%
- \else
- \TELtoks=\expandafter{\the\TELtoks#1\TELy}%
- \def\TELswitch{0}%
- \fi
- \TELnumber#2\TELnumberEND
- \fi
-}
-\DeclareRobustCommand*{\telnumber}[1]{%
- \TELtoks={}%
- \def\TELswitch{0}%
- \TELnumber#1{}\TELnumberEND
-}
-\def\TELsplit{\futurelet\TELfuture\TELdosplit}
-\def\TELdosplit#1#2\TELsplitEND
-{%
- \def\TELsp{ }%
- \expandafter\ifx\TELsp\TELfuture
- \let\TELfuture=\relax
- \expandafter\telnumber\expandafter{\the\TELtoks}~%
- \telprint{#1#2}% Das Leerzeichen kann nicht #1 sein!
- \else
- \def\TELfirst{#1}%
- \ifx\TELfirst\empty
- \expandafter\telnumber\expandafter{\the\TELtoks}%
- \TELtoks={}%
- \else\if-\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELhyphen
- \telprint{#2}%
- \else\if/\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELslash
- \telprint{#2}%
- \else\if(\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELleftparen
- \telprint{#2}%
- \else\if)\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELrightparen
- \telprint{#2}%
- \else\if+\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELplus
- \telprint{#2}%
- \else\def\TELtemp{~}\ifx\TELtemp\TELfirst
- \expandafter\telnumber\expandafter{\the\TELtoks}\TELtilde
- \telprint{#2}%
- \else
- \TELtoks=\expandafter{\the\TELtoks#1}%
- \TELsplit#2{}\TELsplitEND
- \fi\fi\fi\fi\fi\fi\fi
- \fi
-}
-\DeclareRobustCommand*{\telprint}[1]{%
- \TELtoks={}%
- \TELsplit#1{}\TELsplitEND
-}
-\TELreset\let\TELreset=\UnDeFiNeD
-\TELAtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `telprint.sty'.
diff --git a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
index 4a3e81fde05..298ac906bc7 100644
--- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
+++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-circ.tex 210 2021-09-10 07:52:09Z herbert $
+%% $Id: pst-circ.tex 1015 2024-10-10 12:02:54Z herbert $
%% This is file `pst-circ.tex'
%%
%% IMPORTANT NOTICE:
@@ -26,8 +26,8 @@
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi
\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
%
-\def\fileversion{2.19}
-\def\filedate{2021/09/09}
+\def\fileversion{2.20}
+\def\filedate{2024/10/10}
\message{`pst-circ' v\fileversion (hv)}
%
\edef\PstAtCode{\the\catcode`\@}
@@ -1022,6 +1022,7 @@
/YC Y1 Y2 add 2 div def
XC YC end ){C@}
\rput(C@){\pst@draw@OA}
+ \psset{fillstyle=none}% reset, otherwise the connectionlines are also used for a fillstyle
\ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#1}{\ifPst@OAinvert Minus@\else Plus@\fi}
\ncput[npos=2]{\pnode{\ifPst@OAinvert Minus@@\else Plus@@\fi}}
\ifPst@OAiplus
@@ -1905,9 +1906,9 @@
\fi
\pcline[fillstyle=none,linestyle=none](#2)(#3)
%%%%%
- \pst@intensity{#2}{#3}
- \pst@tension{#2}{#3}
- \fi%
+ \pst@intensity{#2}{#3}%
+ \pst@tension{#2}{#3}%
+ \fi
}%
%
\def\pst@intensity#1#2{%
@@ -2112,15 +2113,15 @@
\pnode(0.5,0){dipole@2}
\psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25)
\else
- \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0)
- \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0)
- \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0)
- \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0)
- \pnode(-1,0){dipole@1}
- \pnode(1,0){dipole@2}
- \fi\fi\fi\fi%
- \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi%
- }
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0)%
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0)%
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0)%
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0)%
+ \pnode(-1,0){dipole@1}%
+ \pnode(1,0){dipole@2}%
+ \fi\fi\fi\fi
+ \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi
+}
%
\def\pst@draw@Ucc{%
\pnode(-0.5,0){dipole@1}
diff --git a/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex b/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex
index cd15fa05373..0aff59732c5 100644
--- a/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex
+++ b/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-coil.tex 578 2011-09-18 17:18:46Z herbert $
+%% $Id: pst-coil.tex 930 2024-08-13 18:19:44Z herbert $
%% BEGIN pst-coil.tex
%%
%% Coils and zigzags with PSTricks
@@ -7,7 +7,7 @@
%%
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
-%% 2006-2015 Herbert Voss, hvoss@tug.org
+%% 2006-2024 Herbert Voss, hvoss@tug.org
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
@@ -21,8 +21,8 @@
\ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi
%
-\def\fileversion{1.07}
-\def\filedate{2015/05/13}
+\def\fileversion{1.08}
+\def\filedate{2024/08/13}
%
\edef\TheAtCode{\the\catcode`\@}
\catcode`\@=11
@@ -48,7 +48,15 @@
\let\psk@coilarmB\psk@coilarmA}
\define@key[psset]{pst-coil}{coilaspect}[45]{\pst@getangle{#1}\psk@coilaspect}
\define@key[psset]{pst-coil}{coilinc}[10]{\pst@getangle{#1}\psk@coilinc}
-%
+%%%%%% alternative macro
+\define@key[psset]{pst-coil}{N}[10]{\def\psk@NoOfSpirals{#1 }}
+\define@key[psset]{pst-coil}{R}[1]{\def\psk@InitialWidth{#1 }}% in cm
+\define@key[psset]{pst-coil}{l0}[10]{\def\psk@InitialLength{#1 }}
+\define@key[psset]{pst-coil}{alpha}[15]{\def\psk@coil@Alpha{#1 }}
+\define@key[psset]{pst-coil}{arm}[0]{\def\psk@coil@arm{#1 }}
+\define@key[psset]{pst-coil}{nS}[25]{\def\psk@coil@NoOfPointsPerCoil{#1 }}
+\psset[pst-coil]{N=10,R=0.5,alpha=15,arm=0,l0=5,nS=25}
+
\psset[pst-coil]{coilaspect=45,coilarm=.5cm,coilheight=1,coilwidth=1cm,coilinc=10}
%
\def\pscoil{\def\pst@par{}\pst@object{pscoil}}
@@ -198,7 +206,7 @@
{ \psk@function }
\tx@Sin
}%
- \showpointsfalse%
+ \showpointsfalse
\end@OpenObj}
%
\def\ncsin{\pst@object{ncsin}}
@@ -220,6 +228,49 @@
\def\pcsin{\def\pst@par{}\pst@object{pcsin}}
\def\pcsin@i{\pc@object\ncsin@ii}
%
+\def\psAltCoil{\def\pst@par{}\pst@object{psAltCoil}}
+\def\psAltCoil@i{\pst@getarrows\psAltCoil@ii}
+\def\psAltCoil@ii(#1){\@ifnextchar({\psAltCoil@iii{1}(#1)}{\psAltCoil@iii{\z@}(0,0)(#1)}}
+\def\psAltCoil@iii#1(#2)(#3){%
+ \begin@OpenObj
+ \pst@getcoor{#2}\pst@tempa
+ \pst@getcoor{#3}\pst@tempb
+ \addto@pscode{%
+ \pst@tempa \pst@tempb
+ /y1 ED /x1 ED /y0 ED /x0 ED
+ x0 y0 translate
+ y1 y0 sub x1 x0 sub 2 copy Pyth
+ /Longueur ED
+ Atan rotate
+ /NoOfSpirals \psk@NoOfSpirals def % nombre de spires
+ /Alpha \psk@coil@Alpha def
+ /R_0 \psk@InitialWidth \pst@number\psunit mul def
+ /arm \psk@coil@arm \pst@number\psunit mul def
+ /l_0 \psk@InitialLength \pst@number\psunit mul def
+ /nS \psk@coil@NoOfPointsPerCoil def
+ /Pas_0 l_0 NoOfSpirals div def
+ /Pas Longueur 2 arm mul sub NoOfSpirals div def
+ % longueur de l'hélice sur un tour
+ % = sqrt(4*pi^2*R^2+p^2)
+ /Longueur_Helice_pas 39.47842 R_0 dup mul mul Pas_0 dup mul add sqrt def
+ % R=1/(2*pi)*sqrt(L^2-p^2)
+ /Radius 0.1591549 Longueur_Helice_pas dup mul Pas dup mul sub sqrt mul def
+ /xH {Radius 360 t mul cos mul Radius sub} def
+ /yH {Radius 360 t mul sin mul} def
+ /zH {Pas t mul arm add} def
+ /Inc 1 NoOfSpirals nS mul div def % nS(50) points par spires
+ 1 setlinejoin
+ 1 0 0 0 ArrowA arm 0 lineto
+ 0 Inc NoOfSpirals {
+ /t ED
+ zH xH Alpha tan mul sub
+ yH
+ lineto
+ } for
+ Longueur 0
+ ArrowB lineto
+ }%
+ \end@OpenObj}
%
\catcode`\@=\TheAtCode\relax
\endinput
diff --git a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
index 1c653b37709..2ff137b0a8c 100644
--- a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
+++ b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
@@ -5,8 +5,8 @@
%%
%% Package `pst-diffraction.tex'
%%
-%% Manuel Luque <ml@pstricks.de>
-%% Herbert Voss <hv@pstricks.de>
+%% Manuel Luque <ml@texnik.de>
+%% Herbert Voss <hvoss@tug.org>
%%
%% with contributions of Julien Cubizolles
%%
@@ -21,12 +21,12 @@
\csname PSTDiffractionLoaded\endcsname
\let\PSTDiffractionLoaded\endinput
% Require PSTricks
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTricksLoaded\endinput\else \input pstricks.tex\fi
\ifx\PSTThreeDplotLoaded\endinput\else\input pst-3dplot.tex\fi
-\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
%
-\def\fileversion{2.03}%
-\def\filedate{2008/09/03}%
+\def\fileversion{2.06a}
+\def\filedate{2024/07/15}
\message{`PST-diffraction v\fileversion, \filedate\space (ML,hv)}%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
\pst@addfams{pst-diff}
@@ -40,7 +40,7 @@
\define@key[psset]{pst-diff}{s}{\def\psk@Diffraction@Slit@s{#1 }} % distance entre les fentes
\define@key[psset]{pst-diff}{lambda}{\pst@checknum{#1}\psk@Diffraction@Slit@Lambda }% en nm
\define@key[psset]{pst-diff}{f}{\pst@checknum{#1}\psk@Diffraction@Slit@F }% focus en m
-\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G }
+%\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G }
\define@key[psset]{pst-diff}{pixel}{\pst@checknum{#1}\psk@Diffraction@Slit@pixel }
\define@key[psset]{pst-diff}{colorMode}{\pst@getint{#1}\psk@Diffraction@colorMode }
% 0 black and white inverse
@@ -65,7 +65,8 @@
\psset[pst-diff]{a=0.2e-3,f=5,k=1,r=1e-3,
d=6e-3,s=12e-3,h=0.5e-3,
lambda=650,pixel=0.5,
- contrast=38,gamma=0.8,twoHole=false,twoSlit=false,colorMode=3, scale=1,
+ contrast=38,%gamma=0.8,
+ twoHole=false,twoSlit=false,colorMode=3, scale=1,
IIID=false, showFunc=false}
%
% load the pstricks-add.pro only, if not already done
@@ -82,7 +83,7 @@
/focus \psk@Diffraction@Slit@F def
/widthSlit \psk@Diffraction@Slit@A def
/heightSlit \psk@Diffraction@Slit@k widthSlit mul def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/pixel \psk@Diffraction@Slit@pixel def
/SlitSeparation \psk@Diffraction@Slit@s def
\psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end
@@ -94,7 +95,7 @@
/bornexpt 1 widthSlit div focus mul ondeLongueur mul 2845 mul def
/borneypt 1 heightSlit div focus mul ondeLongueur mul 2845 mul def
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
% Les calculs commencent...
@@ -162,7 +163,7 @@
\addto@pscode{%
% les dimensions sont en mètres
/focus \psk@Diffraction@Slit@F def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/pixel \psk@Diffraction@Slit@pixel def
/contrast 1e\psk@Diffraction@Slit@contrast def
/r \psk@Diffraction@Circular@r def
@@ -170,7 +171,7 @@
\psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end
/Blue ED /Green ED /Red ED
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
% 0 0 translate
@@ -253,7 +254,8 @@
/y { yPts 2845 div } bind def
/R { x dup mul y dup mul add sqrt } bind def % R en m
/m Coeff R mul def
- 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub
+ % 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub
+ 1 contrast m J1Card Facteur x mul cos dup mul mul neg exp sub % fix by Keno Wehr
dup /intensity ED
dup dup
Red mul 3 -1 roll
@@ -283,7 +285,7 @@
\ifPst@Diffraction@IIID \else
newpath
R_limite neg %1.5 mul
- cm dup moveto
+ cm dup moveto
R_limite 2 mul cm 0 rlineto
0 R_limite 2 mul cm rlineto
R_limite neg 2 mul cm 0 rlineto
@@ -294,7 +296,8 @@
R_limite -0.001 0 {
/Radius exch def
/m Coeff Radius 0.01 mul mul def
- 1 1e38 m J1Card neg exp sub
+% 1 1e38 m J1Card neg exp sub
+ 1 contrast m J1Card neg exp sub % fix by keno wehr
dup /intensity ED
dup dup
Red mul 3 -1 roll % R
@@ -396,7 +399,7 @@
% les dimensions sont en mètres
/f \psk@Diffraction@Slit@F def
/h \psk@Diffraction@Triangle@h def
- /Gamma \psk@Diffraction@gamma@G def
+ %/Gamma \psk@Diffraction@gamma@G def
/L { \psk@Diffraction@Slit@Lambda 1e-9 mul} bind def % longueur d'onde en m
/pixel \psk@Diffraction@Slit@pixel def
/k { TwoPi f L mul div } bind def
@@ -408,7 +411,7 @@
/bornexpt 1 h div f mul L mul 2845 mul def
/borneypt 1 h div f mul L mul 2845 mul def
\ifPst@Diffraction@IIID
- \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
+ \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
tx@3DPlotDict begin \IIIDplot@variables end
\fi
/P {
diff --git a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
index ed3ef60a4b5..a653d76eeac 100644
--- a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
+++ b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex
@@ -1,4 +1,4 @@
-% $Id: pst-node.tex 438 2022-01-31 17:45:26Z herbert $
+% $Id: pst-node.tex 918 2024-07-10 17:41:55Z herbert $
%%
%% BEGIN pst-node.tex
%%
@@ -18,8 +18,8 @@
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi\relax
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{1.43}
-\def\filedate{2022/01/31}
+\def\fileversion{1.45}
+\def\filedate{2024/07/10}
\message{ v\fileversion, \filedate}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -1386,8 +1386,8 @@ tx@NodeDict \pst@tempg known
/dy YB YA sub def
/angle dy dx Atan def
/linelength \pst@number\pst@dimb \pst@number\psunit div def
- XA linelength angle cos mul add YA linelength angle sin mul add ){#4}%
-}
+ XA linelength angle cos mul add YA linelength angle sin mul add ){#4}}
+%
\def\psRelNode{\pst@object{psRelNode}}
\def\psRelNode@i(#1)(#2)#3#4{{% A - B - factor - node name
\use@par
@@ -1402,10 +1402,10 @@ tx@NodeDict \pst@tempg known
/AlphaStrich \psk@angleA\space def
/unit \pst@number\psyunit \pst@number\psxunit div def % yunit/xunit
%
- /dx XB XA sub def
- /dy YB YA sub \ifPst@trueAngle\space unit mul \fi\space def
- /laenge dy dup mul dx dup mul add sqrt #3 mul def
- /Alpha dy dx atan def
+ /dx__ XB XA sub def
+ /dy__ YB YA sub \ifPst@trueAngle\space unit mul \fi\space def
+ /laenge dy__ dup mul dx__ dup mul add sqrt #3 mul def
+ /Alpha dy__ dx__ atan def
/beta Alpha AlphaStrich add def
laenge beta cos mul XA add
laenge beta sin mul \ifPst@trueAngle\space unit div \fi\space YA add ){#4}%
@@ -1537,8 +1537,7 @@ tx@NodeDict \pst@tempg known
\def\trim@ #1{\trim@@ @#1 @ #1 @ @@}%
\def\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}%
\def\unbrace#1{#1}%
-\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def%
- \expandafter #3\expandafter {#1}}%
+\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def\expandafter #3\expandafter {#1}}%
%
\def\hasparen#1(#2\@nil{%check if expression contains a (--call with \hasparen#1(\@nil
\ifx\relax#2\relax \@parenfalse \else \@parentrue\fi}%
@@ -1577,23 +1576,28 @@ tx@NodeDict \pst@tempg known
\expandafter\testAlg\my@tempA|\@nil\my@next {#1}{#2}{#3}}
%
\def\psparnode#1#2#3{%
-% #1=t value, #2=x(t) y(t) in PS form,#3=node name,
- \pnode(!/t #1 def #2){#3}%
- \pnode(!/t #1 .001 sub def #2
- /t #1 .001 add def
- #2 3 -1 roll sub 3 1 roll sub neg
- 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}}%unit tangent vector at t
+ % #1=t value, #2=x(t) y(t) in PS form, #3=node name,
+ % also returns unit tangent vector at t with node #3tang
+ \pnode(! /t #1 def #2){#3}%
+ \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def
+ #2
+ /t #1 dup abs 1 lt {0.001 add} {dup 0 lt {0.999} {1.001} ifelse mul} ifelse def
+ #2
+ 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt
+ dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t
+}%
%
\def\algparnode#1#2#3{%
-% #1=t value, #2=x(t) | y(t) in alg form,#3=node name,
-%\pstVerb{tx@Dict begin /t #1 def /Func (#2) AlgParser cvx def end}
-%\pnode(!Func){#3}}%
- \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end }
- \pnode(!/t #1 def Func){#3}
- \pnode(!/t #1 .001 sub def Func
- /t #1 .001 add def
- Func 3 -1 roll sub 3 1 roll sub neg
- 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}%unit tangent vector at t
+% #1=t value, #2=x(t) | y(t) in alg form, #3=node name,
+% also returns unit tangent vector at t with node #3tang
+ \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end }%
+ \pnode(! /t #1 def Func){#3}%
+ \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def
+ Func
+ /t #1 dup abs 1 lt {0.001 add}{dup 0 lt {0.999} {1.001} ifelse mul } ifelse def
+ Func
+ 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt
+ dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t
}%
%
\def\nodex#1{%
@@ -1634,8 +1638,7 @@ tx@NodeDict \pst@tempg known
\nodexn{#3}{@TMP@a}%
\AplusB(#1)(@TMP@a){@TMP@B}%
\psline(@TMP@A)(@TMP@B)%
-}%
-\ignorespaces}%
+}\ignorespaces}%
%
\def\curvepnodes{\pst@object{curvepnodes}}
\def\curvepnodes@i#1#2#3#4{{%optional [plotpoints=xx]
@@ -1685,7 +1688,7 @@ tx@NodeDict \pst@tempg known
\else
\multido{\i=0+1}{\pst@cntc}{\pnode(!/x \pst@number\pst@dima\space def x #3){#4\i}%
\advance\pst@dima \pst@dimb}%
-\fi%
+\fi
\expandafter\xdef \csname \PST@root nodecount\endcsname {\the\pst@cnta}%
\ifnum\Pst@Debug>0 \typeout{Created nodes #40 .. #4\the\pst@cnta}\fi%
}\ignorespaces}%
diff --git a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
index 0c06f849b33..c60869c4b4b 100644
--- a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
+++ b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex
@@ -1,4 +1,4 @@
-%%%% $Id: pst-optic.tex 903 2024-06-02 06:16:43Z herbert $
+%%%% $Id: pst-optic.tex 1019 2024-10-28 07:59:50Z herbert $
%% This is file `pst-optic.tex',
%%
%% IMPORTANT NOTICE:
@@ -8,8 +8,6 @@
%% Manuel Luque <Mluque5130@aol.com> (France)
%% Herbert Voss <hvoss@tug.org> (Germany)
%%
-%% 2024-06-02
-%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
@@ -30,8 +28,8 @@
\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey\fi
%
-\def\fileversion{1.04}
-\def\filedate{2024/06/02}
+\def\fileversion{1.05}
+\def\filedate{2024/10/28}
\message{`PST-Optic' v\fileversion, \filedate\space (Manuel Luque and Herbert Voss)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -169,14 +167,27 @@
\definecolor{BleuVerre}{cmyk}{0.2,0,0,0}
\definecolor{JauneVert}{cmyk}{0.3,0,1,0}
\newpsstyle{rayuresJaunes}{fillstyle=hlines,hatchsep=2\pslinewidth,hatchcolor=JauneVert}
-\define@key[psset]{pst-optic}{rayColor}[red]{\pst@getcolor{#1}\psk@optic@rayColor}
+
+\define@key[psset]{pst-optic}{rayColor}[red]{%
+ \pst@getcolor{#1}\psk@optic@rayColor
+ \pst@getcolor{#1}\psk@optic@parallelrayColor
+ \def\psk@optic@paralleltipcolor{#1}%
+ \pst@getcolor{#1}\psk@optic@focalrayColor
+ \def\psk@optic@focaltipcolor{#1}%
+ \pst@getcolor{#1}\psk@optic@centerrayColor
+ \def\psk@optic@centertipcolor{#1}%
+}
+\define@key[psset]{pst-optic}{parallelrayColor}[red]{\pst@getcolor{#1}\psk@optic@parallelrayColor}
+\define@key[psset]{pst-optic}{focalrayColor}[red]{\pst@getcolor{#1}\psk@optic@focalrayColor}
+\define@key[psset]{pst-optic}{centerrayColor}[red]{\pst@getcolor{#1}\psk@optic@centerrayColor}
+
\psset[pst-optic]{rayColor=red}
\define@key[psset]{pst-optic}{rayWidth}[1.5\pslinewidth]{\def\psk@optic@rayWidth{#1}}
\psset[pst-optic]{rayWidth=1.5\pslinewidth}
%
\newpsstyle{opticalAxis}{linewidth=0.5pt,linecolor=black,linestyle=solid}
%
-%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Utility stuff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -491,7 +502,7 @@
\uput[-90](Center'){Center'}
\psdots(Center)
\uput[-90](Center){Center}
- \psset{linecolor=\psk@optic@rayColor}
+ \psset{linecolor=\psk@optic@rayColor} %%%%%%%%%%%%%%%%%%%%%%
\psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A)(B)
\ifx\psk@optic@lensType\lensTypeCVG
% the parallel ray
@@ -682,18 +693,21 @@
% dessin de l'image
\psline[linewidth=1.5\pslinewidth,arrowinset=0,linestyle=dashed]{->}(A')(B')
%dessin des rayons
- \psset{linecolor=\psk@optic@rayColor}
- \Arrows[length=16,arrows=-](B)(O)
- \Arrows(B)(I)
- \psline(B)(I)
- \psOutLine[arrows=->,length=1](B')(I){END1}
- \psOutLine[length=5](B')(I){END2}
- \psline[linestyle=dashed](F')(I)
- \Arrows[arrows=->>](B)(I')
- \psline(B)(I')
- \psOutLine[arrows=->>,length=2](B')(I'){END3}
- \psOutLine[length=10](B')(I'){END4}
- \psline[linestyle=dashed](B')(I')
+%% \psset{linecolor=\psk@optic@rayColor}
+ %% center beam
+ \Arrows[linecolor=\psk@optic@centerrayColor,length=16,arrows=-](B)(O)
+ %% parallel beam
+ \Arrows[linecolor=\psk@optic@parallelrayColor](B)(I)
+ \psline[linecolor=\psk@optic@parallelrayColor](B)(I)
+ \psOutLine[linecolor=\psk@optic@parallelrayColor,arrows=->,length=1](B')(I){END1}
+ \psOutLine[linecolor=\psk@optic@parallelrayColor,length=5](B')(I){END2}
+ \psline[linecolor=\psk@optic@parallelrayColor,linestyle=dashed](F')(I)
+ %% focal beam
+ \Arrows[linecolor=\psk@optic@focalrayColor,arrows=->>](B)(I')
+ \psline[linecolor=\psk@optic@focalrayColor](B)(I')
+ \psOutLine[linecolor=\psk@optic@focalrayColor,arrows=->>,length=2](B')(I'){END3}
+ \psOutLine[linecolor=\psk@optic@focalrayColor,length=10](B')(I'){END4}
+ \psline[linecolor=\psk@optic@focalrayColor,linestyle=dashed](B')(I')
%\uput[45](I'){I'}
%\uput[45](I){I}
\uput[\psk@optic@spotA](A){$\mathrm{\psk@optic@nameA}$}%
@@ -713,17 +727,22 @@
% dessin de l'image
\psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A')(B')
%dessin des rayons
- \psset{linecolor=\psk@optic@rayColor}
- \pcline(B)(B')
- \Arrows[length=16,arrows=-](B)(O)
- \Arrows(B)(I)
- \psline(B)(I)
- \Arrows[length=10,posStart=0,arrows=-](I)(F')
- \Arrows[posStart=1,arrows=->](I)(F')
- \Arrows[arrows=->>](B)(I')
- \psline(B)(I')(B')
- \Arrows[length=10,arrows=-](I')(B')
- \Arrows[length=2,posStart=0.5,arrows=->>](I')(B')
+% \psset{linecolor=\psk@optic@rayColor}%% No global setting
+ %% Center beam
+ \pcline[linecolor=\psk@optic@centerrayColor](B)(B')%%CMittelpunktsstrahl
+ \Arrows[linecolor=\psk@optic@centerrayColor,length=16,arrows=-](B)(O)
+ \Arrows[linecolor=\psk@optic@centerrayColor](B)(I)
+ %% parallel beam
+ \psline[linecolor=\psk@optic@parallelrayColor,tipcolor=\psk@optic@paralleltipcolor](B)(I)
+ \Arrows[linecolor=\psk@optic@parallelrayColor](B)(I)
+ \Arrows[linecolor=\psk@optic@parallelrayColor,length=10,posStart=0,arrows=-](I)(F')
+ \Arrows[linecolor=\psk@optic@parallelrayColor,posStart=1,arrows=->](I)(F')
+ %% focal beam
+ \psline[linecolor=\psk@optic@focalrayColor](B)(I')(B')
+ \Arrows[linecolor=\psk@optic@focalrayColor,arrows=->>](B)(I')
+ \Arrows[linecolor=\psk@optic@focalrayColor,length=10,arrows=-](I')(B')
+ \Arrows[linecolor=\psk@optic@focalrayColor,length=2,posStart=0.5,
+ arrows=->>,tipcolor=\psk@optic@focaltipcolor](I')(B')
%\uput[-45](I'){I'}
%\uput[45](I){I}
\uput[\psk@optic@spotA](A){$\mathrm{\psk@optic@nameA}$}
@@ -736,7 +755,8 @@
%Lentille convergente : CVG
%(#2) est l'abscisse du centre optique
\def\lens{\@ifnextchar[{\pst@lens}{\pst@lens[]}}
-\def\pst@lens[#1]{{%
+\def\pst@lens[#1]{%
+ \begingroup
\psset[pst-optic,pstricks]{xLeft=-7.5,xRight=7.5,yBottom=-3,yTop=3,#1}%
% \psset[pst-optic,pstricks]{#1}%
\pst@killglue%
@@ -771,7 +791,7 @@
\pnode(! \psk@optic@xRight\space A'B' YO add){I1}
\pnode(! \psk@optic@xRight\space neg A'B' YO add){I2}
\else%
- \pnode(!%
+ \pnode(!
/OF' \psk@optic@focus\space def
/AB \psk@optic@AB\space def
/OA \psk@optic@OA\space def
@@ -812,7 +832,8 @@
\psset{arrows=<->}%
\fi\fi
\psline[linecolor=\psk@optic@lensColor,
- linewidth=\psk@optic@lensWidth,arrowsize=\psk@optic@lensArrowSize,
+ linewidth=2\pslinewidth, %\psk@optic@lensWidth,
+ arrowsize=\psk@optic@lensArrowSize,
arrowinset=\psk@optic@lensArrowInset]%
(! XO -0.5 \psk@optic@lensHeight\space mul
\psk@optic@lensScale\space mul YO add)%
@@ -829,7 +850,8 @@
\pst@drawCVGRays\fi\fi
\fi
\end{pspicture*}%
-}\ignorespaces}
+ \endgroup
+ \ignorespaces}
%
% 25 december 2002 Herbert <voss@perce.de>
% make the lenses dynamical to width _and_ height
@@ -1243,7 +1265,9 @@
\uput[-45](B'){B'}
\fi
\end{pspicture}%
-}\ignorespaces}
+ }%
+ \ignorespaces
+}
%
%
\def\mirrorDVG{\@ifnextchar[{% Herbert Voss 2003/01/05
@@ -1640,12 +1664,12 @@
\pst@getcoor{#8}\pst@tempp
\def\pst@optic@cIn{#6} % refraction number 1
\def\pst@optic@cOut{#7} % refraction number 2
- \pnode(!%
- /YA \pst@tempA exch pop \pst@number\psyunit div def
+ \pnode(!
+ /YA \pst@tempA exch pop \pst@number\psyunit div def
/XA \pst@tempA pop \pst@number\psxunit div def
/YB \pst@tempB exch pop \pst@number\psyunit div def
/XB \pst@tempB pop \pst@number\psxunit div def
- /YC \pst@tempc exch pop \pst@number\psyunit div def
+ /YC \pst@tempc exch pop \pst@number\psyunit div def
/XC \pst@tempc pop \pst@number\psxunit div def
/YD \pst@tempd exch pop \pst@number\psyunit div def
/XD \pst@tempd pop \pst@number\psxunit div def
@@ -1656,8 +1680,11 @@
/dY2 YD YC sub def
/dX2 XD XC sub def
% the gradient of the material (if negativ then it must be the nominator)
- /Gamma dY2 dX2 mul 0 lt {dY2 abs neg dX2 abs}{dY2 dX2} ifelse atan def
-% the perpendicular line is: 90°-Gamma
+% if = 0 then substract 180°
+ /Gamma dY2 dX2 mul 0 ge {dY2 dX2}{dY2 abs neg dX2 abs} ifelse atan
+ %dup 0 eq { 180 sub } if
+ def
+% the perpendicular line is: 90°-Gamma
/GammaStrich 90 Gamma sub def
% the angle of the incoming ray
/AlphaStrich dY1 dX1 atan def
@@ -1667,7 +1694,7 @@
% the law of Snell: sin(Alpha)/sin(Beta) = n2/n1
% sin(Beta)>1 is a total reflection instead of a refraction
/sinBeta \pst@optic@cIn\space \pst@optic@cOut\space div Alpha sin mul def
- sinBeta abs 1 le{
+ sinBeta abs 1 le {
/Root 1 sinBeta dup mul sub Sqrt def
/Beta sinBeta Root atan def
}{
@@ -1677,7 +1704,7 @@
/BetaStrich 90 Gamma sub Beta add def
% Determine the intermediate point
XP BetaStrich cos sub
- YP BetaStrich sin add ){#8'}%
+ YP BetaStrich sin add ){#8'}
%\qdisk(#8){5pt}
}\ignorespaces}
%
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index 2f87e9895e8..66b00657b99 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -88,8 +88,8 @@
\let\pgfforeach\foreach
%
-\def\fileversion{3.19c}
-\def\filedate{2024/02/02}
+\def\fileversion{3.20}
+\def\filedate{2024/07/09}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -2609,13 +2609,13 @@
\AltClipMode
\fi
-\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}}
+\def\psclipbox{\@ifnextchar[{\psclipbox@}{\psclipbox@[\z@]}}
% DG modification begin - Apr. 3, 1997
% From paulus@immd5.informatik.uni-erlangen.de (Dietrich Paulus)
%\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}}
-\def\clipbox@[#1]{\pst@makebox{\clipbox@@{#1}}}
+\def\psclipbox@[#1]{\pst@makebox{\psclipbox@@{#1}}}
% DG modification end
-\def\clipbox@@#1{%
+\def\psclipbox@@#1{%
\pssetlength\pst@dimg{#1}%
\leavevmode\hbox{%
\begin@psclip%
@@ -4119,10 +4119,19 @@ pop
\def\pst@picture{\@ifnextchar[{\pst@@picture}{\pst@@picture[]}}
\def\pst@@picture[#1]{\@ifnextchar({\pst@@picture@i[#1]}{\pst@@picture@@i[#1]}}%
\def\pst@@picture@@i[#1]{%
- \gdef\pscoor{(10,10)}%
+ \def\pic@coor{(0,0)(0,0)}%
+% \gdef\pscoor{(10,10)}%
\ifPst@calcframe
\typeout{>>>Check for file \jobname-\the\numexpr\ps@imagectr+1.psaux}%
- \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux}{\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}}{}%
+ \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux}
+ {\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}%
+ \xdef\pic@coor{(0,0)\pscoor}%
+ \typeout{----->>\pic@coor}%
+ \typeout{----->>\pscoor}%
+ }
+ {%\gdef\pscoor{(10,10)}
+ %\def\pic@coor{(0,0)(0,0)(10,10)}
+ }%
% \typeout{>>>\pscoor}%
\fi
\edef\@temp{[\noexpand#1]\pscoor}%
@@ -4168,7 +4177,7 @@ pop
\ifPst@pgffunctions\pstVerb{ pgffunctions }\fi% hv 2013-04-17
}
-\def\pic@coor{(0,0)(0,0)(10,10)}
+%\def\pic@coor{(0,0)(0,0)(10,10)}
\def\endpspicture{%
\ifPst@calcframe
\ifPSTlualatex
@@ -4236,7 +4245,7 @@ pop
\advance\pst@dimd\pst@dimb
\lower\pst@dimd\box\pst@hbox
\kern\pst@dimc}%
- \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi
+ \if@star\setbox\pst@hbox=\hbox{\psclipbox@@\z@}\fi
\leavevmode
\ifPst@draft
\expandafter\ifx\csname @latexerr\endcsname\relax
diff --git a/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht b/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht
index 71602474401..fca71f54440 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht
@@ -1,37 +1,30 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% amsfonts.4ht 2009-05-21-09:32 %
-% Copyright (C) 2001--2009 Eitan M. Gurari %
-% %
-% This work may be distributed and/or modified under the %
-% conditions of the LaTeX Project Public License, either %
-% version 1.3c of this license or (at your option) any %
-% later version. The latest version of this license is %
-% in %
-% http://www.latex-project.org/lppl.txt %
-% and version 1.3c or later is part of all distributions %
-% of LaTeX version 2005/12/01 or later. %
-% %
-% This work has the LPPL maintenance status "maintained".%
-% %
-% This Current Maintainer of this work %
-% is Eitan M. Gurari. %
-% %
-% If you modify this program your changing its signature %
-% with a directive of the following form will be %
-% appreciated. %
-% \message{signature} %
-% %
-% gurari@cse.ohio-state.edu %
-% http://www.cse.ohio-state.edu/~gurari %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\immediate\write-1{version 2009-05-21-09:32}
+% amsfonts.4ht (2024-11-03-05:51), generated from tex4ht-4ht.tex
+% Copyright 2001-2009 Eitan M. Gurari
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <https://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-03-05:51}
\NewConfigure{mathbb}{2}
-\def\:temp#1{{\a:mathbb \o:@mathbb:{#1}\b:mathbb}}
-\HLet\@mathbb\:temp
+\def\:temp#1{{\a:mathbb \o:mathbb:{#1}\b:mathbb}}
+\HLet\mathbb\:temp
\NewConfigure{mathfrak}{2}
-\def\:temp#1{{\a:mathfrak \o:@mathfrak:{#1}\b:mathfrak}}
-\HLet\@mathfrak\:temp
+\def\:temp#1{{\a:mathfrak \o:mathfrak:{#1}\b:mathfrak}}
+\HLet\mathfrak\:temp
\Hinput{amsfonts}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht b/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht
index 4367f0d7c74..8c9d45b9eed 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht
@@ -1,4 +1,4 @@
-% amsmath.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex
+% amsmath.4ht (2024-09-24-10:22), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-07-13:28}
+\immediate\write-1{version 2024-09-24-10:22}
\HRestore\cases
\HRestore\matrix
@@ -508,7 +508,8 @@
%
\anc:lbl r{}%
}}
-\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{#1}%
+\ExplSyntaxOn
+\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{\tl_rescan:nn{}{#1}}%
\toks@\@xp{\p@equation{#1}}\edef\@currentlabel{\the\toks@}%
\let\cnt:currentlabel\@currentlabel
\def\:@currentlabel{\ifx \cnt:currentlabel\@currentlabel
@@ -516,6 +517,7 @@
%
\anc:lbl r{}%
}}
+\ExplSyntaxOff
\:CheckOption{new-accents} \if:Option \else
\HLet\Hat\hat
diff --git a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
index 00ef03af65d..e597c71d11a 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht
@@ -1,6 +1,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% arydshln.4ht (2022-03-21-13:43), generated from tex4ht-4ht.tex
-% Copyright 2022 TeX Users Group
+% arydshln.4ht (2024-06-23-13:56), generated from tex4ht-4ht.tex
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -17,12 +17,13 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-03-21-13:43}
+\immediate\write-1{version 2024-06-23-13:56}
% this is a copy of code that arydshln inserts to \@array
\def\:new:array{\adl@everyvbox\everyvbox
\everyvbox{\adl@arrayinit \the\adl@everyvbox \everyvbox\adl@everyvbox}%
- \ifadl@inactive \adl@inactivate \else \adl@activate \fi
+ % this line may lead to errors if the document uses Colortbl:
+ % \ifadl@inactive \adl@inactivate \else \adl@activate \fi
\let\adl@noalign\noalign}
\ifcsname n:@array:\endcsname% if \@array was already patched by TeX4ht
\let\orig:n@array\n:@array:
diff --git a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
index e3eebfddea4..dc4dcfb0753 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht
@@ -1,5 +1,5 @@
% babel-sty-hooks.4ht, generated from tex4ht-4ht.tex
-% Copyright 2022 TeX Users Group
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-06-10-14:03}
+\immediate\write-1{version 2024-06-20-13:26}
\ifdefined\recall:sup
\recall:sup
diff --git a/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht
new file mode 100644
index 00000000000..e89c60a5d7c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht
@@ -0,0 +1,24 @@
+% bigfoot-hooks.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-05-12:30}
+
+\:dontusepackage{bigfoot}
+\RequirePackage{manyfoot}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht b/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht
new file mode 100644
index 00000000000..71c7bbe849d
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht
@@ -0,0 +1,25 @@
+% bigfoot.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-05-12:30}
+
+
+
+\Hinput{bigfoot}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/caption.4ht b/Master/texmf-dist/tex/generic/tex4ht/caption.4ht
index 09501b5ff32..7dc7b6a2a65 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/caption.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/caption.4ht
@@ -1,23 +1,23 @@
-% caption.4ht (2022-11-22-14:29), generated from tex4ht-4ht.tex
+% caption.4ht (2024-10-18-14:47), generated from tex4ht-4ht.tex
% Copyright 2007-2009 Eitan M. Gurari
-% Copyright 2009-2022 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-11-22-14:29}
+\immediate\write-1{version 2024-10-18-14:47}
\let\sv:toclof\toclof
\def\toclof#1#2#3{%
@@ -45,6 +45,8 @@
}\fi%
}
+\c:def\cptA:{}\c:def\cptB:{}%
+\c:def\cptC:{}\c:def\cptD:{}
\long\def\@makecaption#1#2{%
\xdef\continuedfloat@captype{\@captype}%
\caption@make@above%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht
new file mode 100644
index 00000000000..0f3636af023
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht
@@ -0,0 +1,52 @@
+% colortbl-hooks.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-09-30-13:40}
+
+\:AtEndOfPackage{%
+% default hline color is black
+\def\hline:color{000}
+% save rule color in format usable in CSS
+\newcommand\tmp:arrayrulecolor[2][named]{%
+\ifvoid\@arstrutbox% test if we are inside a tabular environment
+\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp% we are not
+\else%
+\noalign{\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp}% we are
+\fi
+}
+% \HLet doesn't work in the preamble, so we need to work around it
+\let\o:arrayrulecolor:\arrayrulecolor
+\let\arrayrulecolor\tmp:arrayrulecolor
+
+\def\convert:colorspec#1 #2 #3 #4{%
+ \edef\current:color{%
+ \ifx\relax#1\relax\else%
+ #1\ifx\relax#2\relax\else%
+ , #2\ifx\relax#3\relax\else%
+ , #3\ifx\relax#4\relax\else%
+ , #4%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ }%
+}
+
+
+}
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht b/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht
index 50543a2b952..07844ed404f 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht
@@ -1,23 +1,23 @@
-% colortbl.4ht (2022-07-03-14:21), generated from tex4ht-4ht.tex
+% colortbl.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
-% Copyright 2009-2022 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-07-03-14:21}
+\immediate\write-1{version 2024-09-30-13:40}
\RequirePackage{xcolor}
@@ -95,31 +95,8 @@
\gdef\CT@row@color{\CT@color{#1}}%
\CT@rowc}
\NewConfigure{rowcolor}{1}
-% default hline color is black
-\def\hline:color{000}
-% save rule color in format usable in CSS
-\newcommand\tmp:arrayrulecolor[2][named]{%
-\ifvoid\@arstrutbox% test if we are inside a tabular environment
-\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp% we are not
-\else%
-\noalign{\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp}% we are
-\fi
-}
+\HRestore\arrayrulecolor
\HLet\arrayrulecolor\tmp:arrayrulecolor
-\def\convert:colorspec#1 #2 #3 #4{%
- \edef\current:color{%
- \ifx\relax#1\relax\else%
- #1\ifx\relax#2\relax\else%
- , #2\ifx\relax#3\relax\else%
- , #3\ifx\relax#4\relax\else%
- , #4%
- \fi%
- \fi%
- \fi%
- \fi%
- }%
-}
-
\def\save:color#1 #2//{%
\convert:colorspec#2 {} {} {} {}
\convertcolorspec{#1}{\current:color}{HTML}\tmp:col
diff --git a/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht
new file mode 100644
index 00000000000..e8f12ba46cb
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht
@@ -0,0 +1,28 @@
+% enumitem-hooks.4ht (2024-09-09-13:35), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-09-09-13:35}
+
+\:AtEndOfPackage{%
+\def\enumitem:newlist{}
+\def\:tempa#1#2#3#4{\concat:config\enumitem:newlist{\Configure{enumitemenv}{#2}}\o:enit@newlist{#1}{#2}{#3}{#4}}
+\let\o:enit@newlist\enit@newlist
+\let\enit@newlist\:tempa
+
+}
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht b/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht
index acabf869b27..6bb2290d697 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht
@@ -1,23 +1,23 @@
-% enumitem.4ht (2023-12-17-13:16), generated from tex4ht-4ht.tex
+% enumitem.4ht (2024-09-09-13:35), generated from tex4ht-4ht.tex
% Copyright 2009-2009 Eitan M. Gurari
-% Copyright 2009-2023 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2023-12-17-13:16}
+\immediate\write-1{version 2024-09-09-13:35}
\AddToHook{env/enumerate/end}{\ifx\enit@after\@empty\else%
\let\enit:after\enit@after
@@ -27,6 +27,15 @@
\fi}
\def\enit@postlabel{}
+\NewConfigure{enumitemenv}[1]{%
+\def\a:enumitemenv{#1}%
+\enumitem:newlistconfig
+}
+\NewConfigure{enumitemnewlist}[1]{
+ \def\enumitem:newlistconfig{#1}
+ \enumitem:newlist
+}
+
\Hinput{enumitem}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht b/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht
new file mode 100644
index 00000000000..8fc583da580
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht
@@ -0,0 +1,25 @@
+% esvect.4ht (2024-08-02-14:24), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-08-02-14:24}
+
+
+
+\Hinput{esvect}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht b/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht
index 4a6d75c1644..a63dd7942e3 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht
@@ -1,4 +1,4 @@
-% fancyvrb.4ht (2024-03-27-14:07), generated from tex4ht-4ht.tex
+% fancyvrb.4ht (2024-10-04-14:44), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-03-27-14:07}
+\immediate\write-1{version 2024-10-04-14:44}
\pend:def\FV@FormattingPrep{\let\fv:color\empty
@@ -45,7 +45,11 @@
\ifx \fv:color\empty \else{%
\let\HColor\fv:color \a:fancyvrbcolor%
}\fi
- \ifx \FancyVerbFillColor\relax \else%
+ \ifx \FancyVerbFillColor\relax \ifx\FancyVerbBackgroundColor\relax\else%
+ \ifdefined\FancyVerbBackgroundColor% this extra check is needed for \BVerbatimInput
+ \:fvcolor \b:fancyvrbcolor \color{\FancyVerbBackgroundColor}!*?: %
+ \fi%
+ \fi\else%
\:fvcolor \b:fancyvrbcolor \FancyVerbFillColor!*?: %
\fi
\ifx \FancyVerbRuleColor\relax \else%
diff --git a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
index 9bb9f9438bf..7f0f40d4b48 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht
@@ -1,5 +1,5 @@
-% fontawesome5.4ht (2021-05-06-14:39), generated from tex4ht-4ht.tex
-% Copyright 2021 TeX Users Group
+% fontawesome5.4ht (2024-07-03-13:28), generated from tex4ht-4ht.tex
+% Copyright 2021-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,18 +16,19 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2021-05-06-14:39}
+\immediate\write-1{version 2024-07-03-13:28}
\NewConfigure{fontawesome}{2}
\ExplSyntaxOn
\cs_new_protected:Nn\temp:nn{%
+\def\:fontawesomeicon{#2}% to be used in the alt text
\a:fontawesome%
\o:fontawesome_use_icon:nn:{#1}{#2}
\b:fontawesome}
\HLet\fontawesome_use_icon:nn\temp:nn
\ExplSyntaxOff
-\Configure{fontawesome}{\Picture+{}}{\EndPicture}
+\Configure{fontawesome}{\Picture+[icon: \:fontawesomeicon]{}}{\EndPicture}
\Hinput{fontawesome5}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/french.4ht b/Master/texmf-dist/tex/generic/tex4ht/french.4ht
index adbaac273f9..47b72bbb8b2 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/french.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/french.4ht
@@ -1,30 +1,23 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% french.4ht 2009-05-21-09:32 %
-% Copyright (C) 1999--2009 Eitan M. Gurari %
-% %
-% This work may be distributed and/or modified under the %
-% conditions of the LaTeX Project Public License, either %
-% version 1.3c of this license or (at your option) any %
-% later version. The latest version of this license is %
-% in %
-% http://www.latex-project.org/lppl.txt %
-% and version 1.3c or later is part of all distributions %
-% of LaTeX version 2005/12/01 or later. %
-% %
-% This work has the LPPL maintenance status "maintained".%
-% %
-% This Current Maintainer of this work %
-% is Eitan M. Gurari. %
-% %
-% If you modify this program your changing its signature %
-% with a directive of the following form will be %
-% appreciated. %
-% \message{signature} %
-% %
-% gurari@cse.ohio-state.edu %
-% http://www.cse.ohio-state.edu/~gurari %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\immediate\write-1{version 2009-05-21-09:32}
+% french.4ht 2024-11-03-05:51, generated from tex4ht-4ht.tex
+% Copyright 1999-2009 Eitan M. Gurari
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <https://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-03-05:51}
\expandafter\ifx \csname @s@ORI\endcsname \relax
\else
@@ -55,6 +48,8 @@
\Configure{special}{\csname @s@ORI\endcsname}
\fi
+\DeclareRobustCommand*{\FB@emptypart}{}
+
\Hinput{french}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht b/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht
index dfe3f02138f..c33bacaa3ff 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht
@@ -1,23 +1,23 @@
-% html-mml.4ht (2022-10-31-13:02), generated from tex4ht-mathml.tex
-% Copyright 2009-2022 TeX Users Group
+% html-mml.4ht (2024-08-11-08:31), generated from tex4ht-mathml.tex
+% Copyright 2009-2024 TeX Users Group
% Copyright 1999-2009 Eitan M. Gurari
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-10-31-13:02}
+\immediate\write-1{version 2024-08-11-08:31}
\exit:ifnot{amsmath,%
array,%
@@ -291,6 +291,139 @@ tex4ht}
\Configure{MathjaxSource}{https://cdn.jsdelivr.net/npm/mathjax@3/es5/mml-chtml.js}
\Configure{@HEAD}{\HCode{ <script type="text/javascript" id="MathJax-script" async="async" src="\a:MathjaxSource"></script> \Hnewline}}
\fi
+\:CheckOption{texsource}\if:Option
+
+\newtoks\mmleqtoks
+\ExplSyntaxOn
+\cs_new_protected:Npn \mmlalteqtoks #1
+{
+ % save tokens, but preserve spaces
+ % https://tex.stackexchange.com/a/44444/2891
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \regex_replace_all:nnN { . } { \c{string} \0 } \l_tmpa_tl
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl }
+ % % replace < > and & with xml entities
+ \regex_replace_all:nnN { \x{26} } { &amp; } \l_tmpa_tl
+ \regex_replace_all:nnN { \x{3C} } { &lt; } \l_tmpa_tl
+ \regex_replace_all:nnN { \x{3E} } { &gt; } \l_tmpa_tl
+ % \regex_replace_all:nnN { \n } {\HCode{ \Hnewline }} \l_tmpa_tl
+ % replace \par command with blank lines
+ \regex_replace_all:nnN { \x{5C}par\b } {\x{A}\x{A}} \l_tmpa_tl
+ \tl_set:Nx \mmleqtoks{ \l_tmpa_tl }
+
+ %\HCode{\l_tmpb_tl}
+}
+\ExplSyntaxOff
+
+
+\def\AltMath#1${\mmlalteqtoks{#1}%
+ #1\HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation>}$}
+\Configure{$}{\Configure{@math}{display="inline"}\DviMath\HCode{<\a:mathml semantics><\a:mathml mrow>}}{\HCode{</\a:mathml semantics>}\EndDviMath}{\expandafter\AltMath}
+
+\def\AltMathParen#1\){\mmlalteqtoks{#1}%
+ #1\HCode{</\a:mathml mrow><a\a:mathml nnotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation>}$}
+
+\def\AltMathParen#1\){\mmlalteqtoks{#1}#1\HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation>}\)}
+%\Configure{()}{\Configure{@math}{display="inline"}\DviMath\HCode{<\a:mathml semantics><\a:mathml mrow>}\AltMathParen$}{\EndDviMath\HCode{</\a:mathml semantics>}}
+\Configure{()}
+ {\Configure{@math}{%\a:mathml
+ display="inline"
+}\csname a:mathml()\endcsname
+\DviMath\HCode{<\a:mathml semantics><\a:mathml mrow>}$\expandafter\AltMathParen}
+{$\HCode{</\a:mathml semantics>}\EndDviMath\csname b:mathml()\endcsname}
+
+
+\long\def\AltDisplay#1\]{\mmlalteqtoks{#1}#1\HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation></\a:mathml semantics>}\]}
+\Configure{[]}{\Configure{@math}{display="block"}\DviMath$$\DisplayMathtrue\HCode{<\a:mathml semantics><\a:mathml mrow>}\AltDisplay}{$$\EndDviMath}
+
+
+% \long\def\MMLAltlDisplayDollars#1$${\mmlalteqtoks{\[#1\]}#1\HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation>}$$}
+
+% configuarartion of display math doesn't work yet. need to investigate it.
+% \Configure{$$}
+% {\Configure{@math}{%\a:mathml
+% display="block"
+% }\IgnorePar
+% \ifvmode\else \HCode{<!--tex4ht:inline-->}\fi
+% \EndP\DviMath\HCode{<\a:mathml semantics><\a:mathml mrow>}}
+% {\HCode{</\a:mathml semantics>}\EndDviMath\ShowPar\par{\csname HCondtrue\endcsname\noindent}}
+% {\DisplayMathtrue\expandafter\MMLAltlDisplayDollars}
+
+
+% \renewcommand\eqannotate[1]{\mmlalteqtoks{#1}\HCode{<\a:mathml semantics><\a:mathml mrow>}#1\HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">\mmleqtoks</\a:mathml annotation></\a:mathml semantics>}}
+
+
+% environment support
+\newcommand\MMLVerbMathToks[2]{%
+ \mmlalteqtoks{\begin{#2}
+ #1
+ \end{#2}}%
+ \begingroup%
+ \ifvmode\IgnorePar\fi\EndP\Configure{@math}{display="block"}\DviMath\DisplayMathtrue\HCode{<\a:mathml semantics><\a:mathml mrow>}
+ \Configure{$$}{}{}{}
+ \begin{old#2}
+ #1
+ \end{old#2}
+ \HCode{</\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">}
+ \HCode{\mmleqtoks}
+ \HCode{</\a:mathml annotation></\a:mathml semantics>}
+ \EndDviMath
+ \endgroup
+}
+
+% we must handle equations separatelly.
+% it is a bit messy
+\newcommand\MMLVerbMathToksEquation[2]{%
+ \mmlalteqtoks{\begin{#2}
+ #1
+ \end{#2}}%
+ \begingroup%
+ \def\@tempa{#2}%
+ \def\@equationname{equation}%
+ \def\mlabeledtr{mtr}
+ \ifx\@equationname\@tempa%
+ \def\mlabeledtr{mlabeledtr} % this element can be used to print the equation number, but it is supported only by MathJax
+ \fi
+ \ifvmode\IgnorePar\fi\EndP\Configure{@math}{display="block"}\DviMath\DisplayMathtrue\HCode{<\a:mathml semantics><\a:mathml mrow><\a:mathml mtable><\a:mathml \mlabeledtr><\a:mathml mtd>}%
+ \ifx\@equationname\@tempa%
+ \incr@eqnum%
+ \print@eqnum%
+ \HCode{</\a:mathml mtd><\a:mathml mtd>}%
+ \fi
+ #1%
+ \HCode{</\a:mathml mtd></\a:mathml \mlabeledtr></\a:mathml mtable></\a:mathml mrow><\a:mathml annotation encoding="application/x-tex">}%
+ \HCode{\mmleqtoks}%
+ \HCode{</\a:mathml annotation></\a:mathml semantics>}%
+ \EndDviMath%
+ \endgroup%
+}
+
+\ExplSyntaxOn
+\newcommand\MMLVerbMath[1]{%
+ \cs_if_exist:cTF{#1}{
+ \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname endold#1\expandafter\endcsname\csname end#1\endcsname
+ \RenewDocumentEnvironment{#1}{+!b}{%
+ \NoFonts\expandafter\MMLVerbMathToks\expandafter{##1}{#1}\EndNoFonts%
+ }{}
+ }{}%
+}
+
+\newcommand\MMLVerbEquation[1]{%
+ \cs_if_exist:cTF{#1}{
+ \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname endold#1\expandafter\endcsname\csname end#1\endcsname
+ \RenewDocumentEnvironment{#1}{+!b}{%
+ \NoFonts\expandafter\MMLVerbMathToksEquation\expandafter{##1}{#1}\EndNoFonts%
+ }{}
+ }{}%
+}
+\ExplSyntaxOff
+
+% \MMLVerbEquation{equation}
+% \MMLVerbEquation{equation*}
+
+\fi
\Configure{multicolumn}
{\let\sv:VBorder\VBorder
\let\VBorder\empty
@@ -482,9 +615,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -661,6 +791,43 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\ShowPar\IgnoreIndent\par}
\fi
+\:CheckOption{texsource}\if:Option
+\MMLVerbMath{subarray}
+\MMLVerbMath{smallmatrix}
+\MMLVerbMath{matrix}
+\MMLVerbMath{pmatrix}
+\MMLVerbMath{bmatrix}
+\MMLVerbMath{Bmatrix}
+\MMLVerbMath{vmatrix}
+\MMLVerbMath{Vmatrix}
+\MMLVerbMath{cases}
+\MMLVerbMath{subequations}
+\MMLVerbMath{aligned}
+\MMLVerbMath{alignedat}
+\MMLVerbMath{gathered}
+\MMLVerbMath{gather}
+\MMLVerbMath{gather*}
+\MMLVerbMath{alignat}
+\MMLVerbMath{alignat*}
+\MMLVerbMath{xalignat}
+\MMLVerbMath{xalignat*}
+\MMLVerbMath{xxalignat}
+\MMLVerbMath{align}
+\MMLVerbMath{align*}
+\MMLVerbMath{flalign}
+\MMLVerbMath{flalign*}
+\MMLVerbMath{split}
+\MMLVerbMath{multline}
+\MMLVerbMath{multline*}
+% equations fails with errors, even though it worked in a .cfg
+% I will need to investigate it more
+% \MMLVerbEquation{equation}
+% \MMLVerbEquation{equation*}
+\MMLVerbMath{math}
+\MMLVerbMath{displaymath}
+\MMLVerbMath{eqnarray}
+\MMLVerbMath{eqnarray*}
+\fi
\Configure{@begin}
{split}
{\let\tagform@=\:gobble }
@@ -680,6 +847,8 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -831,6 +1000,8 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{color}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -913,6 +1084,14 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{rlbabel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -960,6 +1139,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{frenchb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1299,5 +1479,40 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/html4-math.4ht b/Master/texmf-dist/tex/generic/tex4ht/html4-math.4ht
index 21c5761a00e..83eb47206c6 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/html4-math.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/html4-math.4ht
@@ -1,23 +1,23 @@
-% html4-math.4ht (2022-10-25-13:59), generated from tex4ht-html4.tex
-% Copyright 2009-2022 TeX Users Group
+% html4-math.4ht (2024-09-27-10:13), generated from tex4ht-html4.tex
+% Copyright 2009-2024 TeX Users Group
% Copyright 1999-2009 Eitan M. Gurari
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-10-25-13:59}
+\immediate\write-1{version 2024-09-27-10:13}
\exit:ifnot{accents,%
amsfonts,%
@@ -327,16 +327,22 @@ ushort}
};
}
\fi
+\NewConfigure{MathjaxInline}{2}
+\NewConfigure{MathjaxBlock}{2}
+\Configure{MathjaxInline}{\HCode{<span class="mathjax-inline">}}{\HCode{</span>}}
+\Configure{MathjaxBlock}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="mathjax-block">}}{\HCode{</div>}}
+\Configure{MathjaxEnv}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="mathjax-env mathjax-\@currenvir">}}{\HCode{</div>}}
+
\Configure{@HEAD}{\HCode{<script>window.MathJax = \a:MathJaxConfig</script>\Hnewline}}
\Configure{MathjaxSource}{https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js}
-\Configure{@HEAD}{\HCode{ <script type="text/javascript" async="async" id="MathJax-script" src="\a:MathjaxSource"></script> \Hnewline}}
+\Configure{@HEAD}{\ifx\a:MathjaxSource\@empty\else\HCode{<script type="text/javascript" async="async" id="MathJax-script" src="\a:MathjaxSource"></script> \Hnewline}\fi}
\edef\:RestoreMathjaxCatcodes{\catcode`\noexpand \&=\the\catcode`\&}
\def\:HandleMathjaxCatcodes{\edef\:RestoreMathjaxCatcodes{\catcode`\noexpand \&=\the\catcode`\&}\catcode`\&=11}
-\Configure{$}{\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes}{\expandafter\AltMathOne}
-\Configure{$$}{\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes}{\expandafter\AltlDisplayDollars}
-% for some reason, it is necessary to specify the catcode change directly in the configuration
-\Configure{()}{\:HandleMathjaxCatcodes\catcode`\&=11\AltlMath}{\:RestoreMathjaxCatcodes}
-\Configure{[]}{\:HandleMathjaxCatcodes\catcode`\&=11\AltlDisplay}{\:RestoreMathjaxCatcodes}
+\Configure{$}{\a:MathjaxInline\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes\b:MathjaxInline}{\expandafter\AltMathOne}
+\Configure{()}{\a:MathjaxInline\:HandleMathjaxCatcodes\catcode`\&=11\AltlMath}{\:RestoreMathjaxCatcodes\b:MathjaxInline}
+\Configure{$$}{\a:MathjaxBlock\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes\b:MathjaxBlock}{\expandafter\AltlDisplayDollars}
+\Configure{[]}{\a:MathjaxBlock\:HandleMathjaxCatcodes\catcode`\&=11\AltlDisplay}{\:RestoreMathjaxCatcodes\b:MathjaxBlock}
+
\fi
\NewConfigure{bar-css}{2}
@@ -470,8 +476,6 @@ ushort}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -846,6 +850,8 @@ ushort}
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1007,7 +1013,6 @@ ushort}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{array}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1076,6 +1081,14 @@ ushort}
+
+
+
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{eplain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1120,6 +1133,8 @@ ushort}
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fleqn}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1151,6 +1166,7 @@ ushort}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{gauss}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1346,6 +1362,32 @@ ushort}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{accents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1379,7 +1421,6 @@ ushort}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ushort}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1441,6 +1482,7 @@ ushort}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cancel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1485,7 +1527,6 @@ ushort}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{th4}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1591,5 +1632,18 @@ ushort}
+
+
+
+
+
+
+
+
+
+
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/html4.4ht b/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
index 447b565a0c6..92ac55e1483 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/html4.4ht
@@ -1,4 +1,4 @@
-% html4.4ht (2024-06-21-14:18), generated from tex4ht-html4.tex
+% html4.4ht (2024-10-29-13:37), generated from tex4ht-html4.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1997-2009 Eitan M. Gurari
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-06-21-14:18}
+\immediate\write-1{version 2024-10-29-13:37}
\exit:ifnot{8859-6,%
CJK,%
@@ -117,6 +117,7 @@ foils,%
fontspec,%
framed,%
francais,%
+french,%
frenchb,%
g-brief,%
galician,%
@@ -152,6 +153,7 @@ longtable,%
ltugboat,%
ltugproc,%
ltxguide,%
+lua-ul,%
manju,%
manmac,%
marginnote,%
@@ -166,6 +168,7 @@ microtype,%
minitoc,%
minted,%
mls,%
+moderncv,%
moreverb,%
multicol,%
multind,%
@@ -1469,6 +1472,25 @@ switches of tex4ht.c)
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="\getClass{li}itemize">}\afterGetClass{li}\par\ShowPar
}
+
+\:CheckOption{itemize+}\if:Option
+\ConfigureList{itemize}%
+ {\EndP\HCode{<ul \a:LRdir
+ class="\getClass{itemize}itemize\expandafter\the
+ \csname @itemdepth\endcsname">}%
+ \afterGetClass{itemize}%
+ \PushMacro\end:itm
+\global\let\end:itm=\empty}
+ {\PopMacro\end:itm \global\let\end:itm \end:itm
+\ifvmode \IgnorePar\fi
+ \EndP\HCode{</li></ul>}\ShowPar}
+ {\end:itm \global\def\end:itm{\EndP\Tg</li>}\HCode{<li class="\getClass{li}itemize"><span class="itemizeHead" aria-hidden="true">}\afterGetClass{li}}
+ {\HCode{</span>}\par\ShowPar
+}
+\Css{.itemizeHead{float: left; margin-left: -1em; width: 1em;}}
+\Css{li.itemize{list-style: none;}}
+\fi
+
\NewConfigure{itemizeClass}{2}
\Configure{itemizeClass}{}{}
\NewConfigure{liClass}{2}
@@ -2988,7 +3010,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
{}
{\xdef\col:Css{\col:Css
border-\ifnum \ar:cnt=0 left\else right\fi
- :solid black 0.4pt;}%
+ :1px solid \VBorder:color;}%
}{}{}%
}
{\ifx \col:Css\empty \else
@@ -3086,6 +3108,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\Configure{arrayparbox}{\ShowPar}
\fi
\let\VBorder\empty \let\AllColMargins\empty
+\def\VBorder:color{black}
\Configure{VBorder}
{\let\VBorder\empty \let\AllColMargins\empty
\global\let\GROUPS\empty \HAssign\NewGroup = 0
@@ -3095,10 +3118,10 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
% put vertical border for a column
\ifnum\ar:cnt > 0%
% in all other cases, we should put right border
- \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid black;}}%
+ \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid \VBorder:color;}}%
\else%
% columns are numbered from 1. if \ar:cnt == 0 then it is the left border
- \Css{\#TBL-\TableNo-1{border-left: 1px solid black;}}%
+ \Css{\#TBL-\TableNo-1{border-left: 1px solid \VBorder:color;}}%
\fi%
}
{\Advance:\NewGroup by 1
@@ -3109,8 +3132,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
{\xdef\AllColMargins{\AllColMargins 0}}
\Configure{HBorder}
{<tr\Hnewline class="hline">} {<td><hr\xml:empty></td>} {</tr>}
- {<tr\Hnewline class="cline">}
- {<td></td>} {<td><hr\xml:empty></td>} {</tr>}
+ {<tr\Hnewline class="cline">}
+ {<td></td>} {<td style="border-top:1px solid \#\hline:color;"></td>} {</tr>}
{<tr\Hnewline class="vspace" style="font-size:\HBorderspace">}
{<td\Hnewline>\string&nbsp;</td>}
{</tr>}
@@ -3121,7 +3144,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\Css{.hline hr, .cline hr{border:none;border-top:1px solid black;}}
\Css{.hline {border-top: 1px solid black;}}
\Css{.hline + .vspace:last-child{display:none;}}
-\Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}}
+% why was there this rule? it adds unnecessary extra rule at the top of tables
+% \Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}}
\def\putVBorder{\expandafter\put:VBorder\VBorder</>!*?: }
\def\put:VBorder#1</#2>#3!*?: {\def\:temp{#2}\ifx\:temp\empty
\HCode{\VBorder}%
@@ -11411,6 +11435,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{graphics}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -11607,7 +11633,6 @@ height="\expandafter\int:pt\the\Gin@req@height!*?: "
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{graphicx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -11636,6 +11661,7 @@ height="\expandafter\int:pt\the\Gin@req@height!*?: "
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16856,6 +16882,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsproc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19444,7 +19471,6 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsthm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19465,6 +19491,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19481,7 +19508,6 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amstex1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19625,6 +19651,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19911,6 +19938,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ngerman}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19932,7 +19960,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20365,7 +20392,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{biblatex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20557,7 +20583,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{glossary}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20671,6 +20696,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{latin2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -21018,7 +21044,7 @@ Y{0178}\i{00EF}%
{}
{\xdef\col:Css{\col:Css
border-\ifnum \ar:cnt=0 left\else right\fi
- :solid black 0.4pt;}%
+ :1px solid \VBorder:color;}%
}{}{}%
}
{\ifx \col:Css\empty \else
@@ -21116,6 +21142,7 @@ Y{0178}\i{00EF}%
\Configure{arrayparbox}{\ShowPar}
\fi
\let\VBorder\empty \let\AllColMargins\empty
+\def\VBorder:color{black}
\Configure{VBorder}
{\let\VBorder\empty \let\AllColMargins\empty
\global\let\GROUPS\empty \HAssign\NewGroup = 0
@@ -21125,10 +21152,10 @@ Y{0178}\i{00EF}%
% put vertical border for a column
\ifnum\ar:cnt > 0%
% in all other cases, we should put right border
- \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid black;}}%
+ \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid \VBorder:color;}}%
\else%
% columns are numbered from 1. if \ar:cnt == 0 then it is the left border
- \Css{\#TBL-\TableNo-1{border-left: 1px solid black;}}%
+ \Css{\#TBL-\TableNo-1{border-left: 1px solid \VBorder:color;}}%
\fi%
}
{\Advance:\NewGroup by 1
@@ -21139,8 +21166,8 @@ Y{0178}\i{00EF}%
{\xdef\AllColMargins{\AllColMargins 0}}
\Configure{HBorder}
{<tr\Hnewline class="hline">} {<td><hr\xml:empty></td>} {</tr>}
- {<tr\Hnewline class="cline">}
- {<td></td>} {<td><hr\xml:empty></td>} {</tr>}
+ {<tr\Hnewline class="cline">}
+ {<td></td>} {<td style="border-top:1px solid \#\hline:color;"></td>} {</tr>}
{<tr\Hnewline class="vspace" style="font-size:\HBorderspace">}
{<td\Hnewline>\string&nbsp;</td>}
{</tr>}
@@ -21151,7 +21178,8 @@ Y{0178}\i{00EF}%
\Css{.hline hr, .cline hr{border:none;border-top:1px solid black;}}
\Css{.hline {border-top: 1px solid black;}}
\Css{.hline + .vspace:last-child{display:none;}}
-\Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}}
+% why was there this rule? it adds unnecessary extra rule at the top of tables
+% \Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}}
\def\putVBorder{\expandafter\put:VBorder\VBorder</>!*?: }
\def\put:VBorder#1</#2>#3!*?: {\def\:temp{#2}\ifx\:temp\empty
\HCode{\VBorder}%
@@ -21246,6 +21274,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mwart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -26210,7 +26239,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mwbk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28707,7 +28735,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{csquotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28722,7 +28749,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{CJK}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28778,7 +28804,19 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{french}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \Configure{part}{}{}
+ {\IgnorePar \EndP\HCode{<h1 class="partHead"\a:LRdir>}%
+ \HCode{<span class="titlemark">}\partname
+ \HCode{</span><br />}}
+ {\HCode{</h1>}\IgnoreIndent\par}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{moreverb}
@@ -28818,7 +28856,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fancyvrb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28880,6 +28917,7 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amscd}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29015,6 +29053,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29035,7 +29074,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{colortbl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29066,6 +29104,9 @@ Y{0178}\i{00EF}%
% redefine default table configuration and put the color rule
\def\a:HBorder{<tr class="hline" style="border-top:1px solid \#\hline:color">}
+
+% use the hline color also for vertial lines
+\def\VBorder:color{\#\hline:color}
% don't display <hr> elements in colored \hline
\Css{tr.hline td hr{display:none}}
@@ -29074,6 +29115,8 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{minitoc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29284,7 +29327,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{adjustbox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29341,6 +29383,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{changepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29359,7 +29402,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alltt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29509,7 +29551,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{eplain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30237,7 +30278,6 @@ Y{0178}\i{00EF}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ntheorem}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30370,6 +30410,7 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{proof}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30428,7 +30469,6 @@ Y{0178}\i{00EF}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{verse}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30484,6 +30524,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{arabicore}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30503,6 +30544,8 @@ Y{0178}\i{00EF}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{rlbabel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30590,7 +30633,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{abidir}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30617,6 +30659,7 @@ Y{0178}\i{00EF}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{koi8-r}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30627,7 +30670,6 @@ Y{0178}\i{00EF}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{frenchb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30662,6 +30704,7 @@ font-size:70\%;
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{powerdot}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30831,6 +30874,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{titlesec}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30929,6 +30973,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{threeparttable}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -30945,6 +30990,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tabularray}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31037,6 +31083,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{multirow}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31113,7 +31160,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subscript}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31147,6 +31193,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subcaption}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31197,6 +31244,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{emulateapj}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31257,7 +31305,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{picins}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31367,7 +31414,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ot4enc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -31635,7 +31681,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pd1enc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -32406,6 +32451,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{texinfo}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -32567,7 +32613,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{doc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -32583,6 +32628,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrbook}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -33353,7 +33399,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrartcl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34161,6 +34206,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{jurabook}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34218,7 +34264,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{elsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34705,7 +34750,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{g-brief}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34898,6 +34942,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ltxguide}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34916,7 +34961,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsdtx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -34966,6 +35010,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{lncse}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35043,7 +35088,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{bibtopic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35058,7 +35102,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{harvard}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35093,6 +35136,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrjura}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35126,7 +35170,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{8859-6}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35161,6 +35204,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{manju}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35172,6 +35216,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35201,6 +35246,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{piton}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35237,7 +35283,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{prosper}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35399,6 +35444,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{beamer}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35769,6 +35815,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{seminar}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35782,7 +35829,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slides}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35883,6 +35929,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{foils}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -35989,7 +36036,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xy}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36041,6 +36087,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pstricks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36090,7 +36137,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mfpic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36119,6 +36165,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pgf}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36139,8 +36186,6 @@ description">}%
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{overpic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36154,6 +36199,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{dratex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36304,7 +36350,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{curve}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36350,6 +36395,48 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{moderncv}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \Configure{cvhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvhead">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
+\Configure{cvphoto}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvphoto">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
+
+\Configure{section}{\ifvmode\IgnorePar\fi\EndP\HCode{<h2>}}{\HCode{</h2>}}
+\Configure{subsection}{\ifvmode\IgnorePar\fi\EndP\HCode{<h3>}}{\HCode{</h3>}}
+\Configure{cvitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvitem"><span class="cvitemhead">}}{\HCode{</span><span class="cvitembody">}}{\HCode{</span></div>}}
+\Configure{cvdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvdoubleitem">}}{\HCode{</div>}}
+\Configure{cvlistitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistitem">}}{\HCode{</div>}}
+\Configure{cvlistdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistdoubleitem">}}{\HCode{</div>}}
+
+\Configure{cvskillhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillhead">}}{\HCode{</div>}}
+\Configure{cvskillentry}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillentry">}}{\HCode{</div>}}
+
+\Configure{cvskill}{\Picture*[skill level: \:cvskillamount]{}}{\EndPicture}
+
+\Css{.cvskillentry .tabular, .cvskillhead .tabular {margin:0pt;}}
+\Css{.cvskillentry .tabular td:nth-child(1), .cvskillhead .tabular td:nth-child(1){width: 8ch}}
+\Css{.cvskillentry .tabular td:nth-child(2), .cvskillhead .tabular td:nth-child(2){width: 12ch}}
+\Css{.cvskillentry .tabular td:nth-child(3), .cvskillhead .tabular td:nth-child(3){width: 6ch}}
+\Css{.cvskillentry .tabular td:nth-child(4), .cvskillhead .tabular td:nth-child(4){width: 54ch}}
+
+\Css{.cvitemhead{margin-right: 1em;}}
+
+\Css{
+@media (min-width:94ch) {
+.cvitemhead{
+ margin-left: -14ch;
+ width: 12ch;
+ float: left;
+ text-align: right;
+ }
+}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{vowel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36375,7 +36462,21 @@ description">}%
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="enumerate-enumitem">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}}
+
\Css{dl.enumerate-enumitem{display:grid; grid-template-columns: 3ch 1fr; align-items: top; row-gap:1ch;}}
+\Configure{enumitemnewlist}{%
+\ConfigureList{\a:enumitemenv}%
+ {\EndP\HCode{<dl \a:LRdir class="enumerate-enumitem enumitem-\a:enumitemenv">}%
+ \PushMacro\end:itm
+\global\let\end:itm=\empty}
+ {\PopMacro\end:itm \global\let\end:itm \end:itm
+\EndP\HCode{</dd></dl>}\ShowPar}
+ {\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
+ class="enumerate-enumitem enumitem-\a:enumitemenv">}\bgroup \bf}
+ {\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}}
+}
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36384,6 +36485,7 @@ description">}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{IEEEtran}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36445,6 +36547,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{linguex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36470,7 +36573,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cgloss4e}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36567,6 +36669,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{diagram}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36755,7 +36858,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subeqnarray}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36792,6 +36894,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{siunitx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36818,7 +36921,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sistyle}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36860,6 +36962,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{microtype}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -36877,7 +36980,6 @@ description">}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{appendix}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37072,11 +37174,14 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{booktabs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifdefined\hline:color\else
\def\hline:color{000}
+\fi
\Configure{toprule}
@@ -37124,7 +37229,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{gloss}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37238,7 +37342,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tugboat}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37381,7 +37484,7 @@ description">}%
\Css{.makesignature{margin-left:4em;}}
\Css{.signaturemark{display:block-inline;margin-left:-1.33em;}}
\@ifclassloaded{ltugproc}{}{%
- \@ifpackageloaded{ltugproc}{}{\Configure{@BODY}{\rtitlex}}
+ \@ifpackageloaded{ltugproc}{}{\Configure{@BODY}{\@ifundefined{:rtitlexused}{\rtitlex}{}\def\:rtitlexused{}}}
}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP
@@ -37416,9 +37519,10 @@ description">}%
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Configure{titlex}
- {\HCode{<div class="titlex">}}
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<div class="titlex">}}
{\HCode{</div>}}
\Css{div.titlex p{margin-bottom:1em;}}
+\Css{div.titlex {text-align: center;}}
\Configure{sectitle}
{\ifvmode \IgnorePar\fi
\EndP \HCode{<div class="sectitle">}%
@@ -37500,6 +37604,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{rotating}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37512,7 +37617,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{boxedminipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37603,6 +37707,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{go}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37614,7 +37719,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{paralist}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37920,6 +38024,7 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tasks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37934,7 +38039,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alphanum}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38010,6 +38114,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{epigraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38047,7 +38152,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{floatflt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38075,6 +38179,8 @@ description">}%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{acm-proc-article-sp}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38395,7 +38501,6 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{endnotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38410,6 +38515,7 @@ description">}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{web}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38436,7 +38542,6 @@ description">}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{exerquiz}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38535,6 +38640,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{nicefrac}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -38930,6 +39036,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mdwlist}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39016,7 +39123,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{syntax}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39081,6 +39187,21 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{lua-ul}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \Configure{highLight}{\HCode{<span class="highLight" style="background-color:\:highLightColor;">}}{\HCode{</span>}}
+\Configure{strikeThrough}{\HCode{<span class="strikeThrough" style="text-decoration-color:\:strikeThroughColor;" >}}{\HCode{</span>}}
+\Css{.strikeThrough{text-decoration: line-through;}}
+\Configure{underLine}{\HCode{<span class="underLine" style="text-decoration-color:\:underLineColor;">}}{\HCode{</span>}}
+\Css{.underLine{text-decoration: underline;}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{manmac}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39174,7 +39295,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp850}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39185,6 +39305,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp852}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39215,7 +39336,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp1252}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39226,6 +39346,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{cp437}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39256,7 +39377,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{norsk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39269,6 +39389,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{polish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39305,7 +39426,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{romanian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39504,6 +39624,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{russianb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39739,7 +39860,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slovene}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -39940,6 +40060,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{spanish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40008,7 +40129,6 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ukraineb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40021,6 +40141,7 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{usorbian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40057,7 +40178,6 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{austrian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40070,6 +40190,7 @@ Y{1EF8}y{1EF9}\i{0129}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{catalan}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40294,7 +40415,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{danish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40307,6 +40427,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{dutch}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40343,7 +40464,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{estonian}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40356,6 +40476,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{finnish}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40392,7 +40513,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{greek}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40527,6 +40647,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{exam}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40633,7 +40754,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fontspec}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40653,6 +40773,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{framed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40693,7 +40814,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{tcolorbox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40737,6 +40857,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{parallel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40768,7 +40889,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{chessboard}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40780,6 +40900,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xskak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40830,7 +40951,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sectionbreak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40903,6 +41023,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{chemfig}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -40918,5 +41039,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht
index 9c1210b5c2f..00ff9121450 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht
@@ -2,8 +2,8 @@
\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[1]34...//
-% info4ht.4ht (2021-04-17-18:22), generated from tex4ht-info.tex
-% Copyright 2009-2021 TeX Users Group
+% info4ht.4ht (2024-09-29-07:56), generated from tex4ht-info.tex
+% Copyright 2009-2024 TeX Users Group
% Copyright 2000-2009 Eitan M. Gurari
%
% This work may be distributed and/or modified under the
@@ -21,7 +21,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2021-04-17-18:22}
+\immediate\write-1{version 2024-09-29-07:56}
{ \catcode`\@=0 \catcode`\\=11 @relax
@gdef@infoIVht[#1]#2//{%
@ifnum #1>1
@@ -58,7 +58,7 @@
-\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629...//
+\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661...//
\exit:ifnot{CJK,%
Preamble,%
@@ -118,11 +118,11 @@ web,%
xy}
-\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629//
+\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661//
-\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629...//
+\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661...//
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -698,15 +698,15 @@ Cross-Linking
#1 label
#2 content
-\Ref.....................................1
+\XRef.....................................1
\LikeRef.................................1
#1 label
- \Tag and \Ref are tex4ht.sty commands introduced cross-referencing
+ \Tag and \XRef are tex4ht.sty commands introduced cross-referencing
content through .xref auxiliary files.
- \LikeRef is a variant of \Ref which doesn't verify whether the
+ \LikeRef is a variant of \XRef which doesn't verify whether the
labels exit. It is mainly used in \Link and \edef environments.
\ifTag ..................................3
@@ -720,7 +720,7 @@ Cross-Linking
Load the named xref-type file
.xref optional--`.xref' is assume for a default
- + optional-- asks \Ref and \LikeRef commands
+ + optional-- asks \XRef and \LikeRef commands
to use expanded tags `filename::tag', instead of just `tag'
[prefix] optional--asks just for tags starting with the
specified prefix.
@@ -732,7 +732,7 @@ Cross-Linking
Example:
% a.tex
- \LoadRef-[to:]{b}{from:#1} \Ref{from:filename}
+ \LoadRef-[to:]{b}{from:#1} \XRef{from:filename}
\LikeRef{from:filename}
% b.tex
@@ -2928,7 +2928,6 @@ Other Hooks
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3305,7 +3304,6 @@ Environments of amsthm:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3470,6 +3468,7 @@ Environments of amstex1:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3492,6 +3491,7 @@ Environments of amstex1:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3553,9 +3553,6 @@ Environments of amstex1:
-
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{url}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3575,6 +3572,8 @@ Environments of amstex1:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3629,6 +3628,7 @@ htlatex-like commands.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{array}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3733,6 +3733,13 @@ Environments of array:
+
+
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{CJK}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3755,6 +3762,7 @@ Environments of array:
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{moreverb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3784,6 +3792,7 @@ Environments of moreverb:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fancyvrb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3811,7 +3820,6 @@ Environments of fancyvrb:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{psfig}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3965,6 +3973,7 @@ Environments of amscd:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{index}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3986,6 +3995,8 @@ Environments of amscd:
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fancybox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4011,6 +4022,9 @@ Environments of amscd:
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{alltt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4036,6 +4050,7 @@ Environments of alltt:
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{vanilla}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4082,6 +4097,7 @@ Environments of alltt:
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ntheorem}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4147,7 +4163,6 @@ Environments of ntheorem:
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hebtex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4223,6 +4238,21 @@ Environments of ntheorem:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{emulateapj}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4264,6 +4294,7 @@ Environments of emulateapj:
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{aa}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4383,6 +4414,11 @@ Environments of doc:
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{elsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4454,6 +4490,9 @@ Environments of elsart:
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{seminar}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4476,6 +4515,7 @@ Environments of seminar:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slides}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4565,7 +4605,6 @@ Environments of foils:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{slidesec}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4587,6 +4626,7 @@ Environments of foils:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{xy}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4606,6 +4646,9 @@ Environments of foils:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pictex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4632,6 +4675,8 @@ Environments of foils:
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{pb-diagram}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4713,6 +4758,10 @@ Environments of pb-diagram:
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ltugboat}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4745,6 +4794,8 @@ Environments of ltugboat:
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{listings}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4906,6 +4957,8 @@ Environments of exerquiz:
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ProTex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4931,7 +4984,6 @@ Environments of exerquiz:
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{th4}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -5308,9 +5360,32 @@ values.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\endinput
-\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629//
+\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661//
diff --git a/Master/texmf-dist/tex/generic/tex4ht/jats.4ht b/Master/texmf-dist/tex/generic/tex4ht/jats.4ht
index 4e946779867..c6add3efca5 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/jats.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/jats.4ht
@@ -1,22 +1,22 @@
-% jats.4ht (2024-02-23-14:41), generated from tex4ht-jats.tex
+% jats.4ht (2024-08-13-13:15), generated from tex4ht-jats.tex
% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-02-23-14:41}
+\immediate\write-1{version 2024-08-13-13:15}
\exit:ifnot{amsart,%
amsbook,%
@@ -490,6 +490,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\Configure{chapter}
@@ -713,6 +725,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\ConfigureEnv{abstract}
@@ -945,6 +969,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\ConfigureEnv{abstract}
@@ -976,8 +1012,6 @@ url}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1565,6 +1599,7 @@ url}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{biblatex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1634,7 +1669,6 @@ url}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{url}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1649,6 +1683,7 @@ url}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1739,7 +1774,6 @@ url}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{memoir}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1926,6 +1960,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\ConfigureEnv{abstract}
{\ifvmode\IgnorePar\fi\EndP\HCode{<abstract>\Hnewline}}
@@ -2047,6 +2093,11 @@ url}
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrbook}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2233,6 +2284,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\Configure{chapter}
@@ -2270,6 +2333,7 @@ url}
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrartcl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2456,6 +2520,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\ConfigureEnv{abstract}
@@ -2473,7 +2549,6 @@ url}
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{scrreprt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2660,6 +2735,18 @@ url}
{\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar
}
+\ConfigureList{thebibliography}%
+ {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty}
+ {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}}
+ {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}%
+ \HCode{<ref><label>}%
+ \Configure{HtmlPar}%
+ {\EndP}%
+ {\EndP}%
+ {} {}%
+ }
+ {\HCode{</label><mixed-citation>}}
+
\ConfigureEnv{abstract}
@@ -2983,5 +3070,15 @@ url}
+
+
+
+
+
+
+
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/latex.4ht b/Master/texmf-dist/tex/generic/tex4ht/latex.4ht
index 910c0ef699e..703b814cc61 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/latex.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/latex.4ht
@@ -1,4 +1,4 @@
-% latex.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex
+% latex.4ht (2024-10-13-14:26), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-07-13:28}
+\immediate\write-1{version 2024-10-13-14:26}
\ifx\SaveMkHalignConf:g\:UnDef \else \expandafter\endinput\fi
@@ -437,14 +437,23 @@
\let\o:ref\:ref
\def\::ref#1{{\:SUBOff\:SUPOff\xdef\RefArg{#1}}\expandafter\o:ref
\expandafter{\RefArg}}
+\ExplSyntaxOn
+\def\::ref#1{{\:SUBOff\:SUPOff\xdef\RefArg{#1}%
+ \SUBOn\SUPOn%
+ \def\rEfLiNK##1##2{\Link{##1}{}\tl_rescan:nn{}{##2}\EndLink}%
+ \expandafter\o:ref\expandafter{\RefArg}%
+}}
+\ExplSyntaxOff
\DeclareDocumentCommand\:ref{s}{\IfBooleanTF{#1}{\Protect\::ref}{\Protect\::ref}}
\let\ref\:ref
-\def\::Ref#1{%
- \let\olda:rEfLiNK\rEfLiNK%%
- \def\rEfLiNK##1##2{\Link{##1}{}\edef\:ref:currentlabel{##2}\expandafter\MakeUppercase\:ref:currentlabel\EndLink}%
- \::ref{#1}%
- \let\rEfLiNK\olda:rEfLiNK%
-}
+\ExplSyntaxOn
+\def\::Ref#1{{%
+ \:SUBOff\:SUPOff\xdef\RefArg{#1}%
+ \SUBOn\SUPOn%
+ \def\rEfLiNK##1##2{\tl_set_rescan:Nnn\l_tmpa_tl{}{##2}\Link{##1}{}\expandafter\MakeUppercase\l_tmpa_tl\EndLink}%
+ \expandafter\o:ref\expandafter{\RefArg}%
+}}
+\ExplSyntaxOff
\DeclareDocumentCommand\:Ref{s}{\IfBooleanTF{#1}{\Protect\::Ref}{\Protect\::Ref}}
\let\Ref\:Ref
\let\:newl@bel\@newl@bel
@@ -1335,13 +1344,23 @@ $\vcenter
\append:def\@endtheorem{\c:newtheorem}
\NewConfigure{newtheorem}{3}
+\NewHookWithArguments{cmd/@sect/before}{8}
+\NewReversedHookWithArguments{cmd/@sect/after}{8}
+\NewHookWithArguments{cmd/@ssect/before}{5}
+\NewReversedHookWithArguments{cmd/@ssect/after}{5}
\let\no@ssect\@ssect
-\def\@ssect#1#2#3#4#5{\:Sc3
- \no@ssect{#1}{#2}{#3}{#4}{\:Sc4#5\:Sc2}\HtmlEnv}
+\def\@ssect#1#2#3#4#5{%
+ \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}%
+ \:Sc3\no@ssect{#1}{#2}{#3}{#4}{\:Sc4#5\:Sc2}\HtmlEnv%
+ \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}%
+}
\let\no@sect\@sect
\def\@sect#1#2#3#4#5#6[#7]#8{%
- \xdef\c:secnumdepth{#2}\:Sc3
- \no@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\:Sc4#8\:Sc2}\HtmlEnv}
+ \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
+ \xdef\c:secnumdepth{#2}\:Sc3%
+ \no@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\:Sc4#8\:Sc2}\HtmlEnv%
+ \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
+ }
\let\:startsection\@startsection
\def\@startsection#1{\@ifstar{\Configure{secType}{like#1}}%
{\Configure{secType}{#1}}%
@@ -1357,6 +1376,7 @@ $\vcenter
\let\sv:Msect\M@sect
\let\:Sc\:gobble
\def\@sect##1##2##3##4##5##6[##7]##8{%
+ \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
\ifx \o:@seccntformat:\:UnDef
\let\o:@seccntformat:\@seccntformat
\fi
@@ -1370,9 +1390,12 @@ $\vcenter
%
\let\@seccntformat=\o:@seccntformat:
%
- \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}%
+ \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}%
+ \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
+ }%
%
\def\@ssect##1##2##3##4##5{%
+ \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}%
\gdef\ssect:ttl{##5}%
%
\let\@ssect\no@ssect
@@ -1381,7 +1404,9 @@ $\vcenter
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
- \HtmlEnv \csname :like#1\endcsname{##5}}%
+ \HtmlEnv \csname :like#1\endcsname{##5}%
+ \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}%
+ }%
\IgnorePar}
\fi
\pend:defI\@hangfrom{\a:@hangfrom}
@@ -2338,7 +2363,7 @@ $\vcenter
\expandafter\:temp\usepackage!*?:
\def\:tempa{\@latex@e@error}
\ifx \:temp\:tempa
- % latex209.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex
+ % latex209.4ht (2024-10-13-14:26), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
@@ -2346,18 +2371,18 @@ $\vcenter
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-07-13:28}
+\immediate\write-1{version 2024-10-13-14:26}
\let\:fnsymbol\@fnsymbol
\def\@fnsymbol#1{{\hbox{$\:fnsymbol{#1}$}}}
diff --git a/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht b/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht
index 49e7e6e43d4..79bb53de125 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht
@@ -1,23 +1,23 @@
-% longtable.4ht (2023-04-10-13:46), generated from tex4ht-4ht.tex
+% longtable.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
-% Copyright 2009-2023 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2023-04-10-13:46}
+\immediate\write-1{version 2024-09-30-13:40}
\def\:tempc[#1]#2{%
\gHAdvance\float:cnt 1
@@ -202,25 +202,8 @@
{\LT@t@bularcr}%
{\LT@t@bularcr}}
- \def\:tempc{%
- \o:noalign:{\ifnum0=`}\fi
- \penalty\@M
- \futurelet\@let@token\LT@@hline}
+ \def\:tempc{\a:hline}
\HLet\LT@hline\:tempc
-\def\:tempc{%
- \ifx\@let@token\hline
- \global\let\@gtempa\@gobble
- \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
- \else
- \global\let\@gtempa\@empty
- \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
- \fi
- \ifnum0=`{\fi}%
- \a:hline
-%
- \o:noalign:{\penalty\@M}%
- \@gtempa}
-\HLet\LT@@hline\:tempc
\def\:tempc{%
\o:noalign:\bgroup \gHAdvance\TitleCount 1
diff --git a/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht b/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht
new file mode 100644
index 00000000000..59e50f78778
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht
@@ -0,0 +1,82 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% lua-ul.4ht (2024-10-03-13:41), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-10-03-13:41}
+
+\def\lua:ul:get:xcolorcss#1#2{%
+ \expandafter\extractcolorspec\expandafter{#1}{\tsf:color}%
+ \expandafter\convertcolorspec\tsf:color{HTML}\tsf:color%
+ \edef#2{\#\tsf:color}%
+}
+
+\ExplSyntaxOn
+
+\NewConfigure{highLight}{2}
+\NewDocumentCommand \:highLight {O{\l__luaul_highlight_color_tl} +m} {
+ \group_begin:
+ \lua:ul:get:xcolorcss{#1}\:highLightColor%
+ \a:highLight#2\b:highLight%
+ \group_end:
+}
+
+\HLet\highLight\:highLight
+
+\NewConfigure{strikeThrough}{2}
+\NewDocumentCommand \:strikeThrough {o +m} {
+ \group_begin:
+ \IfValueTF {#1} {
+ \lua:ul:get:xcolorcss{#1}\:strikeThroughColor%
+ }{\def\:strikeThroughColor{inherit}}
+ \a:strikeThrough#2\b:strikeThrough
+ \group_end:
+ }
+
+\HLet\strikeThrough\:strikeThrough
+
+\NewConfigure{underLine}{2}
+\NewDocumentCommand \:underLine {o +m} {
+ \group_begin:
+ \IfValueTF {#1} {
+ \__luaul_parse_generic_keys:n {
+ #1
+ }
+ }{}
+ \bool_if:NTF \l__luaul_color_set_bool {
+ % the \l__luaul_current_color_tl contains color in a format suitable for \convertcolorspec,
+ % so we cannot use \lua:ul:get:xcolorcss here
+ \expandafter\convertcolorspec\l__luaul_current_color_tl{HTML}\:tempa
+ \edef\:underLineColor{\#\:tempa}%
+ }{\def\:underLineColor{inherit}}
+ \a:underLine#2\b:underLine
+ \group_end:
+}
+
+\HLet\underLine\:underLine
+
+
+\bool_if:NT \l__luaul_soulnames_bool {
+ \cs_set_eq:NN \textul \underLine \cs_set_eq:NN \ul \textul
+ \cs_set_eq:NN \textst \strikeThrough \cs_set_eq:NN \st \textst
+ \cs_set_eq:NN \texthl \highLight \cs_set_eq:NN \hl \texthl
+}
+
+\ExplSyntaxOff
+\Hinput{lua-ul}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht b/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht
new file mode 100644
index 00000000000..6a94196fea0
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht
@@ -0,0 +1,33 @@
+% makecell.4ht (2024-10-09-13:42), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-10-09-13:42}
+
+
+\NewConfigure{makegapedcells}{1}
+\def\:tempa{\a:makegapedcells}
+\HLet\makegapedcells\:tempa
+
+\NewConfigure{nomakegapedcells}{1}
+\def\:tempa{\a:nomakegapedcells}
+\HLet\nomakegapedcells\:tempa
+
+
+\Hinput{makecell}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht
new file mode 100644
index 00000000000..1279d022914
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht
@@ -0,0 +1,40 @@
+% manyfoot-hooks.4ht (2024-11-01-14:51), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-01-14:51}
+
+
+\:AtEndOfPackage{%
+\let\o:MFL@declare:\MFL@declare
+\def\manyfoot:declarefn#1{%
+ \expandafter\renewcommand\csname footnote#1\endcsname[1]{%
+ \stepcounter{footnote#1}%
+ \renewcommand\thefootnote{\csname thefootnote#1\endcsname}%
+ \footnote{##1}%
+ }%
+}
+\def\MFL@declare#1#2[#3]{%
+ \o:MFL@declare:{#1}{#2}[#3]%
+ \manyfoot:declarefn{#2}%
+}%
+
+
+}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht b/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht
new file mode 100644
index 00000000000..aeabc113d47
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht
@@ -0,0 +1,25 @@
+% manyfoot.4ht (2024-11-01-14:51), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-01-14:51}
+
+
+
+\Hinput{manyfoot}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht
index cfc53895a23..4559b909d61 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht
@@ -1,22 +1,22 @@
-% mathjax-latex-4ht.4ht (2024-02-25-08:28), generated from tex4ht-mathjax.tex
+% mathjax-latex-4ht.4ht (2024-10-25-14:48), generated from tex4ht-mathjax.tex
% Copyright 2018-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-02-25-08:28}
+\immediate\write-1{version 2024-10-25-14:48}
\ExplSyntaxOn
@@ -48,10 +48,14 @@
% beginning of each display math
\long\def\AltlDisplayDollars#1$${\alteqtoks{\[#1\]}$$}
+\NewConfigure{MathjaxEnv}{2}
+
\newcommand\VerbMathToks[2]{%
- \alteqtoks{\begin{#2}
- #1
- \end{#2}}%
+ \a:MathjaxEnv%
+ \HCode{\string\begin{#2}}%
+ \alteqtoks{#1}%
+ \HCode{\string\end{#2}}%
+ \b:MathjaxEnv%
}
\ExplSyntaxOn
\seq_new:N\:savedmathjaxenvs
@@ -162,7 +166,8 @@
}{}
\@ifpackageloaded{tikz}{%
-\tikzset{every picture/.append code={\:ignoretikzmatrix\RestoreMathJaxEnvironments}}
+%\tikzset{every picture/.append code={\:ignoretikzmatrix\RestoreMathJaxEnvironments}}
+\pend:def\tikz@installcommands{\RestoreMathJaxEnvironments}
}{}
}
@@ -677,5 +682,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht
index 3de1fdb2fe2..a36a855147a 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht
@@ -1,4 +1,4 @@
-% mathml.4ht (2024-03-21-13:48), generated from tex4ht-mathml.tex
+% mathml.4ht (2024-10-11-14:13), generated from tex4ht-mathml.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1999-2009 Eitan M. Gurari
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-03-21-13:48}
+\immediate\write-1{version 2024-10-11-14:13}
\exit:ifnot{Preamble,%
accents,%
@@ -34,6 +34,7 @@ array,%
bm,%
cancel,%
dcolumn,%
+esvect,%
etex4ht,%
fontmath,%
gauss,%
@@ -44,6 +45,7 @@ plain,%
rlbabel,%
sistyle,%
siunitx,%
+stmaryrd,%
subeqnarray,%
tex4ht,%
ulem,%
@@ -922,7 +924,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\def\:temp#1{\a:right{#1}\o:right:.\b:right{#1}}\HLet\right\:temp
\Configure{left}
{}
- {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">
+ {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">%
\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
@@ -1412,14 +1414,19 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\HLet\limsup\:tempa
\def\:tempa{\mathop{\:limspaces{lim}{inf}}\limits}
\HLet\liminf\:tempa
-\def\:temp#1#2{\def#1{\PauseMathClass{\HCode{<mi mathvariant="normal">}\ht:special{t4ht@+\string&{35}x#2{59}}\a:HChar\HCode{</mi>}}\EndPauseMathClass}}
-\:temp\Psi{03A8}
+\def\:temp#1#2{\def\:tempa{\PauseMathClass{\HCode{<mi mathvariant="normal">}\ht:special{t4ht@+\string&{35}x#2{59}}\a:HChar\HCode{</mi>}}\EndPauseMathClass}\HLet#1\:tempa}
+\:temp\Gamma{0393}
\:temp\Delta{0394}
+\:temp\Theta{0398}
+\:temp\Lambda{039B}
\:temp\Xi{039E}
\:temp\Pi{03A0}
\:temp\Sigma{03A3}
\:temp\Upsilon{03A5}
+\:temp\Phi{03A6}
+\:temp\Psi{03A8}
\:temp\Omega{03A9}
+
\AtBeginDocument{%
\Configure{mathop*}{*}{}{}{\Configure{mathop}{*}{<\a:mathml mo>}{</\a:mathml mo>}{}}
}
@@ -1794,7 +1801,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsbsy}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2794,7 +2800,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\def\:temp#1{\a:right{#1}\o:right:.\b:right{#1}}\HLet\right\:temp
\Configure{left}
{}
- {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">
+ {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">%
\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
@@ -3334,7 +3340,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{array}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3476,6 +3481,9 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{vanilla}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3517,6 +3525,9 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3848,7 +3859,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{dcolumn}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3928,6 +3938,10 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{mathtools}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4078,6 +4092,10 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{accents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4101,6 +4119,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{subeqnarray}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4150,7 +4169,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{siunitx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4166,6 +4184,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{sistyle}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4179,7 +4198,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ushort}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4217,6 +4235,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{bm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4265,7 +4284,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{ulem}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -4340,6 +4358,24 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{stmaryrd}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\:tempa{\HCode{<\a:mathml mo fence="false">\string&\#x27E6;</\a:mathml mo>}}
+\HLet\llbracket\:tempa
+\def\:tempa{\HCode{<\a:mathml mo fence="false">\string&\#x27E7;</\a:mathml mo>}}
+\HLet\rrbracket\:tempa
+\Configure{mfenced}{\llbracket}{\string&\#x27E6;}
+\Configure{mfenced}{\rrbracket}{\string&\#x27E7;}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
@@ -4576,6 +4612,23 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \ConfigureHinput{esvect}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\:tempa#1{%
+\bgroup\HCode{<\a:mathml mover><\a:mathml mrow>}#1\HCode{</\a:mathml mrow><\a:mathml mo \a:mathml stretchy="true">}
+\PauseMathClass\fldr\EndPauseMathClass%
+\HCode{</\a:mathml mo></\a:mathml mover>}\egroup
+}
+
+\HRestore\ESV@vecteur
+\HLet\ESV@vecteur\:tempa
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput\empty\empty\empty\empty\empty\empty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht b/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht
index e9d47c6ea24..66484ce7db4 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht
@@ -1,24 +1,23 @@
-% memoir.4ht (2024-05-20-13:21), generated from tex4ht-4ht.tex
+% memoir.4ht (2024-10-20-07:19), generated from tex4ht-4ht.tex
% Copyright 2003-2009 Eitan M. Gurari
-% Copyright 2003-2024 TeX Users Group
% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-20-13:21}
+\immediate\write-1{version 2024-10-20-07:19}
\input book.4ht
\input verse.4ht
@@ -117,6 +116,7 @@
\HtmlEnv \Toc:Title{##8}\csname no:#1\endcsname{##9}}%
%
\def\@sect##1##2##3##4##5##6[##7]##8{%
+ \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
\ifx \o:@seccntformat:\:UnDef
\let\o:@seccntformat:\@seccntformat
\fi
@@ -130,9 +130,12 @@
%
\let\@seccntformat=\o:@seccntformat:
%
- \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}%
+ \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}%
+ \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
+ }%
%
\def\@ssect##1##2##3##4##5{%
+ \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}%
\gdef\ssect:ttl{##5}%
%
\let\@ssect\no@ssect
@@ -141,7 +144,9 @@
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
- \HtmlEnv \csname :like#1\endcsname{##5}}%
+ \HtmlEnv \csname :like#1\endcsname{##5}%
+ \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}%
+ }%
\IgnorePar}
\fi
diff --git a/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht b/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht
index df88c5b0f1c..4a281473904 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht
@@ -1,30 +1,23 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mempatch.4ht 2009-05-21-09:32 %
-% Copyright (C) 2003--2009 Eitan M. Gurari %
-% %
-% This work may be distributed and/or modified under the %
-% conditions of the LaTeX Project Public License, either %
-% version 1.3c of this license or (at your option) any %
-% later version. The latest version of this license is %
-% in %
-% http://www.latex-project.org/lppl.txt %
-% and version 1.3c or later is part of all distributions %
-% of LaTeX version 2005/12/01 or later. %
-% %
-% This work has the LPPL maintenance status "maintained".%
-% %
-% This Current Maintainer of this work %
-% is Eitan M. Gurari. %
-% %
-% If you modify this program your changing its signature %
-% with a directive of the following form will be %
-% appreciated. %
-% \message{signature} %
-% %
-% gurari@cse.ohio-state.edu %
-% http://www.cse.ohio-state.edu/~gurari %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\immediate\write-1{version 2009-05-21-09:32}
+% mempatch.4ht (2024-11-03-05:51), generated from tex4ht-4ht.tex
+% Copyright 2003-2009 Eitan M. Gurari
+% Copyright 2009-2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <https://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-11-03-05:51}
\let\no@Msect\M@sect
\NewConfigure{@sec @ssect}[1]{%
@@ -53,6 +46,7 @@
\HtmlEnv \Toc:Title{##8}\csname no:#1\endcsname{##9}}%
%
\def\@sect##1##2##3##4##5##6[##7]##8{%
+ \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
\ifx \o:@seccntformat:\:UnDef
\let\o:@seccntformat:\@seccntformat
\fi
@@ -66,9 +60,12 @@
%
\let\@seccntformat=\o:@seccntformat:
%
- \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}%
+ \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}%
+ \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}%
+ }%
%
\def\@ssect##1##2##3##4##5{%
+ \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}%
\gdef\ssect:ttl{##5}%
%
\let\@ssect\no@ssect
@@ -77,7 +74,9 @@
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
- \HtmlEnv \csname :like#1\endcsname{##5}}%
+ \HtmlEnv \csname :like#1\endcsname{##5}%
+ \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}%
+ }%
\IgnorePar}
\fi
diff --git a/Master/texmf-dist/tex/generic/tex4ht/minted.4ht b/Master/texmf-dist/tex/generic/tex4ht/minted.4ht
index 7ff6a2778e0..b6beb7323b5 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/minted.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/minted.4ht
@@ -1,5 +1,5 @@
-% minted.4ht (2022-10-31-13:02), generated from tex4ht-4ht.tex
-% Copyright 2022 TeX Users Group
+% minted.4ht (2024-09-27-09:25), generated from tex4ht-4ht.tex
+% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2022-10-31-13:02}
+\immediate\write-1{version 2024-09-27-09:25}
\NewConfigure{InlineCode}{2}
@@ -43,23 +43,6 @@
% support for background color in Minted listings
\NewConfigure{MintedColorbg}{2}
-\renewenvironment{minted@colorbg}[1]{%
- \colorlet{shadecolor}{#1}%
- \extractcolorspec{shadecolor}{\:tempa}%
- \expandafter\convertcolorspec\:tempa{HTML}\minted:bgcolor%
- \a:MintedColorbg%
- }
- {\b:MintedColorbg\medskip\noindent}
-
-% support for background color in Minted listings
-\NewConfigure{MintedColorbg}{2}
-\renewenvironment{minted@colorbg}[1]{%
- \colorlet{shadecolor}{#1}%
- \extractcolorspec{shadecolor}{\:tempa}%
- \expandafter\convertcolorspec\:tempa{HTML}\minted:bgcolor%
- \a:MintedColorbg%
- }
- {\b:MintedColorbg\medskip\noindent}
\NewConfigure{mintedfixes}[1]{\concat:config\a:mintedfixes{#1}}
\let\a:mintedfixes\empty
diff --git a/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht b/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht
new file mode 100644
index 00000000000..c07dddde74d
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht
@@ -0,0 +1,168 @@
+% moderncv.4ht (2024-08-19-13:32), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-08-19-13:32}
+
+\NewConfigure{section}{2}
+\RenewDocumentCommand\section{sm}{\a:section #2\b:section}
+
+\NewConfigure{subsection}{2}
+\RenewDocumentCommand\subsection{sm}{\a:subsection #2\b:subsection}
+
+
+\NewConfigure{cvitem}{3}
+\renewcommand*{\cvitem}[3][.25em]{
+\a:cvitem #2\b:cvitem #3\c:cvitem
+}
+
+\NewConfigure{cvdoubleitem}{2}
+\renewcommand*{\cvdoubleitem}[5][.25em]{%
+\a:cvdoubleitem
+\cvitem{#2}{#3}
+\cvitem{#4}{#5}
+\b:cvdoubleitem
+}
+
+\NewConfigure{cvlistitem}{2}
+\renewcommand*{\cvlistitem}[2][.25em]{%
+ \a:cvlistitem\cvitem[#1]{\listitemsymbol}{#2}\b:cvlistitem
+}
+
+\NewConfigure{cvlistdoubleitem}{2}
+\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
+ \a:cvlistdoubleitem%
+ \cvitem[#1]{\listitemsymbol}{#2}%
+ \cvitem[#1]{\listitemsymbol}{#3}%
+ \b:cvlistdoubleitem%
+}
+
+\NewConfigure{cvhead}{2}
+\NewConfigure{cvphoto}{2}
+
+
+\renewcommand*{\makecvhead}{%
+ \a:cvhead
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ % optional detailed information (pre-rendering)
+ \@initializebox{\makecvheaddetailsbox}%
+ \if@details%
+ \def\phonesdetails{}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
+ \def\socialsdetails{}%
+ \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
+ \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
+ \savebox{\makecvheaddetailsbox}{%
+ \addressfont\color{color2}%
+ \if@left\begin{tabular}[b]{@{}r@{}}\fi%
+ \if@right\begin{tabular}[b]{@{}l@{}}\fi%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
+ \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
+ \end{tabular}
+ }\fi%
+ % optional photo (pre-rendering)
+ \@initializebox{\makecvheadpicturebox}%
+ \savebox{\makecvheadpicturebox}{%
+ \ifthenelse{\isundefined{\@photo}}%
+ {}%
+ {%
+ \a:cvphoto\includegraphics[]{\@photo}\b:cvphoto}%
+ }%
+ % name and title (pre-rendering)
+ \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
+ \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
+ \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
+ {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
+ {}%
+ \@initializebox{\makecvheadnamebox}%
+ \savebox{\makecvheadnamebox}{%
+ \begin{minipage}[b]{\makecvheadnamewidth}%
+ \if@left\raggedright\fi%
+ \if@right\raggedleft\fi%
+ \namestyle{\@firstname\ \@lastname}%
+ \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
+ \end{minipage}}%
+ % rendering
+ \if@left%
+ \usebox{\makecvheadnamebox}%
+ \hfill%
+ \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \usebox{\makecvheadpicturebox}\fi%
+ \if@right%
+ \usebox{\makecvheadpicturebox}%
+ \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \hfill%
+ \usebox{\makecvheadnamebox}\fi%
+ \\[2.5em]%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ \b:cvhead\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
+
+
+\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
+\begin{tabular}{l l l l l l}
+ \raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
+ %
+ & \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
+ %
+ & & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
+ \end{tabular}%
+}%
+
+
+\NewConfigure{cvskill}{2}
+\def\:tempa#1{\def\:cvskillamount{#1}\a:cvskill\o:cvskill:{#1}\b:cvskill}
+\HLet\cvskill\:tempa
+
+\NewConfigure{cvskillhead}{2}
+\NewConfigure{cvskillentry}{2}
+\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
+ \begingroup
+ \a:cvskillhead
+ \begin{tabular}{ p{6em} p{12em} p{4em} p{20em}}%
+ { #2} & { #3} & { #4} & { #5}
+ \end{tabular}%
+ \b:cvskillhead
+ \endgroup
+ \par\addvspace{#1}
+}
+
+\RenewDocumentCommand\cvskillentry{s +O{.25em} +m +m +m +m +m}{%
+\a:cvskillentry
+\cvitem{#3}{
+ \begin{tabular}{ p{6em} p{12em} p{4em} p{20em}}
+ \centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}%
+ \end{tabular}}%
+ \b:cvskillentry
+ \par\addvspace{#2}
+}
+
+
+\Hinput{moderncv}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht b/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht
new file mode 100644
index 00000000000..c16def5b0fd
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht
@@ -0,0 +1,28 @@
+% nicematrix.4ht (2024-10-18-14:47), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-10-18-14:47}
+
+\ExplSyntaxOn
+\bool_set_true:N\g__nicematrix_no_test_for_array_bool
+
+\ExplSyntaxOff
+
+\Hinput{nicematrix}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/piton.4ht b/Master/texmf-dist/tex/generic/tex4ht/piton.4ht
index b1140b4094b..fc79912f695 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/piton.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/piton.4ht
@@ -1,5 +1,5 @@
-% piton.4ht (2023-10-13-14:15), generated from tex4ht-4ht.tex
-% Copyright 2023 TeX Users Group
+% piton.4ht (2024-10-01-13:46), generated from tex4ht-4ht.tex
+% Copyright 2023-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,10 +16,43 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2023-10-13-14:15}
+\immediate\write-1{version 2024-10-01-13:46}
\ExplSyntaxOn
+\IfPackageLoadedTF{xcolor}{}{\RequirePackage{xcolor}}
+
+\def\:pitonvisiblespace{ \HCode{\string&\#x2423;} }
+\cs_new_protected:Npn \:__piton_replace_spaces:n #1
+ {
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \bool_if:NTF \l__piton_show_spaces_bool
+ {
+ \tl_set:Nn \l__piton_space_tl {\:pitonvisiblespace} % U+2423
+ \regex_replace_all:nnN { \x20 } {\c{:pitonvisiblespace}} \l_tmpa_tl
+ }
+ {
+ \bool_if:NTF \l__piton_break_lines_in_Piton_bool
+ {
+ \regex_replace_all:nnN
+ { \x20 }
+ { \c { __piton_breakable_space: } }
+ \l_tmpa_tl
+ \regex_replace_all:nnN
+ { \c { l__piton_space_tl } }
+ { \c { __piton_breakable_space: } }
+ \l_tmpa_tl
+ }
+ {
+ \regex_replace_all:nnN { \x20 } { \x20 } \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+ }
+
+
+\HLet\__piton_replace_spaces:n\:__piton_replace_spaces:n
+
\NewConfigure{pitonline}{3}
\NewConfigure{pitonnumber}{2}
diff --git a/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht b/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht
new file mode 100644
index 00000000000..74c11de6878
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht
@@ -0,0 +1,25 @@
+% stmaryrd.4ht (2024-10-11-14:13), generated from tex4ht-4ht.tex
+% Copyright 2024 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2024-10-11-14:13}
+
+
+
+\Hinput{stmaryrd}
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht
index 4793862b311..dcf308775ee 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht
@@ -1,4 +1,4 @@
-% tagpd-base-hooks.4ht (2024-05-06-13:37), generated from tex4ht-4ht.tex
+% tagpd-base-hooks.4ht (2024-07-26-15:08), generated from tex4ht-4ht.tex
% Copyright 2024 TeX Users Group
%
% This work may be distributed and/or modified under the
@@ -16,10 +16,7 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-06-13:37}
+\immediate\write-1{version 2024-07-26-15:08}
-% ignore tagpdf's specials
-% we use csname, because \ExplSyntaxOn .. Off caused catcode issues
-\expandafter\def\csname __tag_whatsits:\endcsname{}
\endinput
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht
index c012b7967b8..02db5485f63 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht
@@ -1,4 +1,4 @@
-% tagpdf-hooks.4ht (2024-05-03-14:34), generated from tex4ht-4ht.tex
+% tagpdf-hooks.4ht (2024-07-26-15:08), generated from tex4ht-4ht.tex
% Copyright 2022-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
@@ -16,11 +16,9 @@
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-03-14:34}
+\immediate\write-1{version 2024-07-26-15:08}
\ExplSyntaxOn
-% ignore tagpdf's specials
-\cs_set_protected:Npn \__tag_whatsits: {}
\ExplSyntaxOff
\:AtEndOfPackage{%
\RenewDocumentCommand \tagpdfsetup { m }{}
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht
index 4a90577d7c4..3e702545ac1 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht
@@ -1,7 +1,7 @@
\ifnum\the\catcode`\%=14\else \expandafter\edef\csname
\string:RestoreCatcodes\endcsname{\catcode`\%\the
\catcode`\%}\catcode`\%14\fi
-% tex4ht.4ht (2024-05-06-13:38), generated from tex4ht-options.tex
+% tex4ht.4ht (2024-09-24-10:24), generated from tex4ht-options.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1997-2009 Eitan M. Gurari
%
@@ -9,18 +9,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-06-13:38}
+\immediate\write-1{version 2024-09-24-10:24}
\expandafter\edef\csname :RestoreCatcodes\endcsname{%
\expandafter\ifx \csname :RestoreCatcodes\endcsname\relax\else
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
index 18a85e36ce7..1acc8e30f32 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
+++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
@@ -1,7 +1,7 @@
\ifnum\the\catcode`\%=14\else\expandafter\edef\csname
\string:RestoreCatcodes\endcsname{\catcode`\%\the
\catcode`\%}\catcode`\%14\fi
-% tex4ht.sty (2024-05-06-13:36), generated from tex4ht-sty.tex
+% tex4ht.sty (2024-09-24-10:22), generated from tex4ht-sty.tex
% Copyright 2009-2024 TeX Users Group
% Copyright 1996-2009 Eitan M. Gurari
%
@@ -9,18 +9,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-06-13:36}
+\immediate\write-1{version 2024-09-24-10:22}
\ifx \Preamble\UnDef \else
@@ -1446,7 +1446,7 @@
\fi
\fi }
-\def\Ref#1{\expandafter\ifx
+\def\XRef#1{\expandafter\ifx
\csname cw:#1\endcsname \relax \:NoTag{#1}%
\else \csname cw:#1\endcsname \fi}
\def\LikeRef#1{\expandafter\ifx
@@ -1486,7 +1486,7 @@
\openin15=\jobname.xref
\ifeof15 \def\:NoTag#1{\hbox{$???$}}
\else \def\:NoTag#1{\hbox{$???$}
- \:warning{\string\Ref\string{\string#1\string}?}}
+ \:warning{\string\XRef\string{\string#1\string}?}}
\ifx \:::HRefTag\:UnDef\else
\pend:defII\:::HRefTag{%
\if \relax##1\relax\else
diff --git a/Master/texmf-dist/tex/generic/tex4ht/th4.4ht b/Master/texmf-dist/tex/generic/tex4ht/th4.4ht
index 894c2416d4c..1bfc57b5a3c 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/th4.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/th4.4ht
@@ -1,23 +1,23 @@
-% th4.4ht (2021-12-02-14:01), generated from tex4ht-4ht.tex
+% th4.4ht (2024-09-24-10:22), generated from tex4ht-4ht.tex
% Copyright 1997-2009 Eitan M. Gurari
-% Copyright 2009-2021 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2021-12-02-14:01}
+\immediate\write-1{version 2024-09-24-10:22}
\ifHtml
@@ -420,19 +420,19 @@
\def\TagCh#1{\Tag{#1(C }{\theChapterCounter}\Tag
{#1(c }{\:curch}}
-\def\RefCh#1{\Link{\LikeRef{#1(c }}{}Chapter\ \Ref
+\def\RefCh#1{\Link{\LikeRef{#1(c }}{}Chapter\ \XRef
{#1(C }\EndLink}
\def\TagApp#1{\Tag{#1(A }{\theChapterCounter}\Tag
{#1(a }{\:curch}}
-\def\RefApp#1{\Link{\LikeRef{#1(a }}{}Appendix\ \Ref
+\def\RefApp#1{\Link{\LikeRef{#1(a }}{}Appendix\ \XRef
{#1(A }\EndLink}
\def\TagSec#1{\Tag{#1(S }{\theSectionCounter}\Tag
{#1(s }{\:cursec}}
-\def\RefSec#1{\Link{\LikeRef{#1(s }}{}Section\ \Ref
+\def\RefSec#1{\Link{\LikeRef{#1(s }}{}Section\ \XRef
{#1(S }\EndLink}
\def\TagPage#1{%
\Link{}{page#1}\EndLink\Tag{#1}{}}
-\def\RefPage#1{\Link{page#1}{}\Ref{#1}\EndLink}
+\def\RefPage#1{\Link{page#1}{}\XRef{#1}\EndLink}
\def\List#1{\begingroup {\hfil\break\IgnorePar}%
\HAssign\ListCounter0
diff --git a/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht b/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht
index fef5bf8c851..9cc265e8fc4 100644
--- a/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht
+++ b/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht
@@ -1,4 +1,4 @@
-% usepackage.4ht (2024-05-03-14:34), generated from tex4ht-4ht.tex
+% usepackage.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex
% Copyright 2003-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
@@ -6,18 +6,18 @@
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
-% is the TeX4ht Project <http://tug.org/tex4ht>.
+% is the TeX4ht Project <https://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
-\immediate\write-1{version 2024-05-03-14:34}
+\immediate\write-1{version 2024-11-05-12:30}
\def\:temp{tex4ht}\ifx \:temp\@currname
\:warning{\string\usepackage{tex4ht} again?}
@@ -91,11 +91,15 @@
\Configure{PackageHooks}{graphics.sty}{graphics-hooks.4ht}
\Configure{PackageHooks}{graphbox.sty}{graphbox-hooks.4ht}
\Configure{PackageHooks}{xcolor.sty}{xcolor-hooks.4ht}
+\Configure{PackageHooks}{colortbl.sty}{colortbl-hooks.4ht}
+\Configure{PackageHooks}{enumitem.sty}{enumitem-hooks.4ht}
\Configure{PackageHooks}{imakeidx.sty}{imakeidx-hooks.4ht}
\Configure{PackageHooks}{fancyhdr.sty}{fancyhdr-hooks.4ht}
\Configure{PackageHooks}{exerquiz.sty}{exerquiz-hooks.4ht}
\Configure{PackageHooks}{hyperxmp.sty}{hyperxmp-hooks.4ht}
\Configure{PackageHooks}{datetime2.sty}{datetime2-hooks.4ht}
+\Configure{PackageHooks}{manyfoot.sty}{manyfoot-hooks.4ht}
+\Configure{PackageHooks}{bigfoot.sty}{bigfoot-hooks.4ht}
\endinput
diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty
index b4e26af8bca..a898f51466d 100644
--- a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty
+++ b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty
@@ -6,7 +6,7 @@
%%
%% witharrows.dtx (with options: `LaTeX')
%%
-%% Copyright (C) 2017-2023 by F. Pantigny
+%% Copyright (C) 2017-2024 by F. Pantigny
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -18,8 +18,9 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\def\myfileversion{2.8b}
-\def\myfiledate{2023/08/24}
+\def\myfileversion{2.9a}
+\def\myfiledate{2024/10/19}
+
\RequirePackage{tikz}
\usetikzlibrary{arrows.meta}
\usepgfmodule{bending} % https://texnique.fr/osqa/questions/12199
@@ -30,6 +31,10 @@
{\myfileversion}
{Draws arrows for explanations on the right}
\RequirePackage { varwidth }
+\ProvideDocumentCommand{\IfPackageLoadedT}{mm}
+ {\IfPackageLoadedTF{#1}{#2}{}}
+\ProvideDocumentCommand{\IfPackageLoadedF}{mm}
+ {\IfPackageLoadedTF{#1}{}{#2}}
\bool_new:N \c__witharrows_footnotehyper_bool
\bool_new:N \c__witharrows_footnote_bool
\cs_new_protected:Npn \__witharrows_msg_new:nn { \msg_new:nnn { witharrows } }
@@ -45,20 +50,25 @@
\cs_new_protected:Npn \__witharrows_warning:n { \msg_warning:nn { witharrows } }
\cs_new_protected:Npn \__witharrows_fatal:n { \msg_fatal:nn { witharrows } }
\cs_new_protected:Npn \__witharrows_error:nn { \msg_error:nnn { witharrows } }
-\cs_generate_variant:Nn \__witharrows_error:nn { n x }
+\cs_generate_variant:Nn \__witharrows_error:nn { n e }
\cs_new_protected:Npn \__witharrows_error_or_warning:n
{ \bool_if:NTF \c__witharrows_messages_for_Overleaf_bool \__witharrows_warning:n \__witharrows_error:n }
\bool_set:Nn \c__witharrows_messages_for_Overleaf_bool
{
- \str_if_eq_p:Vn \c_sys_jobname_str { _region_ } % for Emacs
- || \str_if_eq_p:Vn \c_sys_jobname_str { output } % for Overleaf
+ \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs
+ || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf
}
+\bool_new:N \g__witharrows_beamer_bool
\keys_define:nn { WithArrows / package }
{
footnote .bool_set:N = \c__witharrows_footnote_bool ,
footnotehyper .bool_set:N = \c__witharrows_footnotehyper_bool ,
- unknown .code:n =
- \__witharrows_fatal:n { Option~unknown~for~package }
+ footnote .usage:n = load ,
+ footnotehyper .usage:n = load ,
+ beamer .bool_gset:N = \g__witharrows_beamer_bool ,
+ beamer .default:n = true ,
+ beamer .usage:n = load ,
+ unknown .code:n = \__witharrows_fatal:n { Option~unknown~for~package }
}
\__witharrows_msg_new:nn { Option~unknown~for~package }
{
@@ -67,6 +77,8 @@
\token_to_str:N\WithArrowsOptions.
}
\ProcessKeysOptions { WithArrows / package }
+\IfClassLoadedT { beamer } { \bool_gset_true:N \g__witharrows_beamer_bool }
+\IfPackageLoadedT { beamerarticle } { \bool_gset_true:N \g__witharrows_beamer_bool }
\__witharrows_msg_new:nn { footnote~with~footnotehyper~package }
{
Footnote~forbidden.\\
@@ -129,7 +141,10 @@
\cs_new_protected:Npn \__witharrows_collect_options:nnw #1#2[#3]
{ \__witharrows_collect_options:nn { #1 } { #2 , #3 } }
-\cs_generate_variant:Nn \seq_set_split:Nnn { N x x }
+\cs_generate_variant:Nn \seq_set_split:Nnn { N e e }
+\cs_generate_variant:Nn \keys_precompile:nnN { n n c }
+\prg_generate_conditional_variant:Nnn \tl_if_novalue:n { o } { F }
+\exp_args_generate:n { N N N n o }
\cs_new_protected:Npn \__witharrows_sort_seq:N #1
{
\seq_sort:Nn #1
@@ -143,15 +158,15 @@
\cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2
{
\seq_set_from_clist:Nn #1 { #2 }
- \seq_set_map_x:NNn #1 #1 { \tl_to_str:n { ##1 } }
+ \seq_set_map_e:NNn #1 #1 { \tl_to_str:n { ##1 } }
}
\cs_new_protected:Npn \__witharrows_save:N #1
{
- \seq_set_split:Nxx \l_tmpa_seq
+ \seq_set_split:Nee \l_tmpa_seq
{ \char_generate:nn { `_ } { 12 } }
{ \cs_to_str:N #1 }
\seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
- \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
+ \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
\use:c { \l_tmpa_str _if_exist:cF }
{ g _\seq_use:Nnnn \l_tmpa_seq _ _ _ }
{
@@ -163,11 +178,11 @@
}
\cs_new_protected:Npn \__witharrows_restore:N #1
{
- \seq_set_split:Nxx \l_tmpa_seq
+ \seq_set_split:Nee \l_tmpa_seq
{ \char_generate:nn { `_ } { 12 } }
{ \cs_to_str:N #1 }
\seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
- \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
+ \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
\use:c { \l_tmpa_str _set_eq:Nc }
#1 { g_\seq_use:Nnnn \l_tmpa_seq _ _ _ }
}
@@ -258,13 +273,13 @@
\clist_set:Nn \l__witharrows_tags_clist { all }
\cs_new_protected:Npn \__witharrows_test_if_to_tag:
{
- \clist_if_in:NVT \l__witharrows_tags_clist \g__witharrows_line_int
+ \clist_if_in:NoT \l__witharrows_tags_clist \g__witharrows_line_int
{ \clist_set:Nn \l__witharrows_tags_clist { all } }
}
\str_new:N \l__witharrows_command_name_str
\str_set:Nn \l__witharrows_command_name_str { Arrow }
\str_new:N \l__witharrows_string_Arrow_for_msg_str
-\str_set:Nx \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow }
+\str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow }
\seq_new:N \g__witharrows_names_seq
\bool_new:N \l__witharrows_sbwi_bool
\bool_new:N \l__witharrows_tag_star_bool
@@ -315,7 +330,7 @@
more-columns .value_forbidden:n = true ,
command-name .code:n =
\str_set:Nn \l__witharrows_command_name_str { #1 }
- \str_set:Nx \l__witharrows_string_Arrow_for_msg_str
+ \str_set:Ne \l__witharrows_string_Arrow_for_msg_str
{ \c_backslash_str Arrow~alias~\c_backslash_str #1 } ,
command-name .value_required:n = true ,
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
@@ -335,7 +350,7 @@
\int_set:Nn \l__witharrows_pos_arrow_int 7
}
{ \__witharrows_error:n { Incompatible~options } } ,
- group .value_forbidden:n = true ,
+ group .value_forbidden:n = true ,
groups .code:n =
\str_if_empty:NTF \l__witharrows_previous_key_str
{
@@ -348,7 +363,6 @@
{ \__witharrows_error:n { Incompatible~options } } ,
groups .value_forbidden:n = true ,
tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .initial:n = \c_empty_tl ,
tikz .value_required:n = true ,
rr .code:n = \__witharrows_fix_pos_option:n 3 ,
rr .value_forbidden:n = true ,
@@ -400,8 +414,8 @@
\AtBeginDocument
{
\bool_set_false:N \l_tmpa_bool
- \IfPackageLoadedTF { amsmath } { \bool_set_true:N \l_tmpa_bool } { }
- \IfPackageLoadedTF { unicode-math } { \bool_set_true:N \l_tmpa_bool } { }
+ \IfPackageLoadedT { amsmath } { \bool_set_true:N \l_tmpa_bool }
+ \IfPackageLoadedT { unicode-math } { \bool_set_true:N \l_tmpa_bool }
\bool_if:NT \l_tmpa_bool
{ \clist_put_right:Nn \c__witharrows_ext_delimiters_clist { \lvert, \lVert } }
}
@@ -445,8 +459,8 @@
wrap-lines .default:n = true ,
replace-left-brace-by .code:n =
{
- \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } }
- \clist_if_in:NVTF
+ \tl_set:Ne \l_tmpa_tl { \tl_head:n { #1 } }
+ \clist_if_in:NoTF
\c__witharrows_ext_delimiters_clist
\l_tmpa_tl
{ \tl_set:Nn \l__witharrows_replace_left_brace_by_tl { #1 } }
@@ -460,9 +474,9 @@
{
name .code:n =
\str_set:Nn \l_tmpa_str { #1 }
- \seq_if_in:NVTF \g__witharrows_names_seq \l_tmpa_str
+ \seq_if_in:NoTF \g__witharrows_names_seq \l_tmpa_str
{ \__witharrows_error:n { Duplicate~name } }
- { \seq_gput_left:NV \g__witharrows_names_seq \l_tmpa_str }
+ { \seq_gput_left:No \g__witharrows_names_seq \l_tmpa_str }
\str_set_eq:NN \l__witharrows_name_str \l_tmpa_str ,
name .value_required:n = true ,
code-before .code:n = \tl_put_right:Nn \l__witharrows_code_before_tl { #1 } ,
@@ -566,7 +580,7 @@
}
\cs_new_protected:Npn \__witharrows_set_independent:
{
- \str_if_eq:VnF \l_keys_value_tl { NoValue }
+ \str_if_eq:onF \l_keys_value_tl { NoValue }
{ \__witharrows_error:n { Value~for~a~key } }
\__witharrows_set_independent_bis:
}
@@ -582,7 +596,7 @@
\keys_define:nn { WithArrows / Arrow / FirstPass }
{
jump .code:n =
- \int_compare:nTF { #1 > 0 }
+ \int_compare:nNnTF { #1 } > \c_zero_int
{ \int_set:Nn \l__witharrows_jump_int { #1 } }
{ \__witharrows_error:n { Negative~jump } } ,
jump .value_required:n = true,
@@ -625,7 +639,7 @@
xoffset .code:n = ,
unknown .code:n =
\__witharrows_sort_seq:N \l__witharrows_options_Arrow_seq
- \seq_if_in:NVTF \l__witharrows_options_WithArrows_seq \l_keys_key_str
+ \seq_if_in:NoTF \l__witharrows_options_WithArrows_seq \l_keys_key_str
{
\str_set:Nn \l_tmpa_str
{ ~However,~this~key~can~be~used~in~the~options~of~{WithArrows}. }
@@ -652,7 +666,6 @@
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
tikz-code .initial:n = \draw~(#1)~to~node{#3}~(#2)~; ,
tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .initial:n = \c_empty_tl ,
rr .code:n = \__witharrows_fix_pos_arrow:n 3 ,
ll .code:n = \__witharrows_fix_pos_arrow:n 1 ,
rl .code:n = \__witharrows_fix_pos_arrow:n 2 ,
@@ -660,13 +673,11 @@
i .code:n = \__witharrows_fix_pos_arrow:n 5 ,
o .code:n = \str_set:Nn \l__witharrows_previous_key_str { o } ,
xoffset .code:n =
- \bool_if:nTF
+ \bool_lazy_all:nTF
{
- \int_compare_p:nNn \g__witharrows_arrow_int > 1
- &&
- \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5
- &&
- ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent }
+ { \int_compare_p:nNn \g__witharrows_arrow_int > 1 }
+ { \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 }
+ { ! \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } }
}
{ \__witharrows_error:n { Option~xoffset~forbidden } }
{ \dim_set:Nn \l__witharrows_xoffset_dim { #1 } } ,
@@ -683,8 +694,21 @@
\keys_set:nn { WithArrows / WithArrowsOptions } { #1 }
}
\cs_new_protected:Npn \__witharrows_Arrow
- { \__witharrows_collect_options:n { \__witharrows_Arrow_i } }
-\NewDocumentCommand \__witharrows_Arrow_i { m m ! O { } }
+ { \__witharrows_collect_options:n { \__witharrows_Arrow_iii } }
+\bool_if:NTF \g__witharrows_beamer_bool
+ {
+ \NewDocumentCommand \__witharrows_Arrow_iii { m d < > m ! O { } }
+ {
+ \tl_if_novalue:nTF { #2 }
+ { \__witharrows_Arrow_ii { #1 } { #3 } [ #4 ] }
+ { \only <#2> { \__witharrows_Arrow_ii { #1 } { #3 } [ #4 ] } }
+ }
+ }
+ {
+ \NewDocumentCommand \__witharrows_Arrow_iii { m m ! O { } }
+ { \__witharrows_Arrow_ii { #1 } { #2 } [ #3 ] }
+ }
+\NewDocumentCommand \__witharrows_Arrow_ii { m m ! O { } }
{
\int_gincr:N \g__witharrows_arrow_int
\str_clear_new:N \l__witharrows_previous_key_str
@@ -692,10 +716,10 @@
\prop_put:NnV \l_tmpa_prop { initial } \g__witharrows_line_int
\int_set:Nn \l_tmpa_int { \g__witharrows_line_int + \l__witharrows_jump_int }
\prop_put:NnV \l_tmpa_prop { final } \l_tmpa_int
- \prop_put:NnV \l_tmpa_prop { status } \l__witharrows_status_arrow_str
+ \prop_put:Nno \l_tmpa_prop { status } \l__witharrows_status_arrow_str
\prop_put:Nnn \l_tmpa_prop { options } { #1 , #3 }
\prop_put:Nnn \l_tmpa_prop { label } { #2 }
- \prop_put:Nnx \l_tmpa_prop { input-line } \msg_line_number:
+ \prop_put:Nne \l_tmpa_prop { input-line } \msg_line_number:
\prop_put:Nnn \l_tmpa_prop { width } { 0 pt }
\prop_gclear_new:c
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \g__witharrows_arrow_int _ prop }
@@ -728,7 +752,7 @@
\seq_set_eq:NN \l_tmpa_seq \g__witharrows_position_in_the_tree_seq
\seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl
\str_clear_new:N \l__witharrows_prefix_str
- \str_set:Nx \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - }
+ \str_set:Ne \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - }
\cs_set_eq:NN \\ \__witharrows_cr:
\dim_zero:N \mathsurround
\int_zero_new:N \l__witharrows_initial_int
@@ -784,30 +808,30 @@
\bool_if:NT \l__witharrows_in_DispWithArrows_bool
{
\__witharrows_test_if_to_tag:
- \IfPackageLoadedTF { amsmath } { \__witharrows_set_qedhere: } { }
+ \IfPackageLoadedT { amsmath } { \__witharrows_set_qedhere: }
}
}
- \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill
- \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill
+ \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { r } \hfill
+ \str_if_eq:onT \l__witharrows_type_col_str { R } \hfill
\int_gincr:N \g__witharrows_col_int
\int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int }
\c_math_toggle_token
- \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
- \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { L } { { } }
\bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
##
- \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
- \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { R } { { } }
\c_math_toggle_token
\int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int
\__witharrows_construct_nodes:
{
- \str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { l } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { L } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil
\bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip }
&
}
@@ -913,7 +937,7 @@
{
\cs_set:Npn \WithArrowsRightX { \g__witharrows_right_x_dim }
\normalbaselines
- \int_compare:nNnT \g__witharrows_arrow_int > 0
+ \int_if_zero:nF \g__witharrows_arrow_int
{
\int_compare:nNnT \g__witharrows_arrow_int = 1
{
@@ -932,7 +956,7 @@
\group_end:
\seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl
\seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl
- \seq_gput_right:Nx \g__witharrows_position_in_the_tree_seq
+ \seq_gput_right:Ne \g__witharrows_position_in_the_tree_seq
{ \int_eval:n { \l_tmpa_tl + 1 } }
\int_compare:nNnT { \seq_count:N \g__witharrows_position_in_the_tree_seq } = 1
{ \int_gincr:N \g__witharrows_last_env_int }
@@ -976,19 +1000,18 @@
\clist_if_in:NnTF \l__witharrows_tags_clist { all }
{
\tl_if_empty:NT \l__witharrows_tag_tl { \int_gincr:N \c@equation }
- \cs_gset:Npx \g_tmpa_tl
+ \cs_gset:Npe \g_tmpa_tl
{ \tl_if_empty:NTF \l__witharrows_tag_tl \theequation \l__witharrows_tag_tl }
\seq_if_empty:NF \l__witharrows_labels_seq
{
- \cs_set:Npx \@currentlabel { \p@equation \g_tmpa_tl }
- \IfPackageLoadedTF { hyperref }
+ \cs_set:Npe \@currentlabel { \p@equation \g_tmpa_tl }
+ \IfPackageLoadedT { hyperref }
{
% the following line is probably pointless (2022/05/16)
% \str_set:Nn \This@name { equation }
\hyper@refstepcounter { equation }
}
- { }
- \IfPackageLoadedTF { cleveref }
+ \IfPackageLoadedT { cleveref }
{
\cref@constructprefix { equation } \cref@result
\protected@edef \cref@currentlabel
@@ -1002,7 +1025,6 @@
\p@equation \g_tmpa_tl
}
}
- { }
\seq_map_function:NN \l__witharrows_labels_seq \__witharrows_old_label
}
\__witharrows_save:N \l__witharrows_tag_star_bool
@@ -1017,7 +1039,7 @@
\__witharrows_restore:N \l__witharrows_tag_star_bool
\__witharrows_restore:N \l__witharrows_qedhere_bool
\bool_if:NT \l__witharrows_qedhere_bool
- { \hbox_overlap_left:n \__witharrows_qedhere_i: }
+ { \hbox_overlap_left:n \__witharrows_qedhere_i: }
\cs_set_eq:NN \theequation \g_tmpa_tl
\bool_if:NT \l__witharrows_tag_star_bool
{ \cs_set_eq:NN \tagform@ \prg_do_nothing: }
@@ -1050,7 +1072,7 @@
&
\__witharrows_restore:N \l__witharrows_qedhere_bool
\bool_if:NT \l__witharrows_qedhere_bool
- { \hbox_overlap_left:n \__witharrows_qedhere_i: }
+ { \hbox_overlap_left:n \__witharrows_qedhere_i: }
\pgfpicture
\pgfrememberpicturepositiononpagetrue
\pgfcoordinate
@@ -1073,7 +1095,7 @@
}
\cs_new_protected:Npn \__witharrows_analyze_end:Nn #1 #2
{
- \str_if_eq:VnT \l__witharrows_type_env_str { #2 }
+ \str_if_eq:onT \l__witharrows_type_env_str { #2 }
{
\__witharrows_error:n { newline~at~the~end~of~env }
\group_begin:
@@ -1094,7 +1116,7 @@
\legacy_if:nT { @minipage }
{ \bool_set_true:N \l__witharrows_in_label_or_minipage_bool }
}
- \IfPackageLoadedTF { mathtools }
+ \IfPackageLoadedT { mathtools }
{
\MH_if_boolean:nT { show_only_refs }
{
@@ -1102,12 +1124,11 @@
\MH_set_boolean_T:n { show_only_refs }
}
}
- { }
- \IfPackageLoadedTF { typedref }
+ \IfPackageLoadedT { typedref }
{ \str_set:Nn \sr@name { equation } }
- { }
- \IfPackageLoadedTF { amsmath } { \intertext@ } { }
- \exp_args:No \tl_if_novalue:nF { #1 } { \tl_set:Nn \l__witharrows_left_brace_tl { #1 } }
+ \IfPackageLoadedT { amsmath } { \intertext@ }
+ \tl_if_novalue:oF { #1 }
+ { \cs_set_nopar:Npn \l__witharrows_left_brace_tl { #1 } }
\__witharrows_pre_halign:n { #2 }
\bool_if:NT \l__witharrows_subequations_bool { \begin { subequations } }
\tl_if_eq:NNF \l__witharrows_left_brace_tl \c_novalue_tl
@@ -1144,7 +1165,7 @@
\fi:
\bool_if:NTF \l__witharrows_in_label_or_minipage_bool
{
- \noindent % added in v. 2.6d
+ \noindent
\c_math_toggle_token
}
{
@@ -1156,8 +1177,8 @@
}
\dim_zero_new:N \l__witharrows_linewidth_dim
\bool_if:NTF \l__witharrows_in_label_or_minipage_bool
- { \dim_set_eq:NN \l__witharrows_linewidth_dim \linewidth }
- { \dim_set_eq:NN \l__witharrows_linewidth_dim \displaywidth }
+ { \dim_set_eq:NN \l__witharrows_linewidth_dim \linewidth }
+ { \dim_set_eq:NN \l__witharrows_linewidth_dim \displaywidth }
\box_clear_new:N \l__witharrows_halign_box
\setbox \l__witharrows_halign_box \vtop \bgroup
\tabskip =
@@ -1242,9 +1263,8 @@
}
\endpgfpicture
\__witharrows_post_halign:
- \IfPackageLoadedTF { mathtools }
+ \IfPackageLoadedT { mathtools }
{ \MH_if_boolean:nT { show_only_refs } \MT_showonlyrefs_true: }
- { }
\bool_if:NTF \l__witharrows_in_label_or_minipage_bool
{
\c_math_toggle_token
@@ -1282,7 +1302,7 @@
\tl_if_empty:NF \l__witharrows_tag_tl
{ \__witharrows_error:nn { Multiple~tags } { #2 } }
\clist_set:Nn \l__witharrows_tags_clist { all }
- \IfPackageLoadedTF { mathtools }
+ \IfPackageLoadedT { mathtools }
{
\MH_if_boolean:nT { show_only_refs }
{
@@ -1290,13 +1310,11 @@
{ \clist_clear:N \l__witharrows_tags_clist }
}
}
- { }
\tl_set:Nn \l__witharrows_tag_tl { #2 }
\bool_set:Nn \l__witharrows_tag_star_bool { #1 }
\bool_if:nT { #1 }
{
- \IfPackageLoadedTF { amsmath }
- { }
+ \IfPackageLoadedF { amsmath }
{ \__witharrows_error:n { tag*~without~amsmath } }
}
}
@@ -1312,7 +1330,7 @@
{ \__witharrows_error:n { Multiple~labels } }
}
\seq_put_right:Nn \l__witharrows_labels_seq { #1 }
- \IfPackageLoadedTF { mathtools }
+ \IfPackageLoadedT { mathtools }
{
\MH_if_boolean:nT { show_only_refs }
{
@@ -1321,14 +1339,12 @@
{ \clist_clear:N \l__witharrows_tags_clist }
}
}
- { }
- \IfPackageLoadedTF { autonum }
+ \IfPackageLoadedT { autonum }
{
\cs_if_exist:cTF { autonum@#1Referenced }
{ \clist_set:Nn \l__witharrows_tags_clist { all } }
{ \clist_clear:N \l__witharrows_tags_clist }
}
- { }
}
}
\cs_new_protected:Npn \__witharrows_tagnextline:
@@ -1390,12 +1406,9 @@
\__witharrows_treat_an_arrow_in_scan:
\int_incr:N \l__witharrows_arrow_int
}
- \bool_if:nT
- {
- ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7
- &&
- \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > 0
- }
+ \bool_lazy_and:nnT
+ { ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 }
+ { \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > \c_zero_int }
{ \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int \g__witharrows_arrow_int }
}
\cs_new_protected:Npn \__witharrows_treat_an_arrow_in_scan:
@@ -1412,10 +1425,10 @@
}
{ \bool_not_p:n { \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } }
}
- { \str_if_eq_p:Vn \l__witharrows_status_arrow_str { new-group } }
+ { \str_if_eq_p:on \l__witharrows_status_arrow_str { new-group } }
}
{
- \int_compare:nNnF \l__witharrows_first_arrow_of_group_int = \c_zero_int
+ \int_if_zero:nF \l__witharrows_first_arrow_of_group_int
{
\__witharrows_draw_arrows:nn
\l__witharrows_first_arrow_of_group_int
@@ -1437,10 +1450,9 @@
{ \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } }
}
{
- \str_if_eq:VnF \l__witharrows_status_arrow_str { independent }
+ \str_if_eq:onF \l__witharrows_status_arrow_str { independent }
{
- \int_compare:nT
- { \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int }
+ \int_compare:nNnT \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int
{ \seq_put_left:NV \l__witharrows_first_arrows_seq \l__witharrows_arrow_int }
\int_compare:nNnTF \l__witharrows_final_int > \l__witharrows_last_line_of_group_int
{
@@ -1454,15 +1466,12 @@
}
}
}
- \str_if_eq:VnF \l__witharrows_status_arrow_str { independent }
+ \str_if_eq:onF \l__witharrows_status_arrow_str { independent }
{
\int_compare:nNnF \l__witharrows_pos_arrow_int = 8
{ \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int }
}
}
-\cs_generate_variant:Nn \keys_set:nn { n o }
-\cs_new_protected:Npn \__witharrows_keys_set:
- { \keys_set_known:no { WithArrows / Arrow / SecondPass } }
\cs_new_protected:Npn \__witharrows_draw_arrows:nn #1 #2
{
\group_begin:
@@ -1486,7 +1495,7 @@
{ status } \l__witharrows_status_arrow_str
\int_compare:nNnF \l__witharrows_final_int > \g__witharrows_line_int
{
- \str_if_eq:VnTF \l__witharrows_status_arrow_str { over }
+ \str_if_eq:onTF \l__witharrows_status_arrow_str { over }
{ \seq_put_right:NV \l__witharrows_o_arrows_seq \l__witharrows_arrow_int }
\__witharrows_draw_arrow:
}
@@ -1500,10 +1509,13 @@
\group_begin:
\prop_get:cnN
{ g__witharrows_arrow _\l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
- { options } \l_tmpa_tl
+ { options }
+ \l_tmpa_tl
\str_clear_new:N \l__witharrows_previous_key_str
- \exp_args:NNo \exp_args:No
- \__witharrows_keys_set: { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } }
+ \exp_args:NNNno \exp_args:NNno \exp_args:Nno
+ \keys_set_known:nn
+ { WithArrows / Arrow / SecondPass }
+ { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } }
\bool_set_false:N \l__witharrows_initial_r_bool
\bool_set_false:N \l__witharrows_final_r_bool
\int_case:nn \l__witharrows_pos_arrow_int
@@ -1521,19 +1533,19 @@
\dim_set:Nn \l__witharrows_x_dim { - \c_max_dim }
\__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int
}
- \tl_set:Nx \l__witharrows_initial_tl
+ \tl_set:Ne \l__witharrows_initial_tl
{ \int_use:N \l__witharrows_initial_int - \bool_if:NTF \l__witharrows_initial_r_bool rl }
- \tl_set:Nx \l__witharrows_final_tl
+ \tl_set:Ne \l__witharrows_final_tl
{ \int_use:N \l__witharrows_final_int - \bool_if:NTF \l__witharrows_final_r_bool rl }
\prop_get:cnN
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
{ label }
\l_tmpa_tl
- \seq_if_in:NxTF \l__witharrows_first_arrows_seq
+ \seq_if_in:NeTF \l__witharrows_first_arrows_seq
{ \int_use:N \l__witharrows_arrow_int }
{ \bool_set_true:N \l_tmpa_bool }
{ \bool_set_false:N \l_tmpa_bool }
- \seq_if_in:NxTF \l__witharrows_last_arrows_seq
+ \seq_if_in:NeTF \l__witharrows_last_arrows_seq
{ \int_use:N \l__witharrows_arrow_int }
{ \bool_set_true:N \l_tmpb_bool }
{ \bool_set_false:N \l_tmpb_bool }
@@ -1562,7 +1574,7 @@
}
{ \int_compare_p:nNn { \l__witharrows_final_int - \l__witharrows_initial_int } = 1 }
{
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_initial_dim }
@@ -1573,7 +1585,7 @@
+ 0.5 \l__witharrows_max_length_of_arrow_dim
}
}
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_final_dim }
@@ -1586,7 +1598,7 @@
}
}
{
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_initial_dim }
@@ -1595,7 +1607,7 @@
{ \dim_eval:n { \g__witharrows_y_initial_dim + \l__witharrows_start_adjust_dim } }
{ \dim_use:N \g__witharrows_y_initial_dim }
}
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_final_dim }
@@ -1627,9 +1639,10 @@
\__witharrows_draw_arrow:nno \g_tmpa_tl \g_tmpb_tl \l_tmpa_tl
\group_end:
}
-\cs_new_protected:Npn \__witharrows_def_function_tmpa:n #1
+\cs_generate_variant:Nn \__witharrows_def_function_arrow:n { o }
+\cs_new_protected:Npn \__witharrows_def_function_arrow:n #1
{
- \cs_set:Npn \__witharrows_tmpa:nnn ##1 ##2 ##3
+ \cs_set:Npn \__witharrows_arrow:nnn ##1 ##2 ##3
{
\begin{tikzpicture}
[ __witharrows_standard_arrow ]
@@ -1639,10 +1652,13 @@
{ \dim_zero:N \l_tmpa_dim }
{ \dim_set:Nn \l_tmpa_dim { \pgf@picmaxx - \pgf@picminx } }
\dim_add:Nn \l_tmpa_dim \l__witharrows_xoffset_dim
- \prop_gput:cnV
- { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
- { width }
- \l_tmpa_dim
+ \int_compare:nNnT \l__witharrows_arrow_int > 0 % added 2024/10/01
+ {
+ \prop_gput:cnV
+ { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
+ { width }
+ \l_tmpa_dim
+ }
\bool_if:NF \l__witharrows_right_overlap_bool
{
\bool_if:NT \l__witharrows_in_WithArrows_bool
@@ -1659,21 +1675,21 @@
\end{tikzpicture}
}
}
+\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o }
\cs_new_protected:Npn \__witharrows_draw_arrow:nnn #1 #2 #3
{
\bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool
{ \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_wrap_lines_tl }
- \exp_args:NV \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl
- \__witharrows_tmpa:nnn { #1 } { #2 } { #3 }
+ \__witharrows_def_function_arrow:o \l__witharrows_tikz_code_tl
+ \__witharrows_arrow:nnn { #1 } { #2 } { #3 }
}
-\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o }
\tl_const:Nn \c__witharrows_tikz_code_wrap_lines_tl
{
- \pgfset { inner~sep = 0pt}
+ \pgfset { inner~sep = 0pt }
\draw ( #1 ) to node ( __witharrows_label ) { } ( #2 ) ;
\pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west }
- \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.3333 ex }
- \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ;
+ \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.33333 em }
+ \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ;
\tl_if_empty:NF \g_tmpa_tl
{
\dim_set:Nn \l_tmpb_dim \g_tmpa_tl
@@ -1685,7 +1701,7 @@
\path ( __witharrows_label.west )
node [ anchor = west ]
{
- \skip_horizontal:n { 0.3333 ex }
+ \skip_horizontal:n { 0.33333 em }
\begin { minipage } { \l_tmpa_dim }
\tikz@text@action
\pgfkeysgetvalue { / tikz / node~halign~header } \l_tmpa_tl
@@ -1773,12 +1789,12 @@
\prop_get:cnN
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ ####1 _ prop }
{ status } \l__witharrows_status_arrow_str
- \bool_if:nT
+ \bool_lazy_any:nF
{
- ! \int_compare_p:n { ##1 = ####1 }
- && \int_compare_p:n { \l__witharrows_initial_int <= \l_tmpa_tl }
- && \int_compare_p:n { \l_tmpb_tl <= \l__witharrows_final_int }
- && ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent }
+ { \int_compare_p:n { ##1 = ####1 } }
+ { \int_compare_p:nNn \l__witharrows_initial_int > \l_tmpa_tl }
+ { \int_compare_p:nNn \l_tmpb_tl > \l__witharrows_final_int }
+ { \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } }
}
{
\bool_gset_true:N \g_tmpa_bool
@@ -1806,22 +1822,22 @@
{
tikz .code:n =
\tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .value_required:n = true ,
- rr .value_forbidden:n = true ,
- rr .code:n = \__witharrows_fix_pos_option:n 0 ,
- ll .value_forbidden:n = true,
- ll .code:n = \__witharrows_fix_pos_option:n 1 ,
- rl .value_forbidden:n = true ,
- rl .code:n = \__witharrows_fix_pos_option:n 2 ,
- lr .value_forbidden:n = true ,
- lr .code:n = \__witharrows_fix_pos_option:n 3 ,
- v .value_forbidden:n = true ,
- v .code:n = \__witharrows_fix_pos_option:n 4 ,
+ tikz .value_required:n = true ,
+ rr .value_forbidden:n = true ,
+ rr .code:n = \__witharrows_fix_pos_option:n 0 ,
+ ll .value_forbidden:n = true,
+ ll .code:n = \__witharrows_fix_pos_option:n 1 ,
+ rl .value_forbidden:n = true ,
+ rl .code:n = \__witharrows_fix_pos_option:n 2 ,
+ lr .value_forbidden:n = true ,
+ lr .code:n = \__witharrows_fix_pos_option:n 3 ,
+ v .value_forbidden:n = true ,
+ v .code:n = \__witharrows_fix_pos_option:n 4 ,
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
tikz-code .value_required:n = true ,
- xoffset .dim_set:N = \l__witharrows_xoffset_dim ,
- xoffset .value_required:n = true ,
- unknown .code:n =
+ xoffset .dim_set:N = \l__witharrows_xoffset_dim ,
+ xoffset .value_required:n = true ,
+ unknown .code:n =
\__witharrows_sort_seq:N \l__witharrows_options_Arrow_code_after_seq
\__witharrows_error:n { Unknown~option~Arrow~in~code-after }
}
@@ -1830,7 +1846,7 @@
{ ll, lr, rl, rr, tikz, tikz-code, v, x, offset }
\NewDocumentCommand \__witharrows_Arrow_code_after { O { } m m m ! O { } }
{
- \int_set:Nn \l__witharrows_pos_arrow_int 1
+ \int_set_eq:NN \l__witharrows_pos_arrow_int \c_one_int
\str_clear_new:N \l__witharrows_previous_key_str
\group_begin:
\keys_set:nn { WithArrows / Arrow / code-after }
@@ -1851,10 +1867,10 @@
{ \__witharrows_error:nn { Both~lines~are~equal } { #2 } }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #2 - l }
- { \__witharrows_error:nx { Wrong~line~in~Arrow } { #2 } }
+ { \__witharrows_error:ne { Wrong~line~in~Arrow } { #2 } }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #3 - l }
- { \__witharrows_error:nx { Wrong~line~in~Arrow } { #3 } }
+ { \__witharrows_error:ne { Wrong~line~in~Arrow } { #3 } }
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int = 4
{
@@ -1868,9 +1884,9 @@
{ north }
\dim_set:Nn \l_tmpa_dim
{ \dim_max:nn \l_tmpa_dim \pgf@x }
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \l_tmpb_dim }
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \pgf@y }
\endpgfpicture
}
@@ -1883,7 +1899,7 @@
#2 - \bool_if:NTF \l__witharrows_initial_r_bool r l
}
{ south }
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{ \dim_use:N \pgf@x , \dim_use:N \pgf@y }
\pgfpointanchor
{
@@ -1891,7 +1907,7 @@
#3 - \bool_if:NTF \l__witharrows_final_r_bool r l
}
{ north }
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{ \dim_use:N \pgf@x , \dim_use:N \pgf@y }
\endpgfpicture
}
@@ -1903,34 +1919,34 @@
}
\cs_new_protected:Npn \__witharrows_MultiArrow:nn #1 #2
{
- \exp_args:Nnx
+ \exp_args:Nne
\regex_match:nnTF
{ \A \d+ (\,\d+)* ( \, \.\.\. (\,\d+)+ )* \Z }
{ #1 }
{ \__witharrows_MultiArrow_i:nn { #1 } { #2 } }
- { \__witharrows_error:nx { Invalid~specification~for~MultiArrow } { #1 } }
+ { \__witharrows_error:ne { Invalid~specification~for~MultiArrow } { #1 } }
}
\cs_new_protected:Npn \__witharrows_MultiArrow_i:nn #1 #2
{
\foreach \x in { #1 }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - \x - l }
- { \__witharrows_error:nx { Wrong~line~specification~in~MultiArrow } \x }
- { \clist_gput_right:Nx \g_tmpa_clist \x }
+ { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x }
+ { \clist_gput_right:Ne \g_tmpa_clist \x }
}
\int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 }
{ \__witharrows_error:n { Too~small~specification~for~MultiArrow } }
{
\clist_sort:Nn \g_tmpa_clist
{
- \int_compare:nTF { ##1 > ##2 }
+ \int_compare:nNnTF { ##1 } > { ##2 }
\sort_return_swapped:
\sort_return_same:
}
\clist_pop:NN \g_tmpa_clist \l_tmpa_tl
\clist_reverse:N \g_tmpa_clist
\clist_pop:NN \g_tmpa_clist \l_tmpb_tl
- \exp_args:NV \__witharrows_MultiArrow_i:n \g_tmpa_clist
+ \exp_args:No \__witharrows_MultiArrow_i:n \g_tmpa_clist
\begin { tikzpicture }
[
__witharrows_standard ,
@@ -1943,7 +1959,7 @@
-- ([xshift = \l__witharrows_xoffset_dim]\l_tmpb_tl-r.south) ;
\pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west }
\dim_set:Nn \l_tmpa_dim { 20 cm }
- \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ;
+ \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ;
\tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpa_dim \g_tmpa_tl }
\bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool
{
@@ -2305,8 +2321,8 @@
Normally,~we~can't~use~the~command~\token_to_str:N\label\
twice~in~a~line~of~the~environment~\{\l__witharrows_type_env_str\}. \\
However,~you~can~go~on.~
- \IfPackageLoadedTF { showlabels }
- { However,~only~the~last~label~will~be~shown~by~showlabels.~ } { }
+ \IfPackageLoadedT { showlabels }
+ { However,~only~the~last~label~will~be~shown~by~showlabels.~ }
If~you~don't~want~to~see~this~message~again,~you~can~use~the~option~
'allow-multiple-labels'~at~the~global~or~environment~level.
}
@@ -2369,27 +2385,18 @@
\keyval_parse:NNn \__witharrows_valid_key:n \__witharrows_valid_key:nn { #2 }
\seq_if_empty:NTF \l_tmpa_seq
{
- \seq_put_right:Nx \l__witharrows_options_WithArrows_seq
+ \seq_put_right:Ne \l__witharrows_options_WithArrows_seq
{ \tl_to_str:n { #1 } }
- \seq_put_right:Nx \l__witharrows_options_DispWithArrows_seq
+ \seq_put_right:Ne \l__witharrows_options_DispWithArrows_seq
{ \tl_to_str:n { #1 } }
- \seq_put_right:Nx \l__witharrows_options_WithArrowsOptions_seq
+ \seq_put_right:Ne \l__witharrows_options_WithArrowsOptions_seq
{ \tl_to_str:N { #1 } }
- \cs_if_exist:NTF \keys_precompile:nnN
- {
- \keys_precompile:nnN
- { WithArrows / WithArrowsOptions }
- { #2 }
- \l_tmpa_tl
- \__witharrows_key_define:nV { #1 } \l_tmpa_tl
- }
- {
- \keys_define:nn { WithArrows / Global }
- {
- #1 .code:n =
- { \keys_set:nn { WithArrows / WithArrowsOptions } { #2 } }
- }
- }
+ \keys_precompile:nnc
+ { WithArrows / WithArrowsOptions }
+ { #2 }
+ { __witharrows _ style _ #1 _ tl }
+ \keys_define:nn { WithArrows / Global }
+ { #1 .code:n = \use:c { __witharrows _ style _ #1 _ tl } }
}
{ \__witharrows_error:nn { Impossible~style } { #1 } }
}
@@ -2411,12 +2418,9 @@
\keys_if_exist:nnF { WithArrows / Global } { #1 }
{ \seq_put_right:Nn \l_tmpa_seq { #1 } }
}
-\cs_new_protected:Npn \__witharrows_key_define:nn #1 #2
- { \keys_define:nn { WithArrows / Global } { #1 .code:n = #2 } }
-\cs_generate_variant:Nn \__witharrows_key_define:nn { n V }
\__witharrows_msg_new:nn { Key~already~defined }
{
- Key~already~define.\\
+ Key~already~defined.\\
The~key~'#1'~is~already~defined. \\
If~you~go~on,~your~instruction~\token_to_str:N\WithArrowsNewStyle\
will~be~ignored.
@@ -2547,9 +2551,9 @@
\str_if_empty:NT \l__witharrows_previous_key_str
{
\str_set:Nn \l__witharrows_previous_key_str { up }
- \cs_if_exist:cTF { tikz@library@calc@loaded }
+ \cs_if_exist:NTF \tikz@library@calc@loaded
{
- \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
+ \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl
\int_set:Nn \l__witharrows_pos_arrow_int 1
\bool_set_false:N \l__witharrows_wrap_lines_bool
\tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_up_tl
@@ -2560,9 +2564,9 @@
\str_if_empty:NT \l__witharrows_previous_key_str
{
\str_set:Nn \l__witharrows_previous_key_str { down }
- \cs_if_exist:cTF { tikz@library@calc@loaded }
+ \cs_if_exist:NTF \tikz@library@calc@loaded
{
- \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
+ \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl
\int_set:Nn \l__witharrows_pos_arrow_int 1
\bool_set_false:N \l__witharrows_wrap_lines_bool
\tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_down_tl
diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.tex b/Master/texmf-dist/tex/generic/witharrows/witharrows.tex
index 1a35d068c55..014b6d96dea 100644
--- a/Master/texmf-dist/tex/generic/witharrows/witharrows.tex
+++ b/Master/texmf-dist/tex/generic/witharrows/witharrows.tex
@@ -6,7 +6,7 @@
%%
%% witharrows.dtx (with options: `plain-TeX')
%%
-%% Copyright (C) 2017-2023 by F. Pantigny
+%% Copyright (C) 2017-2024 by F. Pantigny
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -18,8 +18,9 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\def\myfileversion{2.8b}
-\def\myfiledate{2023/08/24}
+\def\myfileversion{2.9a}
+\def\myfiledate{2024/10/19}
+
\input tikz.tex
\input expl3-generic.tex
\usetikzlibrary{arrows.meta}
@@ -39,15 +40,19 @@
\cs_new_protected:Npn \__witharrows_warning:n { \msg_warning:nn { witharrows } }
\cs_new_protected:Npn \__witharrows_fatal:n { \msg_fatal:nn { witharrows } }
\cs_new_protected:Npn \__witharrows_error:nn { \msg_error:nnn { witharrows } }
-\cs_generate_variant:Nn \__witharrows_error:nn { n x }
+\cs_generate_variant:Nn \__witharrows_error:nn { n e }
\cs_new_protected:Npn \__witharrows_error_or_warning:n
{ \bool_if:NTF \c__witharrows_messages_for_Overleaf_bool \__witharrows_warning:n \__witharrows_error:n }
\bool_set:Nn \c__witharrows_messages_for_Overleaf_bool
{
- \str_if_eq_p:Vn \c_sys_jobname_str { _region_ } % for Emacs
- || \str_if_eq_p:Vn \c_sys_jobname_str { output } % for Overleaf
+ \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs
+ || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf
}
-\cs_generate_variant:Nn \seq_set_split:Nnn { N x x }
+\bool_new:N \g__witharrows_beamer_bool
+\cs_generate_variant:Nn \seq_set_split:Nnn { N e e }
+\cs_generate_variant:Nn \keys_precompile:nnN { n n c }
+\prg_generate_conditional_variant:Nnn \tl_if_novalue:n { o } { F }
+\exp_args_generate:n { N N N n o }
\cs_new_protected:Npn \__witharrows_sort_seq:N #1
{
\seq_sort:Nn #1
@@ -61,15 +66,15 @@
\cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2
{
\seq_set_from_clist:Nn #1 { #2 }
- \seq_set_map_x:NNn #1 #1 { \tl_to_str:n { ##1 } }
+ \seq_set_map_e:NNn #1 #1 { \tl_to_str:n { ##1 } }
}
\cs_new_protected:Npn \__witharrows_save:N #1
{
- \seq_set_split:Nxx \l_tmpa_seq
+ \seq_set_split:Nee \l_tmpa_seq
{ \char_generate:nn { `_ } { 12 } }
{ \cs_to_str:N #1 }
\seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
- \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
+ \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
\use:c { \l_tmpa_str _if_exist:cF }
{ g _\seq_use:Nnnn \l_tmpa_seq _ _ _ }
{
@@ -81,11 +86,11 @@
}
\cs_new_protected:Npn \__witharrows_restore:N #1
{
- \seq_set_split:Nxx \l_tmpa_seq
+ \seq_set_split:Nee \l_tmpa_seq
{ \char_generate:nn { `_ } { 12 } }
{ \cs_to_str:N #1 }
\seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
- \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
+ \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } }
\use:c { \l_tmpa_str _set_eq:Nc }
#1 { g_\seq_use:Nnnn \l_tmpa_seq _ _ _ }
}
@@ -164,7 +169,7 @@
\str_new:N \l__witharrows_command_name_str
\str_set:Nn \l__witharrows_command_name_str { Arrow }
\str_new:N \l__witharrows_string_Arrow_for_msg_str
-\str_set:Nx \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow }
+\str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow }
\seq_new:N \g__witharrows_names_seq
\bool_new:N \l__witharrows_in_first_columns_bool
\bool_new:N \l__witharrows_new_group_bool
@@ -210,7 +215,7 @@
more-columns .value_forbidden:n = true ,
command-name .code:n =
\str_set:Nn \l__witharrows_command_name_str { #1 }
- \str_set:Nx \l__witharrows_string_Arrow_for_msg_str
+ \str_set:Ne \l__witharrows_string_Arrow_for_msg_str
{ \c_backslash_str Arrow~alias~\c_backslash_str #1 } ,
command-name .value_required:n = true ,
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
@@ -230,7 +235,7 @@
\int_set:Nn \l__witharrows_pos_arrow_int 7
}
{ \__witharrows_error:n { Incompatible~options } } ,
- group .value_forbidden:n = true ,
+ group .value_forbidden:n = true ,
groups .code:n =
\str_if_empty:NTF \l__witharrows_previous_key_str
{
@@ -243,7 +248,6 @@
{ \__witharrows_error:n { Incompatible~options } } ,
groups .value_forbidden:n = true ,
tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .initial:n = \c_empty_tl ,
tikz .value_required:n = true ,
rr .code:n = \__witharrows_fix_pos_option:n 3 ,
rr .value_forbidden:n = true ,
@@ -303,8 +307,8 @@
wrap-lines .default:n = true ,
replace-left-brace-by .code:n =
{
- \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } }
- \clist_if_in:NVTF
+ \tl_set:Ne \l_tmpa_tl { \tl_head:n { #1 } }
+ \clist_if_in:NoTF
\c__witharrows_ext_delimiters_clist
\l_tmpa_tl
{ \tl_set:Nn \l__witharrows_replace_left_brace_by_tl { #1 } }
@@ -316,9 +320,9 @@
{
name .code:n =
\str_set:Nn \l_tmpa_str { #1 }
- \seq_if_in:NVTF \g__witharrows_names_seq \l_tmpa_str
+ \seq_if_in:NoTF \g__witharrows_names_seq \l_tmpa_str
{ \__witharrows_error:n { Duplicate~name } }
- { \seq_gput_left:NV \g__witharrows_names_seq \l_tmpa_str }
+ { \seq_gput_left:No \g__witharrows_names_seq \l_tmpa_str }
\str_set_eq:NN \l__witharrows_name_str \l_tmpa_str ,
name .value_required:n = true ,
code-before .code:n = \tl_put_right:Nn \l__witharrows_code_before_tl { #1 } ,
@@ -419,7 +423,7 @@
}
\cs_new_protected:Npn \__witharrows_set_independent:
{
- \str_if_eq:VnF \l_keys_value_tl { NoValue }
+ \str_if_eq:onF \l_keys_value_tl { NoValue }
{ \__witharrows_error:n { Value~for~a~key } }
\__witharrows_set_independent_bis:
}
@@ -435,7 +439,7 @@
\keys_define:nn { WithArrows / Arrow / FirstPass }
{
jump .code:n =
- \int_compare:nTF { #1 > 0 }
+ \int_compare:nNnTF { #1 } > \c_zero_int
{ \int_set:Nn \l__witharrows_jump_int { #1 } }
{ \__witharrows_error:n { Negative~jump } } ,
jump .value_required:n = true,
@@ -478,7 +482,7 @@
xoffset .code:n = ,
unknown .code:n =
\__witharrows_sort_seq:N \l__witharrows_options_Arrow_seq
- \seq_if_in:NVTF \l__witharrows_options_WithArrows_seq \l_keys_key_str
+ \seq_if_in:NoTF \l__witharrows_options_WithArrows_seq \l_keys_key_str
{
\str_set:Nn \l_tmpa_str
{ ~However,~this~key~can~be~used~in~the~options~of~{WithArrows}. }
@@ -505,7 +509,6 @@
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
tikz-code .initial:n = \draw~(#1)~to~node{#3}~(#2)~; ,
tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .initial:n = \c_empty_tl ,
rr .code:n = \__witharrows_fix_pos_arrow:n 3 ,
ll .code:n = \__witharrows_fix_pos_arrow:n 1 ,
rl .code:n = \__witharrows_fix_pos_arrow:n 2 ,
@@ -513,13 +516,11 @@
i .code:n = \__witharrows_fix_pos_arrow:n 5 ,
o .code:n = \str_set:Nn \l__witharrows_previous_key_str { o } ,
xoffset .code:n =
- \bool_if:nTF
+ \bool_lazy_all:nTF
{
- \int_compare_p:nNn \g__witharrows_arrow_int > 1
- &&
- \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5
- &&
- ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent }
+ { \int_compare_p:nNn \g__witharrows_arrow_int > 1 }
+ { \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 }
+ { ! \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } }
}
{ \__witharrows_error:n { Option~xoffset~forbidden } }
{ \dim_set:Nn \l__witharrows_xoffset_dim { #1 } } ,
@@ -555,10 +556,10 @@
\prop_put:NnV \l_tmpa_prop { initial } \g__witharrows_line_int
\int_set:Nn \l_tmpa_int { \g__witharrows_line_int + \l__witharrows_jump_int }
\prop_put:NnV \l_tmpa_prop { final } \l_tmpa_int
- \prop_put:NnV \l_tmpa_prop { status } \l__witharrows_status_arrow_str
+ \prop_put:Nno \l_tmpa_prop { status } \l__witharrows_status_arrow_str
\prop_put:Nnn \l_tmpa_prop { options } { #1 , #3 }
\prop_put:Nnn \l_tmpa_prop { label } { #2 }
- \prop_put:Nnx \l_tmpa_prop { input-line } \msg_line_number:
+ \prop_put:Nne \l_tmpa_prop { input-line } \msg_line_number:
\prop_put:Nnn \l_tmpa_prop { width } { 0 pt }
\prop_gclear_new:c
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \g__witharrows_arrow_int _ prop }
@@ -589,7 +590,7 @@
\seq_set_eq:NN \l_tmpa_seq \g__witharrows_position_in_the_tree_seq
\seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl
\str_clear_new:N \l__witharrows_prefix_str
- \str_set:Nx \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - }
+ \str_set:Ne \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - }
\cs_set_eq:NN \\ \__witharrows_cr:
\dim_zero:N \mathsurround
\int_zero_new:N \l__witharrows_initial_int
@@ -634,27 +635,27 @@
{
\cs_set_eq:cN { \l__witharrows_command_name_str } \__witharrows_Arrow
}
- \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill
- \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill
+ \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { r } \hfill
+ \str_if_eq:onT \l__witharrows_type_col_str { R } \hfill
\int_gincr:N \g__witharrows_col_int
\int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int }
\c_math_toggle_token
- \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
- \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { L } { { } }
\bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
##
- \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
- \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:onT \l__witharrows_type_col_str { R } { { } }
\c_math_toggle_token
\int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int
\__witharrows_construct_nodes:
{
- \str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
- \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { l } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { L } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil
\bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip }
&
}
@@ -770,7 +771,7 @@
{
\cs_set:Npn \WithArrowsRightX { \g__witharrows_right_x_dim }
\normalbaselines
- \int_compare:nNnT \g__witharrows_arrow_int > 0
+ \int_if_zero:nF \g__witharrows_arrow_int
{
\int_compare:nNnT \g__witharrows_arrow_int = 1
{
@@ -789,7 +790,7 @@
\group_end:
\seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl
\seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl
- \seq_gput_right:Nx \g__witharrows_position_in_the_tree_seq
+ \seq_gput_right:Ne \g__witharrows_position_in_the_tree_seq
{ \int_eval:n { \l_tmpa_tl + 1 } }
\int_compare:nNnT { \seq_count:N \g__witharrows_position_in_the_tree_seq } = 1
{ \int_gincr:N \g__witharrows_last_env_int }
@@ -856,7 +857,8 @@
\bool_set_true:N \l__witharrows_in_DispWithArrows_bool
\str_clear_new:N \l__witharrows_type_env_str
\str_set:Nn \l__witharrows_type_env_str { DispWithArrows }
- \exp_args:No \tl_if_novalue:nF { #1 } { \tl_set:Nn \l__witharrows_left_brace_tl { #1 } }
+ \tl_if_novalue:oF { #1 }
+ { \cs_set_nopar:Npn \l__witharrows_left_brace_tl { #1 } }
\__witharrows_pre_halign:n { #2 }
\tl_if_eq:NNF \l__witharrows_left_brace_tl \c_novalue_tl
{
@@ -1036,12 +1038,9 @@
\__witharrows_treat_an_arrow_in_scan:
\int_incr:N \l__witharrows_arrow_int
}
- \bool_if:nT
- {
- ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7
- &&
- \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > 0
- }
+ \bool_lazy_and:nnT
+ { ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 }
+ { \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > \c_zero_int }
{ \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int \g__witharrows_arrow_int }
}
\cs_new_protected:Npn \__witharrows_treat_an_arrow_in_scan:
@@ -1058,10 +1057,10 @@
}
{ \bool_not_p:n { \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } }
}
- { \str_if_eq_p:Vn \l__witharrows_status_arrow_str { new-group } }
+ { \str_if_eq_p:on \l__witharrows_status_arrow_str { new-group } }
}
{
- \int_compare:nNnF \l__witharrows_first_arrow_of_group_int = \c_zero_int
+ \int_if_zero:nF \l__witharrows_first_arrow_of_group_int
{
\__witharrows_draw_arrows:nn
\l__witharrows_first_arrow_of_group_int
@@ -1083,10 +1082,9 @@
{ \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } }
}
{
- \str_if_eq:VnF \l__witharrows_status_arrow_str { independent }
+ \str_if_eq:onF \l__witharrows_status_arrow_str { independent }
{
- \int_compare:nT
- { \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int }
+ \int_compare:nNnT \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int
{ \seq_put_left:NV \l__witharrows_first_arrows_seq \l__witharrows_arrow_int }
\int_compare:nNnTF \l__witharrows_final_int > \l__witharrows_last_line_of_group_int
{
@@ -1100,15 +1098,12 @@
}
}
}
- \str_if_eq:VnF \l__witharrows_status_arrow_str { independent }
+ \str_if_eq:onF \l__witharrows_status_arrow_str { independent }
{
\int_compare:nNnF \l__witharrows_pos_arrow_int = 8
{ \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int }
}
}
-\cs_generate_variant:Nn \keys_set:nn { n o }
-\cs_new_protected:Npn \__witharrows_keys_set:
- { \keys_set_known:no { WithArrows / Arrow / SecondPass } }
\cs_new_protected:Npn \__witharrows_draw_arrows:nn #1 #2
{
\group_begin:
@@ -1132,7 +1127,7 @@
{ status } \l__witharrows_status_arrow_str
\int_compare:nNnF \l__witharrows_final_int > \g__witharrows_line_int
{
- \str_if_eq:VnTF \l__witharrows_status_arrow_str { over }
+ \str_if_eq:onTF \l__witharrows_status_arrow_str { over }
{ \seq_put_right:NV \l__witharrows_o_arrows_seq \l__witharrows_arrow_int }
\__witharrows_draw_arrow:
}
@@ -1146,10 +1141,13 @@
\group_begin:
\prop_get:cnN
{ g__witharrows_arrow _\l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
- { options } \l_tmpa_tl
+ { options }
+ \l_tmpa_tl
\str_clear_new:N \l__witharrows_previous_key_str
- \exp_args:NNo \exp_args:No
- \__witharrows_keys_set: { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } }
+ \exp_args:NNNno \exp_args:NNno \exp_args:Nno
+ \keys_set_known:nn
+ { WithArrows / Arrow / SecondPass }
+ { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } }
\bool_set_false:N \l__witharrows_initial_r_bool
\bool_set_false:N \l__witharrows_final_r_bool
\int_case:nn \l__witharrows_pos_arrow_int
@@ -1167,19 +1165,19 @@
\dim_set:Nn \l__witharrows_x_dim { - \c_max_dim }
\__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int
}
- \tl_set:Nx \l__witharrows_initial_tl
+ \tl_set:Ne \l__witharrows_initial_tl
{ \int_use:N \l__witharrows_initial_int - \bool_if:NTF \l__witharrows_initial_r_bool rl }
- \tl_set:Nx \l__witharrows_final_tl
+ \tl_set:Ne \l__witharrows_final_tl
{ \int_use:N \l__witharrows_final_int - \bool_if:NTF \l__witharrows_final_r_bool rl }
\prop_get:cnN
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
{ label }
\l_tmpa_tl
- \seq_if_in:NxTF \l__witharrows_first_arrows_seq
+ \seq_if_in:NeTF \l__witharrows_first_arrows_seq
{ \int_use:N \l__witharrows_arrow_int }
{ \bool_set_true:N \l_tmpa_bool }
{ \bool_set_false:N \l_tmpa_bool }
- \seq_if_in:NxTF \l__witharrows_last_arrows_seq
+ \seq_if_in:NeTF \l__witharrows_last_arrows_seq
{ \int_use:N \l__witharrows_arrow_int }
{ \bool_set_true:N \l_tmpb_bool }
{ \bool_set_false:N \l_tmpb_bool }
@@ -1208,7 +1206,7 @@
}
{ \int_compare_p:nNn { \l__witharrows_final_int - \l__witharrows_initial_int } = 1 }
{
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_initial_dim }
@@ -1219,7 +1217,7 @@
+ 0.5 \l__witharrows_max_length_of_arrow_dim
}
}
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_final_dim }
@@ -1232,7 +1230,7 @@
}
}
{
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_initial_dim }
@@ -1241,7 +1239,7 @@
{ \dim_eval:n { \g__witharrows_y_initial_dim + \l__witharrows_start_adjust_dim } }
{ \dim_use:N \g__witharrows_y_initial_dim }
}
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int < 5
{ \dim_use:N \g__witharrows_x_final_dim }
@@ -1273,9 +1271,10 @@
\__witharrows_draw_arrow:nno \g_tmpa_tl \g_tmpb_tl \l_tmpa_tl
\group_end:
}
-\cs_new_protected:Npn \__witharrows_def_function_tmpa:n #1
+\cs_generate_variant:Nn \__witharrows_def_function_arrow:n { o }
+\cs_new_protected:Npn \__witharrows_def_function_arrow:n #1
{
- \cs_set:Npn \__witharrows_tmpa:nnn ##1 ##2 ##3
+ \cs_set:Npn \__witharrows_arrow:nnn ##1 ##2 ##3
{
\tikzpicture
[ __witharrows_standard_arrow ]
@@ -1285,10 +1284,13 @@
{ \dim_zero:N \l_tmpa_dim }
{ \dim_set:Nn \l_tmpa_dim { \pgf@picmaxx - \pgf@picminx } }
\dim_add:Nn \l_tmpa_dim \l__witharrows_xoffset_dim
- \prop_gput:cnV
- { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
- { width }
- \l_tmpa_dim
+ \int_compare:nNnT \l__witharrows_arrow_int > 0 % added 2024/10/01
+ {
+ \prop_gput:cnV
+ { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop }
+ { width }
+ \l_tmpa_dim
+ }
\bool_if:NF \l__witharrows_right_overlap_bool
{
\bool_if:NT \l__witharrows_in_WithArrows_bool
@@ -1305,21 +1307,21 @@
\endtikzpicture
}
}
+\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o }
\cs_new_protected:Npn \__witharrows_draw_arrow:nnn #1 #2 #3
{
\bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool
{ \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_wrap_lines_tl }
- \exp_args:NV \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl
- \__witharrows_tmpa:nnn { #1 } { #2 } { #3 }
+ \__witharrows_def_function_arrow:o \l__witharrows_tikz_code_tl
+ \__witharrows_arrow:nnn { #1 } { #2 } { #3 }
}
-\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o }
\tl_const:Nn \c__witharrows_tikz_code_wrap_lines_tl
{
- \pgfset { inner~sep = 0pt}
+ \pgfset { inner~sep = 0pt }
\draw ( #1 ) to node ( __witharrows_label ) { } ( #2 ) ;
\pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west }
- \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.3333 ex }
- \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ;
+ \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.33333 em }
+ \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ;
\tl_if_empty:NF \g_tmpa_tl
{
\dim_set:Nn \l_tmpb_dim \g_tmpa_tl
@@ -1330,7 +1332,7 @@
{
\path ( __witharrows_label.west )
node [ anchor = west , text~width = \dim_use:N \l_tmpa_dim ]
- { #3 } ;
+ { \skip_horizontal:n { 0.33333 em } #3 } ;
}
}
\cs_new_protected:Npn \__witharrows_update_x:nn #1 #2
@@ -1402,12 +1404,12 @@
\prop_get:cnN
{ g__witharrows_arrow _ \l__witharrows_prefix_str _ ####1 _ prop }
{ status } \l__witharrows_status_arrow_str
- \bool_if:nT
+ \bool_lazy_any:nF
{
- ! \int_compare_p:n { ##1 = ####1 }
- && \int_compare_p:n { \l__witharrows_initial_int <= \l_tmpa_tl }
- && \int_compare_p:n { \l_tmpb_tl <= \l__witharrows_final_int }
- && ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent }
+ { \int_compare_p:n { ##1 = ####1 } }
+ { \int_compare_p:nNn \l__witharrows_initial_int > \l_tmpa_tl }
+ { \int_compare_p:nNn \l_tmpb_tl > \l__witharrows_final_int }
+ { \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } }
}
{
\bool_gset_true:N \g_tmpa_bool
@@ -1434,22 +1436,22 @@
{
tikz .code:n =
\tikzset { WithArrows / arrow / .append~style = { #1 } } ,
- tikz .value_required:n = true ,
- rr .value_forbidden:n = true ,
- rr .code:n = \__witharrows_fix_pos_option:n 0 ,
- ll .value_forbidden:n = true,
- ll .code:n = \__witharrows_fix_pos_option:n 1 ,
- rl .value_forbidden:n = true ,
- rl .code:n = \__witharrows_fix_pos_option:n 2 ,
- lr .value_forbidden:n = true ,
- lr .code:n = \__witharrows_fix_pos_option:n 3 ,
- v .value_forbidden:n = true ,
- v .code:n = \__witharrows_fix_pos_option:n 4 ,
+ tikz .value_required:n = true ,
+ rr .value_forbidden:n = true ,
+ rr .code:n = \__witharrows_fix_pos_option:n 0 ,
+ ll .value_forbidden:n = true,
+ ll .code:n = \__witharrows_fix_pos_option:n 1 ,
+ rl .value_forbidden:n = true ,
+ rl .code:n = \__witharrows_fix_pos_option:n 2 ,
+ lr .value_forbidden:n = true ,
+ lr .code:n = \__witharrows_fix_pos_option:n 3 ,
+ v .value_forbidden:n = true ,
+ v .code:n = \__witharrows_fix_pos_option:n 4 ,
tikz-code .tl_set:N = \l__witharrows_tikz_code_tl ,
tikz-code .value_required:n = true ,
- xoffset .dim_set:N = \l__witharrows_xoffset_dim ,
- xoffset .value_required:n = true ,
- unknown .code:n =
+ xoffset .dim_set:N = \l__witharrows_xoffset_dim ,
+ xoffset .value_required:n = true ,
+ unknown .code:n =
\__witharrows_sort_seq:N \l__witharrows_options_Arrow_code_after_seq
\__witharrows_error:n { Unknown~option~Arrow~in~code-after }
}
@@ -1470,7 +1472,7 @@
}
\cs_new_protected:Npn \__witharrows_Arrow_code_after_ii [ #1 ] #2 #3 #4 [ #5 ]
{
- \int_set:Nn \l__witharrows_pos_arrow_int 1
+ \int_set_eq:NN \l__witharrows_pos_arrow_int \c_one_int
\str_clear_new:N \l__witharrows_previous_key_str
\group_begin:
\keys_set:nn { WithArrows / Arrow / code-after }
@@ -1491,10 +1493,10 @@
{ \__witharrows_error:nn { Both~lines~are~equal } { #2 } }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #2 - l }
- { \__witharrows_error:nx { Wrong~line~in~Arrow } { #2 } }
+ { \__witharrows_error:ne { Wrong~line~in~Arrow } { #2 } }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #3 - l }
- { \__witharrows_error:nx { Wrong~line~in~Arrow } { #3 } }
+ { \__witharrows_error:ne { Wrong~line~in~Arrow } { #3 } }
{
\int_compare:nNnTF \l__witharrows_pos_arrow_int = 4
{
@@ -1508,9 +1510,9 @@
{ north }
\dim_set:Nn \l_tmpa_dim
{ \dim_max:nn \l_tmpa_dim \pgf@x }
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \l_tmpb_dim }
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \pgf@y }
\endpgfpicture
}
@@ -1523,7 +1525,7 @@
#2 - \bool_if:NTF \l__witharrows_initial_r_bool r l
}
{ south }
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Ne \g_tmpa_tl
{ \dim_use:N \pgf@x , \dim_use:N \pgf@y }
\pgfpointanchor
{
@@ -1531,7 +1533,7 @@
#3 - \bool_if:NTF \l__witharrows_final_r_bool r l
}
{ north }
- \tl_gset:Nx \g_tmpb_tl
+ \tl_gset:Ne \g_tmpb_tl
{ \dim_use:N \pgf@x , \dim_use:N \pgf@y }
\endpgfpicture
}
@@ -1543,34 +1545,34 @@
}
\cs_new_protected:Npn \__witharrows_MultiArrow:nn #1 #2
{
- \exp_args:Nnx
+ \exp_args:Nne
\regex_match:nnTF
{ \A \d+ (\,\d+)* ( \, \.\.\. (\,\d+)+ )* \Z }
{ #1 }
{ \__witharrows_MultiArrow_i:nn { #1 } { #2 } }
- { \__witharrows_error:nx { Invalid~specification~for~MultiArrow } { #1 } }
+ { \__witharrows_error:ne { Invalid~specification~for~MultiArrow } { #1 } }
}
\cs_new_protected:Npn \__witharrows_MultiArrow_i:nn #1 #2
{
\foreach \x in { #1 }
{
\cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - \x - l }
- { \__witharrows_error:nx { Wrong~line~specification~in~MultiArrow } \x }
- { \clist_gput_right:Nx \g_tmpa_clist \x }
+ { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x }
+ { \clist_gput_right:Ne \g_tmpa_clist \x }
}
\int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 }
{ \__witharrows_error:n { Too~small~specification~for~MultiArrow } }
{
\clist_sort:Nn \g_tmpa_clist
{
- \int_compare:nTF { ##1 > ##2 }
+ \int_compare:nNnTF { ##1 } > { ##2 }
\sort_return_swapped:
\sort_return_same:
}
\clist_pop:NN \g_tmpa_clist \l_tmpa_tl
\clist_reverse:N \g_tmpa_clist
\clist_pop:NN \g_tmpa_clist \l_tmpb_tl
- \exp_args:NV \__witharrows_MultiArrow_i:n \g_tmpa_clist
+ \exp_args:No \__witharrows_MultiArrow_i:n \g_tmpa_clist
\tikzpicture
[
__witharrows_standard ,
@@ -1583,7 +1585,7 @@
-- ([xshift = \l__witharrows_xoffset_dim]\l_tmpb_tl-r.south) ;
\pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west }
\dim_set:Nn \l_tmpa_dim { 20 cm }
- \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ;
+ \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ;
\tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpa_dim \g_tmpa_tl }
\bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool
{
@@ -1958,27 +1960,18 @@
\keyval_parse:NNn \__witharrows_valid_key:n \__witharrows_valid_key:nn { #2 }
\seq_if_empty:NTF \l_tmpa_seq
{
- \seq_put_right:Nx \l__witharrows_options_WithArrows_seq
+ \seq_put_right:Ne \l__witharrows_options_WithArrows_seq
{ \tl_to_str:n { #1 } }
- \seq_put_right:Nx \l__witharrows_options_DispWithArrows_seq
+ \seq_put_right:Ne \l__witharrows_options_DispWithArrows_seq
{ \tl_to_str:n { #1 } }
- \seq_put_right:Nx \l__witharrows_options_WithArrowsOptions_seq
+ \seq_put_right:Ne \l__witharrows_options_WithArrowsOptions_seq
{ \tl_to_str:N { #1 } }
- \cs_if_exist:NTF \keys_precompile:nnN
- {
- \keys_precompile:nnN
- { WithArrows / WithArrowsOptions }
- { #2 }
- \l_tmpa_tl
- \__witharrows_key_define:nV { #1 } \l_tmpa_tl
- }
- {
- \keys_define:nn { WithArrows / Global }
- {
- #1 .code:n =
- { \keys_set:nn { WithArrows / WithArrowsOptions } { #2 } }
- }
- }
+ \keys_precompile:nnc
+ { WithArrows / WithArrowsOptions }
+ { #2 }
+ { __witharrows _ style _ #1 _ tl }
+ \keys_define:nn { WithArrows / Global }
+ { #1 .code:n = \use:c { __witharrows _ style _ #1 _ tl } }
}
{ \__witharrows_error:nn { Impossible~style } { #1 } }
}
@@ -2000,12 +1993,9 @@
\keys_if_exist:nnF { WithArrows / Global } { #1 }
{ \seq_put_right:Nn \l_tmpa_seq { #1 } }
}
-\cs_new_protected:Npn \__witharrows_key_define:nn #1 #2
- { \keys_define:nn { WithArrows / Global } { #1 .code:n = #2 } }
-\cs_generate_variant:Nn \__witharrows_key_define:nn { n V }
\__witharrows_msg_new:nn { Key~already~defined }
{
- Key~already~define.\\
+ Key~already~defined.\\
The~key~'#1'~is~already~defined. \\
If~you~go~on,~your~instruction~\token_to_str:N\WithArrowsNewStyle\
will~be~ignored.
@@ -2116,9 +2106,9 @@
\str_if_empty:NT \l__witharrows_previous_key_str
{
\str_set:Nn \l__witharrows_previous_key_str { up }
- \cs_if_exist:cTF { tikz@library@calc@loaded }
+ \cs_if_exist:NTF \tikz@library@calc@loaded
{
- \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
+ \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl
\int_set:Nn \l__witharrows_pos_arrow_int 1
\bool_set_false:N \l__witharrows_wrap_lines_bool
\tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_up_tl
@@ -2129,9 +2119,9 @@
\str_if_empty:NT \l__witharrows_previous_key_str
{
\str_set:Nn \l__witharrows_previous_key_str { down }
- \cs_if_exist:cTF { tikz@library@calc@loaded }
+ \cs_if_exist:NTF \tikz@library@calc@loaded
{
- \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
+ \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl
\int_set:Nn \l__witharrows_pos_arrow_int 1
\bool_set_false:N \l__witharrows_wrap_lines_bool
\tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_down_tl
diff --git a/Master/texmf-dist/tex/generic/xcomment/xcomment.sty b/Master/texmf-dist/tex/generic/xcomment/xcomment.sty
deleted file mode 100644
index 4bb03a5f67d..00000000000
--- a/Master/texmf-dist/tex/generic/xcomment/xcomment.sty
+++ /dev/null
@@ -1,8 +0,0 @@
-%% $Id: xcomment.sty 315 2010-05-14 21:31:03Z herbert $
-\ProvidesPackage{xcomment}[2010/05/13 package wrapper for
- xcomment.tex (hv)]
-\input{xcomment.tex}
-\ProvidesFile{xcomment.tex}
- [\filedate\space v\fileversion\space `xcomment' (tvz)]
-\endinput
-
diff --git a/Master/texmf-dist/tex/generic/xcomment/xcomment.tex b/Master/texmf-dist/tex/generic/xcomment/xcomment.tex
deleted file mode 100644
index e8888f904aa..00000000000
--- a/Master/texmf-dist/tex/generic/xcomment/xcomment.tex
+++ /dev/null
@@ -1,171 +0,0 @@
-%% $Id: xcomment.tex 316 2010-05-14 21:32:34Z herbert $
-%%
-%% COPYRIGHT 1993/2010, by Timothy Van Zandt, tvz@Princeton.EDU
-%% COPYRIGHT 2010, by Herbert Voss, hvoss@tug.org
-%%
-%% DESCRIPTION:
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%%
-\def\fileversion{1.3}
-\def\filedate{10/05/14}
-%%
-\@ifundefined{xcomment@@@}{}{\endinput}
-\typeout{Style-Option: `xcomment' v\fileversion \space <\filedate> (tvz) }
-\def\newxcomment{\@ifnextchar [{\@newxcommentwitharg}{\@newxcomment}}
-\def\@newxcomment#1{%
- \expandafter\def\csname #1\endcsname##1{\@xcomment{#1}{##1}}}%
-\def\@newxcommentwitharg[#1]#2{%
- \expandafter\def\csname #2\endcsname{\@xcomment{#2}{#1}}}
-\newxcomment{xcomment}
-\def\envirsep{\par}
-\def\rescanfile#1{\def\@rescanfile{#1}}
-\rescanfile{\jobname.tmp}
-\def\norescanfile{\let\@rescanfile\relax}
-\def\@nofloat#1{\hrule height\z@\nobreak\vfill\vbox\bgroup\def\@captype{#1}}
-\def\end@nofloat{\egroup\nobreak\vfill\nobreak\hrule height\z@\medbreak}
-\def\nofloat#1{\@for\@tempa:=#1\do{\@namedef{#1}{\@nofloat{#1}}%
- \@namedef{end#1}{\end@nofloat}}}
-\def\xc@makeother#1{%
- \ifnum\the\catcode`#1=0\catcode`#112%
- \else \ifnum\the\catcode`#1=1\catcode`#112%
- \else \ifnum\the\catcode`#1=2\catcode`#112%
- \else \ifnum\the\catcode`#1=6\catcode`#112%
- \fi\fi\fi\fi\relax}
-\newwrite\tokout
-\newread\tokin
-\def\rescan#1{%
- \ifx\@rescanfile\relax\else
- \ifx\@rescanfile\@empty #1{}\else
- \immediate\openout\tokout=\@rescanfile
- \immediate\write\tokout{{\the#1}\relax}%
- \immediate\closeout\tokout
- \openin\tokin=\@rescanfile
- \read\tokin to\@tempd
- \closein\tokin
- \expandafter#1\@tempd%
- \fi\fi}
-\def\@xcomment#1#2{%
- \ifx\@preamblecmds\@notprerr
- \def\xc@csname{#1}%
- \edef\xc@envirlist{#2}%
- \ifx\xc@envirlist\@empty \@bsphack \else
- \begingroup
- \def\@envirsep{}%
- \@ifundefined{normal@begin}{\let\normal@begin\begin}{}%
- \@ifundefined{normal@end}{\let\normal@end\end}{}%
- \def\begin##1{\do@begin{##1}\normal@begin{##1}}%
- \def\end##1{\normal@end{##1}\do@end}%
- \def\do@begin##1{\@ifundefined{##1}{}{\def\do@end{}}}%
- \let\do@end\xc@begin
- \fi
- \let\next\xc@begin
- \else
- \expandafter\@temptokena\expandafter{\document\@xcomment{@@@}{#2}}%
- \edef\document{\the\@temptokena}%
- \let\next\relax
- \fi
- \next}
-\def\end@xcomment{\ifx\xc@envirlist\@empty \@esphack \else \endgroup \fi}%
-\def\xc@begin{%
- \begingroup
- \let\do\xc@makeother
- \dospecials
- \ifx\xcommentchar\@empty\else
- \expandafter\catcode\expandafter`\xcommentchar=14
- \fi
- \catcode`\^^M\active
- \xcomment@}
-\def\xcommentchar{\%}
-\begingroup
-\catcode`\!=12
-\catcode`\[=12
-\catcode`\]=12
-\catcode`\"=12
-\lccode`\!=`\\
-\lccode`\[=`\{
-\lccode`\]=`\}
-\lccode`\"=`\%
-\catcode`\~=\active
-\lccode`\~=`\^^M
-\lowercase{
- \gdef\xcomment@#1~{\xcomment@@#1\@nnil!\@nil}
- \gdef\xcomment@@#1!{\xcomment@@@}
- \gdef\xcomment@@@#1\@nil{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty
- \let\next\xcomment@
- \else
- \def\next{\xcomment@@#1\@nil}%
- \@testtrue
- \xc@checkbegin#1\relax begin[]\relax\relax
- \if@test
- \xc@checkend#1\relax end[]\relax\relax
- \if@test
- \xc@checkinput#1\relax input[]\relax\relax
- \if@test
- \xc@checkinclude#1\relax include[]\relax\relax
- \if@test
- \xc@checkendinput#1\relax endinputss\relax\relax
- \fi\fi\fi\fi\fi
- \next}
- \gdef\xc@checkbegin#1begin[#2]#3\relax#4\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty
- \def\@tempa{#2}%
- \@for\@tempb:=\xc@envirlist\do{%
- \ifx\@tempa\@tempb\def\next{\xc@end{#2}#3\@nil}\fi}%
- \fi}
- \gdef\xc@checkend#1end[#2]#3\relax#4\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty
- \@testfalse
- \def\@tempa{#2}\def\@tempb{document}%
- \ifx\@tempa\@tempb
- \def\next{\endgroup\end@xcomment\end{document}}%
- \else
- \ifx\@tempa\xc@csname
- \def\next{\end@@xcomment{#2}#3\@nil}%
- \fi\fi\fi}
- \gdef\xc@checkinput#1input[#2]#3\relax#4\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty
- \def\next{\expandafter\xcomment@\@@input #2 \xcomment@@#3\@nil}%
- \@testfalse
- \fi}
- \gdef\xc@checkendinput#1endinput#2#3\relax#4\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty\ifcat\noexpand#2a\relax\else
- \let\next\endinput
- \fi\fi}
- \gdef\xc@checkinclude#1include[#2]#3\relax#4\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty
- \def\next{%
- \global\let\xc@savedinput\@@input
- \def\@@input{%
- \global\let\@@input\xc@savedinput
- \expandafter\xcomment@\@@input}%
- \include{#2}%
- \global\let\@@input\xc@savedinput
- \xcomment@@#3\@nil}%
- \@testfalse
- \fi}
- \gdef\end@@xcomment#1#2\@nnil!\@nil{%
- \endgroup
- \toks@{#2 }\rescan{\toks@}%
- \edef\next{\noexpand\end@xcomment\noexpand\end{#1}\the\toks@}%
- \next}%
- \gdef\xc@end#1#2\@nnil!\@nil{%
- \endgroup
- \@envirsep \let\@envirsep\envirsep
- \toks@{#2 }\rescan{\toks@}%
- \edef\next{\noexpand\normal@begin{#1}\the\toks@}%
- \next}%
- }% END OF LOWERCASE
-\endgroup
-\endinput
-%%
-%% End of file `xcomment.sty'.