diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic')
81 files changed, 2536 insertions, 1365 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf index dc2968cd4a0..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-06-26 v3.6b 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 449c05b0f0e..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-06-26 v3.6b 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 03a40729000..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-06-26 v3.6b 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 7542b22f6e8..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-06-26 v3.6b 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 @@ -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 9ca381c455e..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-06-26 v3.6b 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 2a824fb924c..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-06-26 v3.6b 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/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..88e7a997ba6 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 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..c178f036c7b 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua @@ -32,11 +32,18 @@ -- 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 +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 +end + -- Discretionaries contain strings as nodes function Babel.str_to_nodes(fn, matches, base) local n, head, last @@ -187,6 +194,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 +398,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 +411,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 +430,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 +454,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 79036acd022..df0623d5453 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/26 v24.7 Babel common definitions] -\ifx\AtBeginDocument\@undefined % TODO. change test. +\ProvidesFile{babel.def}[2024/10/05 v24.11 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.7} -\def\bbl@date{2024/06/26} +\def\bbl@version{24.11} +\def\bbl@date{2024/10/05} \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 @@ -778,16 +754,21 @@ \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 +776,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 +805,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 +845,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 +862,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 +917,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 +928,7 @@ \bbl@usedategroupfalse \fi \bbl@fixname\languagename + \let\localename\languagename % TODO. name@map here? \bbl@provide@locale \bbl@iflanguage\languagename{% @@ -1244,7 +1237,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 +1253,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 +1268,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 +1279,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 @@ -1306,18 +1302,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 +1404,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 +1445,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 +1485,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{}}} @@ -1794,6 +1777,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 +2026,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 0c68ee32a62..dc3d3fb8e6b 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -32,21 +32,22 @@ %% 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/26 v24.7 The Babel package] +\ProvidesPackage{babel}[2024/10/05 v24.11 The Babel package] \@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 +309,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 +318,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 +345,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 +408,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 +466,8 @@ \expandafter\@secondoftwo \fi} \fi -\def\bbl@version{24.7} -\def\bbl@date{2024/06/26} +\def\bbl@version{24.11} +\def\bbl@date{2024/10/05} \ifx\language\@undefined \csname newcount\endcsname\language \fi @@ -551,7 +551,7 @@ \ifx\babelprovide\@undefined \bbl@error{base-on-the-fly}{}{}{}% \fi - \let\bbl@auxname\languagename % Still necessary. TODO + \let\bbl@auxname\languagename % Still necessary. \bbl@ifunset{bbl@bcp@map@\languagename}{}% Move uplevel?? {\edef\languagename{\@nameuse{bbl@bcp@map@\languagename}}}% \ifbbl@bcpallowed @@ -620,10 +620,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 +635,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 @@ -676,16 +653,21 @@ \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 +675,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 +704,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 +744,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 +761,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 +816,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 +827,7 @@ \bbl@usedategroupfalse \fi \bbl@fixname\languagename + \let\localename\languagename % TODO. name@map here? \bbl@provide@locale \bbl@iflanguage\languagename{% @@ -1142,7 +1136,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 +1152,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,8 +1167,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}% @@ -1193,7 +1190,7 @@ \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 @@ -1216,18 +1213,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 +1315,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 +1356,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 +1396,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{}}} @@ -1704,6 +1688,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 +1937,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}% @@ -2284,7 +2285,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 @@ -2371,7 +2372,6 @@ \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}'] @@ -2442,7 +2442,7 @@ \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}% \fi \bbl@provide@intraspace - % == Line breaking: CJK quotes == TODO -> @extras + % == Line breaking: CJK quotes == \ifcase\bbl@engine\or \bbl@xin@{/c}{/\bbl@cl{lnbrk}}% \ifin@ @@ -3251,7 +3251,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,6 +3421,46 @@ {\bbl@cs{cntr@#1.F.\number#5#6#7#8@\languagename}}} \def\bbl@alphnum@invalid#1{% \bbl@error{alphabetic-too-large}{#1}{}{}} +\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}} +\def\bbl@casemapping#1#2#3{% 1:variant + \def\bbl@tempa##1 ##2{% Loop + \bbl@casemapping@i{##1}% + \ifx\@empty##2\else\bbl@afterfi\bbl@tempa##2\fi}% + \edef\bbl@templ{\@nameuse{bbl@casing@#2}#1}% Language code + \def\bbl@tempe{0}% Mode (upper/lower...) + \def\bbl@tempc{#3 }% Casing list + \expandafter\bbl@tempa\bbl@tempc\@empty} +\def\bbl@casemapping@i#1{% + \def\bbl@tempb{#1}% + \ifcase\bbl@engine % Handle utf8 in pdftex, by surrounding chars with {} + \@nameuse{regex_replace_all:nnN}% + {[\x{c0}-\x{ff}][\x{80}-\x{bf}]*}{{\0}}\bbl@tempb + \else + \@nameuse{regex_replace_all:nnN}{.}{{\0}}\bbl@tempb % TODO. needed? + \fi + \expandafter\bbl@casemapping@ii\bbl@tempb\@@} +\def\bbl@casemapping@ii#1#2#3\@@{% + \in@{#1#3}{<>}% ie, if <u>, <l>, <t> + \ifin@ + \edef\bbl@tempe{% + \if#2u1 \else\if#2l2 \else\if#2t3 \fi\fi\fi}% + \else + \ifcase\bbl@tempe\relax + \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% + \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#2}}{#1}% + \or + \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% + \or + \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% + \or + \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}% @@ -3467,46 +3507,6 @@ {\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}} -\def\bbl@casemapping#1#2#3{% 1:variant - \def\bbl@tempa##1 ##2{% Loop - \bbl@casemapping@i{##1}% - \ifx\@empty##2\else\bbl@afterfi\bbl@tempa##2\fi}% - \edef\bbl@templ{\@nameuse{bbl@casing@#2}#1}% Language code - \def\bbl@tempe{0}% Mode (upper/lower...) - \def\bbl@tempc{#3 }% Casing list - \expandafter\bbl@tempa\bbl@tempc\@empty} -\def\bbl@casemapping@i#1{% - \def\bbl@tempb{#1}% - \ifcase\bbl@engine % Handle utf8 in pdftex, by surrounding chars with {} - \@nameuse{regex_replace_all:nnN}% - {[\x{c0}-\x{ff}][\x{80}-\x{bf}]*}{{\0}}\bbl@tempb - \else - \@nameuse{regex_replace_all:nnN}{.}{{\0}}\bbl@tempb % TODO. needed? - \fi - \expandafter\bbl@casemapping@ii\bbl@tempb\@@} -\def\bbl@casemapping@ii#1#2#3\@@{% - \in@{#1#3}{<>}% ie, if <u>, <l>, <t> - \ifin@ - \edef\bbl@tempe{% - \if#2u1 \else\if#2l2 \else\if#2t3 \fi\fi\fi}% - \else - \ifcase\bbl@tempe\relax - \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% - \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#2}}{#1}% - \or - \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% - \or - \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% - \or - \DeclareTitlecaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% - \fi - \fi} \let\bbl@ensureinfo\@gobble \newcommand\BabelEnsureInfo{% \ifx\InputIfFileExists\@undefined\else @@ -3932,8 +3932,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 +3944,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 +3980,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 +4017,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 +4076,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 +4132,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}{}% 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 53ff26e70c1..437dc63f2b2 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/26 v24.7 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2024/10/05 v24.11 Babel hyphens] \xdef\bbl@format{\jobname} -\def\bbl@version{24.7} -\def\bbl@date{2024/06/26} +\def\bbl@version{24.11} +\def\bbl@date{2024/10/05} \ifx\AtBeginDocument\@undefined \def\@empty{} \fi 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/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 = 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 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/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/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/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/zh/babel-zh.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini index 44bb43ad511..e50a31902cd 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,32 @@ parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ fullwidth.lower.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 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, space = {cjknormal|0} {cjkplus|.1} 0 } +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 f4383a33ce4..399dd45db8c 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 '') .. '}{}{}') @@ -301,7 +296,7 @@ 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,8 +374,7 @@ end {\csname bbl@patterns@\bbl@tempa\endcsname\space}% #2}}}% \fi}} -\directlua{ - Babel = Babel or {} +\directlua{% DL5 Babel.linebreaking = Babel.linebreaking or {} Babel.linebreaking.before = {} Babel.linebreaking.after = {} @@ -400,7 +394,6 @@ 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 +402,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 +414,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 +462,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 +486,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 +536,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 +560,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 +571,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 +834,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 +848,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 +975,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 +999,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 +1167,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 +1195,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) @@ -1375,13 +1350,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 +1369,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 +1392,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 +1403,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 +1473,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]{% @@ -1645,7 +1631,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 +1667,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 +1702,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 +1729,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 +1755,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 b9728218eac..488191f107a 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/26 v24.7 Nil language] +\ProvidesLanguage{nil}[2024/10/05 v24.11 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/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex index 9c71c07afd1..5d49612f458 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,7 +354,7 @@ \__markdown_add_lua_option:nnn { eagerCache } { boolean } - { false } + { true } \__markdown_add_lua_option:nnn { singletonCache } { boolean } @@ -413,6 +444,10 @@ { boolean } { false } \__markdown_add_lua_option:nnn + { ensureJekyllData } + { boolean } + { false } +\__markdown_add_lua_option:nnn { expectJekyllData } { boolean } { false } @@ -580,8 +615,8 @@ { boolean } { true } \ExplSyntaxOff -\def\markdownLastModified{2024-06-20}% -\def\markdownVersion{3.6.1-0-g5a45a922}% +\def\markdownLastModified{2024-09-30}% +\def\markdownVersion{3.7.1-0-g8e726800}% \let\markdownBegin\relax \let\markdownEnd\relax \let\markinline\relax @@ -602,7 +637,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 { @@ -664,38 +701,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 +749,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 @@ -1044,10 +1099,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 @@ -1098,7 +1157,7 @@ \g__markdown_snippets_prop \l_tmpa_tl \l_tmpb_tl - \__markdown_setup:V + \tl_use:N \l_tmpb_tl } { @@ -1113,9 +1172,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 +2426,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 +2534,57 @@ { 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 + { + \markdownWarning + { + The~jekyllDataString~renderer~has~been~deprecated,~ + to~be~removed~in~Markdown~4.0.0 + } + \markdownRendererJekyllDataString + } + { + \cs_if_exist:NTF + \markdownRendererJekyllDataStringPrototype + { + \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 +2603,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 +2672,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 +2936,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 +3006,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 @@ -3171,7 +3311,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 +3328,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 - { "##1" ,~ } + { " } + \tl_gput_right:NV + \g__markdown_formatted_lua_options_tl + \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 +3350,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 + \l_tmpb_tl + \tl_gput_right:Nn \g__markdown_formatted_lua_options_tl - { #1~=~ " \l_tmpa_tl " ,~ } + { " ,~ } } } \cs_generate_variant:Nn @@ -3211,18 +3369,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 +3536,9 @@ } } } + \str_gset:NV + \g_luabridge_output_dirname_str + \markdownOptionOutputDir \luabridge_now:e { #1 } } @@ -3405,29 +3625,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 +3686,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-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 345fba99c4f..2ff137b0a8c 100644 --- a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex +++ b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex @@ -25,8 +25,8 @@ \ifx\PSTThreeDplotLoaded\endinput\else\input pst-3dplot.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi % -\def\fileversion{2.04a} -\def\filedate{2024/06/29} +\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 @@ -162,7 +163,7 @@ \addto@pscode{% % les dimensions sont en mtres /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 @@ -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 mtres /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 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 8e618ef2208..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 654 2022-11-21 06:19:14Z 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.44} -\def\filedate{2024/07/04} +\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 @@ -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,24 +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 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 -}% - + % #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 /Func (#2) AlgParser cvx def end } - \pnode(!/t #1 def Func){#3} - \pnode(!/t #1 .001 sub 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 +% #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{% @@ -1635,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] @@ -1686,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/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..6cac5658c2c 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht @@ -1,37 +1,29 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 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-08-13-13:15 % +% Copyright (C) 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. \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/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/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} } { & } \l_tmpa_tl + \regex_replace_all:nnN { \x{3C} } { < } \l_tmpa_tl + \regex_replace_all:nnN { \x{3E} } { > } \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 f7a5e989afd..0da2a3b85b8 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-07-06-13:59), generated from tex4ht-html4.tex +% html4.4ht (2024-10-08-13:28), generated from tex4ht-html4.tex % Copyright 2009-2024 TeX Users Group % Copyright 1997-2009 Eitan M. Gurari % @@ -17,7 +17,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-07-06-13:59} +\immediate\write-1{version 2024-10-08-13:28} \exit:ifnot{8859-6,% CJK,% @@ -152,6 +152,7 @@ longtable,% ltugboat,% ltugproc,% ltxguide,% +lua-ul,% manju,% manmac,% marginnote,% @@ -166,6 +167,7 @@ microtype,% minitoc,% minted,% mls,% +moderncv,% moreverb,% multicol,% multind,% @@ -3007,7 +3009,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 @@ -3105,6 +3107,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 @@ -3114,10 +3117,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 @@ -3140,7 +3143,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}% @@ -20704,6 +20708,7 @@ Y{0178}\i{00EF}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{seslideb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -21037,7 +21042,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 @@ -21135,6 +21140,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 @@ -21144,10 +21150,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 @@ -21170,7 +21176,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}% @@ -29085,6 +29092,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}} @@ -29093,6 +29103,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{minitoc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29303,7 +29314,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{adjustbox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29325,6 +29335,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{awesomebox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29528,7 +29539,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{eplain} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36159,7 +36169,6 @@ description">}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{overpic} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36272,6 +36281,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{resume} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36323,7 +36333,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{curve} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36370,6 +36379,47 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureEnv{vowel} @@ -36382,6 +36432,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{enumitem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36394,7 +36445,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">}} +} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36436,6 +36501,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36489,7 +36555,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cgloss4e} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36524,6 +36589,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{covington} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36774,7 +36840,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subeqnarray} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36789,6 +36854,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{eurosym} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36837,7 +36903,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{sistyle} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36859,6 +36924,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{chapterbib} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36981,7 +37047,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{algorithmic} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37029,6 +37094,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{algorithmicx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37095,7 +37161,9 @@ description">}% \ConfigureHinput{booktabs} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifdefined\hline:color\else \def\hline:color{000} +\fi \Configure{toprule} @@ -37451,7 +37519,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ltugproc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37509,6 +37576,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mls} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37531,7 +37599,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{boxedminipage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37555,6 +37622,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ulem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37633,7 +37701,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{paralist} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37798,6 +37865,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pifont} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37953,7 +38021,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{alphanum} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38014,6 +38081,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{lineno} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38455,7 +38523,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{exerquiz} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38554,6 +38621,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{nicefrac} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38567,7 +38635,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{multicol} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38629,6 +38696,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ProTex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38671,6 +38739,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{th4} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38878,7 +38947,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{marginnote} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38905,6 +38973,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{writer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39035,7 +39104,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{syntax} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39048,6 +39116,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{soul} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39101,6 +39170,20 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Configure{chapter} @@ -40937,5 +41020,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..88689b5ebbc 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-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} \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 @@ -2338,7 +2347,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-09-24-10:22), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -2346,18 +2355,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-09-24-10:22} \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/mathjax-latex-4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht index cfc53895a23..fd67a7e09a5 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-09-27-09:25), 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-09-27-09:25} \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 @@ -677,5 +681,21 @@ + + + + + + + + + + + + + + + + \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht index 3de1fdb2fe2..348db48cf0b 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-09-03-13:48), 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-09-03-13:48} \exit:ifnot{Preamble,% accents,% @@ -34,6 +34,7 @@ array,% bm,% cancel,% dcolumn,% +esvect,% etex4ht,% fontmath,% gauss,% @@ -1412,14 +1413,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>}{}} } @@ -1807,7 +1813,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsmath} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2190,7 +2195,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amstext} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2201,6 +2205,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amstex1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2431,6 +2436,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{plain} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3268,6 +3274,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsopn} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3415,6 +3422,8 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amscd} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3475,7 +3484,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{vanilla} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3517,6 +3525,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amssymb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3745,6 +3754,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{gauss} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3804,7 +3814,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{rlbabel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3928,6 +3937,10 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mathtools} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4078,6 +4091,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{accents} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4101,6 +4115,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subeqnarray} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4179,7 +4194,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ushort} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4217,6 +4231,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{bm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4264,8 +4279,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ulem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4441,6 +4454,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mhchem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4575,6 +4589,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/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/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/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 82d1e3bc5e4..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-06-23-13:56), 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 % @@ -20,7 +20,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-06-23-13:56} +\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..620d1abee3e 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-10-01-13:46), 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-10-01-13:46} \def\:temp{tex4ht}\ifx \:temp\@currname \:warning{\string\usepackage{tex4ht} again?} @@ -91,6 +91,8 @@ \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} diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty index b4e26af8bca..61956010ff5 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,8 @@ %% 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.9} +\def\myfiledate{2024/10/05} \RequirePackage{tikz} \usetikzlibrary{arrows.meta} \usepgfmodule{bending} % https://texnique.fr/osqa/questions/12199 @@ -45,18 +45,24 @@ \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 , + 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 } } @@ -67,6 +73,8 @@ \token_to_str:N\WithArrowsOptions. } \ProcessKeysOptions { WithArrows / package } +\IfClassLoadedTF { beamer } { \bool_gset_true:N \g__witharrows_beamer_bool } { } +\IfPackageLoadedTF { beamerarticle } { \bool_gset_true:N \g__witharrows_beamer_bool } { } \__witharrows_msg_new:nn { footnote~with~footnotehyper~package } { Footnote~forbidden.\\ @@ -129,7 +137,7 @@ \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_new_protected:Npn \__witharrows_sort_seq:N #1 { \seq_sort:Nn #1 @@ -147,7 +155,7 @@ } \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 @@ -163,7 +171,7 @@ } \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 @@ -258,7 +266,7 @@ \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 @@ -446,7 +454,7 @@ replace-left-brace-by .code:n = { \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } } - \clist_if_in:NVTF + \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 +468,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 +574,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 +590,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 +633,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}. } @@ -660,13 +668,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 +689,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 @@ -787,27 +806,27 @@ \IfPackageLoadedTF { 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 +932,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 { @@ -1017,7 +1036,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 +1069,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 +1092,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: @@ -1107,7 +1126,8 @@ { \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 } } + \exp_args:No \tl_if_novalue:nF { #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 @@ -1156,8 +1176,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 = @@ -1390,12 +1410,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: @@ -1415,7 +1432,7 @@ { \str_if_eq_p:Vn \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 @@ -1439,8 +1456,7 @@ { \str_if_eq:VnF \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,7 +1470,7 @@ } } } - \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 } @@ -1486,7 +1502,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: } @@ -1639,10 +1655,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 @@ -1663,7 +1682,7 @@ { \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 + \exp_args:No \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl \__witharrows_tmpa:nnn { #1 } { #2 } { #3 } } \cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } @@ -1773,12 +1792,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:Vn \l__witharrows_status_arrow_str { independent } } } { \bool_gset_true:N \g_tmpa_bool @@ -1830,7 +1849,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 +1870,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 { @@ -1903,19 +1922,19 @@ } \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 } + { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x } { \clist_gput_right:Nx \g_tmpa_clist \x } } \int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 } @@ -1923,7 +1942,7 @@ { \clist_sort:Nn \g_tmpa_clist { - \int_compare:nTF { ##1 > ##2 } + \int_compare:nNnTF { ##1 } > { ##2 } \sort_return_swapped: \sort_return_same: } @@ -2375,21 +2394,11 @@ { \tl_to_str:n { #1 } } \seq_put_right:Nx \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:nnN + { WithArrows / WithArrowsOptions } + { #2 } + \l_tmpa_tl + \__witharrows_key_define:nV { #1 } \l_tmpa_tl } { \__witharrows_error:nn { Impossible~style } { #1 } } } diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.tex b/Master/texmf-dist/tex/generic/witharrows/witharrows.tex index 1a35d068c55..f1cd338d085 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,8 @@ %% 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.9} +\def\myfiledate{2024/10/05} \input tikz.tex \input expl3-generic.tex \usetikzlibrary{arrows.meta} @@ -39,15 +39,16 @@ \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_new_protected:Npn \__witharrows_sort_seq:N #1 { \seq_sort:Nn #1 @@ -65,7 +66,7 @@ } \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 @@ -81,7 +82,7 @@ } \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 @@ -304,7 +305,7 @@ replace-left-brace-by .code:n = { \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } } - \clist_if_in:NVTF + \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 +317,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 +420,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 +436,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 +479,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}. } @@ -513,13 +514,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 } } , @@ -634,27 +633,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 +769,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 { @@ -856,7 +855,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 } } + \exp_args:No \tl_if_novalue:nF { #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 +1036,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: @@ -1061,7 +1058,7 @@ { \str_if_eq_p:Vn \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 @@ -1085,8 +1082,7 @@ { \str_if_eq:VnF \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,7 +1096,7 @@ } } } - \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 } @@ -1132,7 +1128,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: } @@ -1285,10 +1281,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 @@ -1309,7 +1308,7 @@ { \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 + \exp_args:No \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl \__witharrows_tmpa:nnn { #1 } { #2 } { #3 } } \cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } @@ -1402,12 +1401,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:Vn \l__witharrows_status_arrow_str { independent } } } { \bool_gset_true:N \g_tmpa_bool @@ -1470,7 +1469,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 +1490,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 { @@ -1543,19 +1542,19 @@ } \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 } + { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x } { \clist_gput_right:Nx \g_tmpa_clist \x } } \int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 } @@ -1563,7 +1562,7 @@ { \clist_sort:Nn \g_tmpa_clist { - \int_compare:nTF { ##1 > ##2 } + \int_compare:nNnTF { ##1 } > { ##2 } \sort_return_swapped: \sort_return_same: } @@ -1964,21 +1963,11 @@ { \tl_to_str:n { #1 } } \seq_put_right:Nx \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:nnN + { WithArrows / WithArrowsOptions } + { #2 } + \l_tmpa_tl + \__witharrows_key_define:nV { #1 } \l_tmpa_tl } { \__witharrows_error:nn { Impossible~style } { #1 } } } |