diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic')
122 files changed, 4240 insertions, 2562 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf index 146e293ffcd..c74b119c023 100644 --- a/Master/texmf-dist/tex/generic/babel-french/acadian.ldf +++ b/Master/texmf-dist/tex/generic/babel-french/acadian.ldf @@ -24,7 +24,7 @@ %% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> %% \ProvidesLanguage{acadian} - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] \PackageInfo{acadian.ldf}% {`acadian' dialect is currently\MessageBreak *absolutely identical* to the\MessageBreak diff --git a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf index c04ed30c114..5f4ce1fbd56 100644 --- a/Master/texmf-dist/tex/generic/babel-french/canadien.ldf +++ b/Master/texmf-dist/tex/generic/babel-french/canadien.ldf @@ -24,7 +24,7 @@ %% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> %% \ProvidesLanguage{canadien} - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] \PackageWarning{canadien.ldf}% {Option `canadien' for Babel is *deprecated*,\MessageBreak it might be removed sooner or later. Please\MessageBreak diff --git a/Master/texmf-dist/tex/generic/babel-french/francais.ldf b/Master/texmf-dist/tex/generic/babel-french/francais.ldf index 930425c55a6..f1dab47db9f 100644 --- a/Master/texmf-dist/tex/generic/babel-french/francais.ldf +++ b/Master/texmf-dist/tex/generic/babel-french/francais.ldf @@ -24,7 +24,7 @@ %% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> %% \ProvidesLanguage{francais} - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] \PackageWarning{francais.ldf}% {Option `francais' for Babel is *deprecated*,\MessageBreak it might be removed sooner or later. Please\MessageBreak diff --git a/Master/texmf-dist/tex/generic/babel-french/french.ldf b/Master/texmf-dist/tex/generic/babel-french/french.ldf index e464ea33b0b..61bb613bc09 100644 --- a/Master/texmf-dist/tex/generic/babel-french/french.ldf +++ b/Master/texmf-dist/tex/generic/babel-french/french.ldf @@ -24,7 +24,7 @@ %% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> %% \ProvidesLanguage{french} - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] %% %% Babel package for LaTeX version 2e %% Copyright © 1996-2024 @@ -108,7 +108,6 @@ \fi \fi \bbl@tempa -\ifLaTeXe \NeedsTeXFormat{LaTeX2e}[2022/06/01] \fi \newif\ifFBunicode \newif\ifFBLuaTeX \newif\ifFBXeTeX @@ -505,9 +504,10 @@ \DeclareRobustCommand\rmfamilyFB{\FB@spacing@on \rmfamilyORI} \DeclareRobustCommand\sffamilyFB{\FB@spacing@on \sffamilyORI} \fi +\providecommand\texorpdfstring[2]{#1} \DeclareRobustCommand*{\NoAutoSpacing}{% - \FB@spacing@off - \ifFB@active@punct\shorthandoff{;:!?}\fi + \texorpdfstring{\FB@spacing@off + \ifFB@active@punct\shorthandoff{;:!?}\fi}{}% } \ifLaTeXe \else @@ -526,7 +526,6 @@ \fi \let\xspace\relax \fi -\providecommand\texorpdfstring[2]{#1} \newcommand*{\FB@og}{\texorpdfstring{\@FB@og}{\guillemotleft\space}} \newcommand*{\FB@fg}{\texorpdfstring{\@FB@fg}{\space\guillemotright}} \newcommand*{\FB@guillspace}{\penalty\@M\FBguillspace} @@ -1109,6 +1108,7 @@ BEFORE babel/french; reported}% \fi } +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \newif\ifFBShowOptions \newif\ifFBStandardLayout \FBStandardLayouttrue \newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchtrue @@ -1271,14 +1271,14 @@ Reported}% \fi } -\newcommand*{\FB@ListOldLayout@setup}[1]% +\newcommand*{\FBListOldLayout@setup}[1]% {\csname FBListOldLayout#1\endcsname \ifFBListOldLayout \FBStandardEnumerateEnvtrue \renewcommand*{\FrenchLabelItem}{\textendash}% \fi } -\newcommand*{\FB@CompactItemize@setup}[1]% +\newcommand*{\FBCompactItemize@setup}[1]% {\csname FBCompactItemize#1\endcsname \ifFBCompactItemize \FBStandardItemizeEnvfalse diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf index 59dcd15ac8c..043aa84c723 100644 --- a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf +++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf @@ -24,7 +24,7 @@ %% Please report errors to: <daniel (dot) flipo (at) free (dot) fr> %% \ProvidesLanguage{frenchb} - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] \def\bbl@tempa{frenchb} \ifx\CurrentOption\bbl@tempa \chardef\l@frenchb\l@french diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua index 3149b146ffc..34f19225fca 100644 --- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua +++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua @@ -1,6 +1,6 @@ --[[ File `frenchb.lua’ generated from frenchb.dtx - [2024-05-24 v3.6a French support from the babel system] + [2024-07-25 v3.6c French support from the babel system] Copyright © 2014-2024 Daniel Flipo <daniel (dot) flipo (at) free (dot) fr> License LPPL: see french.ldf. diff --git a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf index f9bd02c13b1..5cff95de4c7 100644 --- a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf +++ b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf @@ -12,7 +12,7 @@ %% %% License information appended. \ProvidesLanguage{italian} - [2024/01/03 v.1.5.00 Italian support for the babel system] + [2024/10/10 v.1.5.01 Italian support for the babel system] %% %% Please report errors to: claudio dot beccari at gmail dot com %% @@ -195,7 +195,9 @@ }} \DeclareMathSymbol{\virgoladecimale}{\mathord}{letters}{"3B} \DeclareMathSymbol{\virgola}{\mathpunct}{letters}{"3B} -{\catcode`,\active \gdef,{\futurelet\tempB\?}} + +{\catcode`,\active \protected\gdef,% + {\futurelet\tempB\it@tempcomma}} \DeclareRobustCommand*\periodo[1]{\overline{#1}} @@ -204,7 +206,7 @@ \if\@Cifra #1\relax\def\tempC{\virgoladecimale}% \@break@tfor\fi}\tempC} -\DeclareRobustCommand*\?{% +\DeclareRobustCommand*\it@tempcomma{% \ifx\tempB\@sptoken \expandafter\@firstoftwo \else diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua index a981db5b267..a0bfe0b3a7c 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua @@ -32,9 +32,6 @@ -- and covered by LPPL is defined by the unpacking scripts (with -- extension |.ins|) which are part of the distribution. -- - -Babel = Babel or {} - Babel.bidi_enabled = true require('babel-data-bidi.lua') @@ -162,7 +159,7 @@ function Babel.bidi(head, ispar) elseif first_d and dir ~= strong_lr then dir_mark(head, first_d, last_d, outer) first_d, last_d = nil, nil - end + end end if dir and not last_lr and dir ~= 'l' and outer == 'r' then item.char = characters[item.char] and diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua index 4d0d19156f0..8b3ef3e62e4 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua @@ -32,9 +32,6 @@ -- and covered by LPPL is defined by the unpacking scripts (with -- extension |.ins|) which are part of the distribution. -- - -Babel = Babel or {} - -- eg, Babel.fontmap[1][<prefontid>]=<dirfontid> Babel.fontmap = Babel.fontmap or {} @@ -102,7 +99,7 @@ end -- TODO - \hbox with an explicit dir can lead to wrong results -- <R \hbox dir TLT{<R>}> and <L \hbox dir TRT{<L>}>. A small attempt --- was s made to improve the situation, but the problem is the 3-dir +-- was made to improve the situation, but the problem is the 3-dir -- model in babel/Unicode and the 2-dir model in LuaTeX don't fit -- well. @@ -124,6 +121,7 @@ function Babel.bidi(head, ispar, hdir) local has_hyperlink = false local ATDIR = Babel.attr_dir + local attr_d local save_outer local temp = node.get_attribute(head, ATDIR) @@ -158,6 +156,8 @@ function Babel.bidi(head, ispar, hdir) if glyph_not_symbol_font(item) or (item.id == 7 and item.subtype == 2) then + if node.get_attribute(item, ATDIR) == 128 then goto nextnode end + local d_font = nil local item_r if item.id == 7 and item.subtype == 2 then @@ -165,6 +165,7 @@ function Babel.bidi(head, ispar, hdir) else item_r = item end + local chardata = characters[item_r.char] d = chardata and chardata.d or nil if not d or d == 'nsm' then @@ -292,6 +293,7 @@ function Babel.bidi(head, ispar, hdir) -- Force mathdir in math if ON (currently works as expected only -- with 'l') + if inmath and d == 'on' then d = ('TRT' == tex.mathdir) and 'r' or 'l' end @@ -307,9 +309,12 @@ function Babel.bidi(head, ispar, hdir) table.insert(nodes, {item, d, outer_first}) end + node.set_attribute(item, ATDIR, 128) outer_first = nil - end + ::nextnode:: + + end -- for each node -- TODO -- repeated here in case EN/ET is the last node. Find a -- better way of doing things: @@ -470,3 +475,12 @@ function Babel.bidi(head, ispar, hdir) return head end +-- Make sure anything is marked as 'bidi done' (including nodes inserted +-- after the babel algorithm). +function Babel.unset_atdir(head) + local ATDIR = Babel.attr_dir + for item in node.traverse(head) do + node.set_attribute(item, ATDIR, 128) + end + return head +end diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex index d9e77aa25ea..837d83ff400 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \def\bbl@ca@buddhist#1-#2-#3\@@#4#5#6{% \edef#4{\number\numexpr#1+543\relax}% \edef#5{#2}% diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex index 15eed489707..cff847e02c4 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex index 449567ed8ad..43d23a1479e 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex index b1d94e1a454..95a8ef64656 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex index 8964a0c2417..315180da5af 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \newcount\bbl@cntcommon \def\bbl@remainder#1#2#3{% #3=#1\relax @@ -199,7 +198,7 @@ #2=\bbl@cntcommon} \def\bbl@hebrdayspriormonths#1#2#3{% {\countdef\tmpf= 14 - #3=\ifcase #1\relax + #3=\ifcase #1 0 \or 0 \or 30 \or diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex index b769b5fcd11..28c5dd9dc03 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex index b0f26920b0b..f896cbeba63 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex +++ b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua index 7aa786c41cf..80ec84ca1ae 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua @@ -32,27 +32,21 @@ -- and covered by LPPL is defined by the unpacking scripts (with -- extension |.ins|) which are part of the distribution. -- - -- Data from Unicode and ConTeXt -Babel = Babel or {} - Babel.ranges = { {0x0590, 0x05FF, 'r'}, {0x0600, 0x07BF, 'al'}, {0x07C0, 0x085F, 'r'}, {0x0860, 0x086F, 'al'}, {0x08A0, 0x08FF, 'al'}, - {0xE000, 0xF8FF, 'on'}, -- PUA {0xFB1D, 0xFB4F, 'r'}, {0xFB50, 0xFDFF, 'al'}, {0xFE70, 0xFEFF, 'al'}, {0x10800, 0x10C4F, 'r'}, {0x1E800, 0x1E8DF, 'r'}, {0x1E900, 0x1E95F, 'r'}, - {0x1F300, 0x1F9FF, 'on'}, - {0xF0000, 0xFFFFD, 'on'}, -- PUA - {0x100000, 0x10FFFD, 'on'} -- PUA + {0x1F300, 0x1F9FF, 'on'} } Babel.characters = { diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua index fc6e5bb17dc..49623e9f9ce 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua @@ -32,9 +32,6 @@ -- and covered by LPPL is defined by the unpacking scripts (with -- extension |.ins|) which are part of the distribution. -- - -Babel = Babel or {} - Babel.cjk_characters = { [0x0021]={c='ex'}, [0x0022]={c='qu'}, @@ -196,14 +193,39 @@ Babel.cjk_characters = { [0x301D]={c='op'}, [0x301E]={c='cl'}, [0x301F]={c='cl'}, + [0x3043]={c='cj'}, + [0x3045]={c='cj'}, + [0x3047]={c='cj'}, + [0x3049]={c='cj'}, + [0x3063]={c='cj'}, + [0x3083]={c='cj'}, + [0x3085]={c='cj'}, + [0x3087]={c='cj'}, + [0x308E]={c='cj'}, + [0x3095]={c='cj'}, + [0x3096]={c='cj'}, [0x303B]={c='ns'}, [0x303C]={c='ns'}, + [0x3041]={c='cj'}, [0x309B]={c='ns'}, [0x309C]={c='ns'}, [0x309D]={c='ns'}, [0x309E]={c='ns'}, [0x30A0]={c='ns'}, + [0x30A1]={c='cj'}, + [0x30A3]={c='cj'}, + [0x30A5]={c='cj'}, + [0x30A7]={c='cj'}, + [0x30A9]={c='cj'}, + [0x30C3]={c='cj'}, + [0x30E3]={c='cj'}, + [0x30E5]={c='cj'}, + [0x30E7]={c='cj'}, + [0x30EE]={c='cj'}, + [0x30F5]={c='cj'}, + [0x30F6]={c='cj'}, [0x30FB]={c='ns'}, + [0x30FC]={c='cj'}, [0x30FD]={c='ns'}, [0x30FE]={c='ns'}, [0xA015]={c='ns'}, @@ -273,25 +295,33 @@ Babel.cjk_characters = { [0xFF61]={c='cl', w='h'}, [0xFF62]={c='op', w='h'}, [0xFF63]={c='cl', w='h'}, - [0xFF64]={c='cl', w='h'} + [0xFF64]={c='cl', w='h'}, + [0xFF70]={c='cj'} } Babel.cjk_class = setmetatable ( Babel.cjk_characters, { __index = function(_, k) if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3 - or (k >= 0x2E80 and k <= 0x9FFF) + or (k >= 0x2E80 and k <= 0x31E9) -- Skip small + or (k >= 0x3200 and k <= 0x9FFF) or (k >= 0xA000 and k <= 0xA48F) -- Yi or (k >= 0xA490 and k <= 0xA4CF) -- Yi or (k >= 0xF900 and k <= 0xFAFF) or (k >= 0xFE10 and k <= 0xFE1F) or (k >= 0xFE30 and k <= 0xFE6F) - or (k >= 0xFF00 and k <= 0xFFEF) + or (k >= 0xFF00 and k <= 0xFF66) -- Skip small + or (k >= 0xFF70 and k <= 0xFFEF) or (k >= 0x1F000 and k <= 0x1FFFD) or (k >= 0x20000 and k <= 0x2FFFD) or (k >= 0x30000 and k <= 0x3FFFD) then return {c='I'} elseif (k >= 0x20A0 and k <= 0x20CF) then return {c='pr'} + elseif (k >= 0x31F0 and k <= 0x31FF) + or (k >= 0xFF67 and k <= 0xFF6F) + or (k >= 0x1B150 and k <= 0x1B152) + or (k >= 0x1B164 and k <= 0x1B167) then + return {c='cj'} else return {c='O'} end diff --git a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua index 08ee95e770c..3e14af381d0 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua @@ -32,29 +32,16 @@ -- and covered by LPPL is defined by the unpacking scripts (with -- extension |.ins|) which are part of the distribution. -- - Babel.linebreaking.replacements = {} Babel.linebreaking.replacements[0] = {} -- pre Babel.linebreaking.replacements[1] = {} -- post --- Discretionaries contain strings as nodes -function Babel.str_to_nodes(fn, matches, base) - local n, head, last - if fn == nil then return nil end - for s in string.utfvalues(fn(matches)) do - if base.id == 7 then - base = base.replace - end - n = node.copy(base) - n.char = s - if not head then - head = n - else - last.next = n - end - last = n +function Babel.tovalue(v) + if type(v) == 'table' then + return Babel.locale_props[v[1]].vars[v[2]] or v[3] + else + return v end - return head end Babel.fetch_subtext = {} @@ -187,6 +174,7 @@ Babel.us_char = string.char(31) function Babel.hyphenate_replace(head, mode) local u = unicode.utf8 local lbkr = Babel.linebreaking.replacements[mode] + local tovalue = Babel.tovalue local word_head = head @@ -390,9 +378,9 @@ function Babel.hyphenate_replace(head, mode) d.replace = Babel.str_to_nodes(crep.no, matches, item_base) d.attr = item_base.attr if crep.pre == nil then -- TeXbook p96 - d.penalty = crep.penalty or tex.hyphenpenalty + d.penalty = tovalue(crep.penalty) or tex.hyphenpenalty else - d.penalty = crep.penalty or tex.exhyphenpenalty + d.penalty = tovalue(crep.penalty) or tex.exhyphenpenalty end placeholder = '|' head, new = node.insert_before(head, item, d) @@ -403,16 +391,16 @@ function Babel.hyphenate_replace(head, mode) elseif crep and crep.penalty then d = node.new(14, 0) -- (penalty, userpenalty) d.attr = item_base.attr - d.penalty = crep.penalty + d.penalty = tovalue(crep.penalty) head, new = node.insert_before(head, item, d) elseif crep and crep.space then -- 655360 = 10 pt = 10 * 65536 sp d = node.new(12, 13) -- (glue, spaceskip) local quad = font.getfont(item_base.font).size or 655360 - node.setglue(d, crep.space[1] * quad, - crep.space[2] * quad, - crep.space[3] * quad) + node.setglue(d, tovalue(crep.space[1]) * quad, + tovalue(crep.space[2]) * quad, + tovalue(crep.space[3]) * quad) if mode == 0 then placeholder = ' ' end @@ -422,18 +410,18 @@ function Babel.hyphenate_replace(head, mode) -- 655360 = 10 pt = 10 * 65536 sp d = node.new(2, 3) -- (rule, empty) = \no*rule local quad = font.getfont(item_base.font).size or 655360 - d.width = crep.norule[1] * quad - d.height = crep.norule[2] * quad - d.depth = crep.norule[3] * quad + d.width = tovalue(crep.norule[1]) * quad + d.height = tovalue(crep.norule[2]) * quad + d.depth = tovalue(crep.norule[3]) * quad head, new = node.insert_before(head, item, d) elseif crep and crep.spacefactor then d = node.new(12, 13) -- (glue, spaceskip) local base_font = font.getfont(item_base.font) node.setglue(d, - crep.spacefactor[1] * base_font.parameters['space'], - crep.spacefactor[2] * base_font.parameters['space_stretch'], - crep.spacefactor[3] * base_font.parameters['space_shrink']) + tovalue(crep.spacefactor[1]) * base_font.parameters['space'], + tovalue(crep.spacefactor[2]) * base_font.parameters['space_stretch'], + tovalue(crep.spacefactor[3]) * base_font.parameters['space_shrink']) if mode == 0 then placeholder = ' ' end @@ -446,7 +434,7 @@ function Babel.hyphenate_replace(head, mode) d = node.new(13, 1) -- (kern, user) local quad = font.getfont(item_base.font).size or 655360 d.attr = item_base.attr - d.kern = crep.kern * quad + d.kern = tovalue(crep.kern) * quad head, new = node.insert_before(head, item, d) elseif crep and crep.node then diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def index d7a24d8540c..bef836d3966 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.def +++ b/Master/texmf-dist/tex/generic/babel/babel.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ifx\ldf@quit\@undefined\else \endinput\fi % Same line! \ifx\ProvidesFile\@undefined @@ -40,8 +39,8 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{babel.def}[2024/06/02 v24.6 Babel common definitions] -\ifx\AtBeginDocument\@undefined % TODO. change test. +\ProvidesFile{babel.def}[2024/11/08 v24.13 Babel common definitions] +\ifx\AtBeginDocument\@undefined \def\@empty{} \def\loadlocalcfg#1{% \openin0#1.cfg @@ -596,8 +595,8 @@ \toks@\expandafter{\bbl@tempc#3}% \expandafter\edef\csname extras\languagename\endcsname{\the\toks@}% \fi} -\def\bbl@version{24.6} -\def\bbl@date{2024/06/02} +\def\bbl@version{24.13} +\def\bbl@date{2024/11/08} \ifx\language\@undefined \csname newcount\endcsname\language \fi @@ -722,10 +721,9 @@ \edef\bbl@id@last{\the\count@}% \ifcase\bbl@engine\or \directlua{ - Babel = Babel or {} - Babel.locale_props = Babel.locale_props or {} Babel.locale_props[\bbl@id@last] = {} Babel.locale_props[\bbl@id@last].name = '\languagename' + Babel.locale_props[\bbl@id@last].vars = {} }% \fi}% {}% @@ -738,30 +736,8 @@ \let\endselectlanguage\relax \def\BabelContentsFiles{toc,lof,lot} \def\bbl@set@language#1{% from selectlanguage, pop@ - % The old buggy way. Preserved for compatibility. - \edef\languagename{% - \ifnum\escapechar=\expandafter`\string#1\@empty - \else\string#1\@empty\fi}% - \ifcat\relax\noexpand#1% - \expandafter\ifx\csname date\languagename\endcsname\relax - \edef\languagename{#1}% - \let\localename\languagename - \else - \bbl@info{Using '\string\language' instead of 'language' is\\% - deprecated. If what you want is to use a\\% - macro containing the actual locale, make\\% - sure it does not not match any language.\\% - Reported}% - \ifx\scantokens\@undefined - \def\localename{??}% - \else - \scantokens\expandafter{\expandafter - \def\expandafter\localename\expandafter{\languagename}}% - \fi - \fi - \else - \def\localename{#1}% This one has the correct catcodes - \fi + % The old buggy way. Preserved for compatibility, but simplified + \edef\languagename{\expandafter\string#1\@empty}% \select@language{\languagename}% % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else @@ -776,18 +752,21 @@ \fi} \let\bbl@restorelastskip\relax \let\bbl@savelastskip\relax -\newif\ifbbl@bcpallowed -\bbl@bcpallowedfalse -\def\select@language#1{% from set@, babel@aux +\def\select@language#1{% from set@, babel@aux, babel@toc \ifx\bbl@selectorname\@empty \def\bbl@selectorname{select}% - % set hymap \fi + % set hymap \ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi - % set name + % set name (when coming from babel@aux) \edef\languagename{#1}% \bbl@fixname\languagename - % TODO. name@map must be here? + % define \localename when coming from set@, with a trick + \ifx\scantokens\@undefined + \def\localename{??}% + \else + \bbl@exp{\\\scantokens{\def\\\localename{\languagename}\\\noexpand}\relax}% + \fi \bbl@provide@locale \bbl@iflanguage\languagename{% \let\bbl@select@type\z@ @@ -795,7 +774,7 @@ \def\babel@aux#1#2{% \select@language{#1}% \bbl@foreach\BabelContentsFiles{% \relax -> don't assume vertical mode - \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% TODO - plain? + \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% \def\babel@toc#1#2{% \select@language{#1}} \newif\ifbbl@usedategroup @@ -824,7 +803,7 @@ \csname captions#1\endcsname\relax \fi \bbl@xin@{,date,}{,\bbl@select@opts,}% - \ifin@ % if \foreign... within \<lang>date + \ifin@ % if \foreign... within \<language>date \csname date#1\endcsname\relax \fi \fi @@ -864,6 +843,12 @@ \ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan) \ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font + % hyphenation - save mins + \babel@savevariable\lefthyphenmin + \babel@savevariable\righthyphenmin + \ifnum\bbl@engine=\@ne + \babel@savevariable\hyphenationmin + \fi \ifin@ % unhyphenated/kashida/elongated/padding = allow stretching \language\l@unhyphenated @@ -875,16 +860,18 @@ % other = select patterns \bbl@patterns{#1}% \fi - % hyphenation - mins - \babel@savevariable\lefthyphenmin - \babel@savevariable\righthyphenmin + % hyphenation - set mins \expandafter\ifx\csname #1hyphenmins\endcsname\relax \set@hyphenmins\tw@\thr@@\relax + \@nameuse{bbl@hyphenmins@}% \else \expandafter\expandafter\expandafter\set@hyphenmins \csname #1hyphenmins\endcsname\relax \fi - % reset selector name + \@nameuse{bbl@hyphenmins@}% + \@nameuse{bbl@hyphenmins@\languagename}% + \@nameuse{bbl@hyphenatmin@}% + \@nameuse{bbl@hyphenatmin@\languagename}% \let\bbl@selectorname\@empty} \long\def\otherlanguage#1{% \def\bbl@selectorname{other}% @@ -928,6 +915,9 @@ \BabelText{#2}% Still in vertical mode! {\par}% \endgroup} +\providecommand\BabelWrapText[1]{% + \def\bbl@tempa{\def\BabelText####1}% + \expandafter\bbl@tempa\expandafter{\BabelText{#1}}} \def\foreign@language#1{% % set name \edef\languagename{#1}% @@ -936,6 +926,7 @@ \bbl@usedategroupfalse \fi \bbl@fixname\languagename + \let\localename\languagename % TODO. name@map here? \bbl@provide@locale \bbl@iflanguage\languagename{% @@ -1054,13 +1045,91 @@ preloaded for \bbl@nulllanguage\space instead}} \let\bbl@usehooks\@gobbletwo \ifx\bbl@onlyswitch\@empty\endinput\fi - % Here ended switch.def +\bbl@trace{Defining babelensure} +\newcommand\babelensure[2][]{% + \AddBabelHook{babel-ensure}{afterextras}{% + \ifcase\bbl@select@type + \bbl@cl{e}% + \fi}% + \begingroup + \let\bbl@ens@include\@empty + \let\bbl@ens@exclude\@empty + \def\bbl@ens@fontenc{\relax}% + \def\bbl@tempb##1{% + \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}% + \edef\bbl@tempa{\bbl@tempb#1\@empty}% + \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}% + \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}% + \def\bbl@tempc{\bbl@ensure}% + \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% + \expandafter{\bbl@ens@include}}% + \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% + \expandafter{\bbl@ens@exclude}}% + \toks@\expandafter{\bbl@tempc}% + \bbl@exp{% + \endgroup + \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}} +\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc + \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list + \ifx##1\@undefined % 3.32 - Don't assume the macro exists + \edef##1{\noexpand\bbl@nocaption + {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}% + \fi + \ifx##1\@empty\else + \in@{##1}{#2}% + \ifin@\else + \bbl@ifunset{bbl@ensure@\languagename}% + {\bbl@exp{% + \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{% + \\\foreignlanguage{\languagename}% + {\ifx\relax#3\else + \\\fontencoding{#3}\\\selectfont + \fi + ########1}}}}% + {}% + \toks@\expandafter{##1}% + \edef##1{% + \bbl@csarg\noexpand{ensure@\languagename}% + {\the\toks@}}% + \fi + \expandafter\bbl@tempb + \fi}% + \expandafter\bbl@tempb\bbl@captionslist\today\@empty + \def\bbl@tempa##1{% elt for include list + \ifx##1\@empty\else + \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}% + \ifin@\else + \bbl@tempb##1\@empty + \fi + \expandafter\bbl@tempa + \fi}% + \bbl@tempa#1\@empty} +\def\bbl@captionslist{% + \prefacename\refname\abstractname\bibname\chaptername\appendixname + \contentsname\listfigurename\listtablename\indexname\figurename + \tablename\partname\enclname\ccname\headtoname\pagename\seename + \alsoname\proofname\glossaryname} +\bbl@trace{Short tags} +\newcommand\babeltags[1]{% + \edef\bbl@tempa{\zap@space#1 \@empty}% + \def\bbl@tempb##1=##2\@@{% + \edef\bbl@tempc{% + \noexpand\newcommand + \expandafter\noexpand\csname ##1\endcsname{% + \noexpand\protect + \expandafter\noexpand\csname otherlanguage*\endcsname{##2}} + \noexpand\newcommand + \expandafter\noexpand\csname text##1\endcsname{% + \noexpand\foreignlanguage{##2}}} + \bbl@tempc}% + \bbl@for\bbl@tempa\bbl@tempa{% + \expandafter\bbl@tempb\bbl@tempa\@@}} +\bbl@trace{Compatibility with language.def} \ifx\directlua\@undefined\else \ifx\bbl@luapatterns\@undefined \input luababel.def \fi \fi -\bbl@trace{Compatibility with language.def} \ifx\bbl@languages\@undefined \ifx\directlua\@undefined \openin1 = language.def % TODO. Remove hardcoded number @@ -1093,28 +1162,6 @@ \xdef#1{\the\toks@}}% \fi \fi} -\def\bbl@withactive#1#2{% - \begingroup - \lccode`~=`#2\relax - \lowercase{\endgroup#1~}} -\def\bbl@redefine#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \expandafter\let\csname org@\bbl@tempa\endcsname#1% - \expandafter\def\csname\bbl@tempa\endcsname} -\@onlypreamble\bbl@redefine -\def\bbl@redefine@long#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \expandafter\let\csname org@\bbl@tempa\endcsname#1% - \long\expandafter\def\csname\bbl@tempa\endcsname} -\@onlypreamble\bbl@redefine@long -\def\bbl@redefinerobust#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \bbl@ifunset{\bbl@tempa\space}% - {\expandafter\let\csname org@\bbl@tempa\endcsname#1% - \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}% - {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}% - \@namedef{\bbl@tempa\space}} -\@onlypreamble\bbl@redefinerobust \bbl@trace{Hooks} \newcommand\AddBabelHook[3][]{% \bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}% @@ -1148,70 +1195,8 @@ \def\bbl@tempa#1=#2\@@{\NewHook{babel/#1}} \bbl@foreach\bbl@evargs{\bbl@tempa#1\@@} \fi -\bbl@trace{Defining babelensure} -\newcommand\babelensure[2][]{% - \AddBabelHook{babel-ensure}{afterextras}{% - \ifcase\bbl@select@type - \bbl@cl{e}% - \fi}% - \begingroup - \let\bbl@ens@include\@empty - \let\bbl@ens@exclude\@empty - \def\bbl@ens@fontenc{\relax}% - \def\bbl@tempb##1{% - \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}% - \edef\bbl@tempa{\bbl@tempb#1\@empty}% - \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}% - \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}% - \def\bbl@tempc{\bbl@ensure}% - \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% - \expandafter{\bbl@ens@include}}% - \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% - \expandafter{\bbl@ens@exclude}}% - \toks@\expandafter{\bbl@tempc}% - \bbl@exp{% - \endgroup - \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}} -\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc - \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list - \ifx##1\@undefined % 3.32 - Don't assume the macro exists - \edef##1{\noexpand\bbl@nocaption - {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}% - \fi - \ifx##1\@empty\else - \in@{##1}{#2}% - \ifin@\else - \bbl@ifunset{bbl@ensure@\languagename}% - {\bbl@exp{% - \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{% - \\\foreignlanguage{\languagename}% - {\ifx\relax#3\else - \\\fontencoding{#3}\\\selectfont - \fi - ########1}}}}% - {}% - \toks@\expandafter{##1}% - \edef##1{% - \bbl@csarg\noexpand{ensure@\languagename}% - {\the\toks@}}% - \fi - \expandafter\bbl@tempb - \fi}% - \expandafter\bbl@tempb\bbl@captionslist\today\@empty - \def\bbl@tempa##1{% elt for include list - \ifx##1\@empty\else - \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}% - \ifin@\else - \bbl@tempb##1\@empty - \fi - \expandafter\bbl@tempa - \fi}% - \bbl@tempa#1\@empty} -\def\bbl@captionslist{% - \prefacename\refname\abstractname\bibname\chaptername\appendixname - \contentsname\listfigurename\listtablename\indexname\figurename - \tablename\partname\enclname\ccname\headtoname\pagename\seename - \alsoname\proofname\glossaryname} +\providecommand\PassOptionsToLocale[2]{% + \bbl@csarg\bbl@add@list{passto@#2}{#1}} \bbl@trace{Macros for setting language files up} \def\bbl@ldfinit{% \let\bbl@screset\@empty @@ -1244,7 +1229,7 @@ \catcode`\@=\atcatcode \let\atcatcode\relax \catcode`\==\eqcatcode \let\eqcatcode\relax \endinput} -\def\bbl@afterldf#1{% TODO. Merge into the next macro? Unused elsewhere +\def\bbl@afterldf#1{% \bbl@afterlang \let\bbl@afterlang\relax \let\BabelModifiers\relax @@ -1260,11 +1245,14 @@ \@onlypreamble\ldf@finish \def\main@language#1{% \def\bbl@main@language{#1}% - \let\languagename\bbl@main@language % TODO. Set localename + \let\languagename\bbl@main@language + \let\localename\bbl@main@language + \let\mainlocalename\bbl@main@language \bbl@id@assign \bbl@patterns{\languagename}} \def\bbl@beforestart{% \def\@nolanerr##1{% + \bbl@carg\chardef{l@##1}\z@ \bbl@warning{Undefined language '##1' in aux.\\Reported}}% \bbl@usehooks{beforestart}{}% \global\let\bbl@beforestart\relax} @@ -1272,8 +1260,8 @@ {\@nameuse{bbl@beforestart}}% Group! \if@filesw \providecommand\babel@aux[2]{}% - \immediate\write\@mainaux{% - \string\providecommand\string\babel@aux[2]{}}% + \immediate\write\@mainaux{\unexpanded{% + \providecommand\babel@aux[2]{\global\let\babel@toc\@gobbletwo}}}% \immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}% \fi \expandafter\selectlanguage\expandafter{\bbl@main@language}% @@ -1283,7 +1271,7 @@ \global\let\babel@aux\@gobbletwo % Also as flag \fi} \ifcase\bbl@engine\or - \AtBeginDocument{\pagedir\bodydir} % TODO - a better place + \AtBeginDocument{\pagedir\bodydir} \fi \def\select@language@x#1{% \ifcase\bbl@select@type @@ -1292,6 +1280,10 @@ \select@language{#1}% \fi} \bbl@trace{Shorhands} +\def\bbl@withactive#1#2{% + \begingroup + \lccode`~=`#2\relax + \lowercase{\endgroup#1~}} \def\bbl@add@special#1{% 1:a macro like \", \?, etc. \bbl@add\dospecials{\do#1}% test @sanitize = \relax, for back. compat. \bbl@ifunset{@sanitize}{}{\bbl@add\@sanitize{\@makeother#1}}% @@ -1306,18 +1298,6 @@ \endgroup \fi \fi} -\def\bbl@remove@special#1{% - \begingroup - \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty - \else\noexpand##1\noexpand##2\fi}% - \def\do{\x\do}% - \def\@makeother{\x\@makeother}% - \edef\x{\endgroup - \def\noexpand\dospecials{\dospecials}% - \expandafter\ifx\csname @sanitize\endcsname\relax\else - \def\noexpand\@sanitize{\@sanitize}% - \fi}% - \x} \def\bbl@active@def#1#2#3#4{% \@namedef{#3#1}{% \expandafter\ifx\csname#2@sh@#1@\endcsname\relax @@ -1420,7 +1400,7 @@ \bbl@afterfi\csname#1@sh@#2@sel\endcsname \fi} \begingroup -\bbl@ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain? +\bbl@ifunset{ifincsname}% {\gdef\active@prefix#1{% \ifx\protect\@typeset@protect \else @@ -1461,7 +1441,6 @@ \csname bbl@normal@\string#1\endcsname} \def\bbl@firstcs#1#2{\csname#1\endcsname} \def\bbl@scndcs#1#2{\csname#2\endcsname} - \def\babel@texpdf#1#2#3#4{% \ifx\texorpdfstring\@undefined \textormath{#1}{#3}% @@ -1502,7 +1481,7 @@ \expandafter\@firstoftwo \fi} \def\user@group{user} -\def\language@group{english} % TODO. I don't like defaults +\def\language@group{english} \def\system@group{system} \def\useshorthands{% \@ifstar\bbl@usesh@s{\bbl@usesh@x{}}} @@ -1717,6 +1696,24 @@ \def\babel@savevariable#1{% \toks@\expandafter{\originalTeX #1=}% \bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}} +\def\bbl@redefine#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \expandafter\let\csname org@\bbl@tempa\endcsname#1% + \expandafter\def\csname\bbl@tempa\endcsname} +\@onlypreamble\bbl@redefine +\def\bbl@redefine@long#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \expandafter\let\csname org@\bbl@tempa\endcsname#1% + \long\expandafter\def\csname\bbl@tempa\endcsname} +\@onlypreamble\bbl@redefine@long +\def\bbl@redefinerobust#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \bbl@ifunset{\bbl@tempa\space}% + {\expandafter\let\csname org@\bbl@tempa\endcsname#1% + \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}% + {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}% + \@namedef{\bbl@tempa\space}} +\@onlypreamble\bbl@redefinerobust \def\bbl@frenchspacing{% \ifnum\the\sfcode`\.=\@m \let\bbl@nonfrenchspacing\relax @@ -1753,21 +1750,6 @@ \fi}% \bbl@fs@chars \fi\fi\fi} -\bbl@trace{Short tags} -\def\babeltags#1{% - \edef\bbl@tempa{\zap@space#1 \@empty}% - \def\bbl@tempb##1=##2\@@{% - \edef\bbl@tempc{% - \noexpand\newcommand - \expandafter\noexpand\csname ##1\endcsname{% - \noexpand\protect - \expandafter\noexpand\csname otherlanguage*\endcsname{##2}} - \noexpand\newcommand - \expandafter\noexpand\csname text##1\endcsname{% - \noexpand\foreignlanguage{##2}}} - \bbl@tempc}% - \bbl@for\bbl@tempa\bbl@tempa{% - \expandafter\bbl@tempb\bbl@tempa\@@}} \bbl@trace{Hyphens} \@onlypreamble\babelhyphenation \AtEndOfPackage{% @@ -1794,6 +1776,23 @@ {\csname bbl@hyphenation@\bbl@tempa\endcsname\space}% #2}}}% \fi}} +\ifx\NewDocumentCommand\@undefined\else + \NewDocumentCommand\babelhyphenmins{sommo}{% + \IfNoValueTF{#2}% + {\protected@edef\bbl@hyphenmins@{\set@hyphenmins{#3}{#4}}% + \IfValueT{#5}{% + \protected@edef\bbl@hyphenatmin@{\hyphenationmin=#5\relax}}% + \IfBooleanT{#1}{% + \lefthyphenmin=#3\relax + \righthyphenmin=#4\relax + \IfValueT{#5}{\hyphenationmin=#5\relax}}}% + {\edef\bbl@tempb{\zap@space#2 \@empty}% + \bbl@for\bbl@tempa\bbl@tempb{% + \@namedef{bbl@hyphenmins@\bbl@tempa}{\set@hyphenmins{#3}{#4}}% + \IfValueT{#5}{% + \@namedef{bbl@hyphenatmin@\bbl@tempa}{\hyphenationmin=#5\relax}}}% + \IfBooleanT{#1}{\bbl@error{hyphenmins-args}{}{}{}}}} +\fi \def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi} \def\bbl@t@one{T1} \def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi} @@ -2026,7 +2025,7 @@ \bbl@xin@{,}{\bbl@language@opts}% \chardef\bbl@opt@hyphenmap\ifin@4\else\@ne\fi \fi} -\newcommand\setlocalecaption{% TODO. Catch typos. +\newcommand\setlocalecaption{% \@ifstar\bbl@setcaption@s\bbl@setcaption@x} \def\bbl@setcaption@x#1#2#3{% language caption-name string \bbl@trim@def\bbl@tempa{#2}% diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index 71582e98272..c30933da249 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -32,21 +32,24 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - -\NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{babel}[2024/06/02 v24.6 The Babel package] +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{babel}% + [2024/11/08 v24.13 + The multilingual framework for pdfLaTeX, LuaLaTeX and XeLaTeX] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone \ifx\directlua\@undefined\else - \directlua{ Babel = Babel or {} + \directlua{ + Babel = Babel or {} Babel.debug = true }% \input{babel-debug.tex}% \fi} {\providecommand\bbl@trace[1]{}% \let\bbl@debug\@gobble \ifx\directlua\@undefined\else - \directlua{ Babel = Babel or {} + \directlua{ + Babel = Babel or {} Babel.debug = false }% \fi} \def\bbl@error#1{% Implicit #2#3#4 @@ -308,7 +311,7 @@ #1\ifx\@empty#2\else,\bbl@afterfi\bbl@tempb#2\fi}% \def\bbl@tempe#1=#2\@@{% \bbl@csarg\edef{mod@#1}{\bbl@tempb#2}} -\def\bbl@tempd#1.#2\@nnil{% TODO. Refactor lists? +\def\bbl@tempd#1.#2\@nnil{% \ifx\@empty#2% \edef\bbl@tempc{\ifx\bbl@tempc\@empty\else\bbl@tempc,\fi#1}% \else @@ -317,7 +320,7 @@ \edef\bbl@tempc{% \ifx\bbl@tempc\@empty\else\bbl@tempc,\fi#1.\bbl@tempb#2}% \else - \in@{$modifiers$}{$#1$}% TODO. Allow spaces. + \in@{$modifiers$}{$#1$}% \ifin@ \bbl@tempe#2\@@ \else @@ -344,8 +347,8 @@ \DeclareOption{shorthands=off}{\bbl@tempa shorthands=\bbl@tempa} \chardef\bbl@iniflag\z@ \DeclareOption{provide=*}{\chardef\bbl@iniflag\@ne} % main -> +1 -\DeclareOption{provide+=*}{\chardef\bbl@iniflag\tw@} % add = 2 -\DeclareOption{provide*=*}{\chardef\bbl@iniflag\thr@@} % add + main +\DeclareOption{provide+=*}{\chardef\bbl@iniflag\tw@} % second = 2 +\DeclareOption{provide*=*}{\chardef\bbl@iniflag\thr@@} % second + main \let\bbl@autoload@options\@empty \DeclareOption{provide@=*}{\def\bbl@autoload@options{import}} \newif\ifbbl@single @@ -407,7 +410,6 @@ \in@{,provide,}{,#1,}% \ifin@ \def\bbl@opt@provide{#2}% - \bbl@replace\bbl@opt@provide{;}{,}% \fi} \fi \bbl@trace{Conditional loading of shorthands} @@ -466,8 +468,8 @@ \expandafter\@secondoftwo \fi} \fi -\def\bbl@version{24.6} -\def\bbl@date{2024/06/02} +\def\bbl@version{24.13} +\def\bbl@date{2024/11/08} \ifx\language\@undefined \csname newcount\endcsname\language \fi @@ -547,34 +549,6 @@ \fi \fi\fi} \let\bbl@initoload\relax -\def\bbl@provide@locale{% - \ifx\babelprovide\@undefined - \bbl@error{base-on-the-fly}{}{}{}% - \fi - \let\bbl@auxname\languagename % Still necessary. TODO - \bbl@ifunset{bbl@bcp@map@\languagename}{}% Move uplevel?? - {\edef\languagename{\@nameuse{bbl@bcp@map@\languagename}}}% - \ifbbl@bcpallowed - \expandafter\ifx\csname date\languagename\endcsname\relax - \expandafter - \bbl@bcplookup\languagename-\@empty-\@empty-\@empty\@@ - \ifx\bbl@bcp\relax\else % Returned by \bbl@bcplookup - \edef\languagename{\bbl@bcp@prefix\bbl@bcp}% - \edef\localename{\bbl@bcp@prefix\bbl@bcp}% - \expandafter\ifx\csname date\languagename\endcsname\relax - \let\bbl@initoload\bbl@bcp - \bbl@exp{\\\babelprovide[\bbl@autoload@bcpoptions]{\languagename}}% - \let\bbl@initoload\relax - \fi - \bbl@csarg\xdef{bcp@map@\bbl@bcp}{\localename}% - \fi - \fi - \fi - \expandafter\ifx\csname date\languagename\endcsname\relax - \IfFileExists{babel-\languagename.tex}% - {\bbl@exp{\\\babelprovide[\bbl@autoload@options]{\languagename}}}% - {}% - \fi} \def\iflanguage#1{% \bbl@iflanguage{#1}{% \ifnum\csname l@#1\endcsname=\language @@ -620,10 +594,9 @@ \edef\bbl@id@last{\the\count@}% \ifcase\bbl@engine\or \directlua{ - Babel = Babel or {} - Babel.locale_props = Babel.locale_props or {} Babel.locale_props[\bbl@id@last] = {} Babel.locale_props[\bbl@id@last].name = '\languagename' + Babel.locale_props[\bbl@id@last].vars = {} }% \fi}% {}% @@ -636,30 +609,8 @@ \let\endselectlanguage\relax \def\BabelContentsFiles{toc,lof,lot} \def\bbl@set@language#1{% from selectlanguage, pop@ - % The old buggy way. Preserved for compatibility. - \edef\languagename{% - \ifnum\escapechar=\expandafter`\string#1\@empty - \else\string#1\@empty\fi}% - \ifcat\relax\noexpand#1% - \expandafter\ifx\csname date\languagename\endcsname\relax - \edef\languagename{#1}% - \let\localename\languagename - \else - \bbl@info{Using '\string\language' instead of 'language' is\\% - deprecated. If what you want is to use a\\% - macro containing the actual locale, make\\% - sure it does not not match any language.\\% - Reported}% - \ifx\scantokens\@undefined - \def\localename{??}% - \else - \scantokens\expandafter{\expandafter - \def\expandafter\localename\expandafter{\languagename}}% - \fi - \fi - \else - \def\localename{#1}% This one has the correct catcodes - \fi + % The old buggy way. Preserved for compatibility, but simplified + \edef\languagename{\expandafter\string#1\@empty}% \select@language{\languagename}% % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else @@ -674,18 +625,21 @@ \fi} \let\bbl@restorelastskip\relax \let\bbl@savelastskip\relax -\newif\ifbbl@bcpallowed -\bbl@bcpallowedfalse -\def\select@language#1{% from set@, babel@aux +\def\select@language#1{% from set@, babel@aux, babel@toc \ifx\bbl@selectorname\@empty \def\bbl@selectorname{select}% - % set hymap \fi + % set hymap \ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi - % set name + % set name (when coming from babel@aux) \edef\languagename{#1}% \bbl@fixname\languagename - % TODO. name@map must be here? + % define \localename when coming from set@, with a trick + \ifx\scantokens\@undefined + \def\localename{??}% + \else + \bbl@exp{\\\scantokens{\def\\\localename{\languagename}\\\noexpand}\relax}% + \fi \bbl@provide@locale \bbl@iflanguage\languagename{% \let\bbl@select@type\z@ @@ -693,7 +647,7 @@ \def\babel@aux#1#2{% \select@language{#1}% \bbl@foreach\BabelContentsFiles{% \relax -> don't assume vertical mode - \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% TODO - plain? + \@writefile{##1}{\babel@toc{#1}{#2}\relax}}}% \def\babel@toc#1#2{% \select@language{#1}} \newif\ifbbl@usedategroup @@ -722,7 +676,7 @@ \csname captions#1\endcsname\relax \fi \bbl@xin@{,date,}{,\bbl@select@opts,}% - \ifin@ % if \foreign... within \<lang>date + \ifin@ % if \foreign... within \<language>date \csname date#1\endcsname\relax \fi \fi @@ -762,6 +716,12 @@ \ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan) \ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font + % hyphenation - save mins + \babel@savevariable\lefthyphenmin + \babel@savevariable\righthyphenmin + \ifnum\bbl@engine=\@ne + \babel@savevariable\hyphenationmin + \fi \ifin@ % unhyphenated/kashida/elongated/padding = allow stretching \language\l@unhyphenated @@ -773,16 +733,18 @@ % other = select patterns \bbl@patterns{#1}% \fi - % hyphenation - mins - \babel@savevariable\lefthyphenmin - \babel@savevariable\righthyphenmin + % hyphenation - set mins \expandafter\ifx\csname #1hyphenmins\endcsname\relax \set@hyphenmins\tw@\thr@@\relax + \@nameuse{bbl@hyphenmins@}% \else \expandafter\expandafter\expandafter\set@hyphenmins \csname #1hyphenmins\endcsname\relax \fi - % reset selector name + \@nameuse{bbl@hyphenmins@}% + \@nameuse{bbl@hyphenmins@\languagename}% + \@nameuse{bbl@hyphenatmin@}% + \@nameuse{bbl@hyphenatmin@\languagename}% \let\bbl@selectorname\@empty} \long\def\otherlanguage#1{% \def\bbl@selectorname{other}% @@ -826,6 +788,9 @@ \BabelText{#2}% Still in vertical mode! {\par}% \endgroup} +\providecommand\BabelWrapText[1]{% + \def\bbl@tempa{\def\BabelText####1}% + \expandafter\bbl@tempa\expandafter{\BabelText{#1}}} \def\foreign@language#1{% % set name \edef\languagename{#1}% @@ -834,6 +799,7 @@ \bbl@usedategroupfalse \fi \bbl@fixname\languagename + \let\localename\languagename % TODO. name@map here? \bbl@provide@locale \bbl@iflanguage\languagename{% @@ -952,13 +918,91 @@ preloaded for \bbl@nulllanguage\space instead}} \let\bbl@usehooks\@gobbletwo \ifx\bbl@onlyswitch\@empty\endinput\fi - % Here ended switch.def +\bbl@trace{Defining babelensure} +\newcommand\babelensure[2][]{% + \AddBabelHook{babel-ensure}{afterextras}{% + \ifcase\bbl@select@type + \bbl@cl{e}% + \fi}% + \begingroup + \let\bbl@ens@include\@empty + \let\bbl@ens@exclude\@empty + \def\bbl@ens@fontenc{\relax}% + \def\bbl@tempb##1{% + \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}% + \edef\bbl@tempa{\bbl@tempb#1\@empty}% + \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}% + \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}% + \def\bbl@tempc{\bbl@ensure}% + \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% + \expandafter{\bbl@ens@include}}% + \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% + \expandafter{\bbl@ens@exclude}}% + \toks@\expandafter{\bbl@tempc}% + \bbl@exp{% + \endgroup + \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}} +\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc + \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list + \ifx##1\@undefined % 3.32 - Don't assume the macro exists + \edef##1{\noexpand\bbl@nocaption + {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}% + \fi + \ifx##1\@empty\else + \in@{##1}{#2}% + \ifin@\else + \bbl@ifunset{bbl@ensure@\languagename}% + {\bbl@exp{% + \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{% + \\\foreignlanguage{\languagename}% + {\ifx\relax#3\else + \\\fontencoding{#3}\\\selectfont + \fi + ########1}}}}% + {}% + \toks@\expandafter{##1}% + \edef##1{% + \bbl@csarg\noexpand{ensure@\languagename}% + {\the\toks@}}% + \fi + \expandafter\bbl@tempb + \fi}% + \expandafter\bbl@tempb\bbl@captionslist\today\@empty + \def\bbl@tempa##1{% elt for include list + \ifx##1\@empty\else + \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}% + \ifin@\else + \bbl@tempb##1\@empty + \fi + \expandafter\bbl@tempa + \fi}% + \bbl@tempa#1\@empty} +\def\bbl@captionslist{% + \prefacename\refname\abstractname\bibname\chaptername\appendixname + \contentsname\listfigurename\listtablename\indexname\figurename + \tablename\partname\enclname\ccname\headtoname\pagename\seename + \alsoname\proofname\glossaryname} +\bbl@trace{Short tags} +\newcommand\babeltags[1]{% + \edef\bbl@tempa{\zap@space#1 \@empty}% + \def\bbl@tempb##1=##2\@@{% + \edef\bbl@tempc{% + \noexpand\newcommand + \expandafter\noexpand\csname ##1\endcsname{% + \noexpand\protect + \expandafter\noexpand\csname otherlanguage*\endcsname{##2}} + \noexpand\newcommand + \expandafter\noexpand\csname text##1\endcsname{% + \noexpand\foreignlanguage{##2}}} + \bbl@tempc}% + \bbl@for\bbl@tempa\bbl@tempa{% + \expandafter\bbl@tempb\bbl@tempa\@@}} +\bbl@trace{Compatibility with language.def} \ifx\directlua\@undefined\else \ifx\bbl@luapatterns\@undefined \input luababel.def \fi \fi -\bbl@trace{Compatibility with language.def} \ifx\bbl@languages\@undefined \ifx\directlua\@undefined \openin1 = language.def % TODO. Remove hardcoded number @@ -991,28 +1035,6 @@ \xdef#1{\the\toks@}}% \fi \fi} -\def\bbl@withactive#1#2{% - \begingroup - \lccode`~=`#2\relax - \lowercase{\endgroup#1~}} -\def\bbl@redefine#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \expandafter\let\csname org@\bbl@tempa\endcsname#1% - \expandafter\def\csname\bbl@tempa\endcsname} -\@onlypreamble\bbl@redefine -\def\bbl@redefine@long#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \expandafter\let\csname org@\bbl@tempa\endcsname#1% - \long\expandafter\def\csname\bbl@tempa\endcsname} -\@onlypreamble\bbl@redefine@long -\def\bbl@redefinerobust#1{% - \edef\bbl@tempa{\bbl@stripslash#1}% - \bbl@ifunset{\bbl@tempa\space}% - {\expandafter\let\csname org@\bbl@tempa\endcsname#1% - \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}% - {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}% - \@namedef{\bbl@tempa\space}} -\@onlypreamble\bbl@redefinerobust \bbl@trace{Hooks} \newcommand\AddBabelHook[3][]{% \bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}% @@ -1046,70 +1068,8 @@ \def\bbl@tempa#1=#2\@@{\NewHook{babel/#1}} \bbl@foreach\bbl@evargs{\bbl@tempa#1\@@} \fi -\bbl@trace{Defining babelensure} -\newcommand\babelensure[2][]{% - \AddBabelHook{babel-ensure}{afterextras}{% - \ifcase\bbl@select@type - \bbl@cl{e}% - \fi}% - \begingroup - \let\bbl@ens@include\@empty - \let\bbl@ens@exclude\@empty - \def\bbl@ens@fontenc{\relax}% - \def\bbl@tempb##1{% - \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}% - \edef\bbl@tempa{\bbl@tempb#1\@empty}% - \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}% - \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}% - \def\bbl@tempc{\bbl@ensure}% - \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% - \expandafter{\bbl@ens@include}}% - \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{% - \expandafter{\bbl@ens@exclude}}% - \toks@\expandafter{\bbl@tempc}% - \bbl@exp{% - \endgroup - \def\<bbl@e@#2>{\the\toks@{\bbl@ens@fontenc}}}} -\def\bbl@ensure#1#2#3{% 1: include 2: exclude 3: fontenc - \def\bbl@tempb##1{% elt for (excluding) \bbl@captionslist list - \ifx##1\@undefined % 3.32 - Don't assume the macro exists - \edef##1{\noexpand\bbl@nocaption - {\bbl@stripslash##1}{\languagename\bbl@stripslash##1}}% - \fi - \ifx##1\@empty\else - \in@{##1}{#2}% - \ifin@\else - \bbl@ifunset{bbl@ensure@\languagename}% - {\bbl@exp{% - \\\DeclareRobustCommand\<bbl@ensure@\languagename>[1]{% - \\\foreignlanguage{\languagename}% - {\ifx\relax#3\else - \\\fontencoding{#3}\\\selectfont - \fi - ########1}}}}% - {}% - \toks@\expandafter{##1}% - \edef##1{% - \bbl@csarg\noexpand{ensure@\languagename}% - {\the\toks@}}% - \fi - \expandafter\bbl@tempb - \fi}% - \expandafter\bbl@tempb\bbl@captionslist\today\@empty - \def\bbl@tempa##1{% elt for include list - \ifx##1\@empty\else - \bbl@csarg\in@{ensure@\languagename\expandafter}\expandafter{##1}% - \ifin@\else - \bbl@tempb##1\@empty - \fi - \expandafter\bbl@tempa - \fi}% - \bbl@tempa#1\@empty} -\def\bbl@captionslist{% - \prefacename\refname\abstractname\bibname\chaptername\appendixname - \contentsname\listfigurename\listtablename\indexname\figurename - \tablename\partname\enclname\ccname\headtoname\pagename\seename - \alsoname\proofname\glossaryname} +\providecommand\PassOptionsToLocale[2]{% + \bbl@csarg\bbl@add@list{passto@#2}{#1}} \bbl@trace{Macros for setting language files up} \def\bbl@ldfinit{% \let\bbl@screset\@empty @@ -1142,7 +1102,7 @@ \catcode`\@=\atcatcode \let\atcatcode\relax \catcode`\==\eqcatcode \let\eqcatcode\relax \endinput} -\def\bbl@afterldf#1{% TODO. Merge into the next macro? Unused elsewhere +\def\bbl@afterldf#1{% \bbl@afterlang \let\bbl@afterlang\relax \let\BabelModifiers\relax @@ -1158,11 +1118,14 @@ \@onlypreamble\ldf@finish \def\main@language#1{% \def\bbl@main@language{#1}% - \let\languagename\bbl@main@language % TODO. Set localename + \let\languagename\bbl@main@language + \let\localename\bbl@main@language + \let\mainlocalename\bbl@main@language \bbl@id@assign \bbl@patterns{\languagename}} \def\bbl@beforestart{% \def\@nolanerr##1{% + \bbl@carg\chardef{l@##1}\z@ \bbl@warning{Undefined language '##1' in aux.\\Reported}}% \bbl@usehooks{beforestart}{}% \global\let\bbl@beforestart\relax} @@ -1170,30 +1133,18 @@ {\@nameuse{bbl@beforestart}}% Group! \if@filesw \providecommand\babel@aux[2]{}% - \immediate\write\@mainaux{% - \string\providecommand\string\babel@aux[2]{}}% + \immediate\write\@mainaux{\unexpanded{% + \providecommand\babel@aux[2]{\global\let\babel@toc\@gobbletwo}}}% \immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}% \fi \expandafter\selectlanguage\expandafter{\bbl@main@language}% - \ifx\bbl@normalsf\@empty - \ifnum\sfcode`\.=\@m - \let\normalsfcodes\frenchspacing - \else - \let\normalsfcodes\nonfrenchspacing - \fi - \else - \let\normalsfcodes\bbl@normalsf - \fi \ifbbl@single % must go after the line above. \renewcommand\selectlanguage[1]{}% \renewcommand\foreignlanguage[2]{#2}% \global\let\babel@aux\@gobbletwo % Also as flag \fi} -\AddToHook{begindocument/before}{% - \let\bbl@normalsf\normalsfcodes - \let\normalsfcodes\relax} % Hack, to delay the setting \ifcase\bbl@engine\or - \AtBeginDocument{\pagedir\bodydir} % TODO - a better place + \AtBeginDocument{\pagedir\bodydir} \fi \def\select@language@x#1{% \ifcase\bbl@select@type @@ -1202,6 +1153,10 @@ \select@language{#1}% \fi} \bbl@trace{Shorhands} +\def\bbl@withactive#1#2{% + \begingroup + \lccode`~=`#2\relax + \lowercase{\endgroup#1~}} \def\bbl@add@special#1{% 1:a macro like \", \?, etc. \bbl@add\dospecials{\do#1}% test @sanitize = \relax, for back. compat. \bbl@ifunset{@sanitize}{}{\bbl@add\@sanitize{\@makeother#1}}% @@ -1216,18 +1171,6 @@ \endgroup \fi \fi} -\def\bbl@remove@special#1{% - \begingroup - \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty - \else\noexpand##1\noexpand##2\fi}% - \def\do{\x\do}% - \def\@makeother{\x\@makeother}% - \edef\x{\endgroup - \def\noexpand\dospecials{\dospecials}% - \expandafter\ifx\csname @sanitize\endcsname\relax\else - \def\noexpand\@sanitize{\@sanitize}% - \fi}% - \x} \def\bbl@active@def#1#2#3#4{% \@namedef{#3#1}{% \expandafter\ifx\csname#2@sh@#1@\endcsname\relax @@ -1330,7 +1273,7 @@ \bbl@afterfi\csname#1@sh@#2@sel\endcsname \fi} \begingroup -\bbl@ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain? +\bbl@ifunset{ifincsname}% {\gdef\active@prefix#1{% \ifx\protect\@typeset@protect \else @@ -1371,7 +1314,6 @@ \csname bbl@normal@\string#1\endcsname} \def\bbl@firstcs#1#2{\csname#1\endcsname} \def\bbl@scndcs#1#2{\csname#2\endcsname} - \def\babel@texpdf#1#2#3#4{% \ifx\texorpdfstring\@undefined \textormath{#1}{#3}% @@ -1412,7 +1354,7 @@ \expandafter\@firstoftwo \fi} \def\user@group{user} -\def\language@group{english} % TODO. I don't like defaults +\def\language@group{english} \def\system@group{system} \def\useshorthands{% \@ifstar\bbl@usesh@s{\bbl@usesh@x{}}} @@ -1627,6 +1569,24 @@ \def\babel@savevariable#1{% \toks@\expandafter{\originalTeX #1=}% \bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}} +\def\bbl@redefine#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \expandafter\let\csname org@\bbl@tempa\endcsname#1% + \expandafter\def\csname\bbl@tempa\endcsname} +\@onlypreamble\bbl@redefine +\def\bbl@redefine@long#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \expandafter\let\csname org@\bbl@tempa\endcsname#1% + \long\expandafter\def\csname\bbl@tempa\endcsname} +\@onlypreamble\bbl@redefine@long +\def\bbl@redefinerobust#1{% + \edef\bbl@tempa{\bbl@stripslash#1}% + \bbl@ifunset{\bbl@tempa\space}% + {\expandafter\let\csname org@\bbl@tempa\endcsname#1% + \bbl@exp{\def\\#1{\\\protect\<\bbl@tempa\space>}}}% + {\bbl@exp{\let\<org@\bbl@tempa>\<\bbl@tempa\space>}}% + \@namedef{\bbl@tempa\space}} +\@onlypreamble\bbl@redefinerobust \def\bbl@frenchspacing{% \ifnum\the\sfcode`\.=\@m \let\bbl@nonfrenchspacing\relax @@ -1663,21 +1623,6 @@ \fi}% \bbl@fs@chars \fi\fi\fi} -\bbl@trace{Short tags} -\def\babeltags#1{% - \edef\bbl@tempa{\zap@space#1 \@empty}% - \def\bbl@tempb##1=##2\@@{% - \edef\bbl@tempc{% - \noexpand\newcommand - \expandafter\noexpand\csname ##1\endcsname{% - \noexpand\protect - \expandafter\noexpand\csname otherlanguage*\endcsname{##2}} - \noexpand\newcommand - \expandafter\noexpand\csname text##1\endcsname{% - \noexpand\foreignlanguage{##2}}} - \bbl@tempc}% - \bbl@for\bbl@tempa\bbl@tempa{% - \expandafter\bbl@tempb\bbl@tempa\@@}} \bbl@trace{Hyphens} \@onlypreamble\babelhyphenation \AtEndOfPackage{% @@ -1704,6 +1649,23 @@ {\csname bbl@hyphenation@\bbl@tempa\endcsname\space}% #2}}}% \fi}} +\ifx\NewDocumentCommand\@undefined\else + \NewDocumentCommand\babelhyphenmins{sommo}{% + \IfNoValueTF{#2}% + {\protected@edef\bbl@hyphenmins@{\set@hyphenmins{#3}{#4}}% + \IfValueT{#5}{% + \protected@edef\bbl@hyphenatmin@{\hyphenationmin=#5\relax}}% + \IfBooleanT{#1}{% + \lefthyphenmin=#3\relax + \righthyphenmin=#4\relax + \IfValueT{#5}{\hyphenationmin=#5\relax}}}% + {\edef\bbl@tempb{\zap@space#2 \@empty}% + \bbl@for\bbl@tempa\bbl@tempb{% + \@namedef{bbl@hyphenmins@\bbl@tempa}{\set@hyphenmins{#3}{#4}}% + \IfValueT{#5}{% + \@namedef{bbl@hyphenatmin@\bbl@tempa}{\hyphenationmin=#5\relax}}}% + \IfBooleanT{#1}{\bbl@error{hyphenmins-args}{}{}{}}}} +\fi \def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi} \def\bbl@t@one{T1} \def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi} @@ -1936,7 +1898,7 @@ \bbl@xin@{,}{\bbl@language@opts}% \chardef\bbl@opt@hyphenmap\ifin@4\else\@ne\fi \fi} -\newcommand\setlocalecaption{% TODO. Catch typos. +\newcommand\setlocalecaption{% \@ifstar\bbl@setcaption@s\bbl@setcaption@x} \def\bbl@setcaption@x#1#2#3{% language caption-name string \bbl@trim@def\bbl@tempa{#2}% @@ -2169,39 +2131,6 @@ \fi \bbl@trace{Bidi layout} \providecommand\IfBabelLayout[3]{#3}% -\newcommand\BabelPatchSection[1]{% - \@ifundefined{#1}{}{% - \bbl@exp{\let\<bbl@ss@#1>\<#1>}% - \@namedef{#1}{% - \@ifstar{\bbl@presec@s{#1}}% - {\@dblarg{\bbl@presec@x{#1}}}}}} -\def\bbl@presec@x#1[#2]#3{% - \bbl@exp{% - \\\select@language@x{\bbl@main@language}% - \\\bbl@cs{sspre@#1}% - \\\bbl@cs{ss@#1}% - [\\\foreignlanguage{\languagename}{\unexpanded{#2}}]% - {\\\foreignlanguage{\languagename}{\unexpanded{#3}}}% - \\\select@language@x{\languagename}}} -\def\bbl@presec@s#1#2{% - \bbl@exp{% - \\\select@language@x{\bbl@main@language}% - \\\bbl@cs{sspre@#1}% - \\\bbl@cs{ss@#1}*% - {\\\foreignlanguage{\languagename}{\unexpanded{#2}}}% - \\\select@language@x{\languagename}}} -\IfBabelLayout{sectioning}% - {\BabelPatchSection{part}% - \BabelPatchSection{chapter}% - \BabelPatchSection{section}% - \BabelPatchSection{subsection}% - \BabelPatchSection{subsubsection}% - \BabelPatchSection{paragraph}% - \BabelPatchSection{subparagraph}% - \def\babel@toc#1{% - \select@language@x{\bbl@main@language}}}{} -\IfBabelLayout{captions}% - {\BabelPatchSection{caption}}{} \bbl@trace{Input engine specific macros} \ifcase\bbl@engine \input txtbabel.def @@ -2229,7 +2158,7 @@ \bbl@vforeach{captions,date,import,main,script,language,% hyphenrules,linebreaking,justification,mapfont,maparabic,% mapdigits,intraspace,intrapenalty,onchar,transforms,alph,% - Alph,labels,labels*,calendar,date,casing,interchar}% + Alph,labels,labels*,calendar,date,casing,interchar,@import}% {\bbl@csarg\let{KVP@##1}\@nnil}% \global\let\bbl@release@transforms\@empty \global\let\bbl@release@casing\@empty @@ -2238,7 +2167,10 @@ \global\let\bbl@extend@ini\@gobble \global\let\bbl@included@inis\@empty \gdef\bbl@key@list{;}% - \bbl@forkv{#1}{% + \bbl@ifunset{bbl@passto@#2}% + {\def\bbl@tempa{#1}}% + {\bbl@exp{\def\\\bbl@tempa{\[bbl@passto@#2],\unexpanded{#1}}}}% + \expandafter\bbl@forkv\expandafter{\bbl@tempa}{% \in@{/}{##1}% With /, (re)sets a value in the ini \ifin@ \global\let\bbl@extend@ini\bbl@extend@ini@aux @@ -2255,6 +2187,10 @@ \ifx\bbl@screset\@undefined \bbl@ldfinit \fi + % == + \ifx\bbl@KVP@@import\@nnil\else \ifx\bbl@KVP@import\@nnil + \def\bbl@KVP@import{\@empty}% + \fi\fi % == date (as option) == % \ifx\bbl@KVP@date\@nnil\else % \fi @@ -2284,7 +2220,7 @@ {}% \let\bbl@KVP@date\@empty \fi - \let\bbl@KVP@captions@@\bbl@KVP@captions % TODO. A dirty hack + \let\bbl@KVP@captions@@\bbl@KVP@captions \ifx\bbl@KVP@captions\@nnil \let\bbl@KVP@captions\bbl@KVP@import \fi @@ -2344,122 +2280,12 @@ {\directlua{ Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}% \fi - % == onchar == - \ifx\bbl@KVP@onchar\@nnil\else - \bbl@luahyphenate - \bbl@exp{% - \\\AddToHook{env/document/before}{{\\\select@language{#2}{}}}}% - \directlua{ - if Babel.locale_mapped == nil then - Babel.locale_mapped = true - Babel.linebreaking.add_before(Babel.locale_map, 1) - Babel.loc_to_scr = {} - Babel.chr_to_loc = Babel.chr_to_loc or {} - end - Babel.locale_props[\the\localeid].letters = false - }% - \bbl@xin@{ letters }{ \bbl@KVP@onchar\space}% - \ifin@ - \directlua{ - Babel.locale_props[\the\localeid].letters = true - }% - \fi - \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}% - \ifin@ - \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection - \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}% - \fi - \bbl@exp{\\\bbl@add\\\bbl@starthyphens - {\\\bbl@patterns@lua{\languagename}}}% - % TODO - error/warning if no script - \directlua{ - if Babel.script_blocks['\bbl@cl{sbcp}'] then - Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cl{sbcp}'] - Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space - end - }% - \fi - \bbl@xin@{ fonts }{ \bbl@KVP@onchar\space}% - \ifin@ - \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% - \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}% - \directlua{ - if Babel.script_blocks['\bbl@cl{sbcp}'] then - Babel.loc_to_scr[\the\localeid] = - Babel.script_blocks['\bbl@cl{sbcp}'] - end}% - \ifx\bbl@mapselect\@undefined % TODO. almost the same as mapfont - \AtBeginDocument{% - \bbl@patchfont{{\bbl@mapselect}}% - {\selectfont}}% - \def\bbl@mapselect{% - \let\bbl@mapselect\relax - \edef\bbl@prefontid{\fontid\font}}% - \def\bbl@mapdir##1{% - \begingroup - \setbox\z@\hbox{% Force text mode - \def\languagename{##1}% - \let\bbl@ifrestoring\@firstoftwo % To avoid font warning - \bbl@switchfont - \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack - \directlua{ - Babel.locale_props[\the\csname bbl@id@@##1\endcsname]% - ['/\bbl@prefontid'] = \fontid\font\space}% - \fi}% - \endgroup}% - \fi - \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% - \fi - % TODO - catch non-valid values - \fi - % == mapfont == - % For bidi texts, to switch the font based on direction - \ifx\bbl@KVP@mapfont\@nnil\else - \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}% - {\bbl@error{unknown-mapfont}{}{}{}}% - \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% - \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}% - \ifx\bbl@mapselect\@undefined % TODO. See onchar. - \AtBeginDocument{% - \bbl@patchfont{{\bbl@mapselect}}% - {\selectfont}}% - \def\bbl@mapselect{% - \let\bbl@mapselect\relax - \edef\bbl@prefontid{\fontid\font}}% - \def\bbl@mapdir##1{% - {\def\languagename{##1}% - \let\bbl@ifrestoring\@firstoftwo % avoid font warning - \bbl@switchfont - \directlua{Babel.fontmap - [\the\csname bbl@wdir@##1\endcsname]% - [\bbl@prefontid]=\fontid\font}}}% - \fi - \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% - \fi % == Line breaking: intraspace, intrapenalty == % For CJK, East Asian, Southeast Asian, if interspace in ini \ifx\bbl@KVP@intraspace\@nnil\else % We can override the ini or set \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}% \fi \bbl@provide@intraspace - % == Line breaking: CJK quotes == TODO -> @extras - \ifcase\bbl@engine\or - \bbl@xin@{/c}{/\bbl@cl{lnbrk}}% - \ifin@ - \bbl@ifunset{bbl@quote@\languagename}{}% - {\directlua{ - Babel.locale_props[\the\localeid].cjk_quotes = {} - local cs = 'op' - for c in string.utfvalues(% - [[\csname bbl@quote@\languagename\endcsname]]) do - if Babel.cjk_characters[c].c == 'qu' then - Babel.locale_props[\the\localeid].cjk_quotes[c] = cs - end - cs = ( cs == 'op') and 'cl' or 'op' - end - }}% - \fi - \fi % == Line breaking: justification == \ifx\bbl@KVP@justification\@nnil\else \let\bbl@KVP@linebreaking\bbl@KVP@justification @@ -2475,6 +2301,7 @@ \bbl@xin@{/e}{/\bbl@cl{lnbrk}}% \ifin@\else\bbl@xin@{/k}{/\bbl@cl{lnbrk}}\fi \ifin@\bbl@arabicjust\fi + % WIP \bbl@xin@{/p}{/\bbl@cl{lnbrk}}% \ifin@\AtBeginDocument{\@nameuse{bbl@tibetanjust}}\fi % == Line breaking: hyphenate.other.(locale|script) == @@ -3193,17 +3020,32 @@ \ifx\bbl@savetoday\@empty \bbl@exp{% TODO. Move to a better place. \\\AfterBabelCommands{% - \def\<\languagename date>{\\\protect\<\languagename date >}% - \\\newcommand\<\languagename date >[4][]{% - \\\bbl@usedategrouptrue - \<bbl@ensure@\languagename>{% - \\\localedate[####1]{####2}{####3}{####4}}}}% + \gdef\<\languagename date>{\\\protect\<\languagename date >}% + \gdef\<\languagename date >{\\\bbl@printdate{\languagename}}}% \def\\\bbl@savetoday{% \\\SetString\\\today{% \<\languagename date>[convert]% {\\\the\year}{\\\the\month}{\\\the\day}}}}% \fi}% {}}} +\def\bbl@printdate#1{% + \@ifnextchar[{\bbl@printdate@i{#1}}{\bbl@printdate@i{#1}[]}} +\def\bbl@printdate@i#1[#2]#3#4#5{% + \bbl@usedategrouptrue + \@nameuse{bbl@ensure@#1}{\localedate[#2]{#3}{#4}{#5}}} +\AddToHook{begindocument/before}{% + \let\bbl@normalsf\normalsfcodes + \let\normalsfcodes\relax} +\AtBeginDocument{% + \ifx\bbl@normalsf\@empty + \ifnum\sfcode`\.=\@m + \let\normalsfcodes\frenchspacing + \else + \let\normalsfcodes\nonfrenchspacing + \fi + \else + \let\normalsfcodes\bbl@normalsf + \fi} \let\bbl@calendar\@empty \newcommand\babelcalendar[2][\the\year-\the\month-\the\day]{% \@nameuse{bbl@ca@#2}#1\@@} @@ -3251,7 +3093,7 @@ \bbl@csarg\let{inikv@transforms.posthyphenation}\bbl@inikv \def\bbl@transforms@aux#1#2#3#4,#5\relax{% #1[#2]{#3}{#4}{#5}} -\begingroup % A hack. TODO. Don't require an specific order +\begingroup % A hack. TODO. Don't require a specific order \catcode`\%=12 \catcode`\&=14 \gdef\bbl@transforms#1#2#3{&% @@ -3421,58 +3263,17 @@ {\bbl@cs{cntr@#1.F.\number#5#6#7#8@\languagename}}} \def\bbl@alphnum@invalid#1{% \bbl@error{alphabetic-too-large}{#1}{}{}} -\def\bbl@localeinfo#1#2{% - \bbl@ifunset{bbl@info@#2}{#1}% - {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}% - {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}} -\newcommand\localeinfo[1]{% - \ifx*#1\@empty % TODO. A bit hackish to make it expandable. - \bbl@afterelse\bbl@localeinfo{}% - \else - \bbl@localeinfo - {\bbl@error{no-ini-info}{}{}{}}% - {#1}% - \fi} -\@namedef{bbl@info@tag.ini}{lini} -\@namedef{bbl@info@name.english}{elname} -\@namedef{bbl@info@name.opentype}{lname} -\@namedef{bbl@info@tag.bcp47}{tbcp} -\@namedef{bbl@info@language.tag.bcp47}{lbcp} -\@namedef{bbl@info@tag.opentype}{lotf} -\@namedef{bbl@info@script.name}{esname} -\@namedef{bbl@info@script.name.opentype}{sname} -\@namedef{bbl@info@script.tag.bcp47}{sbcp} -\@namedef{bbl@info@script.tag.opentype}{sotf} -\@namedef{bbl@info@region.tag.bcp47}{rbcp} -\@namedef{bbl@info@variant.tag.bcp47}{vbcp} -\@namedef{bbl@info@extension.t.tag.bcp47}{extt} -\@namedef{bbl@info@extension.u.tag.bcp47}{extu} -\@namedef{bbl@info@extension.x.tag.bcp47}{extx} -\ifcase\bbl@engine % Converts utf8 to its code (expandable) - \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax} -\else - \def\bbl@utftocode#1{\expandafter`\string#1} -\fi -\providecommand\BCPdata{} -\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix - \renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty} - \def\bbl@bcpdata@i#1#2#3#4#5#6\@empty{% - \@nameuse{str_if_eq:nnTF}{#1#2#3#4#5}{main.}% - {\bbl@bcpdata@ii{#6}\bbl@main@language}% - {\bbl@bcpdata@ii{#1#2#3#4#5#6}\languagename}}% - \def\bbl@bcpdata@ii#1#2{% - \bbl@ifunset{bbl@info@#1.tag.bcp47}% - {\bbl@error{unknown-ini-field}{#1}{}{}}% - {\bbl@ifunset{bbl@\csname bbl@info@#1.tag.bcp47\endcsname @#2}{}% - {\bbl@cs{\csname bbl@info@#1.tag.bcp47\endcsname @#2}}}} -\fi -\@namedef{bbl@info@casing.tag.bcp47}{casing} \newcommand\BabelUppercaseMapping[3]{% \DeclareUppercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}} \newcommand\BabelTitlecaseMapping[3]{% \DeclareTitlecaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}} \newcommand\BabelLowercaseMapping[3]{% \DeclareLowercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}} +\ifcase\bbl@engine % Converts utf8 to its code (expandable) + \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax} +\else + \def\bbl@utftocode#1{\expandafter`\string#1} +\fi \def\bbl@casemapping#1#2#3{% 1:variant \def\bbl@tempa##1 ##2{% Loop \bbl@casemapping@i{##1}% @@ -3507,6 +3308,33 @@ \DeclareTitlecaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}% \fi \fi} +\def\bbl@localeinfo#1#2{% + \bbl@ifunset{bbl@info@#2}{#1}% + {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}% + {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}} +\newcommand\localeinfo[1]{% + \ifx*#1\@empty % TODO. A bit hackish to make it expandable. + \bbl@afterelse\bbl@localeinfo{}% + \else + \bbl@localeinfo + {\bbl@error{no-ini-info}{}{}{}}% + {#1}% + \fi} +\@namedef{bbl@info@tag.ini}{lini} +\@namedef{bbl@info@name.english}{elname} +\@namedef{bbl@info@name.opentype}{lname} +\@namedef{bbl@info@tag.bcp47}{tbcp} +\@namedef{bbl@info@language.tag.bcp47}{lbcp} +\@namedef{bbl@info@tag.opentype}{lotf} +\@namedef{bbl@info@script.name}{esname} +\@namedef{bbl@info@script.name.opentype}{sname} +\@namedef{bbl@info@script.tag.bcp47}{sbcp} +\@namedef{bbl@info@script.tag.opentype}{sotf} +\@namedef{bbl@info@region.tag.bcp47}{rbcp} +\@namedef{bbl@info@variant.tag.bcp47}{vbcp} +\@namedef{bbl@info@extension.t.tag.bcp47}{extt} +\@namedef{bbl@info@extension.u.tag.bcp47}{extu} +\@namedef{bbl@info@extension.x.tag.bcp47}{extx} \let\bbl@ensureinfo\@gobble \newcommand\BabelEnsureInfo{% \ifx\InputIfFileExists\@undefined\else @@ -3543,6 +3371,50 @@ \def\bbl@elt##1##2##3{\typeout{##1/##2 = ##3}}% \@nameuse{bbl@inidata@#1}% \typeout{*******}} +\newif\ifbbl@bcpallowed +\bbl@bcpallowedfalse +\def\bbl@provide@locale{% + \ifx\babelprovide\@undefined + \bbl@error{base-on-the-fly}{}{}{}% + \fi + \let\bbl@auxname\languagename % Still necessary. + \bbl@ifunset{bbl@bcp@map@\languagename}{}% Move uplevel?? + {\edef\languagename{\@nameuse{bbl@bcp@map@\languagename}}}% + \ifbbl@bcpallowed + \expandafter\ifx\csname date\languagename\endcsname\relax + \expandafter + \bbl@bcplookup\languagename-\@empty-\@empty-\@empty\@@ + \ifx\bbl@bcp\relax\else % Returned by \bbl@bcplookup + \edef\languagename{\bbl@bcp@prefix\bbl@bcp}% + \edef\localename{\bbl@bcp@prefix\bbl@bcp}% + \expandafter\ifx\csname date\languagename\endcsname\relax + \let\bbl@initoload\bbl@bcp + \bbl@exp{\\\babelprovide[\bbl@autoload@bcpoptions]{\languagename}}% + \let\bbl@initoload\relax + \fi + \bbl@csarg\xdef{bcp@map@\bbl@bcp}{\localename}% + \fi + \fi + \fi + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\bbl@exp{\\\babelprovide[\bbl@autoload@options]{\languagename}}}% + {}% + \fi} +\providecommand\BCPdata{} +\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix + \renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty} + \def\bbl@bcpdata@i#1#2#3#4#5#6\@empty{% + \@nameuse{str_if_eq:nnTF}{#1#2#3#4#5}{main.}% + {\bbl@bcpdata@ii{#6}\bbl@main@language}% + {\bbl@bcpdata@ii{#1#2#3#4#5#6}\languagename}}% + \def\bbl@bcpdata@ii#1#2{% + \bbl@ifunset{bbl@info@#1.tag.bcp47}% + {\bbl@error{unknown-ini-field}{#1}{}{}}% + {\bbl@ifunset{bbl@\csname bbl@info@#1.tag.bcp47\endcsname @#2}{}% + {\bbl@cs{\csname bbl@info@#1.tag.bcp47\endcsname @#2}}}} +\fi +\@namedef{bbl@info@casing.tag.bcp47}{casing} \newcommand\babeladjust[1]{% TODO. Error handling. \bbl@forkv{#1}{% \bbl@ifunset{bbl@ADJ@##1@##2}% @@ -3757,6 +3629,39 @@ \let\org@bibcite\bibcite \let\org@@bibitem\@bibitem \fi +\newcommand\BabelPatchSection[1]{% + \@ifundefined{#1}{}{% + \bbl@exp{\let\<bbl@ss@#1>\<#1>}% + \@namedef{#1}{% + \@ifstar{\bbl@presec@s{#1}}% + {\@dblarg{\bbl@presec@x{#1}}}}}} +\def\bbl@presec@x#1[#2]#3{% + \bbl@exp{% + \\\select@language@x{\bbl@main@language}% + \\\bbl@cs{sspre@#1}% + \\\bbl@cs{ss@#1}% + [\\\foreignlanguage{\languagename}{\unexpanded{#2}}]% + {\\\foreignlanguage{\languagename}{\unexpanded{#3}}}% + \\\select@language@x{\languagename}}} +\def\bbl@presec@s#1#2{% + \bbl@exp{% + \\\select@language@x{\bbl@main@language}% + \\\bbl@cs{sspre@#1}% + \\\bbl@cs{ss@#1}*% + {\\\foreignlanguage{\languagename}{\unexpanded{#2}}}% + \\\select@language@x{\languagename}}} +\IfBabelLayout{sectioning}% + {\BabelPatchSection{part}% + \BabelPatchSection{chapter}% + \BabelPatchSection{section}% + \BabelPatchSection{subsection}% + \BabelPatchSection{subsubsection}% + \BabelPatchSection{paragraph}% + \BabelPatchSection{subparagraph}% + \def\babel@toc#1{% + \select@language@x{\bbl@main@language}}}{} +\IfBabelLayout{captions}% + {\BabelPatchSection{caption}}{} \bbl@trace{Marks} \IfBabelLayout{sectioning} {\ifx\bbl@opt@headfoot\@nnil @@ -3932,8 +3837,8 @@ \def\bbl@patchfont#1{\AddToHook{selectfont}{#1}} \bbl@trace{Loading basic (internal) bidi support} \ifodd\bbl@engine -\else % TODO. Move to txtbabel - \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200 % Any xe+lua bidi= +\else % TODO. Move to txtbabel. Any xe+lua bidi + \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200 \bbl@error{bidi-only-lua}{}{}{}% \let\bbl@beforeforeign\leavevmode \AtEndOfPackage{% @@ -3944,7 +3849,9 @@ \ifx\RTLfootnotetext\@undefined \AtEndOfPackage{% \EnableBabelHook{babel-bidi}% - \bbl@loadfontspec % bidi needs fontspec + \ifx\fontspec\@undefined + \usepackage{fontspec}% bidi needs fontspec + \fi \usepackage#1{bidi}% \let\bbl@digitsdotdash\DigitsDotDashInterCharToks \def\DigitsDotDashInterCharToks{% See the 'bidi' package @@ -3978,13 +3885,13 @@ \fi \bbl@trace{Macros to switch the text direction} \def\bbl@alscripts{,Arabic,Syriac,Thaana,} -\def\bbl@rscripts{% TODO. Base on codes ?? - ,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,% - Old Hungarian,Lydian,Mandaean,Manichaean,% - Meroitic Cursive,Meroitic,Old North Arabian,% - Nabataean,N'Ko,Orkhon,Palmyrene,Inscriptional Pahlavi,% - Psalter Pahlavi,Phoenician,Inscriptional Parthian,Samaritan,% - Old South Arabian,}% +\def\bbl@rscripts{% + ,Garay,Todhri,Imperial Aramaic,Avestan,Cypriot,Elymaic,Hatran,Hebrew,% + Old Hungarian,Kharoshthi,Lydian,Mandaean,Manichaean,Mende Kikakui,% + Meroitic Cursive,Meroitic,Old North Arabian,Nabataean,N'Ko,% + Old Turkic,Orkhon,Palmyrene,Inscriptional Pahlavi,Psalter Pahlavi,% + Phoenician,Inscriptional Parthian,Hanifi,Samaritan,Old Sogdian,% + Old South Arabian,Yezidi,}% \def\bbl@provide@dirs#1{% \bbl@xin@{\csname bbl@sname@#1\endcsname}{\bbl@alscripts\bbl@rscripts}% \ifin@ @@ -4015,8 +3922,10 @@ \bbl@pardir{#1}% <- Must precede \bbl@textdir \fi \bbl@textdir{#1}} -\AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} -\DisableBabelHook{babel-bidi} +\ifnum\bbl@bidimode>\z@ + \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} + \DisableBabelHook{babel-bidi} +\fi \ifodd\bbl@engine % luatex=1 \else % pdftex=0, xetex=2 \newcount\bbl@dirlevel @@ -4072,19 +3981,15 @@ \else {\setbox\z@\lastbox\beginR\box\z@}% \fi}% - \let\bbl@severypar\everypar - \newtoks\everypar - \everypar=\bbl@severypar - \bbl@severypar{\bbl@xeeverypar\the\everypar}} + \AddToHook{para/begin}{\bbl@xeeverypar}} \ifnum\bbl@bidimode>200 % Any xe bidi= \let\bbl@textdir@i\@gobbletwo \let\bbl@xebidipar\@empty \AddBabelHook{bidi}{foreign}{% - \def\bbl@tempa{\def\BabelText####1}% \ifcase\bbl@thetextdir - \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}% + \BabelWrapText{\LR{##1}}% \else - \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}% + \BabelWrapText{\RL{##1}}% \fi} \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi} \fi @@ -4132,6 +4037,7 @@ \IfFileExists{\CurrentOption.ldf}% {\bbl@load@language{\CurrentOption}}% {#1\bbl@load@language{#2}#3}} +\DeclareOption{friulian}{\bbl@try@load@lang{}{friulan}{}} \DeclareOption{hebrew}{% \ifcase\bbl@engine\or \bbl@error{only-pdftex-lang}{hebrew}{luatex}{}% @@ -4159,10 +4065,16 @@ *}}% {\bbl@error{config-not-found}{}{}{}}% \fi +\def\bbl@tempf{,} +\bbl@foreach\@raw@classoptionslist{% + \in@{=}{#1}% + \ifin@\else + \edef\bbl@tempf{\bbl@tempf\zap@space#1 \@empty,}% + \fi} \ifx\bbl@opt@main\@nnil \ifnum\bbl@iniflag>\z@ % if all ldf's: set implicitly, no main pass \let\bbl@tempb\@empty - \edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}% + \edef\bbl@tempa{\bbl@tempf,\bbl@language@opts}% \bbl@foreach\bbl@tempa{\edef\bbl@tempb{#1,\bbl@tempb}}% \bbl@foreach\bbl@tempb{% \bbl@tempb is a reversed list \ifx\bbl@opt@main\@nnil % ie, if not yet assigned @@ -4193,11 +4105,11 @@ \else % + * (other = ini) \DeclareOption{#1}{% \bbl@ldfinit - \babelprovide[import]{#1}% + \babelprovide[@import]{#1}% %%%%% \bbl@afterldf{}}% \fi \fi} -\bbl@foreach\@classoptionslist{% +\bbl@foreach\bbl@tempf{% \def\bbl@tempa{#1}% \ifx\bbl@tempa\bbl@opt@main\else \ifnum\bbl@iniflag<\tw@ % 0 ø (other = ldf) @@ -4210,18 +4122,20 @@ \IfFileExists{babel-#1.tex}% {\DeclareOption{#1}{% \bbl@ldfinit - \babelprovide[import]{#1}% + \babelprovide[@import]{#1}% %%%%%% \bbl@afterldf{}}}% {}% \fi \fi} +\NewHook{babel/presets} +\UseHook{babel/presets} \def\AfterBabelLanguage#1{% \bbl@ifsamestring\CurrentOption{#1}{\global\bbl@add\bbl@afterlang}{}} \DeclareOption*{} \ProcessOptions* \bbl@trace{Option 'main'} \ifx\bbl@opt@main\@nnil - \edef\bbl@tempa{\@classoptionslist,\bbl@language@opts} + \edef\bbl@tempa{\bbl@tempf,\bbl@language@opts} \let\bbl@tempc\@empty \edef\bbl@templ{,\bbl@loaded,} \edef\bbl@templ{\expandafter\strip@prefix\meaning\bbl@templ} @@ -4245,7 +4159,9 @@ \bbl@ldfinit \let\CurrentOption\bbl@opt@main \bbl@exp{% \bbl@opt@provide = empty if * - \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}% + \\\babelprovide + [\bbl@opt@provide,@import,main]% %%%%% + {\bbl@opt@main}}% \bbl@afterldf{} \DeclareOption{\bbl@opt@main}{} \else % case 0,2 (main is ldf) diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex index f960bc6bf1d..e6a4076d6d1 100644 --- a/Master/texmf-dist/tex/generic/babel/blplain.tex +++ b/Master/texmf-dist/tex/generic/babel/blplain.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \catcode`\{=1 % left brace is begin-group character \catcode`\}=2 % right brace is end-group character \catcode`\#=6 % hash mark is macro parameter character diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex index b189e6f7dd7..0483d7eb722 100644 --- a/Master/texmf-dist/tex/generic/babel/bplain.tex +++ b/Master/texmf-dist/tex/generic/babel/bplain.tex @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \catcode`\{=1 % left brace is begin-group character \catcode`\}=2 % right brace is end-group character \catcode`\#=6 % hash mark is macro parameter character diff --git a/Master/texmf-dist/tex/generic/babel/errbabel.def b/Master/texmf-dist/tex/generic/babel/errbabel.def index 432899cb34e..9674a0fbf26 100644 --- a/Master/texmf-dist/tex/generic/babel/errbabel.def +++ b/Master/texmf-dist/tex/generic/babel/errbabel.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \catcode`\{=1 \catcode`\}=2 \catcode`\#=6 \catcode`\:=12 \catcode`\,=12 \catcode`\.=12 \catcode`\-=12 \catcode`\'=12 \catcode`\(=12 \catcode`\)=12 @@ -100,19 +99,19 @@ {This macro is available only in LuaLaTeX and XeLaTeX.}% {Consider switching to these engines.} \bbl@errmessage{only-lua} - {This macro is available only in LuaLaTeX.}% + {This macro is available only in LuaLaTeX}% {Consider switching to that engine.} \bbl@errmessage{unknown-provide-key} {Unknown key '#1' in \string\babelprovide}% {See the manual for valid keys}% \bbl@errmessage{unknown-mapfont} {Option '\bbl@KVP@mapfont' unknown for\\% - mapfont. Use 'direction'.}% + mapfont. Use 'direction'}% {See the manual for details.} \bbl@errmessage{no-ini-file} {There is no ini file for the requested language\\% (#1: \languagename). Perhaps you misspelled it or your\\% - installation is not complete.}% + installation is not complete}% {Fix the name or reinstall babel.} \bbl@errmessage{digits-is-reserved} {The counter name 'digits' is reserved for mapping\\% @@ -120,7 +119,7 @@ {Use another name.} \bbl@errmessage{limit-two-digits} {Currently two-digit years are restricted to the\\ - range 0-9999.}% + range 0-9999}% {There is little you can do. Sorry.} \bbl@errmessage{alphabetic-too-large} {Alphabetic numeral too large (#1)}% @@ -132,20 +131,20 @@ {See the manual for details.} \bbl@errmessage{unknown-ini-field} {Unknown field '#1' in \string\BCPdata.\\% - Perhaps you misspelled it.}% + Perhaps you misspelled it}% {See the manual for details.} \bbl@errmessage{unknown-locale-key} {Unknown key for locale '#2':\\% #3\\% - \string#1 will be set to \relax}% + \string#1 will be set to \string\relax}% {Perhaps you misspelled it.}% \bbl@errmessage{adjust-only-vertical} {Currently, #1 related features can be adjusted only\\% - in the main vertical list.}% + in the main vertical list}% {Maybe things change in the future, but this is what it is.} \bbl@errmessage{layout-only-vertical} {Currently, layout related features can be adjusted only\\% - in vertical mode.}% + in vertical mode}% {Maybe things change in the future, but this is what it is.} \bbl@errmessage{bidi-only-lua} {The bidi method 'basic' is available only in\\% @@ -175,11 +174,11 @@ {See the manual for further info} \bbl@errmessage{unknown-interchar} {'#1' for '\languagename' cannot be enabled.\\% - Maybe there is a typo.}% + Maybe there is a typo}% {See the manual for further details.} \bbl@errmessage{unknown-interchar-b} {'#1' for '\languagename' cannot be disabled.\\% - Maybe there is a typo.}% + Maybe there is a typo}% {See the manual for further details.} \bbl@errmessage{charproperty-only-vertical} {\string\babelcharproperty\space can be used only in\\% @@ -214,7 +213,11 @@ {The '#1' ldf style doesn't work with #2,\\% but you can use the ini locale instead.\\% Try adding 'provide=*' to the option list. You may\\% - also want to set 'bidi=' to some value.}% + also want to set 'bidi=' to some value}% + {See the manual for further details.} +\bbl@errmessage{hyphenmins-args} + {\string\babelhyphenmins\ accepts either the optional\\% + argument or the star, but not both at the same time}% {See the manual for further details.} \endinput %% diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg index 4ed4a864950..116176dd1ca 100644 --- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg +++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg @@ -32,16 +32,15 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \ifx\ProvidesFile\@undefined \def\ProvidesFile#1[#2 #3 #4]{% \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{hyphen.cfg}[2024/06/02 v24.6 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2024/11/08 v24.13 Babel hyphens] \xdef\bbl@format{\jobname} -\def\bbl@version{24.6} -\def\bbl@date{2024/06/02} +\def\bbl@version{24.13} +\def\bbl@date{2024/11/08} \ifx\AtBeginDocument\@undefined \def\@empty{} \fi diff --git a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini index 4a2d6023b7c..a9d0c5b8418 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/byn/babel-byn.ini @@ -7,8 +7,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2023-03-31 +version = 1.1 +date = 2024-06-24 name.local = ብሊን name.english = Blin name.babel = blin @@ -105,16 +105,21 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = yes -hyphenrules = -lefthyphenmin = -righthyphenmin = -hyphenchar = -prehyphenchar = -posthyphenchar = -exhyphenchar = -preexhyphenchar = +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = unhyphenated +lefthyphenmin = 1 +righthyphenmin = 1 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = postexhyphenchar = -hyphenationmin = +hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini b/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini index 0e0c9cc5734..d2f98bc65db 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ccp/babel-ccp.ini @@ -4,11 +4,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.0 -date = 2023-12-09 +version = 1.1 +date = 2024-08-11 name.local = 𑄌𑄋𑄴𑄟𑄳𑄦 name.english = Chakma name.babel = chakma @@ -146,8 +147,6 @@ hyphenationmin = [characters] ranges = 11100..1114F - -[characters] delimiters.quotes = auxiliary = exemplarCharacters = [ð‘„€ ð‘„ ð‘„‚ 𑄃 ð‘„„ ð‘„… 𑄆 𑄇 𑄈 𑄉 ð‘„Š ð‘„‹ ð‘„Œ ð‘„ ð‘„Ž ð‘„ ð‘„ ð‘„‘ ð‘„’ ð‘„“ ð‘„” ð‘„• ð‘„– ð‘„— 𑄘 ð‘„™ ð‘„š ð‘„› ð‘„œ ð‘„ ð‘„ž ð‘„Ÿ ð‘„ ð‘„¡ ð‘„¢ ð‘„£ 𑄤 ð‘„¥ 𑄦 𑄧 𑄨 ð‘„© 𑄪 ð‘„« 𑄬 ð‘„ ð‘„® 𑄯 ð‘„° ð‘„± ð‘„² ð‘„³ ð‘„´] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini index 538f6426138..dd1f69945b3 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini @@ -8,11 +8,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.5 -date = 2022-12-08 +version = 1.6 +date = 2024-08-11 name.local = Kurdîy nawendî name.english = Central Kurdish name.babel = sorani centralkurdish-latin @@ -66,18 +67,6 @@ months.wide.9 = Eylûl months.wide.10 = TiÅŸrînî Yekem months.wide.11 = TiÅŸrînî Dûhem months.wide.12 = Kanûnî Dûhem -months.wide.1 = -months.wide.2 = -months.wide.3 = -months.wide.4 = -months.wide.5 = -months.wide.6 = -months.wide.7 = -months.wide.8 = -months.wide.9 = -months.wide.10 = -months.wide.11 = -months.wide.12 = months.narrow.1 = months.narrow.2 = months.narrow.3 = diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini index 15248a46c52..27e5c237aec 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.4 -date = 2022-12-08 +version = 1.5 +date = 2024-08-11 name.local = ÑловѣÌньÑкъ Ñ©ê™ê™‘Ìкъ name.english = Church Slavic name.babel = churchslavic-oldcyrillic @@ -36,7 +37,6 @@ contents = СодержаÌнїе} listfigure = ÐадпиÑаÌнїе и҆з̾ѡбражеÌнїй listtable = ÐадпиÑаÌнїе таблиÌцъ index = ПредмѣÌтный ᲂу҆казаÌтель -author = И҆менноÌй ᲂу҆казаÌтель figure = И҆з̾ѡбражеÌнїе table = ТаблиÌца part = ЧаÌÑÑ‚ÑŒ diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini index ddb4f370899..b8aae6be369 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini @@ -4,8 +4,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2023-04-10 +version = 1.2 +date = 2024-10-14 name.local = Ἐλληνικά ; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry name.english = Polytonic Greek @@ -196,7 +196,7 @@ upper.modern.S.321 = ʹ lower.ancient.1 = α β γ δ ε Ï› ζ η θ lower.ancient.2 = ι κ λ μ ν ξ ο Ï€ ÏŸ lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡ -lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ +lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ lower.ancient.S.321 = ʹ upper.ancient.1 = Α Î’ Γ Δ Ε Ïš Ζ Η Θ upper.ancient.2 = Ι Κ Λ Îœ ΠΞ Ο Î Ïž diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini index a84e306423c..c00b5308375 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.10 -date = 2023-04-10 +version = 1.11 +date = 2024-10-14 name.local = Ελληνικά name.english = Greek name.babel = greek monotonicgreek @@ -200,7 +200,7 @@ upper.modern.S.321 = ʹ lower.ancient.1 = α β γ δ ε Ï› ζ η θ lower.ancient.2 = ι κ λ μ ν ξ ο Ï€ ÏŸ lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡ -lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ +lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ lower.ancient.S.321 = ʹ upper.ancient.1 = Α Î’ Γ Δ Ε Ïš Ζ Η Θ upper.ancient.2 = Ι Κ Λ Îœ ΠΞ Ο Î Ïž diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex b/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex index 7cf89429810..f7ffd341e3b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-greek.tex @@ -41,12 +41,12 @@ \def\greek@num@format#1#2#3#4#5#6#7#8{% \BabelGreekNumeralMarker{% \BabelGreekNumeralMyriads#1#2#3#4% - \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi + \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi \ifnum#6#7#8=\z@\else \BabelGreekNumeralMarkerEnd{% \ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi \ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or Ï€\or ÏŸ\fi - \ifcase#8\or α\or β\or γ\or δ\or ε\or Ïš\or ζ\or η\or θ\fi}% + \ifcase#8\or α\or β\or γ\or δ\or ε\or Ï›\or ζ\or η\or θ\fi}% \fi}} \def\greek@invalid{% diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex index 4f52408717c..707d02822f7 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex @@ -41,12 +41,12 @@ \def\greek@num@format#1#2#3#4#5#6#7#8{% \BabelGreekNumeralMarker{% \BabelGreekNumeralMyriads#1#2#3#4% - \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi + \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi \ifnum#6#7#8=\z@\else \BabelGreekNumeralMarkerEnd{% \ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi \ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or Ï€\or ÏŸ\fi - \ifcase#8\or α\or β\or γ\or δ\or ε\or Ïš\or ζ\or η\or θ\fi}% + \ifcase#8\or α\or β\or γ\or δ\or ε\or Ï›\or ζ\or η\or θ\fi}% \fi}} \def\greek@invalid{% diff --git a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini index a74c5c3f431..74c1b10be1e 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fil/babel-fil.ini @@ -6,11 +6,13 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; contribution by J. Khaganov <@ponte-vecchio> +; contribution by @DerKaiser4709 [identification] charset = utf8 -version = 1.4 -date = 2022-07-03 +version = 1.5 +date = 2024-06-04 name.local = Filipino name.english = Filipino name.babel = filipino @@ -26,50 +28,50 @@ encodings = T1 OT1 LY1 derivate = no [captions] -preface = -ref = -abstract = -bib = -chapter = -appendix = -contents = -listfigure = -listtable = -index = -figure = -table = -part = +preface = Paunang Salita +ref = Talasanggunian +abstract = Abstrak +bib = Talaaklatan +chapter = Kabanata +appendix = Hugpong +contents = Talalamanan +listfigure = Talalarawan +listtable = Talatalayan +index = Talatuntunan +figure = Laraw +table = Talay +part = Bahagi encl = cc = headto = -page = -see = -also = -proof = -glossary = +page = Pahina +see = tignan ang +also = tignan din +proof = Patunay +glossary = Glosaryo [captions.licr] -preface = -ref = -abstract = -bib = -chapter = -appendix = -contents = -listfigure = -listtable = -index = -figure = -table = -part = +preface = Paunang Salita +ref = Talasanggunian +abstract = Abstrak +bib = Talaaklatan +chapter = Kabanata +appendix = Hugpong +contents = Talalamanan +listfigure = Talalarawan +listtable = Talatalayan +index = Talatuntunan +figure = Laraw +table = Talay +part = Bahagi encl = cc = headto = -page = -see = -also = -proof = -glossary = +page = Pahina +see = tignan ang +also = tignan din +proof = Patunay +glossary = Glosaryo [date.gregorian] date.long = [MMMM] [d], [y] diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini index 7c72949c135..0ccd73e6dc1 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2024-01-03 +version = 1.1 +date = 2024-11-05 name.local = français name.english = French name.babel = french-belgium french-be @@ -190,35 +190,35 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 [transforms.prehyphenation] punctuation.space.1.0 = { [^|{(}{[}{007B}] () [;!{?}] () } punctuation.space.1.1 = { insert, penalty = 10000 } -punctuation.space.1.2 = { insert, spacefactor= .5 0 0, data = 1 } +punctuation.space.1.2 = { insert, spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 1 } punctuation.space.1.3 = {} punctuation.space.2.0 = { [^{(}{[}{007B}] () | [;!{?}] () } punctuation.space.2.1 = { insert, penalty = 10000 } -punctuation.space.2.2 = { spacefactor= .5 0 0, data = 2 } +punctuation.space.2.2 = { spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 2 } punctuation.space.2.3 = {} punctuation.space.3.0 = { [^|{(}{[}{007B} ] () : () } punctuation.space.3.1 = { insert, penalty = 10000 } -punctuation.space.3.2 = { insert, spacefactor= 1 1 1, data = 1 } +punctuation.space.3.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 } punctuation.space.3.3 = {} punctuation.space.4.0 = { [^{(}{[}{007B} ] () |: () } punctuation.space.4.1 = { insert, penalty = 10000 } -punctuation.space.4.2 = { spacefactor= 1 1 1, data = 2 } +punctuation.space.4.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 } punctuation.space.4.3 = {} punctuation.space.5.0 = { [^|]()»() } punctuation.space.5.1 = { insert, penalty = 10000 } -punctuation.space.5.2 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.5.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.5.3 = {} punctuation.space.6.0 = { [^|]()|»() } punctuation.space.6.1 = { insert, penalty = 10000 } -punctuation.space.6.2 = { spacefactor= .8 .3 .8, data = 2 } +punctuation.space.6.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 } punctuation.space.6.3 = {} punctuation.space.7.0 = { «[^|] } punctuation.space.7.1 = {} punctuation.space.7.2 = { insert, penalty = 10000 } -punctuation.space.7.3 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.7.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.7.4 = {} punctuation.space.8.0 = { «|[^|] } punctuation.space.8.1 = {} punctuation.space.8.2 = { insert, penalty = 10000 } -punctuation.space.8.3 = { spacefactor= .8 .3 .8, data = 1 } +punctuation.space.8.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.8.4 = {} diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini index 86116c3395a..2717612f514 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2024-01-03 +version = 1.1 +date = 2024-11-05 name.local = français canadien name.english = Canadian French name.babel = canadien french-canada french-ca canadianfrench @@ -190,27 +190,27 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 [transforms.prehyphenation] punctuation.space.1.0 = { [^|{(}{[}{007B} ] () : () } punctuation.space.1.1 = { insert, penalty = 10000 } -punctuation.space.1.2 = { insert, spacefactor= 1 1 1, data = 1 } +punctuation.space.1.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 } punctuation.space.1.3 = {} punctuation.space.2.0 = { [^{(}{[}{007B} ] () |: () } punctuation.space.2.1 = { insert, penalty = 10000 } -punctuation.space.2.2 = { spacefactor= 1 1 1, data = 2 } +punctuation.space.2.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 } punctuation.space.2.3 = {} punctuation.space.3.0 = { [^|]()»() } punctuation.space.3.1 = { insert, penalty = 10000 } -punctuation.space.3.2 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.3.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.3.3 = {} punctuation.space.4.0 = { [^|]()|»() } punctuation.space.4.1 = { insert, penalty = 10000 } -punctuation.space.4.2 = { spacefactor= .8 .3 .8, data = 2 } +punctuation.space.4.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 } punctuation.space.4.3 = {} punctuation.space.5.0 = { «[^|] } punctuation.space.5.1 = {} punctuation.space.5.2 = { insert, penalty = 10000 } -punctuation.space.5.3 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.5.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.5.4 = {} punctuation.space.6.0 = { «|[^|] } punctuation.space.6.1 = {} punctuation.space.6.2 = { insert, penalty = 10000 } -punctuation.space.6.3 = { spacefactor= .8 .3 .8, data = 1 } +punctuation.space.6.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.6.4 = {} diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini index 5567074e9a1..b0aee1a8848 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini @@ -1,7 +1,7 @@ ; This file is part of babel. For further details see: ; https://www.ctan.org/pkg/babel ; Data has been collected mainly from the following sources: -; * babel language styles (license LPPL): +; * babel language styles (license LPPL):€ ; https://www.ctan.org/pkg/babel-contrib ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2024-01-03 +version = 1.1 +date = 2024-11-05 name.local = français name.english = French name.babel = french @@ -189,36 +189,36 @@ date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 [transforms.prehyphenation] punctuation.space.1.0 = { [^|{(}{[}{007B}] () [;!{?}] () } punctuation.space.1.1 = { insert, penalty = 10000 } -punctuation.space.1.2 = { insert, spacefactor= .5 0 0, data = 1 } +punctuation.space.1.2 = { insert, spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 1 } punctuation.space.1.3 = {} punctuation.space.2.0 = { [^{(}{[}{007B}] () | [;!{?}] () } punctuation.space.2.1 = { insert, penalty = 10000 } -punctuation.space.2.2 = { spacefactor= .5 0 0, data = 2 } +punctuation.space.2.2 = { spacefactor= {high.natural|.5} {high.plus|0} {high.minus|0}, data = 2 } punctuation.space.2.3 = {} punctuation.space.3.0 = { [^|{(}{[}{007B} ] () : () } punctuation.space.3.1 = { insert, penalty = 10000 } -punctuation.space.3.2 = { insert, spacefactor= 1 1 1, data = 1 } +punctuation.space.3.2 = { insert, spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 1 } punctuation.space.3.3 = {} punctuation.space.4.0 = { [^{(}{[}{007B} ] () |: () } punctuation.space.4.1 = { insert, penalty = 10000 } -punctuation.space.4.2 = { spacefactor= 1 1 1, data = 2 } +punctuation.space.4.2 = { spacefactor= {colon.natural|1} {colon.plus|1} {colon.minus|1}, data = 2 } punctuation.space.4.3 = {} punctuation.space.5.0 = { [^|]()»() } punctuation.space.5.1 = { insert, penalty = 10000 } -punctuation.space.5.2 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.5.2 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.5.3 = {} punctuation.space.6.0 = { [^|]()|»() } punctuation.space.6.1 = { insert, penalty = 10000 } -punctuation.space.6.2 = { spacefactor= .8 .3 .8, data = 2 } +punctuation.space.6.2 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 2 } punctuation.space.6.3 = {} punctuation.space.7.0 = { «[^|] } punctuation.space.7.1 = {} punctuation.space.7.2 = { insert, penalty = 10000 } -punctuation.space.7.3 = { insert, spacefactor= .8 .3 .8, data = 1 } +punctuation.space.7.3 = { insert, spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.7.4 = {} punctuation.space.8.0 = { «|[^|] } punctuation.space.8.1 = {} punctuation.space.8.2 = { insert, penalty = 10000 } -punctuation.space.8.3 = { spacefactor= .8 .3 .8, data = 1 } +punctuation.space.8.3 = { spacefactor= {guillemet.natural|.8} {guillemet.plus|.3} {guillemet.minus|.8}, data = 1 } punctuation.space.8.4 = {} diff --git a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini index b84ab729083..85cbddcb068 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/gez/babel-gez.ini @@ -7,8 +7,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2023-03-31 +version = 1.1 +date = 2024-06-24 name.local = áŒá‹•á‹áŠ› name.english = Geez name.babel = geez @@ -107,9 +107,10 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = yes -hyphenrules = -lefthyphenmin = -righthyphenmin = +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = unhyphenated +lefthyphenmin = 1 +righthyphenmin = 1 hyphenchar = prehyphenchar = posthyphenchar = @@ -117,6 +118,10 @@ exhyphenchar = preexhyphenchar = postexhyphenchar = hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] delimiters.quotes = â€â€â€™â€™ diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex index 2425d655e5c..e8d56403660 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex +++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-ancientgreek.tex @@ -49,12 +49,12 @@ \def\greek@num@format#1#2#3#4#5#6#7#8{% \BabelGreekNumeralMarker{% \BabelGreekNumeralMyriads#1#2#3#4% - \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵Ϛ\or ͵ζ\or ͵η\or ͵θ\fi + \ifcase#5\or ͵α\or ͵β\or ͵γ\or ͵δ\or ͵ε\or ͵ϛ\or ͵ζ\or ͵η\or ͵θ\fi \ifnum#6#7#8=\z@\else \BabelGreekNumeralMarkerEnd{% \ifcase#6\or Ï\or σ\or Ï„\or Ï…\or φ\or χ\or ψ\or ω\or Ï¡\fi \ifcase#7\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or Ï€\or ÏŸ\fi - \ifcase#8\or α\or β\or γ\or δ\or ε\or Ïš\or ζ\or η\or θ\fi}% + \ifcase#8\or α\or β\or γ\or δ\or ε\or Ï›\or ζ\or η\or θ\fi}% \fi}} \def\greek@invalid{% diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini index d11485f64af..a62a6c008ea 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.8 -date = 2022-07-28 +version = 1.9 +date = 2024-10-14 name.local = ΑÏχαία ελληνικά name.english = Ancient Greek name.babel = ancientgreek @@ -179,7 +179,7 @@ superscriptingExponent = × lower.ancient.1 = α β γ δ ε Ï› ζ η θ lower.ancient.2 = ι κ λ μ ν ξ ο Ï€ ÏŸ lower.ancient.3 = Ï Ïƒ Ï„ Ï… φ χ ψ ω Ï¡ -lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵Ϛ ͵ζ ͵η ͵θ +lower.ancient.4 = ͵α ͵β ͵γ ͵δ ͵ε ͵ϛ ͵ζ ͵η ͵θ lower.ancient.S.321 = ʹ upper.ancient.1 = Α Î’ Γ Δ Ε Ïš Ζ Η Θ upper.ancient.2 = Ι Κ Λ Îœ ΠΞ Ο Î Ïž diff --git a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini index 613a08b47b7..f0c1b90487f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.10 -date = 2023-08-31 +version = 1.11 +date = 2024-08-11 name.local = עברית name.english = Hebrew name.babel = hebrew @@ -47,7 +48,7 @@ headto = ×ל page = עמוד see = ר××” also = ר××” ×’× -proof = הוכחה} +proof = הוכחה glossary = מילון ×ž×•× ×—×™× [captions.licr] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini index 1d44a83d6ae..eab65831399 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini @@ -1,3 +1,4 @@ + ; This file is part of babel. For further details see: ; https://www.ctan.org/pkg/babel ; Data has been collected mainly from the following sources: @@ -9,8 +10,8 @@ [identification] charset = utf8 -version = 1.11 -date = 2024-04-18 +version = 1.12 +date = 2024-08-27 name.local = 日本語 name.english = Japanese name.babel = japanese @@ -197,4 +198,35 @@ parenthesized.ideograph = ㈠㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ fullwidth.lower.alpha = ï½ ï½‚ c d ï½… f g h i j k l ï½ ï½Ž ï½ ï½ ï½‘ ï½’ s ï½” u ï½– ï½— x ï½™ z fullwidth.upper.alpha = A ï¼¢ ï¼£ D ï¼¥ F G H I J K L ï¼ ï¼® O ï¼° ï¼± ï¼² ï¼³ ï¼´ ï¼µ V ï¼· X ï¼¹ Z +[transforms.prehyphenation] +linebreak.strict.1.0 = { [々ããƒã…ã‡ã‰ã£ã‚ƒã‚…ょゎ゛-ゞァィゥェォッャュョヮヵヶゕゖㇰ-ㇿ・-ヾ・-ゥェ-ー゙] } +linebreak.strict.1.1 = { insert, penalty = 10000, step = 1 } +linebreak.strict.1.2 = {} +; +spacing.basic.1.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.1.1 = { insert, kern = -.5 } +spacing.basic.1.2 = { insert, penalty = 0 } +spacing.basic.1.3 = { insert, kern = .5 } +spacing.basic.1.4 = { insert, norule = -.5 0 0 } +spacing.basic.1.5 = {} +spacing.basic.2.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[ã€ã€‚,.・:!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž]() } +spacing.basic.2.1 = { insert, kern= -.5, step = -1 } +spacing.basic.2.2 = {} +spacing.basic.3.0 = { [([{〈《「『ã€ã€”〖〘〚“ã€] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.3.1 = { insert, kern = -.5, step =- 1 } +spacing.basic.3.2 = {} +; +spacing.basic.4.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[{a}]() } +spacing.basic.4.1 = { insert, kern = -.5, step = -1 } +spacing.basic.4.2 = { insert, penalty = 0 } +spacing.basic.4.3 = { insert, kern = .5 } +spacing.basic.4.4 = {} +spacing.basic.5.0 = { [{a}] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.5.1 = { insert, penalty = 0 } +spacing.basic.5.2 = { insert, kern = .5 } +spacing.basic.5.3 = { insert, norule = -.5 0 0 } +spacing.basic.5.4 = {} +spacing.basic.6.0 = { ^()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.6.1 = { insert, kern = -.5 } +spacing.basic.6.2 = {} diff --git a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini index 5e96b1494ac..6a413b48944 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr.ini @@ -13,7 +13,7 @@ version = 1.1 date = 2020-06-30 name.local = Kurmancî name.english = Northern Kurdish -name.babel = kurmanji northernkurdish +name.babel = northernkurdish kurmanji name.polyglossia = kurdish tag.bcp47 = kmr language.tag.bcp47 = kmr diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini index eff48777f29..1bd1ed86d61 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko-Hani.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.5 -date = 2024-04-18 +version = 1.6 +date = 2024-08-11 name.local = í•œêµì–´ name.english = Korean name.babel = korean-han korean-hani @@ -56,9 +57,6 @@ see = also = proof = è‰æ˜Ž glossary = 語 å½™ -section.template = [[presection]] [section] [[postsection]] -presection = 第 -postsection = 節 [captions.licr] preface = diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini index a56ab37a39c..5bb9db0de60 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.13 -date = 2024-04-18 +version = 1.14 +date = 2024-08-11 name.local = í•œêµì–´ name.english = Korean name.babel = korean @@ -57,9 +58,6 @@ see = also = proof = ì¦ëª… glossary = 용어집 -section.template = [[presection]] [section] [[postsection]] -presection = ì œ -postsection = ì ˆ [captions.licr] preface = diff --git a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini index ea33f69050c..4c3dee3325e 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.7 -date = 2022-12-08 +version = 1.8 +date = 2024-11-05 name.local = لۊری شومالی name.english = Northern Luri name.babel = northernluri @@ -24,6 +24,7 @@ script.tag.opentype = arab level = 1 encodings = LAE LFE derivate = no +warning = Persian and Islamic months are undefined. [captions] preface = @@ -129,6 +130,48 @@ dayPeriods.narrow.pm = PM dayPeriods.wide.am = AM dayPeriods.wide.pm = PM +[date.persian] +date.long = +months.wide.1 = +months.wide.2 = +months.wide.3 = +months.wide.4 = +months.wide.5 = +months.wide.6 = +months.wide.7 = +months.wide.8 = +months.wide.9 = +months.wide.10 = +months.wide.11 = +months.wide.12 = +months.narrow.1 = +months.narrow.2 = +months.narrow.3 = +months.narrow.4 = +months.narrow.5 = +months.narrow.6 = +months.narrow.7 = +months.narrow.8 = +months.narrow.9 = +months.narrow.10 = +months.narrow.11 = +months.narrow.12 = + +[date.islamic] +date.long = +months.wide.1 = +months.wide.2 = +months.wide.3 = +months.wide.4 = +months.wide.5 = +months.wide.6 = +months.wide.7 = +months.wide.8 = +months.wide.9 = +months.wide.10 = +months.wide.11 = +months.wide.12 = + [time.gregorian] time.medium = [HH]:[mm]:[ss] time.short = [HH]:[mm] @@ -148,10 +191,10 @@ hyphenationmin = [characters] delimiters.quotes = “â€â€˜â€™ -auxiliary = [\u200B\u200C\u200D\u200E\u200F \u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0654 Ø¥ Ø© Ùƒ Ù‡ Ù‰ ÙŠ] -exemplarCharacters = [\u0659 \u065B Ø¢ Ø£ ؤ ئ ا ب Ù¾ ت Ø« ج Ú† Ø Ø® د Ø° ر ز Ú˜ س Ø´ ص ض Ø· ظ ع غ Ù Ú¤ Ù‚ Ú© Ú¯ Ù„ Ù… Ù† Ú¾ Û• Ùˆ Û‰ ÛŠ ÛŒ ؽ] +auxiliary = [\u200B\u200C\u200D\u200E\u200F Ù‹ ÙŒ Ù ÙŽ Ù Ù Ù‘ Ù’ Ù” Ø¥ Ø© Ùƒ Ù‡ Ù‰ ÙŠ] +exemplarCharacters = [Ù™ Ù› Ø¢ Ø£ ؤ ئ ا ب Ù¾ ت Ø« ج Ú† Ø Ø® د Ø° ر ز Ú˜ س Ø´ ص ض Ø· ظ ع غ Ù Ú¤ Ù‚ Ú© Ú¯ Ù„ Ù… Ù† Ú¾ Û• Ùˆ Û‰ ÛŠ ÛŒ ؽ] index = [Ø¢ ا ب Ù¾ ت Ø« ج Ú† Ø Ø® د Ø° ر ز Ú˜ س Ø´ ص ض Ø· ظ ع غ Ù Ù‚ Ú© Ú¯ Ù„ Ù… Ù† Ú¾ Ùˆ ÛŒ] -punctuation = [\\- †‑ ØŒ Ù« Ù¬ Ø› \\: ! ØŸ . … ‹ › « » ( ) \\[ \\] * / \\\\] +punctuation = [\\- â€â€‘ ØŒ Ù« Ù¬ Ø› \\: ! ØŸ . … ‹ › « » ( ) \\[ \\] * / \\\\] [numbers] defaultNumberingSystem = arabext diff --git a/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini b/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini index 1fa9142b128..937a336ea20 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/mk/babel-mk.ini @@ -8,11 +8,12 @@ ; http://unicode.org/copyright.html ; * Some typos fixed by Stojan Trajanovski ; * Some typos fixed by Dario Gjorgjevski +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.6 -date = 2022-09-07 +version = 1.7 +date = 2024-08-11 name.local = македонÑки name.english = Macedonian name.babel = macedonian @@ -49,7 +50,7 @@ page = ÑÑ‚Ñ€. see = види also = види иÑто така proof = доказ -glossaryname = Речник +glossary = Речник [captions.licr] preface = \CYRP\cyrr\cyre\cyrd\cyrg\cyro\cyrv\cyro\cyrr diff --git a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini index 234c7a1774a..3826c393f15 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.7 -date = 2022-12-08 +version = 1.8 +date = 2024-11-05 name.local = مازرونی name.english = Mazanderani name.babel = mazanderani @@ -24,6 +24,7 @@ script.tag.opentype = arab level = 1 encodings = LFE LAE derivate = no +warning = Persian and Islamic months are undefined. [captions] preface = @@ -129,6 +130,48 @@ dayPeriods.narrow.pm = PM dayPeriods.wide.am = AM dayPeriods.wide.pm = PM +[date.persian] +date.long = +months.wide.1 = +months.wide.2 = +months.wide.3 = +months.wide.4 = +months.wide.5 = +months.wide.6 = +months.wide.7 = +months.wide.8 = +months.wide.9 = +months.wide.10 = +months.wide.11 = +months.wide.12 = +months.narrow.1 = +months.narrow.2 = +months.narrow.3 = +months.narrow.4 = +months.narrow.5 = +months.narrow.6 = +months.narrow.7 = +months.narrow.8 = +months.narrow.9 = +months.narrow.10 = +months.narrow.11 = +months.narrow.12 = + +[date.islamic] +date.long = +months.wide.1 = +months.wide.2 = +months.wide.3 = +months.wide.4 = +months.wide.5 = +months.wide.6 = +months.wide.7 = +months.wide.8 = +months.wide.9 = +months.wide.10 = +months.wide.11 = +months.wide.12 = + [time.gregorian] time.medium = [HH]:[mm]:[ss] time.short = [HH]:[mm] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini index 67b0eaa5441..532b5cf943b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.7 -date = 2022-12-08 +version = 1.8 +date = 2024-10-24 name.local = پښتو name.english = Pashto name.babel = pashto @@ -129,6 +129,36 @@ dayPeriods.narrow.pm = غ.Ùˆ. dayPeriods.wide.am = غ.Ù…. dayPeriods.wide.pm = غ.Ùˆ. +[date.persian] +date.long = د [y] د [MMMM] [d] +months.wide.1 = وری +months.wide.2 = غویی +months.wide.3 = غبرگولی +months.wide.4 = چنگاښ +months.wide.5 = زمری +months.wide.6 = ÙˆÚ–ÛŒ +months.wide.7 = تله +months.wide.8 = Ù„Ú“Ù… +months.wide.9 = Ù„ÛŒÙ†Ø¯Û +months.wide.10 = مرغومی +months.wide.11 = سلواغه +months.wide.12 = کب + +[date.islamic] +date.long = د [y] د [MMMM] [d] +months.wide.1 = Ù…Øرم +months.wide.2 = صÙر +months.wide.3 = ربيع +months.wide.4 = ربيع II +months.wide.5 = جماعه +months.wide.6 = جماعه II +months.wide.7 = رجب +months.wide.8 = شعبان +months.wide.9 = رمضان +months.wide.10 = شوال +months.wide.11 = ذي القعده +months.wide.12 = ذي الØج + [time.gregorian] time.medium = [H]:[mm]:[ss] time.short = [H]:[mm] @@ -148,9 +178,9 @@ hyphenationmin = [characters] delimiters.quotes = “â€â€˜â€™ -auxiliary = [\u200C \u200D \u200E\u200F Û’] -exemplarCharacters = [\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 Ø¢ ا Ø£ Ø¡ ب Ù¾ ت Ù¼ Ø« ج Ú Ú† Ú… Ø Ø® د Ú‰ Ø° ر Ú“ ز Ú˜ Ú– س Ø´ Úš ص ض Ø· ظ ع غ Ù Ù‚ Ú© Ú« Ú¯ Ù„ Ù… Ù† Ú¼ Ù‡ Ø© Ùˆ ؤ ÛŒ ÙŠ Û Û Ø¦] -punctuation = [ØŒ ; \\: ! Û” ' ‘ ( ) \\[ \\] \\{ \\} /] +auxiliary = [\u200C\u200D\u200E\u200F Û’] +exemplarCharacters = [ÙŽ Ù Ù Ù‹ Ù ÙŒ Ù‘ Ù’ Ù” Ù° Ø¢ اأ Ø¡ ب Ù¾ ت Ù¼ Ø« ج Ú Ú† Ú… Ø Ø® د Ú‰ Ø° ر Ú“ ز Ú˜ Ú– س Ø´ Úš ص ض Ø· ظ ع غ Ù Ù‚ Ú© Ú«Ú¯ Ù„ Ù… Ù† Ú¼ هة وؤ یيÛÛئ] +punctuation = [ØŒ ; \\: ! Û” '‘ ( ) \\[ \\] \\{ \\} /] [numbers] defaultNumberingSystem = arabext diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini index d75c53e5428..734bd0049de 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.4 -date = 2022-10-12 +version = 1.5 +date = 2024-08-11 name.local = română name.english = Romanian name.babel = romanian @@ -36,7 +37,7 @@ appendix = Anexa contents = Cuprins listfigure = Listă de figuri listtable = Listă de tabele -index = Index +index = Glosar figure = Figura table = Tabela part = Partea diff --git a/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini b/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini index 3fbf1a022e7..8b7531f6889 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sl/babel-sl.ini @@ -6,11 +6,12 @@ ; * Common Locale Data Repository (license Unicode): ; http://cldr.unicode.org/ ; http://unicode.org/copyright.html +; With some cleaning up by Stephen Huan (@stephen-huan) [identification] charset = utf8 -version = 1.3 -date = 2022-10-12 +version = 1.4 +date = 2024-08-11 name.local = slovenÅ¡Äina name.english = Slovenian name.babel = slovene slovenian @@ -47,7 +48,7 @@ page = Stran see = glej also = glej tudi proof = Dokaz -glossary = Glossary +glossary = Slovar [captions.licr] preface = Predgovor diff --git a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini index 92aa31f638d..a4ae7c3ff0b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ti/babel-ti.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2023-03-11 +version = 1.5 +date = 2024-06-24 name.local = ትáŒáˆáŠ› name.english = Tigrinya name.babel = tigrinya @@ -146,9 +146,10 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = yes -hyphenrules = -lefthyphenmin = -righthyphenmin = +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = unhyphenated +lefthyphenmin = 1 +righthyphenmin = 1 hyphenchar = prehyphenchar = posthyphenchar = @@ -156,6 +157,10 @@ exhyphenchar = preexhyphenchar = postexhyphenchar = hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] delimiters.quotes = “â€â€˜â€™ diff --git a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini index c8e8fa6102c..170f59cb53f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/tig/babel-tig.ini @@ -7,8 +7,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2023-03-31 +version = 1.1 +date = 2024-06-24 name.local = ትáŒáˆ¨ name.english = Tigre name.babel = tigre @@ -105,16 +105,21 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = yes -hyphenrules = -lefthyphenmin = -righthyphenmin = -hyphenchar = -prehyphenchar = -posthyphenchar = -exhyphenchar = -preexhyphenchar = +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = unhyphenated +lefthyphenmin = 1 +righthyphenmin = 1 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = postexhyphenchar = -hyphenationmin = +hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini index a28543e339a..4a5dd741077 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/wal/babel-wal.ini @@ -7,8 +7,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2023-03-31 +version = 1.1 +date = 2024-06-24 name.local = ወላá‹á‰³á‰± name.english = Wolaytta name.babel = wolaytta @@ -105,16 +105,21 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = yes -hyphenrules = -lefthyphenmin = -righthyphenmin = -hyphenchar = -prehyphenchar = -posthyphenchar = -exhyphenchar = -preexhyphenchar = +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = unhyphenated +lefthyphenmin = 1 +righthyphenmin = 1 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = postexhyphenchar = -hyphenationmin = +hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini index 44bb43ad511..af779cf183d 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.14 -date = 2023-10-24 +version = 1.15 +date = 2024-10-27 name.local = ä¸æ–‡ name.english = Chinese name.opentype = Chinese Simplified @@ -240,3 +240,31 @@ parenthesized.ideograph = ㈠㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ fullwidth.lower.alpha = ï½ ï½‚ c d ï½… f g h i j k l ï½ ï½Ž ï½ ï½ ï½‘ ï½’ s ï½” u ï½– ï½— x ï½™ z fullwidth.upper.alpha = A ï¼¢ ï¼£ D ï¼¥ F G H I J K L ï¼ ï¼® O ï¼° ï¼± ï¼² ï¼³ ï¼´ ï¼µ V ï¼· X ï¼¹ Z date.day = åˆä¸€ åˆäºŒ åˆä¸‰ åˆå›› åˆäº” åˆå… åˆä¸ƒ åˆå…« åˆä¹ åˆå å一 å二 å三 åå›› å五 åå… å七 åå…« åä¹ äºŒå 廿一 廿二 廿三 廿四 廿五 å»¿å… å»¿ä¸ƒ 廿八 å»¿ä¹ ä¸‰å + +[transforms.prehyphenation] +spacing.basic.1.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.1.1 = { insert, kern = -.5 } +spacing.basic.1.2 = { insert, penalty = 0 } +spacing.basic.1.3 = { insert, kern = .5 } +spacing.basic.1.4 = { insert, norule = -.5 0 0 } +spacing.basic.1.5 = {} +spacing.basic.2.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[ã€ã€‚,.・:!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž]() } +spacing.basic.2.1 = { insert, kern= -.5, step = -1 } +spacing.basic.2.2 = {} +spacing.basic.3.0 = { [([{〈《「『ã€ã€”〖〘〚“ã€] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.3.1 = { insert, kern = -.5, step =- 1 } +spacing.basic.3.2 = {} +; +spacing.basic.4.0 = { [ã€ã€‚,.・:;!?)]ï½ã€‰ã€‹ã€ã€ã€‘〕〗〙〛â€ã€ž] ()[{a}]() } +spacing.basic.4.1 = { insert, kern = -.5, step = -1 } +spacing.basic.4.2 = { insert, penalty = 0 } +spacing.basic.4.3 = { insert, kern = .5 } +spacing.basic.4.4 = {} +spacing.basic.5.0 = { [{a}] ()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.5.1 = { insert, penalty = 0 } +spacing.basic.5.2 = { insert, kern = .5 } +spacing.basic.5.3 = { insert, norule = -.5 0 0 } +spacing.basic.5.4 = {} +spacing.basic.6.0 = { ^()[([{〈《「『ã€ã€”〖〘〚“ã€]() } +spacing.basic.6.1 = { insert, kern = -.5 } +spacing.basic.6.2 = {} diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 82edeff91f7..c6eae45ca37 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -32,7 +32,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - +\directlua{ Babel = Babel or {} } % DL2 \ifx\AddBabelHook\@undefined % When plain.def, babel.sty starts \bbl@trace{Read language.dat} \ifx\bbl@readstream\@undefined @@ -178,8 +178,6 @@ {\expandafter\expandafter\expandafter\bbl@luapatterns \csname bbl@hyphendata@\the\language\endcsname}}{}} \endinput\fi - % Here ends \ifx\AddBabelHook\@undefined - % A few lines are only read by hyphen.cfg \ifx\DisableBabelHook\@undefined \AddBabelHook{luatex}{everylanguage}{% \def\process@language##1##2##3{% @@ -195,16 +193,13 @@ {\expandafter\expandafter\expandafter\bbl@tempb \csname bbl@hyphendata@\the\language\endcsname}} \endinput\fi - % Here stops reading code for hyphen.cfg - % The following is read the 2nd time it's loaded - % First, global declarations for lua -\begingroup % TODO - to a lua file +\begingroup % TODO - to a lua file % DL3 \catcode`\%=12 \catcode`\'=12 \catcode`\"=12 \catcode`\:=12 \directlua{ - Babel = Babel or {} + Babel.locale_props = Babel.locale_props or {} function Babel.lua_error(e, a) tex.print([[\noexpand\csname bbl@error\endcsname{]] .. e .. '}{' .. (a or '') .. '}{}{}') @@ -229,6 +224,40 @@ callback.register('process_input_buffer',Babel.callback) end end + function Babel.str_to_nodes(fn, matches, base) + local n, head, last + if fn == nil then return nil end + for s in string.utfvalues(fn(matches)) do + if base.id == 7 then + base = base.replace + end + n = node.copy(base) + n.char = s + if not head then + head = n + else + last.next = n + end + last = n + end + return head + end + Babel.linebreaking = Babel.linebreaking or {} + Babel.linebreaking.before = {} + Babel.linebreaking.after = {} + Babel.locale = {} + function Babel.linebreaking.add_before(func, pos) + tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]]) + if pos == nil then + table.insert(Babel.linebreaking.before, func) + else + table.insert(Babel.linebreaking.before, pos, func) + end + end + function Babel.linebreaking.add_after(func) + tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]]) + table.insert(Babel.linebreaking.after, func) + end function Babel.addpatterns(pp, lg) local lg = lang.new(lg) local pats = lang.patterns(lg) or '' @@ -295,13 +324,13 @@ str:find( [[\string\babelsublr]] ) then str = str:gsub( [[\string\babelsublr%s*(%b{})]], function(m) return m:sub(2,-2) end ) - end - return str -end + end + return str + end } \endgroup \ifx\newattribute\@undefined\else % Test for plain - \newattribute\bbl@attr@locale + \newattribute\bbl@attr@locale % DL4 \directlua{ Babel.attr_locale = luatexbase.registernumber'bbl@attr@locale' } \AddBabelHook{luatex}{beforeextras}{% \setattribute\bbl@attr@locale\localeid} @@ -379,28 +408,8 @@ end {\csname bbl@patterns@\bbl@tempa\endcsname\space}% #2}}}% \fi}} -\directlua{ - Babel = Babel or {} - Babel.linebreaking = Babel.linebreaking or {} - Babel.linebreaking.before = {} - Babel.linebreaking.after = {} - Babel.locale = {} % Free to use, indexed by \localeid - function Babel.linebreaking.add_before(func, pos) - tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]]) - if pos == nil then - table.insert(Babel.linebreaking.before, func) - else - table.insert(Babel.linebreaking.before, pos, func) - end - end - function Babel.linebreaking.add_after(func) - tex.print([[\noexpand\csname bbl@luahyphenate\endcsname]]) - table.insert(Babel.linebreaking.after, func) - end -} \def\bbl@intraspace#1 #2 #3\@@{% \directlua{ - Babel = Babel or {} Babel.intraspaces = Babel.intraspaces or {} Babel.intraspaces['\csname bbl@sbcp@\languagename\endcsname'] = % {b = #1, p = #2, m = #3} @@ -409,7 +418,6 @@ end }} \def\bbl@intrapenalty#1\@@{% \directlua{ - Babel = Babel or {} Babel.intrapenalties = Babel.intrapenalties or {} Babel.intrapenalties['\csname bbl@sbcp@\languagename\endcsname'] = #1 Babel.locale_props[\the\localeid].intrapenalty = #1 @@ -422,7 +430,6 @@ end \gdef\bbl@seaintraspace{& \let\bbl@seaintraspace\relax \directlua{ - Babel = Babel or {} Babel.sea_enabled = true Babel.sea_ranges = Babel.sea_ranges or {} function Babel.set_chranges (script, chrng) @@ -471,7 +478,6 @@ end \gdef\bbl@cjkintraspace{% \let\bbl@cjkintraspace\relax \directlua{ - Babel = Babel or {} require('babel-data-cjk.lua') Babel.cjk_enabled = true function Babel.cjk_linebreak(head) @@ -496,8 +502,10 @@ end class = props.cjk_quotes[item.char] end - if class == 'cp' then class = 'cl' end % )] as CL - if class == 'id' then class = 'I' end + if class == 'cp' then class = 'cl' % )] as CL + elseif class == 'id' then class = 'I' + elseif class == 'cj' then class = 'I' % loose + end local br = 0 if class and last_class and Babel.cjk_breaks[last_class][class] then @@ -544,10 +552,10 @@ end func(head) end end + lang.hyphenate(head) if Babel.cjk_enabled then Babel.cjk_linebreak(head) end - lang.hyphenate(head) if Babel.linebreaking.after then for k, func in ipairs(Babel.linebreaking.after) do func(head) @@ -568,7 +576,6 @@ end \ifin@ % cjk \bbl@cjkintraspace \directlua{ - Babel = Babel or {} Babel.locale_props = Babel.locale_props or {} Babel.locale_props[\the\localeid].linebreak = 'c' }% @@ -580,7 +587,6 @@ end \bbl@seaintraspace \bbl@exp{\\\bbl@intraspace\bbl@cl{intsp}\\\@@}% \directlua{ - Babel = Babel or {} Babel.sea_ranges = Babel.sea_ranges or {} Babel.set_chranges('\bbl@cl{sbcp}', '\bbl@cl{chrng}') @@ -844,23 +850,10 @@ end } \endgroup \fi\fi % ends Arabic just block: \ifnum\bbl@bidimode>100... +\bbl@trace{Font handling with fontspec} \AddBabelHook{babel-fontspec}{afterextras}{\bbl@switchfont} \AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts} \DisableBabelHook{babel-fontspec} -\bbl@trace{Font handling with fontspec} -\ifx\ExplSyntaxOn\@undefined\else - \def\bbl@fs@warn@nx#1#2{% \bbl@tempfs is the original macro - \in@{,#1,}{,no-script,language-not-exist,}% - \ifin@\else\bbl@tempfs@nx{#1}{#2}\fi} - \def\bbl@fs@warn@nxx#1#2#3{% - \in@{,#1,}{,no-script,language-not-exist,}% - \ifin@\else\bbl@tempfs@nxx{#1}{#2}{#3}\fi} - \def\bbl@loadfontspec{% - \let\bbl@loadfontspec\relax - \ifx\fontspec\@undefined - \usepackage{fontspec}% - \fi}% -\fi \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam \bbl@foreach{#1}{% @@ -871,8 +864,10 @@ end \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont - \bbl@loadfontspec - \EnableBabelHook{babel-fontspec}% Just calls \bbl@switchfont + \ifx\fontspec\@undefined + \usepackage{fontspec}% + \fi + \EnableBabelHook{babel-fontspec}% \bbl@bblfont} \newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt \bbl@ifunset{\bbl@tempb family}% @@ -996,17 +991,10 @@ end {\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}% \<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}% {\\\newfontlanguage{\bbl@cl{lname}}{\bbl@cl{lotf}}}% - \let\\\bbl@tempfs@nx\<__fontspec_warning:nx>% - \let\<__fontspec_warning:nx>\\\bbl@fs@warn@nx - \let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>% - \let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx \\\renewfontfamily\\#4% [\bbl@cl{lsys},% xetex removes unknown features :-( \ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi #2]}{#3}% ie \bbl@exp{..}{#3} - \bbl@exp{% - \let\<__fontspec_warning:nx>\\\bbl@tempfs@nx - \let\<__fontspec_warning:nxx>\\\bbl@tempfs@nxx}% \begingroup #4% \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)} @@ -1027,7 +1015,7 @@ end \def\bbl@font@rst#1#2#3#4{% \bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}} \def\bbl@font@fams{rm,sf,tt} -\directlua{ +\directlua{% DL6 Babel.script_blocks = { ['dflt'] = {}, ['Arab'] = {{0x0600, 0x06FF}, {0x08A0, 0x08FF}, {0x0750, 0x077F}, @@ -1195,7 +1183,7 @@ end Babel.chr_to_loc[\the\count@] = \bbl@ifblank{#1}{-1000}{\the\bbl@cs{id@@#1}}\space }} -\directlua{ +\directlua{% DL7 Babel.nohyphenation = \the\l@nohyphenation } \begingroup @@ -1223,23 +1211,26 @@ end {\bbl@add@list\babeltempb{nil}}&% {\directlua{ local rep = [=[##1]=] + local three_args = '%s*=%s*([%-%d%.%a{}|]+)%s+([%-%d%.%a{}|]+)%s+([%-%d%.%a{}|]+)' + &% Numeric passes directly: kern, penalty... rep = rep:gsub('^%s*(remove)%s*$', 'remove = true') rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ') rep = rep:gsub('^%s*(after)%s*,', 'after = true, ') rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func) rep = rep:gsub('node%s*=%s*(%a+)%s*(%a*)', Babel.capture_node) - rep = rep:gsub(&% - '(norule)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', - 'norule = {' .. '%2, %3, %4' .. '}') + rep = rep:gsub( '(norule)' .. three_args, + 'norule = {' .. '%2, %3, %4' .. '}') if #1 == 0 or #1 == 2 then - rep = rep:gsub(&% - '(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', + rep = rep:gsub( '(space)' .. three_args, 'space = {' .. '%2, %3, %4' .. '}') - rep = rep:gsub(&% - '(spacefactor)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', + rep = rep:gsub( '(spacefactor)' .. three_args, 'spacefactor = {' .. '%2, %3, %4' .. '}') rep = rep:gsub('(kashida)%s*=%s*([^%s,]*)', Babel.capture_kashida) - else + &% Transform values + rep, n = rep:gsub( '{([%a%-%.]+)|([%-%d%.]+)}', + '{\the\csname bbl@id@@#3\endcsname,"%1",%2}') + end + if #1 == 1 then rep = rep:gsub( '(no)%s*=%s*([^%s,]*)', Babel.capture_func) rep = rep:gsub( '(pre)%s*=%s*([^%s,]*)', Babel.capture_func) rep = rep:gsub( '(post)%s*=%s*([^%s,]*)', Babel.capture_func) @@ -1248,8 +1239,8 @@ end }}}&% \bbl@foreach\babeltempb{&% \bbl@forkv{{##1}}{&% - \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,&% - no,post,penalty,kashida,space,spacefactor,kern,node,after,}&% + \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,no,&% + post,penalty,kashida,space,spacefactor,kern,node,after,norule,}&% \ifin@\else \bbl@error{bad-transform-option}{####1}{}{}&% \fi}}&% @@ -1375,13 +1366,15 @@ end require('babel-transforms.lua') Babel.linebreaking.add_before(Babel.pre_hyphenate_replace) }} +\newcommand\SetTransformValue[3]{% + \directlua{ + Babel.locale_props[\the\csname bbl@id@@#1\endcsname].vars["#2"] = #3 + }} \newcommand\localeprehyphenation[1]{% \directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }} \def\bbl@activate@preotf{% \let\bbl@activate@preotf\relax % only once \directlua{ - Babel = Babel or {} - % function Babel.pre_otfload_v(head) if Babel.numbers and Babel.digits_mapped then head = Babel.numbers(head) @@ -1392,7 +1385,7 @@ end return head end % - function Babel.pre_otfload_h(head, gc, sz, pt, dir) + function Babel.pre_otfload_h(head, gc, sz, pt, dir) %%% TODO if Babel.numbers and Babel.digits_mapped then head = Babel.numbers(head) end @@ -1415,7 +1408,7 @@ end 'luaotfload.node_processor') or nil) }} \breakafterdirmode=1 -\ifnum\bbl@bidimode>\@ne % Any bidi= except default=1 +\ifnum\bbl@bidimode>\@ne % Any bidi= except default (=1) \let\bbl@beforeforeign\leavevmode \AtEndOfPackage{\EnableBabelHook{babel-bidi}} \RequirePackage{luatexbase} @@ -1426,6 +1419,9 @@ end require('babel-bidi-basic.lua') \or require('babel-bidi-basic-r.lua') + table.insert(Babel.ranges, {0xE000, 0xF8FF, 'on'}) + table.insert(Babel.ranges, {0xF0000, 0xFFFFD, 'on'}) + table.insert(Babel.ranges, {0x100000, 0x10FFFD, 'on'}) \fi} \newattribute\bbl@attr@dir \directlua{ Babel.attr_dir = luatexbase.registernumber'bbl@attr@dir' } @@ -1493,6 +1489,12 @@ end end luatexbase.add_to_callback("hpack_filter", Babel.math_box_dir, "Babel.math_box_dir", 0) + if Babel.unset_atdir then + luatexbase.add_to_callback("pre_linebreak_filter", Babel.unset_atdir, + "Babel.unset_atdir") + luatexbase.add_to_callback("hpack_filter", Babel.unset_atdir, + "Babel.unset_atdir") + end }}% \fi \DeclareRobustCommand\localebox[1]{% @@ -1638,6 +1640,115 @@ end \fi\fi} \fi \def\bbl@provide@extra#1{% + % == onchar == + \ifx\bbl@KVP@onchar\@nnil\else + \bbl@luahyphenate + \bbl@exp{% + \\\AddToHook{env/document/before}{{\\\select@language{#1}{}}}}% + \directlua{ + if Babel.locale_mapped == nil then + Babel.locale_mapped = true + Babel.linebreaking.add_before(Babel.locale_map, 1) + Babel.loc_to_scr = {} + Babel.chr_to_loc = Babel.chr_to_loc or {} + end + Babel.locale_props[\the\localeid].letters = false + }% + \bbl@xin@{ letters }{ \bbl@KVP@onchar\space}% + \ifin@ + \directlua{ + Babel.locale_props[\the\localeid].letters = true + }% + \fi + \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}% + \ifin@ + \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection + \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@starthyphens + {\\\bbl@patterns@lua{\languagename}}}% + \directlua{ + if Babel.script_blocks['\bbl@cl{sbcp}'] then + Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cl{sbcp}'] + Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space + end + }% + \fi + \bbl@xin@{ fonts }{ \bbl@KVP@onchar\space}% + \ifin@ + \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% + \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}% + \directlua{ + if Babel.script_blocks['\bbl@cl{sbcp}'] then + Babel.loc_to_scr[\the\localeid] = + Babel.script_blocks['\bbl@cl{sbcp}'] + end}% + \ifx\bbl@mapselect\@undefined % TODO. almost the same as mapfont + \AtBeginDocument{% + \bbl@patchfont{{\bbl@mapselect}}% + {\selectfont}}% + \def\bbl@mapselect{% + \let\bbl@mapselect\relax + \edef\bbl@prefontid{\fontid\font}}% + \def\bbl@mapdir##1{% + \begingroup + \setbox\z@\hbox{% Force text mode + \def\languagename{##1}% + \let\bbl@ifrestoring\@firstoftwo % To avoid font warning + \bbl@switchfont + \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack + \directlua{ + Babel.locale_props[\the\csname bbl@id@@##1\endcsname]% + ['/\bbl@prefontid'] = \fontid\font\space}% + \fi}% + \endgroup}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% + \fi + % TODO - catch non-valid values + \fi + % == mapfont == + % For bidi texts, to switch the font based on direction + \ifx\bbl@KVP@mapfont\@nnil\else + \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}% + {\bbl@error{unknown-mapfont}{}{}{}}% + \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% + \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}% + \ifx\bbl@mapselect\@undefined % TODO. See onchar. + \AtBeginDocument{% + \bbl@patchfont{{\bbl@mapselect}}% + {\selectfont}}% + \def\bbl@mapselect{% + \let\bbl@mapselect\relax + \edef\bbl@prefontid{\fontid\font}}% + \def\bbl@mapdir##1{% + {\def\languagename{##1}% + \let\bbl@ifrestoring\@firstoftwo % avoid font warning + \bbl@switchfont + \directlua{Babel.fontmap + [\the\csname bbl@wdir@##1\endcsname]% + [\bbl@prefontid]=\fontid\font}}}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% + \fi + % == Line breaking: CJK quotes == + \ifcase\bbl@engine\or + \bbl@xin@{/c}{/\bbl@cl{lnbrk}}% + \ifin@ + \bbl@ifunset{bbl@quote@\languagename}{}% + {\directlua{ + Babel.locale_props[\the\localeid].cjk_quotes = {} + local cs = 'op' + for c in string.utfvalues(% + [[\csname bbl@quote@\languagename\endcsname]]) do + if Babel.cjk_characters[c].c == 'qu' then + Babel.locale_props[\the\localeid].cjk_quotes[c] = cs + end + cs = ( cs == 'op') and 'cl' or 'op' + end + }}% + \fi + \fi % == Counters: mapdigits == % Native digits \ifx\bbl@KVP@mapdigits\@nnil\else @@ -1645,7 +1756,6 @@ end {\RequirePackage{luatexbase}% \bbl@activate@preotf \directlua{ - Babel = Babel or {} %%% -> presets in luababel Babel.digits_mapped = true Babel.digits = Babel.digits or {} Babel.digits[\the\localeid] = @@ -1682,6 +1792,21 @@ end \bbl@replace\bbl@tempa{transforms.}{}% \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}% \fi}% + \bbl@exp{% + \\\bbl@ifblank{\bbl@cl{dgnat}}% + {\let\\\bbl@tempa\relax}% + {\def\\\bbl@tempa{% + \\\bbl@elt{transforms.prehyphenation}% + {digits.native.1.0}{([0-9])}% + \\\bbl@elt{transforms.prehyphenation}% + {digits.native.1.1}{string={1\string|0123456789\string|\bbl@cl{dgnat}}}}}}% + \ifx\bbl@tempa\relax\else + \toks@\expandafter\expandafter\expandafter{% + \csname bbl@inidata@\languagename\endcsname}% + \bbl@csarg\edef{inidata@\languagename}{% + \unexpanded\expandafter{\bbl@tempa}% + \the\toks@}% + \fi \csname bbl@inidata@\languagename\endcsname \bbl@release@transforms\relax % \relax closes the last item. \fi} @@ -1702,7 +1827,9 @@ end {\chardef\bbl@tabular@mode\z@}% {\chardef\bbl@tabular@mode\@ne}}% Mixed, with LTR cols \ifnum\bbl@bidimode>\@ne % Any lua bidi= except default=1 - \ifcase\bbl@tabular@mode\or % 1 + % Redefine: vrules mess up dirs. TODO: why? + \def\@arstrut{\relax\copy\@arstrutbox}% + \ifcase\bbl@tabular@mode\or % 1 = Mixed - default \let\bbl@parabefore\relax \AddToHook{para/before}{\bbl@parabefore} \AtBeginDocument{% @@ -1727,7 +1854,7 @@ end {\\\do@row@strut\<fi>}{\\\do@row@strut\<fi>\egroup}}}% {}}% \fi}% - \or % 2 + \or % 2 = All RTL - tabular \let\bbl@parabefore\relax \AddToHook{para/before}{\bbl@parabefore}% \AtBeginDocument{% @@ -1753,9 +1880,9 @@ end \ifnum\bbl@bidimode>\z@ % Any bidi= \def\bbl@nextfake#1{% non-local changes, use always inside a group! \bbl@exp{% - \def\\\bbl@insidemath{0}% \mathdir\the\bodydir #1% Once entered in math, set boxes to restore values + \def\\\bbl@insidemath{0}% \<ifmmode>% \everyvbox{% \the\everyvbox diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf index 346399ca4f2..e6fe3d88ca6 100644 --- a/Master/texmf-dist/tex/generic/babel/nil.ldf +++ b/Master/texmf-dist/tex/generic/babel/nil.ldf @@ -32,8 +32,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - -\ProvidesLanguage{nil}[2024/06/02 v24.6 Nil language] +\ProvidesLanguage{nil}[2024/11/08 v24.13 Nil language] \LdfInit{nil}{datenil} \ifx\l@nil\@undefined \newlanguage\l@nil diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def index f5f85e202d9..6624d517539 100644 --- a/Master/texmf-dist/tex/generic/babel/plain.def +++ b/Master/texmf-dist/tex/generic/babel/plain.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \input babel.def \endinput %% diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def index 13f56013121..e991164458d 100644 --- a/Master/texmf-dist/tex/generic/babel/switch.def +++ b/Master/texmf-dist/tex/generic/babel/switch.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \let\bbl@onlyswitch\@empty \input babel.def \let\bbl@onlyswitch\@undefined diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def index 70ae95c5d4b..380fb2380c7 100644 --- a/Master/texmf-dist/tex/generic/babel/txtbabel.def +++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \providecommand\bbl@provide@intraspace{} \bbl@trace{Redefinitions for bidi layout} \def\bbl@sspre@caption{% TODO: Unused! diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index 9775e235b39..ccb2f14b9fd 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -32,7 +32,6 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% - \def\BabelStringsDefault{unicode} \let\xebbl@stop\relax \AddBabelHook{xetex}{encodedcommands}{% @@ -94,23 +93,10 @@ \fi}% \fi} \ifx\DisableBabelHook\@undefined\endinput\fi %%%% TODO: why +\bbl@trace{Font handling with fontspec} \AddBabelHook{babel-fontspec}{afterextras}{\bbl@switchfont} \AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts} \DisableBabelHook{babel-fontspec} -\bbl@trace{Font handling with fontspec} -\ifx\ExplSyntaxOn\@undefined\else - \def\bbl@fs@warn@nx#1#2{% \bbl@tempfs is the original macro - \in@{,#1,}{,no-script,language-not-exist,}% - \ifin@\else\bbl@tempfs@nx{#1}{#2}\fi} - \def\bbl@fs@warn@nxx#1#2#3{% - \in@{,#1,}{,no-script,language-not-exist,}% - \ifin@\else\bbl@tempfs@nxx{#1}{#2}{#3}\fi} - \def\bbl@loadfontspec{% - \let\bbl@loadfontspec\relax - \ifx\fontspec\@undefined - \usepackage{fontspec}% - \fi}% -\fi \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam \bbl@foreach{#1}{% @@ -121,8 +107,10 @@ \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont - \bbl@loadfontspec - \EnableBabelHook{babel-fontspec}% Just calls \bbl@switchfont + \ifx\fontspec\@undefined + \usepackage{fontspec}% + \fi + \EnableBabelHook{babel-fontspec}% \bbl@bblfont} \newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt \bbl@ifunset{\bbl@tempb family}% @@ -246,17 +234,10 @@ {\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}% \<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}% {\\\newfontlanguage{\bbl@cl{lname}}{\bbl@cl{lotf}}}% - \let\\\bbl@tempfs@nx\<__fontspec_warning:nx>% - \let\<__fontspec_warning:nx>\\\bbl@fs@warn@nx - \let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>% - \let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx \\\renewfontfamily\\#4% [\bbl@cl{lsys},% xetex removes unknown features :-( \ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi #2]}{#3}% ie \bbl@exp{..}{#3} - \bbl@exp{% - \let\<__fontspec_warning:nx>\\\bbl@tempfs@nx - \let\<__fontspec_warning:nxx>\\\bbl@tempfs@nxx}% \begingroup #4% \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)} diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex index 943745bf7a0..cca735bf1e0 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex @@ -266,6 +266,58 @@ % %>>> +%% check loaded TikZ/pgf version %<<<` +% +% parse the release date, thanks to Skillmon +% https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2231681032 +% date can be yyyy-mm-dd or (older TikZ) yyyy/mm/dd +\begingroup + \pgfutil@protected\def\parsedate#1% + {% + \afterassignment\parsedate@month + \pgf@circ@count@a=#1\relax + } + \pgfutil@protected\def\parsedate@month#1% + {% + \afterassignment\parsedate@day + \pgf@circ@count@b=% + } + \pgfutil@protected\def\parsedate@day#1% + {% + \afterassignment\parsedate@cleanup + \pgf@circ@count@c=% + } + \def\parsedate@cleanup#1\relax{}% + \parsedate{\pgfrevisiondate}% + \xdef\ctikz@@pgfyear{\the\pgf@circ@count@a}% + \xdef\ctikz@@pgfmonth{\the\pgf@circ@count@b}% + \xdef\ctikz@@pgfday{\the\pgf@circ@count@c}% +\endgroup +% The following code thanks to Skillmon: +% https://tex.stackexchange.com/a/722570/38080 +% modified by romano to check the date +\def\ctikz@@ifpgfafter@auxi#1#2% + {% + \ifnum#1 + \ctikz@@ifpgfafter@auxii{#2}% + \fi + } +\def\ctikz@@ifpgfafter@auxii#1\fi#2\ctikz@@ifpgfafter#3{\fi#1} +\def\ctikz@@ifpgfafter#1-#2-#3#% + {% + \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear>#1}\pgfutil@firstoftwo + \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear<#1}\pgfutil@secondoftwo + \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth>#2}\pgfutil@firstoftwo + \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth<#2}\pgfutil@secondoftwo + \ctikz@@ifpgfafter@auxi{\ctikz@@pgfday<#3}\pgfutil@secondoftwo + \pgfutil@gobble\ctikz@@ifpgfafter\pgfutil@firstoftwo + } +% +% usage \ctikz@@ifpgfafter 2023-01-16{true}{false} +% ^^^ no spaces here, braces needed. +% +%>>> + %% arrow tips macros and utilities %<<<1 % the default arrow is latexslim, which has been ported over old arrows library (deprecated) @@ -298,9 +350,70 @@ \pgfpathclose \pgfusepathqfill } - \pgfarrowsdeclarereversed{latexslim reversed}{latexslim reversed}{latexslim}{latexslim} - +%% Jack Tap, see +%% https://github.com/circuitikz/circuitikz/issues/806 +\pgfdeclarearrow{name=Jack Tap, + parameters = {% + \the\pgfarrowlength,% + \the\pgfarrowwidth,% + \ifpgfarrowswap s\fi% + \ifpgfarrowopen o\fi% + \ifpgfarrowroundjoin j\fi + \ifpgfarrowroundcap c\fi% + }, + setup code = { + \pgfarrowssettipend{.5\pgfarrowlength} + \pgfarrowssetlineend{-.6\pgfarrowlength} + \pgfarrowssetvisualbackend{-.6\pgfarrowlength} + \pgfarrowssetbackend{-.6\pgfarrowlength} + % hull + \pgfarrowshullpoint{.5\pgfarrowlength}{0pt} + \pgfarrowshullpoint{0pt}{\pgfarrowwidth} + \pgfarrowshullpoint{-.6\pgfarrowlength}{0pt} + % Saves: Only the length: + \pgfarrowssavethe\pgfarrowlength + \pgfarrowssavethe\pgfarrowwidth + }, + drawing code = { + \pgfsetdash{}{+0pt} + \pgfarrowlinewidth=\pgflinewidth + \ifpgfarrowroundjoin\pgfsetroundjoin\else\pgfsetmiterjoin\fi + \ifpgfarrowroundcap\pgfsetroundcap\else\pgfsetbuttcap\fi + \pgfpathmoveto{\pgfqpoint{-.6\pgfarrowlength}{0pt}} + \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}{0pt}} + \pgfpathlineto{\pgfqpoint{0pt}{\pgfarrowwidth}} + \pgfpathlineto{\pgfqpoint{.5\pgfarrowlength}{0pt}} + \ifpgfarrowopen + \pgfusepathqstroke + \else + \pgfpathclose + \ifdim\pgfarrowlinewidth>0pt\pgfusepathqfillstroke\else\pgfusepathqfill\fi + \fi + }, + defaults = {length = 0.3cm, width=0.15cm, open}, + % cache=false, % breaks everything +} +% the new "fill without arg" will be in TikZ 3.1.11. Apply it here if we have an +% older version +\ctikz@@ifpgfafter 2023-01-16{\relax}{% + % thanks @muzimuzhi https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2229075269 + % undo the fill/.value required key + \expandafter\let\csname pgfk@/pgf/arrow keys/fill/.@def\endcsname\@undefined + \pgfkeys{/pgf/arrow keys/fill/.code={% + \def\pgf@temp{#1}% + \ifx\pgf@temp\pgf@nonetext% + \pgfarrowsaddtooptions{\pgfarrowopentrue}% + \else\ifx\pgf@temp\pgfkeysnovalue@text% + \pgfarrowsaddtooptions{\pgfarrowopenfalse}% + \else + \pgfarrowsaddtooptions{\pgfarrowopenfalse\def\pgf@arrows@fill@color{#1}}% + \fi\fi + }}% +} +\tikzset{v/.tip={Jack Tap[swap]}, ^/.tip={Jack Tap}, + vf/.tip={Jack Tap[swap,fill]}, ^f/.tip={Jack Tap[fill]}} +% % select the arrows using available defaults. \def\pgfcirc@arrow@default{default} % choose the arrows to use. Use #2 and #3 if the key is equal to "default" @@ -466,7 +579,30 @@ \fi \fi } - +% similar o the above, use the fill parameter to set fill or draw +% for a subset of the shape +\def\pgf@circ@subset@fill@or@draw#1{% + % You *must* be sure that this is called inside a \pgfscope! + \edef\@@none{none}\edef\@@default{default} + \edef\@@tmp{\ctikzvalof{#1/fill}} + \ifx\@@tmp\@@none + \pgfusepath{draw} + \else + \ifx\@@tmp\@@default\else + \pgfsetfillcolor{\@@tmp} + \fi + \pgfusepath{draw, fill} + \fi +} +% ...and for the thickness +\def\pgf@circ@subset@thickness#1{% + % You *must* be sure that this is called inside a \pgfscope! + \edef\@@default{default} + \edef\@@tmp{\ctikzvalof{#1/thickness}} + \ifx\@@tmp\@@default\else + \pgfsetlinewidth{\@@tmp\pgflinewidth}% + \fi +} % set the text color (via \color) if the color is not default or none % needed in some strange case (like bodydiode' dots) \def\pgf@circ@maybe@color#1{% @@ -557,6 +693,7 @@ % #7 - macros drawing the bipole % \long\def\pgfcircdeclarebipolescaled#1#2#3#4#5#6#7{ + % \typeout{Declaring bipole:\space #4,} \pgfdeclareshape{#4shape}{ \savedmacro{\ctikzclass}{\edef\ctikzclass{#1}} \saveddimen{\scaledRlen}{\pgfmathsetlength{\pgf@x}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}} @@ -602,97 +739,33 @@ \pgf@y=.5\pgf@y } \anchor{center}{\pgfpointorigin} - \anchor{n}{ - \northeast - \pgf@x=0cm - } - \anchor{north east}{ - \northeast - } - \anchor{north west}{ - \northeast - \pgf@x=-\pgf@x - } - \anchor{ne}{ - \northeast - } - \anchor{nw}{ - \northeast - \pgf@x=-\pgf@x - } - \anchor{e}{ - \northeast - \pgf@y=0cm - } - \anchor{s}{ - \southwest - \pgf@x=0cm - } - \anchor{south east}{ - \southwest - \pgf@x=-\pgf@x - } - \anchor{south west}{ - \southwest - } - \anchor{se}{ - \southwest - \pgf@x=-\pgf@x - } - \anchor{sw}{ - \southwest - } - \anchor{w}{ - \southwest - \pgf@y=0cm - } - \anchor{north}{ - \northeast - \pgf@x=0cm - } - \anchor{east}{ - \northeast - \pgf@y=0cm - } - \anchor{south}{ - \southwest - \pgf@x=0cm - } - \anchor{west}{ - \southwest - \pgf@y=0cm - } - \anchor{right}{ - \northeast - \pgf@y=0cm - } - \anchor{above}{ - \northeast - \pgf@x=0cm - } - \anchor{left}{ - \southwest - \pgf@y=0cm - } - \anchor{below}{ - \southwest - \pgf@x=0cm - } - \anchor{a}{ - \northeast - \pgf@y=0cm - } - \anchor{b}{ - \southwest - \pgf@y=0cm - } + \anchor{n}{\northeast\pgf@x=0cm } + \anchor{north east}{\northeast} + \anchor{north west}{\northeast\pgf@x=-\pgf@x} + \anchor{ne}{\northeast} + \anchor{nw}{\northeast\pgf@x=-\pgf@x} + \anchor{e}{\northeast\pgf@y=0cm } + \anchor{s}{\southwest\pgf@x=0cm } + \anchor{south east}{\southwest\pgf@x=-\pgf@x} + \anchor{south west}{\southwest} + \anchor{se}{\southwest\pgf@x=-\pgf@x} + \anchor{sw}{\southwest} + \anchor{w}{\southwest\pgf@y=0cm } + \anchor{north}{\northeast\pgf@x=0cm } + \anchor{east}{\northeast\pgf@y=0cm } + \anchor{south}{\southwest\pgf@x=0cm } + \anchor{west}{\southwest\pgf@y=0cm } + \anchor{right}{\northeast\pgf@y=0cm } + \anchor{above}{\northeast\pgf@x=0cm } + \anchor{left}{\southwest\pgf@y=0cm } + \anchor{below}{\southwest\pgf@x=0cm } + \anchor{a}{\northeast\pgf@y=0cm } + \anchor{b}{\southwest\pgf@y=0cm } \savedanchor{\textanchor}{% \pgf@y=\ht\pgfnodeparttextbox \pgf@x=-.5\wd\pgfnodeparttextbox } - \anchor{text}{ - \textanchor - } + \anchor{text}{ \textanchor } \anchorborder{% \ifpgf@circuit@bipole@inverted \pgf@circ@res@left=-\pgf@x @@ -711,7 +784,6 @@ #2% \pgf@circ@draw@component{ \pgf@circ@setcolor - \northeast \pgf@circ@res@up = \pgf@y \pgf@circ@res@zero = 0cm diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex index 626ed28812b..b30e741458d 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex @@ -632,13 +632,21 @@ \pgfusepath{draw} \endpgfscope }% - %% Zig-zag resistors +% see https://github.com/circuitikz/circuitikz/discussions/814 +\ctikzset{resistors/zigzag stub/.initial=0} +\ctikzset{resistors/zigzag hook/.code={}} \def\pgf@circ@zigzag#1{% + \pgf@circ@res@temp=\ctikzvalof{resistors/zigzag stub}\pgf@circ@res@step + \advance \pgf@circ@res@step by -2\pgf@circ@res@temp \divide \pgf@circ@res@step by \numexpr4*\zigs\relax \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}} + \ifdim\pgf@circ@res@temp>0pt + \pgfpathlineto{\pgfpoint{\pgf@circ@res@left+\pgf@circ@res@temp -\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}} + \fi \pgf@circ@res@other = \pgf@circ@res@left + \advance\pgf@circ@res@other by \pgf@circ@res@temp \pgf@circ@count@a=\zigs\relax % first half zig \advance\pgf@circ@res@other by \pgf@circ@res@step @@ -655,11 +663,14 @@ \advance\pgf@circ@res@other by 2\pgf@circ@res@step \pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{#1\pgf@circ@res@down}} \advance\pgf@circ@res@other by \pgf@circ@res@step - \pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{\pgf@circ@res@zero}} + \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}} + \ifdim\pgf@circ@res@temp>0pt + \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgf@circ@res@temp+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}} + \fi \pgfsetbeveljoin + \pgfkeys{/tikz/circuitikz/resistors/zigzag hook} \pgfusepath{draw} } - %% Resistor \pgfcircdeclarebipolescaled{resistors} { @@ -672,7 +683,7 @@ { \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgftransformationadjustments - \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth} + \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen} \pgf@circ@zigzag{1} } @@ -692,7 +703,7 @@ { \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgftransformationadjustments - \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth} + \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen} \pgf@circ@zigzag{.5} \pgfscope @@ -731,7 +742,7 @@ { \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgftransformationadjustments - \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth} + \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen} \pgf@circ@zigzag{1} \pgfscope @@ -761,7 +772,7 @@ {% \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgftransformationadjustments - \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth} + \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen} \pgf@circ@zigzag{.5} \pgfscope @@ -810,7 +821,7 @@ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right/\@@intscale+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}} \pgfpathlineto{\pgfpoint{\pgf@circ@res@right+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}} \pgftransformationadjustments - \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth} + \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen} \pgf@circ@zigzag{\@@hscale} }% @@ -6031,6 +6042,13 @@ \ctikzset{bipoles/qpprobe/voltage/additional shift/.initial=.5} \ctikzset{bipoles/iloop/width/.initial=.40} \ctikzset{bipoles/iloop/height/.initial=.60} +% currtap see https://github.com/circuitikz/circuitikz/issues/807 +\ctikzset{bipoles/currtap/height/.initial=0.4} +\ctikzset{bipoles/currtap/dot size/.initial=0.5} +\ctikzset{bipoles/currtap/fill/.initial=default} +\ctikzset{bipoles/currtap/dash/.initial=none} +\ctikzset{bipoles/currtap/color/.initial=default} +\ctikzset{bipoles/currtap/thickness/.initial=default} \ctikzset{bipoles/oscope/height/.initial=.60} \ctikzset{bipoles/oscope/width/.initial=.60} @@ -6607,6 +6625,28 @@ \pgfusepath{draw} \endpgfscope } +%% currtap +\pgfcircdeclarebipolescaled{instruments} +{ + \savedmacro{\@@dotsize}{\def\@@dotsize{\ctikzvalof{bipoles/currtap/dot size}}} + \anchor{tap}{\northeast\pgf@x=0pt\pgf@y=\@@dotsize\pgf@y\pgf@y=-\pgf@y} +} +{\ctikzvalof{bipoles/currtap/height}} +{currtap} +{\ctikzvalof{bipoles/currtap/height}} +{\ctikzvalof{bipoles/currtap/height}} +{ + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{0.95\pgf@circ@res@left}{0pt}} + \pgfpatharc{180}{0}{0.95\pgf@circ@res@right} + \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0pt}} + \pgfusepath{draw} + \pgf@circ@subset@color@dash{bipoles/currtap} + \pgf@circ@subset@thickness{bipoles/currtap} + \pgfusepath{draw} + \pgfpathcircle{\pgfpoint{0pt}{0pt}}{\@@dotsize*\pgf@circ@res@up} + \pgf@circ@subset@fill@or@draw{bipoles/currtap} +} % %>>> % Path definitions for Instruments%<<< @@ -6619,8 +6659,8 @@ \pgfcirc@activate@bipole@simple{l}{rmeterwa} \pgfcirc@activate@bipole@simple{l}{smeter} \pgfcirc@activate@bipole@simple{l}{iloop} -% \pgfcirc@activate@bipole@simple{l}{iloop2} that was wrong \pgfcirc@activate@bipole{l}{ilooptwo}{iloop2}{iloop2} +\pgfcirc@activate@bipole@simple{l}{currtap} \pgfcirc@activate@bipole@simple{l}{qvprobe} \pgfcirc@activate@bipole@simple{l}{qiprobe} \pgfcirc@activate@bipole@simple{l}{qpprobe} @@ -6774,16 +6814,22 @@ % spring into the damper \pgfscope - \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@zero}} + \pgfscope + \pgftransformationadjustments \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}} + \pgfpathlineto{\pgfpoint{.95\pgf@circ@res@left}{\pgf@circ@res@zero}} \pgfsetcornersarced{\pgfpoint{.25\pgf@circ@res@up}{.25\pgf@circ@res@up}} \pgfpathlineto{\pgfpoint{.75\pgf@circ@res@left}{.75\pgf@circ@res@up}} \pgfpathlineto{\pgfpoint{.5\pgf@circ@res@left}{-.75\pgf@circ@res@up}} \pgfpathlineto{\pgfpoint{.25\pgf@circ@res@left}{.75\pgf@circ@res@up}} \pgfpathlineto{\pgfpoint{0pt}{-.75\pgf@circ@res@up}} \pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/damper/length}\pgf@circ@res@right}{.75\pgf@circ@res@up}} + \pgfsetbuttcap + \pgfsetbeveljoin \pgfusepath{stroke} \endpgfscope + \endpgfscope % damper box \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}} @@ -7171,18 +7217,18 @@ {\ctikzvalof{bipoles/thermocouple/height}} {\ctikzvalof{bipoles/thermocouple/width}} { + \pgfsetrectcap \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0}} \pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}} - \pgfusepath{draw} - \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}} - \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} \pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}} - \pgfusepath{draw} - \pgfsetlinewidth{\pgfstartlinewidth} - \pgfpathmoveto{\pgfpoint{0}{\pgf@circ@res@down}} \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{.5\pgf@circ@res@down}} \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0}} \pgfusepath{draw} + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfsetroundcap + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}} + \pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}} + \pgfusepath{draw} } %% fuse \pgfcircdeclarebipolescaled{misc} diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex index e3665b88625..cb95f54ef3e 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex @@ -231,13 +231,15 @@ \compattikzset{#2/.style={\comnpatname #1, #3={##1}}}% } % create a bipole -\def\pgfcirc@activate@bipole#1#2#3#4{% path name, base node name, style name +\def\pgfcirc@activate@bipole#1#2#3#4{% type of label, path name, base node name, style name + % \typeout{Activate bipole:\space #4,} \expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}% \pgfcirc@path@to@style{#1}{#2}{#4}{}% no options here, let's see } \def\pgfcirc@activate@bipole@simple#1#2{\pgfcirc@activate@bipole{#1}{#2}{#2}{#2}} % create a bipole with options -\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% path name, base node name, style name +\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% type of label, path name, base node name, style name, options + % \typeout{Activate bipole:\space #4,} \expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}% \pgfcirc@path@to@style{#1}{#2}{#4}{#5}% no options here, let's see } diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty index 7f3827b207b..61d4f2d20c2 100644 --- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty +++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.sty @@ -6,7 +6,7 @@ %% %% lt3luabridge.dtx (with options: `latex-package') %% -%% Copyright (C) 2016-2024 VÃt Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -45,8 +45,8 @@ \RequirePackage{expl3} \ProvidesExplPackage {lt3luabridge}% - {2024-02-14}% - {2.1.0}% + {2024-07-03}% + {2.2.0}% {An expl3 package that allows you to execute Lua code in LuaTeX or any other TeX engine that exposes the shell} \input lt3luabridge\relax diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex index 256456220e0..26d3dc6a0b9 100644 --- a/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex +++ b/Master/texmf-dist/tex/generic/lt3luabridge/lt3luabridge.tex @@ -6,7 +6,7 @@ %% %% lt3luabridge.dtx (with options: `generic-package') %% -%% Copyright (C) 2016-2024 VÃt Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -117,9 +117,34 @@ = { \c_luabridge_method_shell_int } { - \str_const:Nn - \c_luabridge_default_output_dirname_str - { . } + \sys_if_platform_unix:TF + { + \str_const:Nn + \c_luabridge_default_output_dirname_str + { $TEXMF_OUTPUT_DIRECTORY } + } + { + \sys_if_platform_windows:TF + { + \str_set:Nn + \l_tmpa_str + { TEXMF_OUTPUT_DIRECTORY } + \str_put_left:NV + \l_tmpa_str + \c_percent_str + \str_put_right:NV + \l_tmpa_str + \c_percent_str + \str_const:NV + \c_luabridge_default_output_dirname_str + \l_tmpa_str + } + { + \str_const:Nn + \c_luabridge_default_output_dirname_str + { . } + } + } \str_const:Nx \c_luabridge_default_helper_script_filename_str { \jobname.luabridge.lua } @@ -207,9 +232,37 @@ \g_luabridge_helper_script_filename_str \sys_get_shell:xnNTF { - texlua~ - \g_luabridge_output_dirname_str / - \g_luabridge_helper_script_filename_str + \str_if_eq:NNTF + \g_luabridge_output_dirname_str + \c_luabridge_default_output_dirname_str + { + \sys_if_platform_windows:TF + { + if~not~defined~TEXMF_OUTPUT_DIRECTORY~( + texlua~ + \g_luabridge_helper_script_filename_str + )~else~( + texlua~ + \g_luabridge_output_dirname_str / + \g_luabridge_helper_script_filename_str + ) + } + { + \sys_if_platform_unix:T + { + TEXMF_OUTPUT_DIRECTORY = + ${TEXMF_OUTPUT_DIRECTORY:-.} \iow_newline: + } + texlua~ + \g_luabridge_output_dirname_str / + \g_luabridge_helper_script_filename_str + } + } + { + texlua~ + \g_luabridge_output_dirname_str / + \g_luabridge_helper_script_filename_str + } } { } #1 diff --git a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex index ac4eed7372b..35e6ab1e8ab 100644 --- a/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex +++ b/Master/texmf-dist/tex/generic/lt3luabridge/t-lt3luabridge.tex @@ -6,7 +6,7 @@ %% %% lt3luabridge.dtx (with options: `context-package') %% -%% Copyright (C) 2016-2024 VÃt Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c diff --git a/Master/texmf-dist/tex/generic/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex index 9c71c07afd1..ed5a94c990c 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdown.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdown.tex @@ -6,7 +6,7 @@ %% %% markdown.dtx (with options: `tex') %% -%% Copyright (C) 2016-2024 VÃt Starý Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný, Andrej GenÄur %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -51,7 +51,9 @@ \prop_new:N \g__markdown_default_lua_options_prop \seq_new:N \g__markdown_option_layers_seq \tl_const:Nn \c__markdown_option_layer_lua_tl { lua } -\seq_gput_right:NV \g__markdown_option_layers_seq \c__markdown_option_layer_lua_tl +\seq_gput_right:NV + \g__markdown_option_layers_seq + \c__markdown_option_layer_lua_tl \cs_new:Nn \__markdown_add_lua_option:nnn { @@ -128,21 +130,50 @@ \cs_generate_variant:Nn \msg_error:nnnn { nnnV } -\seq_new:N \g__markdown_option_types_seq -\tl_const:Nn \c__markdown_option_type_clist_tl { clist } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_clist_tl -\tl_const:Nn \c__markdown_option_type_counter_tl { counter } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_counter_tl -\tl_const:Nn \c__markdown_option_type_boolean_tl { boolean } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_boolean_tl -\tl_const:Nn \c__markdown_option_type_number_tl { number } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_number_tl -\tl_const:Nn \c__markdown_option_type_path_tl { path } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_path_tl -\tl_const:Nn \c__markdown_option_type_slice_tl { slice } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_slice_tl -\tl_const:Nn \c__markdown_option_type_string_tl { string } -\seq_gput_right:NV \g__markdown_option_types_seq \c__markdown_option_type_string_tl +\seq_new:N + \g__markdown_option_types_seq +\tl_const:Nn + \c__markdown_option_type_clist_tl + { clist } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_clist_tl +\tl_const:Nn + \c__markdown_option_type_counter_tl + { counter } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_counter_tl +\tl_const:Nn + \c__markdown_option_type_boolean_tl + { boolean } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_boolean_tl +\tl_const:Nn + \c__markdown_option_type_number_tl + { number } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_number_tl +\tl_const:Nn + \c__markdown_option_type_path_tl + { path } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_path_tl +\tl_const:Nn + \c__markdown_option_type_slice_tl + { slice } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_slice_tl +\tl_const:Nn + \c__markdown_option_type_string_tl + { string } +\seq_gput_right:NV + \g__markdown_option_types_seq + \c__markdown_option_type_string_tl \cs_new:Nn \__markdown_get_option_type:nN { @@ -323,6 +354,10 @@ \__markdown_add_lua_option:nnn { eagerCache } { boolean } + { true } +\__markdown_add_lua_option:nnn + { experimental } + { boolean } { false } \__markdown_add_lua_option:nnn { singletonCache } @@ -413,6 +448,10 @@ { boolean } { false } \__markdown_add_lua_option:nnn + { ensureJekyllData } + { boolean } + { false } +\__markdown_add_lua_option:nnn { expectJekyllData } { boolean } { false } @@ -580,12 +619,20 @@ { boolean } { true } \ExplSyntaxOff -\def\markdownLastModified{2024-06-20}% -\def\markdownVersion{3.6.1-0-g5a45a922}% +\def\markdownLastModified{2024-11-03}% +\def\markdownVersion{3.8.1-0-gbbed72f3}% \let\markdownBegin\relax \let\markdownEnd\relax +\let\yamlBegin\relax +\def\yamlEnd{\markdownEnd\endgroup} \let\markinline\relax \let\markdownInput\relax +\def\yamlInput#1{% + \begingroup + \yamlSetup{jekyllData, expectJekyllData, ensureJekyllData}% + \markdownInput{#1}% + \endgroup +}% \let\markdownEscape\relax \ExplSyntaxOn \tl_const:Nn \c__markdown_option_layer_plain_tex_tl { plain_tex } @@ -602,7 +649,9 @@ \seq_new:N \g__markdown_plain_tex_options_seq \prop_new:N \g__markdown_plain_tex_option_types_prop \prop_new:N \g__markdown_default_plain_tex_options_prop -\seq_gput_right:NV \g__markdown_option_layers_seq \c__markdown_option_layer_plain_tex_tl +\seq_gput_right:NV + \g__markdown_option_layers_seq + \c__markdown_option_layer_plain_tex_tl \cs_new:Nn \__markdown_add_plain_tex_option:nnn { @@ -622,6 +671,9 @@ \cs_gset_eq:NN \markdownSetup \__markdown_setup:n +\cs_gset_eq:NN + \yamlSetup + \markdownSetup \prg_new_conditional:Nnn \__markdown_if_option:n { TF, T, F } @@ -664,38 +716,10 @@ { inputTempFileName } { path } { \jobname.markdown.in } -\cs_generate_variant:Nn - \__markdown_add_plain_tex_option:nnn - { nnV } -\ExplSyntaxOff -\input lt3luabridge.tex -\ExplSyntaxOn -\bool_if:nTF - { - \cs_if_exist_p:N - \luabridge_tl_set:Nn && - ( - \int_compare_p:nNn - { \g_luabridge_method_int } - = - { \c_luabridge_method_directlua_int } || - \sys_if_shell_unrestricted_p: - ) - } - { - \luabridge_tl_set:Nn - \l_tmpa_tl - { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") } - } - { - \tl_set:Nn - \l_tmpa_tl - { . } - } -\__markdown_add_plain_tex_option:nnV +\__markdown_add_plain_tex_option:nnn { outputDir } { path } - \l_tmpa_tl + { . } \__markdown_add_plain_tex_option:nnn { plain } { boolean } @@ -740,18 +764,64 @@ \cs_new:Nn \__markdown_define_option_command:n { - \__markdown_option_tl_to_csname:nN + \str_if_eq:nnTF { #1 } - \l_tmpa_tl - \cs_if_exist:cF - { \l_tmpa_tl } + { outputDir } + { \__markdown_define_option_command_output_dir: } { - \__markdown_get_default_option_value:nN - { #1 } - \l_tmpa_tl - \__markdown_set_option_value:nV + \__markdown_option_tl_to_csname:nN { #1 } \l_tmpa_tl + \cs_if_exist:cF + { \l_tmpa_tl } + { + \__markdown_get_default_option_value:nN + { #1 } + \l_tmpa_tl + \__markdown_set_option_value:nV + { #1 } + \l_tmpa_tl + } + } + } +\ExplSyntaxOff +\input lt3luabridge.tex +\ExplSyntaxOn +\cs_new:Nn + \__markdown_define_option_command_output_dir: + { + \cs_if_free:NT + \markdownOptionOutputDir + { + \bool_if:nTF + { + \cs_if_exist_p:N + \luabridge_tl_set:Nn && + ( + \int_compare_p:nNn + { \g_luabridge_method_int } + = + { \c_luabridge_method_directlua_int } || + \sys_if_shell_unrestricted_p: + ) + } + { + \group_begin: + \cctab_select:N + \c_str_cctab + \luabridge_tl_set:Nn + \l_tmpa_tl + { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") } + \tl_gset:NV + \markdownOptionOutputDir + \l_tmpa_tl + \group_end: + } + { + \tl_gset:Nn + \markdownOptionOutputDir + { . } + } } } \cs_new:Nn @@ -914,7 +984,7 @@ \prg_generate_conditional_variant:Nnn \str_if_eq:nn { en } - { F } + { p, F } \msg_new:nnn { markdown } { malformed-name-for-clist-option } @@ -948,14 +1018,22 @@ }, } \seq_new:N - \g__markdown_themes_seq + \g__markdown_theme_names_seq +\seq_new:N + \g__markdown_theme_versions_seq \tl_new:N \g__markdown_current_theme_tl \tl_gset:Nn \g__markdown_current_theme_tl { } \seq_gput_right:NV - \g__markdown_themes_seq + \g__markdown_theme_names_seq + \g__markdown_current_theme_tl +\cs_new:Npn + \markdownThemeVersion + { } +\seq_gput_right:NV + \g__markdown_theme_versions_seq \g__markdown_current_theme_tl \cs_new:Nn \__markdown_set_theme:n @@ -978,31 +1056,85 @@ { underscores-in-theme-name } { #1 } } - \str_set:Nn - \l_tmpa_str + \str_if_in:nnTF { #1 } + { @ } + { + \regex_extract_once:nnN + { (.*) @ (.*) } + { #1 } + \l_tmpa_seq + \seq_gpop_left:NN + \l_tmpa_seq + \l_tmpa_tl + \seq_gpop_left:NN + \l_tmpa_seq + \l_tmpa_tl + \tl_gset:NV + \g__markdown_current_theme_tl + \l_tmpa_tl + \seq_gpop_left:NN + \l_tmpa_seq + \l_tmpa_tl + \cs_gset:Npe + \markdownThemeVersion + { + \tl_use:N + \l_tmpa_tl + } + } + { + \tl_gset:Nn + \g__markdown_current_theme_tl + { #1 } + \cs_gset:Npn + \markdownThemeVersion + { latest } + } + \str_set:NV + \l_tmpa_str + \g__markdown_current_theme_tl \str_replace_all:Nnn \l_tmpa_str { / } { _ } - \tl_gset:Nn + \tl_set:NV + \l_tmpa_tl \g__markdown_current_theme_tl - { #1 / } + \tl_put_right:Nn + \g__markdown_current_theme_tl + { / } \seq_gput_right:NV - \g__markdown_themes_seq + \g__markdown_theme_names_seq \g__markdown_current_theme_tl - \__markdown_load_theme:nV - { #1 } + \seq_gput_right:NV + \g__markdown_theme_versions_seq + \markdownThemeVersion + \__markdown_load_theme:VeV + \l_tmpa_tl + { \markdownThemeVersion } \l_tmpa_str \seq_gpop_right:NN - \g__markdown_themes_seq + \g__markdown_theme_names_seq \l_tmpa_tl \seq_get_right:NN - \g__markdown_themes_seq + \g__markdown_theme_names_seq \l_tmpa_tl \tl_gset:NV \g__markdown_current_theme_tl \l_tmpa_tl + \seq_gpop_right:NN + \g__markdown_theme_versions_seq + \l_tmpa_tl + \seq_get_right:NN + \g__markdown_theme_versions_seq + \l_tmpa_tl + \cs_gset:Npe + \markdownThemeVersion + { + \tl_use:N + \l_tmpa_tl + } } \msg_new:nnnn { markdown } @@ -1017,6 +1149,9 @@ \cs_generate_variant:Nn \tl_replace_all:Nnn { NnV } +\cs_generate_variant:Nn + \cs_gset:Npn + { Npe } \prop_new:N \g__markdown_snippets_prop \cs_new:Nn @@ -1044,10 +1179,14 @@ { redefined-snippet } \l_tmpa_tl } - \prop_gput:NVn + \keys_precompile:nnN + { markdown/options } + { #2 } + \l_tmpb_tl + \prop_gput:NVV \g__markdown_snippets_prop \l_tmpa_tl - { #2 } + \l_tmpb_tl } \cs_gset_eq:NN \markdownSetupSnippet @@ -1061,20 +1200,21 @@ { markdown } { redefined-snippet } { Redefined~snippet~#1 } +\tl_new:N + \l__markdown_current_snippet_tl \prg_new_conditional:Nnn \__markdown_if_snippet_exists:n { TF, T, F } { \tl_set:NV - \l_tmpa_tl + \l__markdown_current_snippet_tl \g__markdown_current_theme_tl \tl_put_right:Nn - \l_tmpa_tl + \l__markdown_current_snippet_tl { #1 } - \prop_get:NVNTF + \prop_if_in:NVTF \g__markdown_snippets_prop - \l_tmpa_tl - \l_tmpb_tl + \l__markdown_current_snippet_tl { \prg_return_true: } { \prg_return_false: } } @@ -1098,7 +1238,7 @@ \g__markdown_snippets_prop \l_tmpa_tl \l_tmpb_tl - \__markdown_setup:V + \tl_use:N \l_tmpb_tl } { @@ -1113,9 +1253,6 @@ { markdown } { undefined-snippet } { Can't~invoke~undefined~snippet~#1 } -\cs_generate_variant:Nn - \__markdown_setup:n - { V } \tl_new:N \l__markdown_import_current_theme_tl \keys_define:nn @@ -2370,6 +2507,26 @@ { untickedBox } { 0 } \ExplSyntaxOff +\def\markdownRendererWarning{% + \markdownRendererWarningPrototype}% +\def\markdownRendererError{% + \markdownRendererErrorPrototype}% +\ExplSyntaxOn +\seq_gput_right:Nn + \g__markdown_renderers_seq + { warning } +\prop_gput:Nnn + \g__markdown_renderer_arities_prop + { warning } + { 4 } +\seq_gput_right:Nn + \g__markdown_renderers_seq + { error } +\prop_gput:Nnn + \g__markdown_renderer_arities_prop + { error } + { 4 } +\ExplSyntaxOff \def\markdownRendererJekyllDataBegin{% \markdownRendererJekyllDataBeginPrototype}% \ExplSyntaxOn @@ -2458,11 +2615,80 @@ { jekyllDataNumber } { 2 } \ExplSyntaxOff -\def\markdownRendererJekyllDataString{% - \markdownRendererJekyllDataStringPrototype}% +\def\markdownRendererJekyllDataTypographicString{% + \markdownRendererJekyllDataTypographicStringPrototype}% +\def\markdownRendererJekyllDataProgrammaticString{% + \markdownRendererJekyllDataProgrammaticStringPrototype}% \ExplSyntaxOn \seq_gput_right:Nn \g__markdown_renderers_seq + { jekyllDataTypographicString } +\prop_gput:Nnn + \g__markdown_renderer_arities_prop + { jekyllDataTypographicString } + { 2 } +\seq_gput_right:Nn + \g__markdown_renderers_seq + { jekyllDataProgrammaticString } +\prop_gput:Nnn + \g__markdown_renderer_arities_prop + { jekyllDataProgrammaticString } + { 2 } +\cs_gset:Npn + \markdownRendererJekyllDataTypographicString + { + \cs_if_exist:NTF + \markdownRendererJekyllDataString + { + \__markdown_if_option:nTF + { experimental } + { + \markdownError + { + The~jekyllDataString~renderer~has~been~deprecated,~ + to~be~removed~in~Markdown~4.0.0 + } + } + { + \markdownWarning + { + The~jekyllDataString~renderer~has~been~deprecated,~ + to~be~removed~in~Markdown~4.0.0 + } + \markdownRendererJekyllDataString + } + } + { + \cs_if_exist:NTF + \markdownRendererJekyllDataStringPrototype + { + \__markdown_if_option:nTF + { experimental } + { + \markdownError + { + The~jekyllDataString~renderer~prototype~ + has~been~deprecated,~ + to~be~removed~in~Markdown~4.0.0 + } + } + { + \markdownWarning + { + The~jekyllDataString~renderer~prototype~ + has~been~deprecated,~ + to~be~removed~in~Markdown~4.0.0 + } + \markdownRendererJekyllDataStringPrototype + } + } + { + \markdownRendererJekyllDataTypographicStringPrototype + } + } + } +\seq_gput_right:Nn + \g__markdown_renderers_seq { jekyllDataString } \prop_gput:Nnn \g__markdown_renderer_arities_prop @@ -2481,9 +2707,12 @@ { 1 } \cs_new:Nn \__markdown_define_renderers: { - \seq_map_function:NN + \seq_map_inline:Nn \g__markdown_renderers_seq - \__markdown_define_renderer:n + { + \__markdown_define_renderer:n + { ##1 } + } } \cs_new:Nn \__markdown_define_renderer:n { @@ -2547,6 +2776,13 @@ \l__markdown_renderer_definition_tl }, } + \str_if_eq:nnT + { #1 } + { jekyllDataString } + { + \cs_undefine:N + #2 + } } \cs_new_protected:Nn \__markdown_tl_set_from_cs:NNn @@ -2804,9 +3040,12 @@ { nV } \cs_new:Nn \__markdown_define_renderer_prototypes: { - \seq_map_function:NN + \seq_map_inline:Nn \g__markdown_renderers_seq - \__markdown_define_renderer_prototype:n + { + \__markdown_define_renderer_prototype:n + { ##1 } + } } \cs_new:Nn \__markdown_define_renderer_prototype:n { @@ -2871,14 +3110,19 @@ \l__markdown_renderer_prototype_definition_tl }, } - \cs_if_free:NT - #2 + \str_if_eq:nnF + { #1 } + { jekyllDataString } { - \cs_generate_from_arg_count:NNnn + \cs_if_free:NT #2 - \cs_set:Npn - { #3 } - { } + { + \cs_generate_from_arg_count:NNnn + #2 + \cs_set:Npn + { #3 } + { } + } } } \cs_generate_variant:Nn @@ -2980,6 +3224,11 @@ |gdef|markdownBegin{% |markdownReadAndConvert{\markdownEnd}% {|markdownEnd}}% + |gdef|yamlBegin{% + |begingroup + |yamlSetup{jekyllData, expectJekyllData, ensureJekyllData}% + |markdownReadAndConvert{\yamlEnd}% + {|yamlEnd}}% |endgroup \ExplSyntaxOn \keys_define:nn @@ -3043,53 +3292,91 @@ \msg_error:nnnn { nnee } \prop_new:N \g__markdown_plain_tex_loaded_themes_linenos_prop +\prop_new:N \g__markdown_plain_tex_loaded_themes_versions_prop \cs_new:Nn - \__markdown_plain_tex_load_theme:nn + \__markdown_plain_tex_load_theme:nnn { \prop_get:NnNTF \g__markdown_plain_tex_loaded_themes_linenos_prop { #1 } \l_tmpa_tl { - \msg_warning:nnnV - { markdown } - { repeatedly-loaded-plain-tex-theme } + \prop_get:NnN + \g__markdown_plain_tex_loaded_themes_versions_prop { #1 } - \l_tmpa_tl + \l_tmpb_tl + \str_if_eq:nVTF + { #2 } + \l_tmpb_tl + { + \msg_warning:nnnVn + { markdown } + { repeatedly-loaded-plain-tex-theme } + { #1 } + \l_tmpa_tl + { #2 } + } + { + \msg_error:nnnnVV + { markdown } + { different-versions-of-plain-tex-theme } + { #1 } + { #2 } + \l_tmpb_tl + \l_tmpa_tl + } } { - \msg_info:nnn + \msg_info:nnnn { markdown } { loading-plain-tex-theme } { #1 } + { #2 } \prop_gput:Nnx \g__markdown_plain_tex_loaded_themes_linenos_prop { #1 } { \tex_the:D \tex_inputlineno:D } + \prop_gput:Nnn + \g__markdown_plain_tex_loaded_themes_versions_prop + { #1 } + { #2 } \file_input:n - { markdown theme #2 } + { markdown theme #3 } } } \msg_new:nnn { markdown } { loading-plain-tex-theme } - { Loading~plain~TeX~Markdown~theme~#1 } + { Loading~version~#2~of~plain~TeX~Markdown~theme~#1 } \msg_new:nnn { markdown } { repeatedly-loaded-plain-tex-theme } { - Plain~TeX~Markdown~theme~#1~was~previously~ + Version~#3~of~plain~TeX~Markdown~theme~#1~was~previously~ loaded~on~line~#2,~not~loading~it~again } +\msg_new:nnn + { markdown } + { different-versions-of-plain-tex-theme } + { + Tried~to~load~version~#2~of~plain~TeX~Markdown~theme~#1~ + but~version~#3~has~already~been~loaded~on~line~#4 + } \cs_generate_variant:Nn \prop_gput:Nnn { Nnx } \cs_gset_eq:NN - \__markdown_load_theme:nn - \__markdown_plain_tex_load_theme:nn + \__markdown_load_theme:nnn + \__markdown_plain_tex_load_theme:nnn \cs_generate_variant:Nn - \__markdown_load_theme:nn - { nV } + \__markdown_load_theme:nnn + { VeV } +\cs_generate_variant:Nn + \msg_error:nnnnnn + { nnnnVV } +\cs_generate_variant:Nn + \msg_warning:nnnnn + { nnnVn } \cs_new:Npn \markdownLoadPlainTeXTheme { @@ -3113,16 +3400,17 @@ \l_tmpa_str { / } { _ } - \__markdown_plain_tex_load_theme:VV + \__markdown_plain_tex_load_theme:VeV \l_tmpb_tl + { \markdownThemeVersion } \l_tmpa_str } \cs_generate_variant:Nn \tl_set:Nn { Ne } \cs_generate_variant:Nn - \__markdown_plain_tex_load_theme:nn - { VV } + \__markdown_plain_tex_load_theme:nnn + { VeV } \str_if_eq:VVT \c__markdown_top_layer_tl \c__markdown_option_layer_plain_tex_tl @@ -3131,8 +3419,16 @@ \__markdown_if_option:nF { noDefaults } { - \__markdown_setup:n - {theme = witiko/markdown/defaults} + \__markdown_if_option:nTF + { experimental } + { + \__markdown_setup:n + { theme = witiko/markdown/defaults@experimental } + } + { + \__markdown_setup:n + { theme = witiko/markdown/defaults } + } } \ExplSyntaxOn } @@ -3171,7 +3467,7 @@ \l_tmpa_tl \tl_gput_right:Nx \g__markdown_formatted_lua_options_tl - { #1~=~ \l_tmpa_tl ,~ } + { #1~=~ \l_tmpa_tl ,~ } } { \str_if_eq_p:VV @@ -3188,9 +3484,18 @@ \clist_map_inline:Vn \l_tmpa_tl { - \tl_gput_right:Nx + \__markdown_lua_escape:xN + { ##1 } + \l_tmpb_tl + \tl_gput_right:Nn + \g__markdown_formatted_lua_options_tl + { " } + \tl_gput_right:NV \g__markdown_formatted_lua_options_tl - { "##1" ,~ } + \l_tmpb_tl + \tl_gput_right:Nn + \g__markdown_formatted_lua_options_tl + { " ,~ } } \tl_gput_right:Nx \g__markdown_formatted_lua_options_tl @@ -3201,9 +3506,18 @@ \__markdown_get_option_value:nN { #1 } \l_tmpa_tl - \tl_gput_right:Nx + \__markdown_lua_escape:xN + { \l_tmpa_tl } + \l_tmpb_tl + \tl_gput_right:Nn + \g__markdown_formatted_lua_options_tl + { #1~=~ " } + \tl_gput_right:NV \g__markdown_formatted_lua_options_tl - { #1~=~ " \l_tmpa_tl " ,~ } + \l_tmpb_tl + \tl_gput_right:Nn + \g__markdown_formatted_lua_options_tl + { " ,~ } } } \cs_generate_variant:Nn @@ -3211,18 +3525,77 @@ { Vn } \let\markdownPrepareLuaOptions=\__markdown_format_lua_options: \def\markdownLuaOptions{{ \g__markdown_formatted_lua_options_tl }} +\sys_if_engine_luatex:TF + { + \cs_new:Nn + \__markdown_lua_escape:nN + { + \tl_set:Nx + #2 + { + \lua_escape:n + { #1 } + } + } + } + { + \regex_const:Nn + \c__markdown_lua_escape_regex + { [\\"'] } + \cs_new:Nn + \__markdown_lua_escape:nN + { + \tl_set:Nn + #2 + { #1 } + \regex_replace_all:NnN + \c__markdown_lua_escape_regex + { \u { c_backslash_str } \0 } + #2 + } + } +\cs_generate_variant:Nn + \__markdown_lua_escape:nN + { xN } +\tl_new:N + \markdownInputFilename +\cs_new:Npn + \markdownPrepareInputFilename + #1 + { + \__markdown_lua_escape:xN + { #1 } + \markdownInputFilename + \tl_gset:Nx + \markdownInputFilename + { " \markdownInputFilename " } + } +\cs_new:Npn + \markdownPrepare + { + local~lfs = require("lfs") + local~options = \markdownLuaOptions + if~not~lfs.isdir(options.cacheDir) then~ + assert(lfs.mkdir(options.cacheDir)) + end~ + local~md = require("markdown") + local~convert = md.new(options) + } +\cs_new:Npn + \markdownConvert + { + local~filename = \markdownInputFilename + local~file = assert(io.open(filename, "r"), + [[Could~not~open~file~"]] .. filename .. [["~for~reading]]) + local~input = assert(file:read("*a")) + assert(file:close()) + print(convert(input)) + } \ExplSyntaxOff -\def\markdownPrepare{% - local lfs = require("lfs") - local cacheDir = "\markdownOptionCacheDir" - if not lfs.isdir(cacheDir) then - assert(lfs.mkdir(cacheDir)) - end - local md = require("markdown") - local convert = md.new(\markdownLuaOptions) -}% \def\markdownCleanup{% - lfs.rmdir(cacheDir) + if options.cacheDir then + lfs.rmdir(options.cacheDir) + end }% \csname newread\endcsname\markdownInputFileStream \csname newwrite\endcsname\markdownOutputFileStream @@ -3319,6 +3692,9 @@ } } } + \str_gset:NV + \g_luabridge_output_dirname_str + \markdownOptionOutputDir \luabridge_now:e { #1 } } @@ -3405,29 +3781,42 @@ \msg_new:nnn { markdown } { buffering-markinline } - { Buffering~inline~markdown~input~into~the~temporary~input~file~"#1". } + { Buffering~inline~markdown~input~into~ + the~temporary~input~file~"#1". } \msg_new:nnnn { markdown } { markinline-peek-failure } { Use~of~\iow_char:N \\ markinline~doesn't~match~its~definition } - { The~macro~should~be~followed~by~inline~markdown~text~in~curly~braces } + { The~macro~should~be~followed~by~inline~ + markdown~text~in~curly~braces } \cs_new:Npn \markdownInput #1 { - \file_get_full_name:nNTF - { #1 } - \l_tmpa_tl + \__markdown_if_option:nTF + { frozenCache } { - \exp_args:NV - \markdownInputRaw - \l_tmpa_tl + \markdownInputRaw + { #1 } } { - \msg_error:nnnV - { markdown } - { markdown-file-does-not-exist } + \tl_set:Nx + \l_tmpa_tl { #1 } + \file_get_full_name:VNTF + \l_tmpa_tl + \l_tmpb_tl + { + \exp_args:NV + \markdownInputRaw + \l_tmpb_tl + } + { + \msg_error:nnV + { markdown } + { markdown-file-does-not-exist } + \l_tmpa_tl + } } } \msg_new:nnn @@ -3453,20 +3842,18 @@ |fi |markdownInfo{Including markdown document number "|the|markdownOptionFrozenCacheCounter" from frozen cache}% - |csname markdownFrozenCache|the|markdownOptionFrozenCacheCounter|endcsname + |csname markdownFrozenCache% + |the|markdownOptionFrozenCacheCounter|endcsname |global|advance|markdownOptionFrozenCacheCounter by 1|relax }{% |markdownInfo{Including markdown document "&1"}% |openin|markdownInputFileStream&1 |closein|markdownInputFileStream |markdownPrepareLuaOptions + |markdownPrepareInputFilename{&1}% |markdownLuaExecute{% |markdownPrepare - local file = assert(io.open("&1", "r"), - [[Could not open file "&1" for reading]]) - local input = assert(file:read("*a")) - assert(file:close()) - print(convert(input)) + |markdownConvert |markdownCleanup}% |markdownIfOption{finalizeCache}{% |global|advance|markdownOptionFrozenCacheCounter by 1|relax}{}% diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex index dc8a90917f6..6ca36cac93f 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex @@ -6,7 +6,7 @@ %% %% markdown.dtx (with options: `themes-witiko-markdown-defaults-tex') %% -%% Copyright (C) 2016-2024 VÃt Starý Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný, Andrej GenÄur %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -77,18 +77,22 @@ \def\markdownRendererUlEndTightPrototype{}% \def\markdownRendererOlBeginPrototype{}% \def\markdownRendererOlBeginTightPrototype{}% -\def\markdownRendererFancyOlBeginPrototype#1#2{\markdownRendererOlBegin}% -\def\markdownRendererFancyOlBeginTightPrototype#1#2{\markdownRendererOlBeginTight}% +\def\markdownRendererFancyOlBeginPrototype#1#2{% + \markdownRendererOlBegin}% +\def\markdownRendererFancyOlBeginTightPrototype#1#2{% + \markdownRendererOlBeginTight}% \def\markdownRendererOlItemPrototype{}% \def\markdownRendererOlItemWithNumberPrototype#1{}% \def\markdownRendererOlItemEndPrototype{}% \def\markdownRendererFancyOlItemPrototype{\markdownRendererOlItem}% -\def\markdownRendererFancyOlItemWithNumberPrototype{\markdownRendererOlItemWithNumber}% +\def\markdownRendererFancyOlItemWithNumberPrototype{% + \markdownRendererOlItemWithNumber}% \def\markdownRendererFancyOlItemEndPrototype{}% \def\markdownRendererOlEndPrototype{}% \def\markdownRendererOlEndTightPrototype{}% \def\markdownRendererFancyOlEndPrototype{\markdownRendererOlEnd}% -\def\markdownRendererFancyOlEndTightPrototype{\markdownRendererOlEndTight}% +\def\markdownRendererFancyOlEndTightPrototype{% + \markdownRendererOlEndTight}% \def\markdownRendererDlBeginPrototype{}% \def\markdownRendererDlBeginTightPrototype{}% \def\markdownRendererDlItemPrototype#1{#1}% @@ -163,8 +167,30 @@ \def\markdownRendererSectionBeginPrototype{}% \def\markdownRendererSectionEndPrototype{}% \ExplSyntaxOn +\cs_gset:Npn + \markdownRendererWarningPrototype + #1#2#3#4 + { + \tl_set:Nn + \l_tmpa_tl + { #2 } + \tl_if_empty:nF + { #4 } + { + \tl_put_right:Nn + \l_tmpa_tl + { \iow_newline: #4 } + } + \exp_args:NV + \markdownWarning + \l_tmpa_tl + } +\ExplSyntaxOff +\def\markdownRendererErrorPrototype#1#2#3#4{% + \markdownError{#2}{#4}}% +\ExplSyntaxOn \cs_new:Nn - \__markdown_plain_tex_default_input_raw_inline_renderer_prototype:nn + \__markdown_plain_tex_default_input_raw_inline:nn { \str_case:nn { #2 } @@ -174,7 +200,7 @@ } } \cs_new:Nn - \__markdown_plain_tex_default_input_raw_block_renderer_prototype:nn + \__markdown_plain_tex_default_input_raw_block:nn { \str_case:nn { #2 } @@ -186,14 +212,14 @@ \cs_gset:Npn \markdownRendererInputRawInlinePrototype#1#2 { - \__markdown_plain_tex_default_input_raw_inline_renderer_prototype:nn + \__markdown_plain_tex_default_input_raw_inline:nn { #1 } { #2 } } \cs_gset:Npn \markdownRendererInputRawBlockPrototype#1#2 { - \__markdown_plain_tex_default_input_raw_block_renderer_prototype:nn + \__markdown_plain_tex_default_input_raw_block:nn { #1 } { #2 } } @@ -310,7 +336,8 @@ { #1 } { #2 } } -\def\markdownRendererJekyllDataStringPrototype#1#2{ +\def\markdownRendererJekyllDataProgrammaticStringPrototype#1#2{} +\def\markdownRendererJekyllDataTypographicStringPrototype#1#2{ \markdown_jekyll_data_set_keyvals:nn { #1 } { #2 } diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex index 90d34446f00..dd00c00f7f4 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_tilde.tex @@ -6,7 +6,7 @@ %% %% markdown.dtx (with options: `themes-witiko-tilde') %% -%% Copyright (C) 2016-2024 VÃt Starý Novotný +%% Copyright (C) 2016-2024 VÃt Starý Novotný, Andrej GenÄur %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c diff --git a/Master/texmf-dist/tex/generic/oberdiek/telprint.sty b/Master/texmf-dist/tex/generic/oberdiek/telprint.sty deleted file mode 100644 index aa51f0bd5b3..00000000000 --- a/Master/texmf-dist/tex/generic/oberdiek/telprint.sty +++ /dev/null @@ -1,255 +0,0 @@ -%% -%% This is file `telprint.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% telprint.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% Project: telprint -%% Version: 2016/05/16 v1.11 -%% -%% Copyright (C) -%% 1996, 1997, 2004-2008 Heiko Oberdiek -%% 2016-2019 Oberdiek Package Support Group -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% https://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% https://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status "maintained". -%% -%% The Current Maintainers of this work are -%% Heiko Oberdiek and the Oberdiek Package Support Group -%% https://github.com/ho-tex/oberdiek/issues -%% -%% -%% The Base Interpreter refers to any `TeX-Format', -%% because some files are installed in TDS:tex/generic//. -%% -%% This work consists of the main source file telprint.dtx -%% and the derived files -%% telprint.sty, telprint.pdf, telprint.ins, telprint.drv, -%% telprint-test1.tex. -%% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=12 % : - \catcode64=11 % @ - \catcode123=1 % { - \catcode125=2 % } - \expandafter\let\expandafter\x\csname ver@telprint.sty\endcsname - \ifx\x\relax % plain-TeX, first loading - \else - \def\empty{}% - \ifx\x\empty % LaTeX, first loading, - % variable is initialized, but \ProvidesPackage not yet seen - \else - \expandafter\ifx\csname PackageInfo\endcsname\relax - \def\x#1#2{% - \immediate\write-1{Package #1 Info: #2.}% - }% - \else - \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% - \fi - \x{telprint}{The package is already loaded}% - \aftergroup\endinput - \fi - \fi -\endgroup% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode40=12 % ( - \catcode41=12 % ) - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode47=12 % / - \catcode58=12 % : - \catcode64=11 % @ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode123=1 % { - \catcode125=2 % } - \expandafter\ifx\csname ProvidesPackage\endcsname\relax - \def\x#1#2#3[#4]{\endgroup - \immediate\write-1{Package: #3 #4}% - \xdef#1{#4}% - }% - \else - \def\x#1#2[#3]{\endgroup - #2[{#3}]% - \ifx#1\@undefined - \xdef#1{#3}% - \fi - \ifx#1\relax - \xdef#1{#3}% - \fi - }% - \fi -\expandafter\x\csname ver@telprint.sty\endcsname -\ProvidesPackage{telprint}% - [2016/05/16 v1.11 Format German phone numbers (HO)]% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode64=11 % @ - \def\x{\endgroup - \expandafter\edef\csname TELAtEnd\endcsname{% - \endlinechar=\the\endlinechar\relax - \catcode13=\the\catcode13\relax - \catcode32=\the\catcode32\relax - \catcode35=\the\catcode35\relax - \catcode61=\the\catcode61\relax - \catcode64=\the\catcode64\relax - \catcode123=\the\catcode123\relax - \catcode125=\the\catcode125\relax - }% - }% -\x\catcode61\catcode48\catcode32=10\relax% -\catcode13=5 % ^^M -\endlinechar=13 % -\catcode35=6 % # -\catcode64=11 % @ -\catcode123=1 % { -\catcode125=2 % } -\def\TMP@EnsureCode#1#2{% - \edef\TELAtEnd{% - \TELAtEnd - \catcode#1=\the\catcode#1\relax - }% - \catcode#1=#2\relax -} -\TMP@EnsureCode{33}{12}% ! -\TMP@EnsureCode{36}{3}% $ -\TMP@EnsureCode{40}{12}% ( -\TMP@EnsureCode{41}{12}% ) -\TMP@EnsureCode{42}{12}% * -\TMP@EnsureCode{43}{12}% + -\TMP@EnsureCode{44}{12}% , -\TMP@EnsureCode{45}{12}% - -\TMP@EnsureCode{46}{12}% . -\TMP@EnsureCode{47}{12}% / -\TMP@EnsureCode{91}{12}% [ -\TMP@EnsureCode{93}{12}% ] -\TMP@EnsureCode{126}{13}% ~ (active) -\edef\TELAtEnd{\TELAtEnd\noexpand\endinput} -\ifx\DeclareRobustCommand\UnDeFiNeD - \def\DeclareRobustCommand*#1[1]{\def#1##1}% - \def\TELreset{\let\DeclareRobustCommand=\UnDeFiNeD}% - \input infwarerr.sty\relax - \@PackageInfo{telprint}{% - Macros are not robust!% - }% -\else - \let\TELreset=\relax -\fi -\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}} -\telspace{{}$\,${}} -\DeclareRobustCommand*{\telhyphen}[1]{\def\TELhyphen{#1}} -\telhyphen{\leavevmode\hbox{-}}% \hbox zur Verhinderung der Trennung -\DeclareRobustCommand*{\telslash}[1]{\def\TELslash{#1}} -\telslash{/}% -\DeclareRobustCommand*{\telleftparen}[1]{\def\TELleftparen{#1}} -\telleftparen{(}% -\DeclareRobustCommand*{\telrightparen}[1]{\def\TELrightparen{#1}} -\telrightparen{)}% -\DeclareRobustCommand*{\telplus}[1]{\def\TELplus{#1}} -\telplus{+}% -\DeclareRobustCommand*{\teltilde}[1]{\def\TELtilde{#1}} -\teltilde{~}% -\newtoks\TELtoks -\def\TELnumber#1#2\TELnumberEND{% - \begingroup - \def\0{#2}% - \expandafter\endgroup - \ifx\0\empty - \TELtoks=\expandafter{\the\TELtoks#1}% - \ifnum\TELswitch=0 % - \def\TELx{\TELspace}\def\TELy{}% - \else - \def\TELx{}\def\TELy{\TELspace}% - \fi - \the\TELtoks - \else - \ifnum\TELswitch=0 % - \TELtoks=\expandafter{\the\TELtoks#1\TELx}% - \def\TELswitch{1}% - \else - \TELtoks=\expandafter{\the\TELtoks#1\TELy}% - \def\TELswitch{0}% - \fi - \TELnumber#2\TELnumberEND - \fi -} -\DeclareRobustCommand*{\telnumber}[1]{% - \TELtoks={}% - \def\TELswitch{0}% - \TELnumber#1{}\TELnumberEND -} -\def\TELsplit{\futurelet\TELfuture\TELdosplit} -\def\TELdosplit#1#2\TELsplitEND -{% - \def\TELsp{ }% - \expandafter\ifx\TELsp\TELfuture - \let\TELfuture=\relax - \expandafter\telnumber\expandafter{\the\TELtoks}~% - \telprint{#1#2}% Das Leerzeichen kann nicht #1 sein! - \else - \def\TELfirst{#1}% - \ifx\TELfirst\empty - \expandafter\telnumber\expandafter{\the\TELtoks}% - \TELtoks={}% - \else\if-\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELhyphen - \telprint{#2}% - \else\if/\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELslash - \telprint{#2}% - \else\if(\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELleftparen - \telprint{#2}% - \else\if)\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELrightparen - \telprint{#2}% - \else\if+\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELplus - \telprint{#2}% - \else\def\TELtemp{~}\ifx\TELtemp\TELfirst - \expandafter\telnumber\expandafter{\the\TELtoks}\TELtilde - \telprint{#2}% - \else - \TELtoks=\expandafter{\the\TELtoks#1}% - \TELsplit#2{}\TELsplitEND - \fi\fi\fi\fi\fi\fi\fi - \fi -} -\DeclareRobustCommand*{\telprint}[1]{% - \TELtoks={}% - \TELsplit#1{}\TELsplitEND -} -\TELreset\let\TELreset=\UnDeFiNeD -\TELAtEnd% -%% \section{Installation} -\endinput -%% -%% End of file `telprint.sty'. diff --git a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex index 4a3e81fde05..298ac906bc7 100644 --- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex +++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex @@ -1,4 +1,4 @@ -%% $Id: pst-circ.tex 210 2021-09-10 07:52:09Z herbert $ +%% $Id: pst-circ.tex 1015 2024-10-10 12:02:54Z herbert $ %% This is file `pst-circ.tex' %% %% IMPORTANT NOTICE: @@ -26,8 +26,8 @@ \ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi \ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi % -\def\fileversion{2.19} -\def\filedate{2021/09/09} +\def\fileversion{2.20} +\def\filedate{2024/10/10} \message{`pst-circ' v\fileversion (hv)} % \edef\PstAtCode{\the\catcode`\@} @@ -1022,6 +1022,7 @@ /YC Y1 Y2 add 2 div def XC YC end ){C@} \rput(C@){\pst@draw@OA} + \psset{fillstyle=none}% reset, otherwise the connectionlines are also used for a fillstyle \ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#1}{\ifPst@OAinvert Minus@\else Plus@\fi} \ncput[npos=2]{\pnode{\ifPst@OAinvert Minus@@\else Plus@@\fi}} \ifPst@OAiplus @@ -1905,9 +1906,9 @@ \fi \pcline[fillstyle=none,linestyle=none](#2)(#3) %%%%% - \pst@intensity{#2}{#3} - \pst@tension{#2}{#3} - \fi% + \pst@intensity{#2}{#3}% + \pst@tension{#2}{#3}% + \fi }% % \def\pst@intensity#1#2{% @@ -2112,15 +2113,15 @@ \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25) \else - \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0) - \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0) - \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0) - \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0) - \pnode(-1,0){dipole@1} - \pnode(1,0){dipole@2} - \fi\fi\fi\fi% - \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi% - } + \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0)% + \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0)% + \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0)% + \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0)% + \pnode(-1,0){dipole@1}% + \pnode(1,0){dipole@2}% + \fi\fi\fi\fi + \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi +} % \def\pst@draw@Ucc{% \pnode(-0.5,0){dipole@1} diff --git a/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex b/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex index cd15fa05373..0aff59732c5 100644 --- a/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex +++ b/Master/texmf-dist/tex/generic/pst-coil/pst-coil.tex @@ -1,4 +1,4 @@ -%% $Id: pst-coil.tex 578 2011-09-18 17:18:46Z herbert $ +%% $Id: pst-coil.tex 930 2024-08-13 18:19:44Z herbert $ %% BEGIN pst-coil.tex %% %% Coils and zigzags with PSTricks @@ -7,7 +7,7 @@ %% %% %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. -%% 2006-2015 Herbert Voss, hvoss@tug.org +%% 2006-2024 Herbert Voss, hvoss@tug.org %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN @@ -21,8 +21,8 @@ \ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi \ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi % -\def\fileversion{1.07} -\def\filedate{2015/05/13} +\def\fileversion{1.08} +\def\filedate{2024/08/13} % \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 @@ -48,7 +48,15 @@ \let\psk@coilarmB\psk@coilarmA} \define@key[psset]{pst-coil}{coilaspect}[45]{\pst@getangle{#1}\psk@coilaspect} \define@key[psset]{pst-coil}{coilinc}[10]{\pst@getangle{#1}\psk@coilinc} -% +%%%%%% alternative macro +\define@key[psset]{pst-coil}{N}[10]{\def\psk@NoOfSpirals{#1 }} +\define@key[psset]{pst-coil}{R}[1]{\def\psk@InitialWidth{#1 }}% in cm +\define@key[psset]{pst-coil}{l0}[10]{\def\psk@InitialLength{#1 }} +\define@key[psset]{pst-coil}{alpha}[15]{\def\psk@coil@Alpha{#1 }} +\define@key[psset]{pst-coil}{arm}[0]{\def\psk@coil@arm{#1 }} +\define@key[psset]{pst-coil}{nS}[25]{\def\psk@coil@NoOfPointsPerCoil{#1 }} +\psset[pst-coil]{N=10,R=0.5,alpha=15,arm=0,l0=5,nS=25} + \psset[pst-coil]{coilaspect=45,coilarm=.5cm,coilheight=1,coilwidth=1cm,coilinc=10} % \def\pscoil{\def\pst@par{}\pst@object{pscoil}} @@ -198,7 +206,7 @@ { \psk@function } \tx@Sin }% - \showpointsfalse% + \showpointsfalse \end@OpenObj} % \def\ncsin{\pst@object{ncsin}} @@ -220,6 +228,49 @@ \def\pcsin{\def\pst@par{}\pst@object{pcsin}} \def\pcsin@i{\pc@object\ncsin@ii} % +\def\psAltCoil{\def\pst@par{}\pst@object{psAltCoil}} +\def\psAltCoil@i{\pst@getarrows\psAltCoil@ii} +\def\psAltCoil@ii(#1){\@ifnextchar({\psAltCoil@iii{1}(#1)}{\psAltCoil@iii{\z@}(0,0)(#1)}} +\def\psAltCoil@iii#1(#2)(#3){% + \begin@OpenObj + \pst@getcoor{#2}\pst@tempa + \pst@getcoor{#3}\pst@tempb + \addto@pscode{% + \pst@tempa \pst@tempb + /y1 ED /x1 ED /y0 ED /x0 ED + x0 y0 translate + y1 y0 sub x1 x0 sub 2 copy Pyth + /Longueur ED + Atan rotate + /NoOfSpirals \psk@NoOfSpirals def % nombre de spires + /Alpha \psk@coil@Alpha def + /R_0 \psk@InitialWidth \pst@number\psunit mul def + /arm \psk@coil@arm \pst@number\psunit mul def + /l_0 \psk@InitialLength \pst@number\psunit mul def + /nS \psk@coil@NoOfPointsPerCoil def + /Pas_0 l_0 NoOfSpirals div def + /Pas Longueur 2 arm mul sub NoOfSpirals div def + % longueur de l'hélice sur un tour + % = sqrt(4*pi^2*R^2+p^2) + /Longueur_Helice_pas 39.47842 R_0 dup mul mul Pas_0 dup mul add sqrt def + % R=1/(2*pi)*sqrt(L^2-p^2) + /Radius 0.1591549 Longueur_Helice_pas dup mul Pas dup mul sub sqrt mul def + /xH {Radius 360 t mul cos mul Radius sub} def + /yH {Radius 360 t mul sin mul} def + /zH {Pas t mul arm add} def + /Inc 1 NoOfSpirals nS mul div def % nS(50) points par spires + 1 setlinejoin + 1 0 0 0 ArrowA arm 0 lineto + 0 Inc NoOfSpirals { + /t ED + zH xH Alpha tan mul sub + yH + lineto + } for + Longueur 0 + ArrowB lineto + }% + \end@OpenObj} % \catcode`\@=\TheAtCode\relax \endinput diff --git a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex index 1c653b37709..2ff137b0a8c 100644 --- a/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex +++ b/Master/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex @@ -5,8 +5,8 @@ %% %% Package `pst-diffraction.tex' %% -%% Manuel Luque <ml@pstricks.de> -%% Herbert Voss <hv@pstricks.de> +%% Manuel Luque <ml@texnik.de> +%% Herbert Voss <hvoss@tug.org> %% %% with contributions of Julien Cubizolles %% @@ -21,12 +21,12 @@ \csname PSTDiffractionLoaded\endcsname \let\PSTDiffractionLoaded\endinput % Require PSTricks -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\ifx\PSTricksLoaded\endinput\else \input pstricks.tex\fi \ifx\PSTThreeDplotLoaded\endinput\else\input pst-3dplot.tex\fi -\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi +\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi % -\def\fileversion{2.03}% -\def\filedate{2008/09/03}% +\def\fileversion{2.06a} +\def\filedate{2024/07/15} \message{`PST-diffraction v\fileversion, \filedate\space (ML,hv)}% \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \pst@addfams{pst-diff} @@ -40,7 +40,7 @@ \define@key[psset]{pst-diff}{s}{\def\psk@Diffraction@Slit@s{#1 }} % distance entre les fentes \define@key[psset]{pst-diff}{lambda}{\pst@checknum{#1}\psk@Diffraction@Slit@Lambda }% en nm \define@key[psset]{pst-diff}{f}{\pst@checknum{#1}\psk@Diffraction@Slit@F }% focus en m -\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G } +%\define@key[psset]{pst-diff}{gamma}{\pst@checknum{#1}\psk@Diffraction@gamma@G } \define@key[psset]{pst-diff}{pixel}{\pst@checknum{#1}\psk@Diffraction@Slit@pixel } \define@key[psset]{pst-diff}{colorMode}{\pst@getint{#1}\psk@Diffraction@colorMode } % 0 black and white inverse @@ -65,7 +65,8 @@ \psset[pst-diff]{a=0.2e-3,f=5,k=1,r=1e-3, d=6e-3,s=12e-3,h=0.5e-3, lambda=650,pixel=0.5, - contrast=38,gamma=0.8,twoHole=false,twoSlit=false,colorMode=3, scale=1, + contrast=38,%gamma=0.8, + twoHole=false,twoSlit=false,colorMode=3, scale=1, IIID=false, showFunc=false} % % load the pstricks-add.pro only, if not already done @@ -82,7 +83,7 @@ /focus \psk@Diffraction@Slit@F def /widthSlit \psk@Diffraction@Slit@A def /heightSlit \psk@Diffraction@Slit@k widthSlit mul def - /Gamma \psk@Diffraction@gamma@G def + %/Gamma \psk@Diffraction@gamma@G def /pixel \psk@Diffraction@Slit@pixel def /SlitSeparation \psk@Diffraction@Slit@s def \psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end @@ -94,7 +95,7 @@ /bornexpt 1 widthSlit div focus mul ondeLongueur mul 2845 mul def /borneypt 1 heightSlit div focus mul ondeLongueur mul 2845 mul def \ifPst@Diffraction@IIID - \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED + \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED tx@3DPlotDict begin \IIIDplot@variables end \fi % Les calculs commencent... @@ -162,7 +163,7 @@ \addto@pscode{% % les dimensions sont en mètres /focus \psk@Diffraction@Slit@F def - /Gamma \psk@Diffraction@gamma@G def + %/Gamma \psk@Diffraction@gamma@G def /pixel \psk@Diffraction@Slit@pixel def /contrast 1e\psk@Diffraction@Slit@contrast def /r \psk@Diffraction@Circular@r def @@ -170,7 +171,7 @@ \psk@Diffraction@Slit@Lambda tx@addDict begin wavelengthToRGB Red Green Blue end /Blue ED /Green ED /Red ED \ifPst@Diffraction@IIID - \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED + \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED tx@3DPlotDict begin \IIIDplot@variables end \fi % 0 0 translate @@ -253,7 +254,8 @@ /y { yPts 2845 div } bind def /R { x dup mul y dup mul add sqrt } bind def % R en m /m Coeff R mul def - 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub + % 1 1e38 m J1Card Facteur x mul cos dup mul mul neg exp sub + 1 contrast m J1Card Facteur x mul cos dup mul mul neg exp sub % fix by Keno Wehr dup /intensity ED dup dup Red mul 3 -1 roll @@ -283,7 +285,7 @@ \ifPst@Diffraction@IIID \else newpath R_limite neg %1.5 mul - cm dup moveto + cm dup moveto R_limite 2 mul cm 0 rlineto 0 R_limite 2 mul cm rlineto R_limite neg 2 mul cm 0 rlineto @@ -294,7 +296,8 @@ R_limite -0.001 0 { /Radius exch def /m Coeff Radius 0.01 mul mul def - 1 1e38 m J1Card neg exp sub +% 1 1e38 m J1Card neg exp sub + 1 contrast m J1Card neg exp sub % fix by keno wehr dup /intensity ED dup dup Red mul 3 -1 roll % R @@ -396,7 +399,7 @@ % les dimensions sont en mètres /f \psk@Diffraction@Slit@F def /h \psk@Diffraction@Triangle@h def - /Gamma \psk@Diffraction@gamma@G def + %/Gamma \psk@Diffraction@gamma@G def /L { \psk@Diffraction@Slit@Lambda 1e-9 mul} bind def % longueur d'onde en m /pixel \psk@Diffraction@Slit@pixel def /k { TwoPi f L mul div } bind def @@ -408,7 +411,7 @@ /bornexpt 1 h div f mul L mul 2845 mul def /borneypt 1 h div f mul L mul 2845 mul def \ifPst@Diffraction@IIID - \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED + \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED tx@3DPlotDict begin \IIIDplot@variables end \fi /P { diff --git a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex index ed3ef60a4b5..a653d76eeac 100644 --- a/Master/texmf-dist/tex/generic/pst-node/pst-node.tex +++ b/Master/texmf-dist/tex/generic/pst-node/pst-node.tex @@ -1,4 +1,4 @@ -% $Id: pst-node.tex 438 2022-01-31 17:45:26Z herbert $ +% $Id: pst-node.tex 918 2024-07-10 17:41:55Z herbert $ %% %% BEGIN pst-node.tex %% @@ -18,8 +18,8 @@ \ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi\relax \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi % -\def\fileversion{1.43} -\def\filedate{2022/01/31} +\def\fileversion{1.45} +\def\filedate{2024/07/10} \message{ v\fileversion, \filedate} % \edef\TheAtCode{\the\catcode`\@} @@ -1386,8 +1386,8 @@ tx@NodeDict \pst@tempg known /dy YB YA sub def /angle dy dx Atan def /linelength \pst@number\pst@dimb \pst@number\psunit div def - XA linelength angle cos mul add YA linelength angle sin mul add ){#4}% -} + XA linelength angle cos mul add YA linelength angle sin mul add ){#4}} +% \def\psRelNode{\pst@object{psRelNode}} \def\psRelNode@i(#1)(#2)#3#4{{% A - B - factor - node name \use@par @@ -1402,10 +1402,10 @@ tx@NodeDict \pst@tempg known /AlphaStrich \psk@angleA\space def /unit \pst@number\psyunit \pst@number\psxunit div def % yunit/xunit % - /dx XB XA sub def - /dy YB YA sub \ifPst@trueAngle\space unit mul \fi\space def - /laenge dy dup mul dx dup mul add sqrt #3 mul def - /Alpha dy dx atan def + /dx__ XB XA sub def + /dy__ YB YA sub \ifPst@trueAngle\space unit mul \fi\space def + /laenge dy__ dup mul dx__ dup mul add sqrt #3 mul def + /Alpha dy__ dx__ atan def /beta Alpha AlphaStrich add def laenge beta cos mul XA add laenge beta sin mul \ifPst@trueAngle\space unit div \fi\space YA add ){#4}% @@ -1537,8 +1537,7 @@ tx@NodeDict \pst@tempg known \def\trim@ #1{\trim@@ @#1 @ #1 @ @@}% \def\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}% \def\unbrace#1{#1}% -\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def% - \expandafter #3\expandafter {#1}}% +\unbrace{\def\trim@@@ #1 } #2@#3{\expandafter\def\expandafter #3\expandafter {#1}}% % \def\hasparen#1(#2\@nil{%check if expression contains a (--call with \hasparen#1(\@nil \ifx\relax#2\relax \@parenfalse \else \@parentrue\fi}% @@ -1577,23 +1576,28 @@ tx@NodeDict \pst@tempg known \expandafter\testAlg\my@tempA|\@nil\my@next {#1}{#2}{#3}} % \def\psparnode#1#2#3{% -% #1=t value, #2=x(t) y(t) in PS form,#3=node name, - \pnode(!/t #1 def #2){#3}% - \pnode(!/t #1 .001 sub def #2 - /t #1 .001 add def - #2 3 -1 roll sub 3 1 roll sub neg - 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}}%unit tangent vector at t + % #1=t value, #2=x(t) y(t) in PS form, #3=node name, + % also returns unit tangent vector at t with node #3tang + \pnode(! /t #1 def #2){#3}% + \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def + #2 + /t #1 dup abs 1 lt {0.001 add} {dup 0 lt {0.999} {1.001} ifelse mul} ifelse def + #2 + 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt + dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t +}% % \def\algparnode#1#2#3{% -% #1=t value, #2=x(t) | y(t) in alg form,#3=node name, -%\pstVerb{tx@Dict begin /t #1 def /Func (#2) AlgParser cvx def end} -%\pnode(!Func){#3}}% - \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end } - \pnode(!/t #1 def Func){#3} - \pnode(!/t #1 .001 sub def Func - /t #1 .001 add def - Func 3 -1 roll sub 3 1 roll sub neg - 2 copy Pyth dup 3 1 roll div 3 1 roll div ){#3tang}%unit tangent vector at t +% #1=t value, #2=x(t) | y(t) in alg form, #3=node name, +% also returns unit tangent vector at t with node #3tang + \pstVerb{tx@Dict begin /Func (#2) AlgParser cvx def end }% + \pnode(! /t #1 def Func){#3}% + \pnode(! /t #1 dup abs 1 lt {0.001 sub} {dup 0 gt {0.999} {1.001} ifelse mul} ifelse def + Func + /t #1 dup abs 1 lt {0.001 add}{dup 0 lt {0.999} {1.001} ifelse mul } ifelse def + Func + 3 -1 roll sub 3 1 roll exch sub 2 copy exch dup mul exch dup mul add sqrt + dup 3 1 roll div 3 1 roll div){#3tang}% unit tangent vector at t }% % \def\nodex#1{% @@ -1634,8 +1638,7 @@ tx@NodeDict \pst@tempg known \nodexn{#3}{@TMP@a}% \AplusB(#1)(@TMP@a){@TMP@B}% \psline(@TMP@A)(@TMP@B)% -}% -\ignorespaces}% +}\ignorespaces}% % \def\curvepnodes{\pst@object{curvepnodes}} \def\curvepnodes@i#1#2#3#4{{%optional [plotpoints=xx] @@ -1685,7 +1688,7 @@ tx@NodeDict \pst@tempg known \else \multido{\i=0+1}{\pst@cntc}{\pnode(!/x \pst@number\pst@dima\space def x #3){#4\i}% \advance\pst@dima \pst@dimb}% -\fi% +\fi \expandafter\xdef \csname \PST@root nodecount\endcsname {\the\pst@cnta}% \ifnum\Pst@Debug>0 \typeout{Created nodes #40 .. #4\the\pst@cnta}\fi% }\ignorespaces}% diff --git a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex index 0c06f849b33..c60869c4b4b 100644 --- a/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex +++ b/Master/texmf-dist/tex/generic/pst-optic/pst-optic.tex @@ -1,4 +1,4 @@ -%%%% $Id: pst-optic.tex 903 2024-06-02 06:16:43Z herbert $ +%%%% $Id: pst-optic.tex 1019 2024-10-28 07:59:50Z herbert $ %% This is file `pst-optic.tex', %% %% IMPORTANT NOTICE: @@ -8,8 +8,6 @@ %% Manuel Luque <Mluque5130@aol.com> (France) %% Herbert Voss <hvoss@tug.org> (Germany) %% -%% 2024-06-02 -%% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. @@ -30,8 +28,8 @@ \ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey\fi % -\def\fileversion{1.04} -\def\filedate{2024/06/02} +\def\fileversion{1.05} +\def\filedate{2024/10/28} \message{`PST-Optic' v\fileversion, \filedate\space (Manuel Luque and Herbert Voss)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -169,14 +167,27 @@ \definecolor{BleuVerre}{cmyk}{0.2,0,0,0} \definecolor{JauneVert}{cmyk}{0.3,0,1,0} \newpsstyle{rayuresJaunes}{fillstyle=hlines,hatchsep=2\pslinewidth,hatchcolor=JauneVert} -\define@key[psset]{pst-optic}{rayColor}[red]{\pst@getcolor{#1}\psk@optic@rayColor} + +\define@key[psset]{pst-optic}{rayColor}[red]{% + \pst@getcolor{#1}\psk@optic@rayColor + \pst@getcolor{#1}\psk@optic@parallelrayColor + \def\psk@optic@paralleltipcolor{#1}% + \pst@getcolor{#1}\psk@optic@focalrayColor + \def\psk@optic@focaltipcolor{#1}% + \pst@getcolor{#1}\psk@optic@centerrayColor + \def\psk@optic@centertipcolor{#1}% +} +\define@key[psset]{pst-optic}{parallelrayColor}[red]{\pst@getcolor{#1}\psk@optic@parallelrayColor} +\define@key[psset]{pst-optic}{focalrayColor}[red]{\pst@getcolor{#1}\psk@optic@focalrayColor} +\define@key[psset]{pst-optic}{centerrayColor}[red]{\pst@getcolor{#1}\psk@optic@centerrayColor} + \psset[pst-optic]{rayColor=red} \define@key[psset]{pst-optic}{rayWidth}[1.5\pslinewidth]{\def\psk@optic@rayWidth{#1}} \psset[pst-optic]{rayWidth=1.5\pslinewidth} % \newpsstyle{opticalAxis}{linewidth=0.5pt,linecolor=black,linestyle=solid} % -% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Utility stuff %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -491,7 +502,7 @@ \uput[-90](Center'){Center'} \psdots(Center) \uput[-90](Center){Center} - \psset{linecolor=\psk@optic@rayColor} + \psset{linecolor=\psk@optic@rayColor} %%%%%%%%%%%%%%%%%%%%%% \psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A)(B) \ifx\psk@optic@lensType\lensTypeCVG % the parallel ray @@ -682,18 +693,21 @@ % dessin de l'image \psline[linewidth=1.5\pslinewidth,arrowinset=0,linestyle=dashed]{->}(A')(B') %dessin des rayons - \psset{linecolor=\psk@optic@rayColor} - \Arrows[length=16,arrows=-](B)(O) - \Arrows(B)(I) - \psline(B)(I) - \psOutLine[arrows=->,length=1](B')(I){END1} - \psOutLine[length=5](B')(I){END2} - \psline[linestyle=dashed](F')(I) - \Arrows[arrows=->>](B)(I') - \psline(B)(I') - \psOutLine[arrows=->>,length=2](B')(I'){END3} - \psOutLine[length=10](B')(I'){END4} - \psline[linestyle=dashed](B')(I') +%% \psset{linecolor=\psk@optic@rayColor} + %% center beam + \Arrows[linecolor=\psk@optic@centerrayColor,length=16,arrows=-](B)(O) + %% parallel beam + \Arrows[linecolor=\psk@optic@parallelrayColor](B)(I) + \psline[linecolor=\psk@optic@parallelrayColor](B)(I) + \psOutLine[linecolor=\psk@optic@parallelrayColor,arrows=->,length=1](B')(I){END1} + \psOutLine[linecolor=\psk@optic@parallelrayColor,length=5](B')(I){END2} + \psline[linecolor=\psk@optic@parallelrayColor,linestyle=dashed](F')(I) + %% focal beam + \Arrows[linecolor=\psk@optic@focalrayColor,arrows=->>](B)(I') + \psline[linecolor=\psk@optic@focalrayColor](B)(I') + \psOutLine[linecolor=\psk@optic@focalrayColor,arrows=->>,length=2](B')(I'){END3} + \psOutLine[linecolor=\psk@optic@focalrayColor,length=10](B')(I'){END4} + \psline[linecolor=\psk@optic@focalrayColor,linestyle=dashed](B')(I') %\uput[45](I'){I'} %\uput[45](I){I} \uput[\psk@optic@spotA](A){$\mathrm{\psk@optic@nameA}$}% @@ -713,17 +727,22 @@ % dessin de l'image \psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A')(B') %dessin des rayons - \psset{linecolor=\psk@optic@rayColor} - \pcline(B)(B') - \Arrows[length=16,arrows=-](B)(O) - \Arrows(B)(I) - \psline(B)(I) - \Arrows[length=10,posStart=0,arrows=-](I)(F') - \Arrows[posStart=1,arrows=->](I)(F') - \Arrows[arrows=->>](B)(I') - \psline(B)(I')(B') - \Arrows[length=10,arrows=-](I')(B') - \Arrows[length=2,posStart=0.5,arrows=->>](I')(B') +% \psset{linecolor=\psk@optic@rayColor}%% No global setting + %% Center beam + \pcline[linecolor=\psk@optic@centerrayColor](B)(B')%%CMittelpunktsstrahl + \Arrows[linecolor=\psk@optic@centerrayColor,length=16,arrows=-](B)(O) + \Arrows[linecolor=\psk@optic@centerrayColor](B)(I) + %% parallel beam + \psline[linecolor=\psk@optic@parallelrayColor,tipcolor=\psk@optic@paralleltipcolor](B)(I) + \Arrows[linecolor=\psk@optic@parallelrayColor](B)(I) + \Arrows[linecolor=\psk@optic@parallelrayColor,length=10,posStart=0,arrows=-](I)(F') + \Arrows[linecolor=\psk@optic@parallelrayColor,posStart=1,arrows=->](I)(F') + %% focal beam + \psline[linecolor=\psk@optic@focalrayColor](B)(I')(B') + \Arrows[linecolor=\psk@optic@focalrayColor,arrows=->>](B)(I') + \Arrows[linecolor=\psk@optic@focalrayColor,length=10,arrows=-](I')(B') + \Arrows[linecolor=\psk@optic@focalrayColor,length=2,posStart=0.5, + arrows=->>,tipcolor=\psk@optic@focaltipcolor](I')(B') %\uput[-45](I'){I'} %\uput[45](I){I} \uput[\psk@optic@spotA](A){$\mathrm{\psk@optic@nameA}$} @@ -736,7 +755,8 @@ %Lentille convergente : CVG %(#2) est l'abscisse du centre optique \def\lens{\@ifnextchar[{\pst@lens}{\pst@lens[]}} -\def\pst@lens[#1]{{% +\def\pst@lens[#1]{% + \begingroup \psset[pst-optic,pstricks]{xLeft=-7.5,xRight=7.5,yBottom=-3,yTop=3,#1}% % \psset[pst-optic,pstricks]{#1}% \pst@killglue% @@ -771,7 +791,7 @@ \pnode(! \psk@optic@xRight\space A'B' YO add){I1} \pnode(! \psk@optic@xRight\space neg A'B' YO add){I2} \else% - \pnode(!% + \pnode(! /OF' \psk@optic@focus\space def /AB \psk@optic@AB\space def /OA \psk@optic@OA\space def @@ -812,7 +832,8 @@ \psset{arrows=<->}% \fi\fi \psline[linecolor=\psk@optic@lensColor, - linewidth=\psk@optic@lensWidth,arrowsize=\psk@optic@lensArrowSize, + linewidth=2\pslinewidth, %\psk@optic@lensWidth, + arrowsize=\psk@optic@lensArrowSize, arrowinset=\psk@optic@lensArrowInset]% (! XO -0.5 \psk@optic@lensHeight\space mul \psk@optic@lensScale\space mul YO add)% @@ -829,7 +850,8 @@ \pst@drawCVGRays\fi\fi \fi \end{pspicture*}% -}\ignorespaces} + \endgroup + \ignorespaces} % % 25 december 2002 Herbert <voss@perce.de> % make the lenses dynamical to width _and_ height @@ -1243,7 +1265,9 @@ \uput[-45](B'){B'} \fi \end{pspicture}% -}\ignorespaces} + }% + \ignorespaces +} % % \def\mirrorDVG{\@ifnextchar[{% Herbert Voss 2003/01/05 @@ -1640,12 +1664,12 @@ \pst@getcoor{#8}\pst@tempp \def\pst@optic@cIn{#6} % refraction number 1 \def\pst@optic@cOut{#7} % refraction number 2 - \pnode(!% - /YA \pst@tempA exch pop \pst@number\psyunit div def + \pnode(! + /YA \pst@tempA exch pop \pst@number\psyunit div def /XA \pst@tempA pop \pst@number\psxunit div def /YB \pst@tempB exch pop \pst@number\psyunit div def /XB \pst@tempB pop \pst@number\psxunit div def - /YC \pst@tempc exch pop \pst@number\psyunit div def + /YC \pst@tempc exch pop \pst@number\psyunit div def /XC \pst@tempc pop \pst@number\psxunit div def /YD \pst@tempd exch pop \pst@number\psyunit div def /XD \pst@tempd pop \pst@number\psxunit div def @@ -1656,8 +1680,11 @@ /dY2 YD YC sub def /dX2 XD XC sub def % the gradient of the material (if negativ then it must be the nominator) - /Gamma dY2 dX2 mul 0 lt {dY2 abs neg dX2 abs}{dY2 dX2} ifelse atan def -% the perpendicular line is: 90°-Gamma +% if = 0 then substract 180° + /Gamma dY2 dX2 mul 0 ge {dY2 dX2}{dY2 abs neg dX2 abs} ifelse atan + %dup 0 eq { 180 sub } if + def +% the perpendicular line is: 90°-Gamma /GammaStrich 90 Gamma sub def % the angle of the incoming ray /AlphaStrich dY1 dX1 atan def @@ -1667,7 +1694,7 @@ % the law of Snell: sin(Alpha)/sin(Beta) = n2/n1 % sin(Beta)>1 is a total reflection instead of a refraction /sinBeta \pst@optic@cIn\space \pst@optic@cOut\space div Alpha sin mul def - sinBeta abs 1 le{ + sinBeta abs 1 le { /Root 1 sinBeta dup mul sub Sqrt def /Beta sinBeta Root atan def }{ @@ -1677,7 +1704,7 @@ /BetaStrich 90 Gamma sub Beta add def % Determine the intermediate point XP BetaStrich cos sub - YP BetaStrich sin add ){#8'}% + YP BetaStrich sin add ){#8'} %\qdisk(#8){5pt} }\ignorespaces} % diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex index 2f87e9895e8..66b00657b99 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex @@ -88,8 +88,8 @@ \let\pgfforeach\foreach % -\def\fileversion{3.19c} -\def\filedate{2024/02/02} +\def\fileversion{3.20} +\def\filedate{2024/07/09} \pst@addfams{pstricks} % %\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{} @@ -2609,13 +2609,13 @@ \AltClipMode \fi -\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}} +\def\psclipbox{\@ifnextchar[{\psclipbox@}{\psclipbox@[\z@]}} % DG modification begin - Apr. 3, 1997 % From paulus@immd5.informatik.uni-erlangen.de (Dietrich Paulus) %\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}} -\def\clipbox@[#1]{\pst@makebox{\clipbox@@{#1}}} +\def\psclipbox@[#1]{\pst@makebox{\psclipbox@@{#1}}} % DG modification end -\def\clipbox@@#1{% +\def\psclipbox@@#1{% \pssetlength\pst@dimg{#1}% \leavevmode\hbox{% \begin@psclip% @@ -4119,10 +4119,19 @@ pop \def\pst@picture{\@ifnextchar[{\pst@@picture}{\pst@@picture[]}} \def\pst@@picture[#1]{\@ifnextchar({\pst@@picture@i[#1]}{\pst@@picture@@i[#1]}}% \def\pst@@picture@@i[#1]{% - \gdef\pscoor{(10,10)}% + \def\pic@coor{(0,0)(0,0)}% +% \gdef\pscoor{(10,10)}% \ifPst@calcframe \typeout{>>>Check for file \jobname-\the\numexpr\ps@imagectr+1.psaux}% - \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux}{\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}}{}% + \IfFileExists{\jobname-\the\numexpr\ps@imagectr+1.psaux} + {\input{\jobname-\the\numexpr\ps@imagectr+1.psaux}% + \xdef\pic@coor{(0,0)\pscoor}% + \typeout{----->>\pic@coor}% + \typeout{----->>\pscoor}% + } + {%\gdef\pscoor{(10,10)} + %\def\pic@coor{(0,0)(0,0)(10,10)} + }% % \typeout{>>>\pscoor}% \fi \edef\@temp{[\noexpand#1]\pscoor}% @@ -4168,7 +4177,7 @@ pop \ifPst@pgffunctions\pstVerb{ pgffunctions }\fi% hv 2013-04-17 } -\def\pic@coor{(0,0)(0,0)(10,10)} +%\def\pic@coor{(0,0)(0,0)(10,10)} \def\endpspicture{% \ifPst@calcframe \ifPSTlualatex @@ -4236,7 +4245,7 @@ pop \advance\pst@dimd\pst@dimb \lower\pst@dimd\box\pst@hbox \kern\pst@dimc}% - \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi + \if@star\setbox\pst@hbox=\hbox{\psclipbox@@\z@}\fi \leavevmode \ifPst@draft \expandafter\ifx\csname @latexerr\endcsname\relax diff --git a/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht b/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht index 71602474401..fca71f54440 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/amsfonts.4ht @@ -1,37 +1,30 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% amsfonts.4ht 2009-05-21-09:32 % -% Copyright (C) 2001--2009 Eitan M. Gurari % -% % -% This work may be distributed and/or modified under the % -% conditions of the LaTeX Project Public License, either % -% version 1.3c of this license or (at your option) any % -% later version. The latest version of this license is % -% in % -% http://www.latex-project.org/lppl.txt % -% and version 1.3c or later is part of all distributions % -% of LaTeX version 2005/12/01 or later. % -% % -% This work has the LPPL maintenance status "maintained".% -% % -% This Current Maintainer of this work % -% is Eitan M. Gurari. % -% % -% If you modify this program your changing its signature % -% with a directive of the following form will be % -% appreciated. % -% \message{signature} % -% % -% gurari@cse.ohio-state.edu % -% http://www.cse.ohio-state.edu/~gurari % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\immediate\write-1{version 2009-05-21-09:32} +% amsfonts.4ht (2024-11-03-05:51), generated from tex4ht-4ht.tex +% Copyright 2001-2009 Eitan M. Gurari +% Copyright 2009-2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <https://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-03-05:51} \NewConfigure{mathbb}{2} -\def\:temp#1{{\a:mathbb \o:@mathbb:{#1}\b:mathbb}} -\HLet\@mathbb\:temp +\def\:temp#1{{\a:mathbb \o:mathbb:{#1}\b:mathbb}} +\HLet\mathbb\:temp \NewConfigure{mathfrak}{2} -\def\:temp#1{{\a:mathfrak \o:@mathfrak:{#1}\b:mathfrak}} -\HLet\@mathfrak\:temp +\def\:temp#1{{\a:mathfrak \o:mathfrak:{#1}\b:mathfrak}} +\HLet\mathfrak\:temp \Hinput{amsfonts} \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht b/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht index 4367f0d7c74..8c9d45b9eed 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/amsmath.4ht @@ -1,4 +1,4 @@ -% amsmath.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex +% amsmath.4ht (2024-09-24-10:22), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-07-13:28} +\immediate\write-1{version 2024-09-24-10:22} \HRestore\cases \HRestore\matrix @@ -508,7 +508,8 @@ % \anc:lbl r{}% }} -\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{#1}% +\ExplSyntaxOn +\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{\tl_rescan:nn{}{#1}}% \toks@\@xp{\p@equation{#1}}\edef\@currentlabel{\the\toks@}% \let\cnt:currentlabel\@currentlabel \def\:@currentlabel{\ifx \cnt:currentlabel\@currentlabel @@ -516,6 +517,7 @@ % \anc:lbl r{}% }} +\ExplSyntaxOff \:CheckOption{new-accents} \if:Option \else \HLet\Hat\hat diff --git a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht index 00ef03af65d..e597c71d11a 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/arydshln.4ht @@ -1,6 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% arydshln.4ht (2022-03-21-13:43), generated from tex4ht-4ht.tex -% Copyright 2022 TeX Users Group +% arydshln.4ht (2024-06-23-13:56), generated from tex4ht-4ht.tex +% Copyright 2022-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -17,12 +17,13 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2022-03-21-13:43} +\immediate\write-1{version 2024-06-23-13:56} % this is a copy of code that arydshln inserts to \@array \def\:new:array{\adl@everyvbox\everyvbox \everyvbox{\adl@arrayinit \the\adl@everyvbox \everyvbox\adl@everyvbox}% - \ifadl@inactive \adl@inactivate \else \adl@activate \fi + % this line may lead to errors if the document uses Colortbl: + % \ifadl@inactive \adl@inactivate \else \adl@activate \fi \let\adl@noalign\noalign} \ifcsname n:@array:\endcsname% if \@array was already patched by TeX4ht \let\orig:n@array\n:@array: diff --git a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht index e3eebfddea4..dc4dcfb0753 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/babel-sty-hooks.4ht @@ -1,5 +1,5 @@ % babel-sty-hooks.4ht, generated from tex4ht-4ht.tex -% Copyright 2022 TeX Users Group +% Copyright 2022-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -16,7 +16,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-06-10-14:03} +\immediate\write-1{version 2024-06-20-13:26} \ifdefined\recall:sup \recall:sup diff --git a/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht new file mode 100644 index 00000000000..e89c60a5d7c --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/bigfoot-hooks.4ht @@ -0,0 +1,24 @@ +% bigfoot-hooks.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-05-12:30} + +\:dontusepackage{bigfoot} +\RequirePackage{manyfoot} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht b/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht new file mode 100644 index 00000000000..71c7bbe849d --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/bigfoot.4ht @@ -0,0 +1,25 @@ +% bigfoot.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-05-12:30} + + + +\Hinput{bigfoot} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/caption.4ht b/Master/texmf-dist/tex/generic/tex4ht/caption.4ht index 09501b5ff32..7dc7b6a2a65 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/caption.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/caption.4ht @@ -1,23 +1,23 @@ -% caption.4ht (2022-11-22-14:29), generated from tex4ht-4ht.tex +% caption.4ht (2024-10-18-14:47), generated from tex4ht-4ht.tex % Copyright 2007-2009 Eitan M. Gurari -% Copyright 2009-2022 TeX Users Group +% Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2022-11-22-14:29} +\immediate\write-1{version 2024-10-18-14:47} \let\sv:toclof\toclof \def\toclof#1#2#3{% @@ -45,6 +45,8 @@ }\fi% } +\c:def\cptA:{}\c:def\cptB:{}% +\c:def\cptC:{}\c:def\cptD:{} \long\def\@makecaption#1#2{% \xdef\continuedfloat@captype{\@captype}% \caption@make@above% diff --git a/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht new file mode 100644 index 00000000000..0f3636af023 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/colortbl-hooks.4ht @@ -0,0 +1,52 @@ +% colortbl-hooks.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-09-30-13:40} + +\:AtEndOfPackage{% +% default hline color is black +\def\hline:color{000} +% save rule color in format usable in CSS +\newcommand\tmp:arrayrulecolor[2][named]{% +\ifvoid\@arstrutbox% test if we are inside a tabular environment +\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp% we are not +\else% +\noalign{\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp}% we are +\fi +} +% \HLet doesn't work in the preamble, so we need to work around it +\let\o:arrayrulecolor:\arrayrulecolor +\let\arrayrulecolor\tmp:arrayrulecolor + +\def\convert:colorspec#1 #2 #3 #4{% + \edef\current:color{% + \ifx\relax#1\relax\else% + #1\ifx\relax#2\relax\else% + , #2\ifx\relax#3\relax\else% + , #3\ifx\relax#4\relax\else% + , #4% + \fi% + \fi% + \fi% + \fi% + }% +} + + +} + diff --git a/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht b/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht index 50543a2b952..07844ed404f 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/colortbl.4ht @@ -1,23 +1,23 @@ -% colortbl.4ht (2022-07-03-14:21), generated from tex4ht-4ht.tex +% colortbl.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari -% Copyright 2009-2022 TeX Users Group +% Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2022-07-03-14:21} +\immediate\write-1{version 2024-09-30-13:40} \RequirePackage{xcolor} @@ -95,31 +95,8 @@ \gdef\CT@row@color{\CT@color{#1}}% \CT@rowc} \NewConfigure{rowcolor}{1} -% default hline color is black -\def\hline:color{000} -% save rule color in format usable in CSS -\newcommand\tmp:arrayrulecolor[2][named]{% -\ifvoid\@arstrutbox% test if we are inside a tabular environment -\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp% we are not -\else% -\noalign{\convertcolorspec{#1}{#2}{HTML}\:tmp\global\let\hline:color\:tmp}% we are -\fi -} +\HRestore\arrayrulecolor \HLet\arrayrulecolor\tmp:arrayrulecolor -\def\convert:colorspec#1 #2 #3 #4{% - \edef\current:color{% - \ifx\relax#1\relax\else% - #1\ifx\relax#2\relax\else% - , #2\ifx\relax#3\relax\else% - , #3\ifx\relax#4\relax\else% - , #4% - \fi% - \fi% - \fi% - \fi% - }% -} - \def\save:color#1 #2//{% \convert:colorspec#2 {} {} {} {} \convertcolorspec{#1}{\current:color}{HTML}\tmp:col diff --git a/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht new file mode 100644 index 00000000000..e8f12ba46cb --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/enumitem-hooks.4ht @@ -0,0 +1,28 @@ +% enumitem-hooks.4ht (2024-09-09-13:35), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-09-09-13:35} + +\:AtEndOfPackage{% +\def\enumitem:newlist{} +\def\:tempa#1#2#3#4{\concat:config\enumitem:newlist{\Configure{enumitemenv}{#2}}\o:enit@newlist{#1}{#2}{#3}{#4}} +\let\o:enit@newlist\enit@newlist +\let\enit@newlist\:tempa + +} + diff --git a/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht b/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht index acabf869b27..6bb2290d697 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/enumitem.4ht @@ -1,23 +1,23 @@ -% enumitem.4ht (2023-12-17-13:16), generated from tex4ht-4ht.tex +% enumitem.4ht (2024-09-09-13:35), generated from tex4ht-4ht.tex % Copyright 2009-2009 Eitan M. Gurari -% Copyright 2009-2023 TeX Users Group +% Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2023-12-17-13:16} +\immediate\write-1{version 2024-09-09-13:35} \AddToHook{env/enumerate/end}{\ifx\enit@after\@empty\else% \let\enit:after\enit@after @@ -27,6 +27,15 @@ \fi} \def\enit@postlabel{} +\NewConfigure{enumitemenv}[1]{% +\def\a:enumitemenv{#1}% +\enumitem:newlistconfig +} +\NewConfigure{enumitemnewlist}[1]{ + \def\enumitem:newlistconfig{#1} + \enumitem:newlist +} + \Hinput{enumitem} \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht b/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht new file mode 100644 index 00000000000..8fc583da580 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/esvect.4ht @@ -0,0 +1,25 @@ +% esvect.4ht (2024-08-02-14:24), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-08-02-14:24} + + + +\Hinput{esvect} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht b/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht index 4a6d75c1644..a63dd7942e3 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/fancyvrb.4ht @@ -1,4 +1,4 @@ -% fancyvrb.4ht (2024-03-27-14:07), generated from tex4ht-4ht.tex +% fancyvrb.4ht (2024-10-04-14:44), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-03-27-14:07} +\immediate\write-1{version 2024-10-04-14:44} \pend:def\FV@FormattingPrep{\let\fv:color\empty @@ -45,7 +45,11 @@ \ifx \fv:color\empty \else{% \let\HColor\fv:color \a:fancyvrbcolor% }\fi - \ifx \FancyVerbFillColor\relax \else% + \ifx \FancyVerbFillColor\relax \ifx\FancyVerbBackgroundColor\relax\else% + \ifdefined\FancyVerbBackgroundColor% this extra check is needed for \BVerbatimInput + \:fvcolor \b:fancyvrbcolor \color{\FancyVerbBackgroundColor}!*?: % + \fi% + \fi\else% \:fvcolor \b:fancyvrbcolor \FancyVerbFillColor!*?: % \fi \ifx \FancyVerbRuleColor\relax \else% diff --git a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht index 9bb9f9438bf..7f0f40d4b48 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/fontawesome5.4ht @@ -1,5 +1,5 @@ -% fontawesome5.4ht (2021-05-06-14:39), generated from tex4ht-4ht.tex -% Copyright 2021 TeX Users Group +% fontawesome5.4ht (2024-07-03-13:28), generated from tex4ht-4ht.tex +% Copyright 2021-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -16,18 +16,19 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2021-05-06-14:39} +\immediate\write-1{version 2024-07-03-13:28} \NewConfigure{fontawesome}{2} \ExplSyntaxOn \cs_new_protected:Nn\temp:nn{% +\def\:fontawesomeicon{#2}% to be used in the alt text \a:fontawesome% \o:fontawesome_use_icon:nn:{#1}{#2} \b:fontawesome} \HLet\fontawesome_use_icon:nn\temp:nn \ExplSyntaxOff -\Configure{fontawesome}{\Picture+{}}{\EndPicture} +\Configure{fontawesome}{\Picture+[icon: \:fontawesomeicon]{}}{\EndPicture} \Hinput{fontawesome5} \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/french.4ht b/Master/texmf-dist/tex/generic/tex4ht/french.4ht index adbaac273f9..47b72bbb8b2 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/french.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/french.4ht @@ -1,30 +1,23 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% french.4ht 2009-05-21-09:32 % -% Copyright (C) 1999--2009 Eitan M. Gurari % -% % -% This work may be distributed and/or modified under the % -% conditions of the LaTeX Project Public License, either % -% version 1.3c of this license or (at your option) any % -% later version. The latest version of this license is % -% in % -% http://www.latex-project.org/lppl.txt % -% and version 1.3c or later is part of all distributions % -% of LaTeX version 2005/12/01 or later. % -% % -% This work has the LPPL maintenance status "maintained".% -% % -% This Current Maintainer of this work % -% is Eitan M. Gurari. % -% % -% If you modify this program your changing its signature % -% with a directive of the following form will be % -% appreciated. % -% \message{signature} % -% % -% gurari@cse.ohio-state.edu % -% http://www.cse.ohio-state.edu/~gurari % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\immediate\write-1{version 2009-05-21-09:32} +% french.4ht 2024-11-03-05:51, generated from tex4ht-4ht.tex +% Copyright 1999-2009 Eitan M. Gurari +% Copyright 2009-2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <https://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-03-05:51} \expandafter\ifx \csname @s@ORI\endcsname \relax \else @@ -55,6 +48,8 @@ \Configure{special}{\csname @s@ORI\endcsname} \fi +\DeclareRobustCommand*{\FB@emptypart}{} + \Hinput{french} \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht b/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht index dfe3f02138f..c33bacaa3ff 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/html-mml.4ht @@ -1,23 +1,23 @@ -% html-mml.4ht (2022-10-31-13:02), generated from tex4ht-mathml.tex -% Copyright 2009-2022 TeX Users Group +% html-mml.4ht (2024-08-11-08:31), generated from tex4ht-mathml.tex +% Copyright 2009-2024 TeX Users Group % Copyright 1999-2009 Eitan M. Gurari % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2022-10-31-13:02} +\immediate\write-1{version 2024-08-11-08:31} \exit:ifnot{amsmath,% array,% @@ -291,6 +291,139 @@ tex4ht} \Configure{MathjaxSource}{https://cdn.jsdelivr.net/npm/mathjax@3/es5/mml-chtml.js} \Configure{@HEAD}{\HCode{ <script type="text/javascript" id="MathJax-script" async="async" src="\a:MathjaxSource"></script> \Hnewline}} \fi +\:CheckOption{texsource}\if:Option + +\newtoks\mmleqtoks +\ExplSyntaxOn +\cs_new_protected:Npn \mmlalteqtoks #1 +{ + % save tokens, but preserve spaces + % https://tex.stackexchange.com/a/44444/2891 + \tl_set:Nn \l_tmpa_tl {#1} + \regex_replace_all:nnN { . } { \c{string} \0 } \l_tmpa_tl + \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl } + % % replace < > and & with xml entities + \regex_replace_all:nnN { \x{26} } { & } \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 447b565a0c6..92ac55e1483 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/html4.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/html4.4ht @@ -1,4 +1,4 @@ -% html4.4ht (2024-06-21-14:18), generated from tex4ht-html4.tex +% html4.4ht (2024-10-29-13:37), generated from tex4ht-html4.tex % Copyright 2009-2024 TeX Users Group % Copyright 1997-2009 Eitan M. Gurari % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-06-21-14:18} +\immediate\write-1{version 2024-10-29-13:37} \exit:ifnot{8859-6,% CJK,% @@ -117,6 +117,7 @@ foils,% fontspec,% framed,% francais,% +french,% frenchb,% g-brief,% galician,% @@ -152,6 +153,7 @@ longtable,% ltugboat,% ltugproc,% ltxguide,% +lua-ul,% manju,% manmac,% marginnote,% @@ -166,6 +168,7 @@ microtype,% minitoc,% minted,% mls,% +moderncv,% moreverb,% multicol,% multind,% @@ -1469,6 +1472,25 @@ switches of tex4ht.c) {\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark} {\HCode{<li class="\getClass{li}itemize">}\afterGetClass{li}\par\ShowPar } + +\:CheckOption{itemize+}\if:Option +\ConfigureList{itemize}% + {\EndP\HCode{<ul \a:LRdir + class="\getClass{itemize}itemize\expandafter\the + \csname @itemdepth\endcsname">}% + \afterGetClass{itemize}% + \PushMacro\end:itm +\global\let\end:itm=\empty} + {\PopMacro\end:itm \global\let\end:itm \end:itm +\ifvmode \IgnorePar\fi + \EndP\HCode{</li></ul>}\ShowPar} + {\end:itm \global\def\end:itm{\EndP\Tg</li>}\HCode{<li class="\getClass{li}itemize"><span class="itemizeHead" aria-hidden="true">}\afterGetClass{li}} + {\HCode{</span>}\par\ShowPar +} +\Css{.itemizeHead{float: left; margin-left: -1em; width: 1em;}} +\Css{li.itemize{list-style: none;}} +\fi + \NewConfigure{itemizeClass}{2} \Configure{itemizeClass}{}{} \NewConfigure{liClass}{2} @@ -2988,7 +3010,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% {} {\xdef\col:Css{\col:Css border-\ifnum \ar:cnt=0 left\else right\fi - :solid black 0.4pt;}% + :1px solid \VBorder:color;}% }{}{}% } {\ifx \col:Css\empty \else @@ -3086,6 +3108,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \Configure{arrayparbox}{\ShowPar} \fi \let\VBorder\empty \let\AllColMargins\empty +\def\VBorder:color{black} \Configure{VBorder} {\let\VBorder\empty \let\AllColMargins\empty \global\let\GROUPS\empty \HAssign\NewGroup = 0 @@ -3095,10 +3118,10 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% % put vertical border for a column \ifnum\ar:cnt > 0% % in all other cases, we should put right border - \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid black;}}% + \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid \VBorder:color;}}% \else% % columns are numbered from 1. if \ar:cnt == 0 then it is the left border - \Css{\#TBL-\TableNo-1{border-left: 1px solid black;}}% + \Css{\#TBL-\TableNo-1{border-left: 1px solid \VBorder:color;}}% \fi% } {\Advance:\NewGroup by 1 @@ -3109,8 +3132,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% {\xdef\AllColMargins{\AllColMargins 0}} \Configure{HBorder} {<tr\Hnewline class="hline">} {<td><hr\xml:empty></td>} {</tr>} - {<tr\Hnewline class="cline">} - {<td></td>} {<td><hr\xml:empty></td>} {</tr>} + {<tr\Hnewline class="cline">} + {<td></td>} {<td style="border-top:1px solid \#\hline:color;"></td>} {</tr>} {<tr\Hnewline class="vspace" style="font-size:\HBorderspace">} {<td\Hnewline>\string </td>} {</tr>} @@ -3121,7 +3144,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \Css{.hline hr, .cline hr{border:none;border-top:1px solid black;}} \Css{.hline {border-top: 1px solid black;}} \Css{.hline + .vspace:last-child{display:none;}} -\Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}} +% why was there this rule? it adds unnecessary extra rule at the top of tables +% \Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}} \def\putVBorder{\expandafter\put:VBorder\VBorder</>!*?: } \def\put:VBorder#1</#2>#3!*?: {\def\:temp{#2}\ifx\:temp\empty \HCode{\VBorder}% @@ -11411,6 +11435,8 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{graphics} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -11607,7 +11633,6 @@ height="\expandafter\int:pt\the\Gin@req@height!*?: " \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{graphicx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -11636,6 +11661,7 @@ height="\expandafter\int:pt\the\Gin@req@height!*?: " + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -16856,6 +16882,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsproc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19444,7 +19471,6 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsthm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19465,6 +19491,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsmath} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19481,7 +19508,6 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amstex1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19625,6 +19651,7 @@ s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{babel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19911,6 +19938,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ngerman} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19932,7 +19960,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{plain} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20365,7 +20392,6 @@ Y{0178}\i{00EF}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{biblatex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20557,7 +20583,6 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{glossary} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20671,6 +20696,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{latin2} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -21018,7 +21044,7 @@ Y{0178}\i{00EF}% {} {\xdef\col:Css{\col:Css border-\ifnum \ar:cnt=0 left\else right\fi - :solid black 0.4pt;}% + :1px solid \VBorder:color;}% }{}{}% } {\ifx \col:Css\empty \else @@ -21116,6 +21142,7 @@ Y{0178}\i{00EF}% \Configure{arrayparbox}{\ShowPar} \fi \let\VBorder\empty \let\AllColMargins\empty +\def\VBorder:color{black} \Configure{VBorder} {\let\VBorder\empty \let\AllColMargins\empty \global\let\GROUPS\empty \HAssign\NewGroup = 0 @@ -21125,10 +21152,10 @@ Y{0178}\i{00EF}% % put vertical border for a column \ifnum\ar:cnt > 0% % in all other cases, we should put right border - \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid black;}}% + \Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid \VBorder:color;}}% \else% % columns are numbered from 1. if \ar:cnt == 0 then it is the left border - \Css{\#TBL-\TableNo-1{border-left: 1px solid black;}}% + \Css{\#TBL-\TableNo-1{border-left: 1px solid \VBorder:color;}}% \fi% } {\Advance:\NewGroup by 1 @@ -21139,8 +21166,8 @@ Y{0178}\i{00EF}% {\xdef\AllColMargins{\AllColMargins 0}} \Configure{HBorder} {<tr\Hnewline class="hline">} {<td><hr\xml:empty></td>} {</tr>} - {<tr\Hnewline class="cline">} - {<td></td>} {<td><hr\xml:empty></td>} {</tr>} + {<tr\Hnewline class="cline">} + {<td></td>} {<td style="border-top:1px solid \#\hline:color;"></td>} {</tr>} {<tr\Hnewline class="vspace" style="font-size:\HBorderspace">} {<td\Hnewline>\string </td>} {</tr>} @@ -21151,7 +21178,8 @@ Y{0178}\i{00EF}% \Css{.hline hr, .cline hr{border:none;border-top:1px solid black;}} \Css{.hline {border-top: 1px solid black;}} \Css{.hline + .vspace:last-child{display:none;}} -\Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}} +% why was there this rule? it adds unnecessary extra rule at the top of tables +% \Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}} \def\putVBorder{\expandafter\put:VBorder\VBorder</>!*?: } \def\put:VBorder#1</#2>#3!*?: {\def\:temp{#2}\ifx\:temp\empty \HCode{\VBorder}% @@ -21246,6 +21274,7 @@ Y{0178}\i{00EF}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mwart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -26210,7 +26239,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mwbk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28707,7 +28735,6 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{csquotes} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28722,7 +28749,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{CJK} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28778,7 +28804,19 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{french} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Configure{part}{}{} + {\IgnorePar \EndP\HCode{<h1 class="partHead"\a:LRdir>}% + \HCode{<span class="titlemark">}\partname + \HCode{</span><br />}} + {\HCode{</h1>}\IgnoreIndent\par} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput\empty\empty\empty\empty\empty\empty +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{moreverb} @@ -28818,7 +28856,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{fancyvrb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28880,6 +28917,7 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amscd} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29015,6 +29053,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{xcolor} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29035,7 +29074,6 @@ Y{0178}\i{00EF}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{colortbl} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29066,6 +29104,9 @@ Y{0178}\i{00EF}% % redefine default table configuration and put the color rule \def\a:HBorder{<tr class="hline" style="border-top:1px solid \#\hline:color">} + +% use the hline color also for vertial lines +\def\VBorder:color{\#\hline:color} % don't display <hr> elements in colored \hline \Css{tr.hline td hr{display:none}} @@ -29074,6 +29115,8 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{minitoc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29284,7 +29327,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{adjustbox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29341,6 +29383,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{changepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29359,7 +29402,6 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{alltt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29509,7 +29551,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{eplain} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30237,7 +30278,6 @@ Y{0178}\i{00EF}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ntheorem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30370,6 +30410,7 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{proof} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30428,7 +30469,6 @@ Y{0178}\i{00EF}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{verse} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30484,6 +30524,7 @@ Y{0178}\i{00EF}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{arabicore} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30503,6 +30544,8 @@ Y{0178}\i{00EF}% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{rlbabel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30590,7 +30633,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{abidir} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30617,6 +30659,7 @@ Y{0178}\i{00EF}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{koi8-r} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30627,7 +30670,6 @@ Y{0178}\i{00EF}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{frenchb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30662,6 +30704,7 @@ font-size:70\%; \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{powerdot} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30831,6 +30874,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{titlesec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30929,6 +30973,7 @@ description">}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{threeparttable} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -30945,6 +30990,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{tabularray} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31037,6 +31083,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{multirow} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31113,7 +31160,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subscript} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31147,6 +31193,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subcaption} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31197,6 +31244,7 @@ description">}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{emulateapj} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31257,7 +31305,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{picins} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31367,7 +31414,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ot4enc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -31635,7 +31681,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pd1enc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -32406,6 +32451,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{texinfo} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -32567,7 +32613,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{doc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -32583,6 +32628,7 @@ description">}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrbook} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -33353,7 +33399,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrartcl} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34161,6 +34206,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{jurabook} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34218,7 +34264,6 @@ description">}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{elsart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34705,7 +34750,6 @@ description">}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{g-brief} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34898,6 +34942,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ltxguide} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34916,7 +34961,6 @@ description">}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsdtx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34966,6 +35010,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{lncse} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35043,7 +35088,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{bibtopic} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35058,7 +35102,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{harvard} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35093,6 +35136,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrjura} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35126,7 +35170,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{8859-6} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35161,6 +35204,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{manju} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35172,6 +35216,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35201,6 +35246,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{piton} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35237,7 +35283,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{prosper} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35399,6 +35444,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{beamer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35769,6 +35815,7 @@ description">}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{seminar} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35782,7 +35829,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{slides} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35883,6 +35929,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{foils} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -35989,7 +36036,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{xy} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36041,6 +36087,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pstricks} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36090,7 +36137,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mfpic} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36119,6 +36165,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pgf} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36139,8 +36186,6 @@ description">}% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{overpic} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36154,6 +36199,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{dratex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36304,7 +36350,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{curve} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36350,6 +36395,48 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{moderncv} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Configure{cvhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvhead">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}} +\Configure{cvphoto}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvphoto">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}} + +\Configure{section}{\ifvmode\IgnorePar\fi\EndP\HCode{<h2>}}{\HCode{</h2>}} +\Configure{subsection}{\ifvmode\IgnorePar\fi\EndP\HCode{<h3>}}{\HCode{</h3>}} +\Configure{cvitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvitem"><span class="cvitemhead">}}{\HCode{</span><span class="cvitembody">}}{\HCode{</span></div>}} +\Configure{cvdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvdoubleitem">}}{\HCode{</div>}} +\Configure{cvlistitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistitem">}}{\HCode{</div>}} +\Configure{cvlistdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistdoubleitem">}}{\HCode{</div>}} + +\Configure{cvskillhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillhead">}}{\HCode{</div>}} +\Configure{cvskillentry}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillentry">}}{\HCode{</div>}} + +\Configure{cvskill}{\Picture*[skill level: \:cvskillamount]{}}{\EndPicture} + +\Css{.cvskillentry .tabular, .cvskillhead .tabular {margin:0pt;}} +\Css{.cvskillentry .tabular td:nth-child(1), .cvskillhead .tabular td:nth-child(1){width: 8ch}} +\Css{.cvskillentry .tabular td:nth-child(2), .cvskillhead .tabular td:nth-child(2){width: 12ch}} +\Css{.cvskillentry .tabular td:nth-child(3), .cvskillhead .tabular td:nth-child(3){width: 6ch}} +\Css{.cvskillentry .tabular td:nth-child(4), .cvskillhead .tabular td:nth-child(4){width: 54ch}} + +\Css{.cvitemhead{margin-right: 1em;}} + +\Css{ +@media (min-width:94ch) { +.cvitemhead{ + margin-left: -14ch; + width: 12ch; + float: left; + text-align: right; + } +}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput\empty\empty\empty\empty\empty\empty +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{vowel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36375,7 +36462,21 @@ description">}% {\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt class="enumerate-enumitem">}\bgroup \bf} {\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}} + \Css{dl.enumerate-enumitem{display:grid; grid-template-columns: 3ch 1fr; align-items: top; row-gap:1ch;}} +\Configure{enumitemnewlist}{% +\ConfigureList{\a:enumitemenv}% + {\EndP\HCode{<dl \a:LRdir class="enumerate-enumitem enumitem-\a:enumitemenv">}% + \PushMacro\end:itm +\global\let\end:itm=\empty} + {\PopMacro\end:itm \global\let\end:itm \end:itm +\EndP\HCode{</dd></dl>}\ShowPar} + {\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt + class="enumerate-enumitem enumitem-\a:enumitemenv">}\bgroup \bf} + {\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}} +} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36384,6 +36485,7 @@ description">}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{IEEEtran} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36445,6 +36547,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{linguex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36470,7 +36573,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cgloss4e} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36567,6 +36669,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{diagram} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36755,7 +36858,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subeqnarray} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36792,6 +36894,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{siunitx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36818,7 +36921,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{sistyle} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36860,6 +36962,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{microtype} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36877,7 +36980,6 @@ description">}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{appendix} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37072,11 +37174,14 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{booktabs} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifdefined\hline:color\else \def\hline:color{000} +\fi \Configure{toprule} @@ -37124,7 +37229,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{gloss} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37238,7 +37342,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{tugboat} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37381,7 +37484,7 @@ description">}% \Css{.makesignature{margin-left:4em;}} \Css{.signaturemark{display:block-inline;margin-left:-1.33em;}} \@ifclassloaded{ltugproc}{}{% - \@ifpackageloaded{ltugproc}{}{\Configure{@BODY}{\rtitlex}} + \@ifpackageloaded{ltugproc}{}{\Configure{@BODY}{\@ifundefined{:rtitlexused}{\rtitlex}{}\def\:rtitlexused{}}} } \Configure{maketitle} {\ifvmode \IgnorePar\fi \EndP @@ -37416,9 +37519,10 @@ description">}% {\HCode{</h2>}\IgnoreIndent\EndNoFonts} \Configure{titlex} - {\HCode{<div class="titlex">}} + {\ifvmode\IgnorePar\fi\EndP\HCode{<div class="titlex">}} {\HCode{</div>}} \Css{div.titlex p{margin-bottom:1em;}} +\Css{div.titlex {text-align: center;}} \Configure{sectitle} {\ifvmode \IgnorePar\fi \EndP \HCode{<div class="sectitle">}% @@ -37500,6 +37604,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{rotating} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37512,7 +37617,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{boxedminipage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37603,6 +37707,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{go} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37614,7 +37719,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{paralist} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37920,6 +38024,7 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{tasks} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37934,7 +38039,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{alphanum} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38010,6 +38114,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{epigraph} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38047,7 +38152,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{floatflt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38075,6 +38179,8 @@ description">}% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{acm-proc-article-sp} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38395,7 +38501,6 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{endnotes} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38410,6 +38515,7 @@ description">}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{web} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38436,7 +38542,6 @@ description">}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{exerquiz} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38535,6 +38640,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{nicefrac} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38930,6 +39036,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mdwlist} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39016,7 +39123,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{syntax} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39081,6 +39187,21 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{lua-ul} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Configure{highLight}{\HCode{<span class="highLight" style="background-color:\:highLightColor;">}}{\HCode{</span>}} +\Configure{strikeThrough}{\HCode{<span class="strikeThrough" style="text-decoration-color:\:strikeThroughColor;" >}}{\HCode{</span>}} +\Css{.strikeThrough{text-decoration: line-through;}} +\Configure{underLine}{\HCode{<span class="underLine" style="text-decoration-color:\:underLineColor;">}}{\HCode{</span>}} +\Css{.underLine{text-decoration: underline;}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput\empty\empty\empty\empty\empty\empty +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{manmac} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39174,7 +39295,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cp850} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39185,6 +39305,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cp852} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39215,7 +39336,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cp1252} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39226,6 +39346,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{cp437} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39256,7 +39377,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{norsk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39269,6 +39389,7 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{polish} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39305,7 +39426,6 @@ emailing the fix to gurari@cse.ohio-state.edu. Thanks\Hnewline \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{romanian} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39504,6 +39624,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{russianb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39739,7 +39860,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{slovene} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39940,6 +40060,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{spanish} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40008,7 +40129,6 @@ Y{1EF8}y{1EF9}\i{0129}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ukraineb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40021,6 +40141,7 @@ Y{1EF8}y{1EF9}\i{0129}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{usorbian} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40057,7 +40178,6 @@ Y{1EF8}y{1EF9}\i{0129}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{austrian} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40070,6 +40190,7 @@ Y{1EF8}y{1EF9}\i{0129}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{catalan} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40294,7 +40415,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{danish} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40307,6 +40427,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{dutch} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40343,7 +40464,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{estonian} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40356,6 +40476,7 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{finnish} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40392,7 +40513,6 @@ j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{greek} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40527,6 +40647,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{exam} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40633,7 +40754,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{fontspec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40653,6 +40773,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{framed} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40693,7 +40814,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{tcolorbox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40737,6 +40857,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{parallel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40768,7 +40889,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{chessboard} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40780,6 +40900,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{xskak} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40830,7 +40951,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{sectionbreak} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40903,6 +41023,7 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{chemfig} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40918,5 +41039,6 @@ y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht index 9c1210b5c2f..00ff9121450 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/info4ht.4ht @@ -2,8 +2,8 @@ \ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[1]34...// -% info4ht.4ht (2021-04-17-18:22), generated from tex4ht-info.tex -% Copyright 2009-2021 TeX Users Group +% info4ht.4ht (2024-09-29-07:56), generated from tex4ht-info.tex +% Copyright 2009-2024 TeX Users Group % Copyright 2000-2009 Eitan M. Gurari % % This work may be distributed and/or modified under the @@ -21,7 +21,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2021-04-17-18:22} +\immediate\write-1{version 2024-09-29-07:56} { \catcode`\@=0 \catcode`\\=11 @relax @gdef@infoIVht[#1]#2//{% @ifnum #1>1 @@ -58,7 +58,7 @@ -\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629...// +\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661...// \exit:ifnot{CJK,% Preamble,% @@ -118,11 +118,11 @@ web,% xy} -\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629// +\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661// -\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629...// +\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661...// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -698,15 +698,15 @@ Cross-Linking #1 label #2 content -\Ref.....................................1 +\XRef.....................................1 \LikeRef.................................1 #1 label - \Tag and \Ref are tex4ht.sty commands introduced cross-referencing + \Tag and \XRef are tex4ht.sty commands introduced cross-referencing content through .xref auxiliary files. - \LikeRef is a variant of \Ref which doesn't verify whether the + \LikeRef is a variant of \XRef which doesn't verify whether the labels exit. It is mainly used in \Link and \edef environments. \ifTag ..................................3 @@ -720,7 +720,7 @@ Cross-Linking Load the named xref-type file .xref optional--`.xref' is assume for a default - + optional-- asks \Ref and \LikeRef commands + + optional-- asks \XRef and \LikeRef commands to use expanded tags `filename::tag', instead of just `tag' [prefix] optional--asks just for tags starting with the specified prefix. @@ -732,7 +732,7 @@ Cross-Linking Example: % a.tex - \LoadRef-[to:]{b}{from:#1} \Ref{from:filename} + \LoadRef-[to:]{b}{from:#1} \XRef{from:filename} \LikeRef{from:filename} % b.tex @@ -2928,7 +2928,6 @@ Other Hooks - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3305,7 +3304,6 @@ Environments of amsthm: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsmath} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3470,6 +3468,7 @@ Environments of amstex1: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{babel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3492,6 +3491,7 @@ Environments of amstex1: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{plain} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3553,9 +3553,6 @@ Environments of amstex1: - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{url} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3575,6 +3572,8 @@ Environments of amstex1: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{hyperref} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3629,6 +3628,7 @@ htlatex-like commands. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{array} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3733,6 +3733,13 @@ Environments of array: + + + + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{CJK} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3755,6 +3762,7 @@ Environments of array: + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{moreverb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3784,6 +3792,7 @@ Environments of moreverb: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{fancyvrb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3811,7 +3820,6 @@ Environments of fancyvrb: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{psfig} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3965,6 +3973,7 @@ Environments of amscd: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{index} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3986,6 +3995,8 @@ Environments of amscd: + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{fancybox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4011,6 +4022,9 @@ Environments of amscd: + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{alltt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4036,6 +4050,7 @@ Environments of alltt: + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{vanilla} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4082,6 +4097,7 @@ Environments of alltt: + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ntheorem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4147,7 +4163,6 @@ Environments of ntheorem: - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{hebtex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4223,6 +4238,21 @@ Environments of ntheorem: + + + + + + + + + + + + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{emulateapj} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4264,6 +4294,7 @@ Environments of emulateapj: + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{aa} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4383,6 +4414,11 @@ Environments of doc: + + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{elsart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4454,6 +4490,9 @@ Environments of elsart: + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{seminar} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4476,6 +4515,7 @@ Environments of seminar: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{slides} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4565,7 +4605,6 @@ Environments of foils: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{slidesec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4587,6 +4626,7 @@ Environments of foils: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{xy} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4606,6 +4646,9 @@ Environments of foils: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pictex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4632,6 +4675,8 @@ Environments of foils: + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{pb-diagram} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4713,6 +4758,10 @@ Environments of pb-diagram: + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ltugboat} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4745,6 +4794,8 @@ Environments of ltugboat: + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{listings} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4906,6 +4957,8 @@ Environments of exerquiz: + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ProTex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4931,7 +4984,6 @@ Environments of exerquiz: \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{th4} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -5308,9 +5360,32 @@ values. + + + + + + + + + + + + + + + + + + + + + + + \endinput -\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]629// +\ifx\infoIVht\UnDeF\def\infoIVht#1//{}\fi\infoIVht[580]661// diff --git a/Master/texmf-dist/tex/generic/tex4ht/jats.4ht b/Master/texmf-dist/tex/generic/tex4ht/jats.4ht index 4e946779867..c6add3efca5 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/jats.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/jats.4ht @@ -1,22 +1,22 @@ -% jats.4ht (2024-02-23-14:41), generated from tex4ht-jats.tex +% jats.4ht (2024-08-13-13:15), generated from tex4ht-jats.tex % Copyright 2022-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-02-23-14:41} +\immediate\write-1{version 2024-08-13-13:15} \exit:ifnot{amsart,% amsbook,% @@ -490,6 +490,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \Configure{chapter} @@ -713,6 +725,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \ConfigureEnv{abstract} @@ -945,6 +969,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \ConfigureEnv{abstract} @@ -976,8 +1012,6 @@ url} - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1565,6 +1599,7 @@ url} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{biblatex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1634,7 +1669,6 @@ url} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{url} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1649,6 +1683,7 @@ url} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{hyperref} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1739,7 +1774,6 @@ url} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{memoir} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1926,6 +1960,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \ConfigureEnv{abstract} {\ifvmode\IgnorePar\fi\EndP\HCode{<abstract>\Hnewline}} @@ -2047,6 +2093,11 @@ url} + + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrbook} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2233,6 +2284,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \Configure{chapter} @@ -2270,6 +2333,7 @@ url} \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrartcl} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2456,6 +2520,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \ConfigureEnv{abstract} @@ -2473,7 +2549,6 @@ url} \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{scrreprt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2660,6 +2735,18 @@ url} {\EndNoFonts\HCode{</term><def>}\HtmlParOn\par\ShowPar } +\ConfigureList{thebibliography}% + {\ifvmode\IgnorePar\fi \EndP \HCode{<ref-list>}\let\en:bib=\empty} + {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</ref-list>}} + {\en:bib\def\en:bib{\HCode{</mixed-citation></ref>}}% + \HCode{<ref><label>}% + \Configure{HtmlPar}% + {\EndP}% + {\EndP}% + {} {}% + } + {\HCode{</label><mixed-citation>}} + \ConfigureEnv{abstract} @@ -2983,5 +3070,15 @@ url} + + + + + + + + + + \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/latex.4ht b/Master/texmf-dist/tex/generic/tex4ht/latex.4ht index 910c0ef699e..703b814cc61 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/latex.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/latex.4ht @@ -1,4 +1,4 @@ -% latex.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex +% latex.4ht (2024-10-13-14:26), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-07-13:28} +\immediate\write-1{version 2024-10-13-14:26} \ifx\SaveMkHalignConf:g\:UnDef \else \expandafter\endinput\fi @@ -437,14 +437,23 @@ \let\o:ref\:ref \def\::ref#1{{\:SUBOff\:SUPOff\xdef\RefArg{#1}}\expandafter\o:ref \expandafter{\RefArg}} +\ExplSyntaxOn +\def\::ref#1{{\:SUBOff\:SUPOff\xdef\RefArg{#1}% + \SUBOn\SUPOn% + \def\rEfLiNK##1##2{\Link{##1}{}\tl_rescan:nn{}{##2}\EndLink}% + \expandafter\o:ref\expandafter{\RefArg}% +}} +\ExplSyntaxOff \DeclareDocumentCommand\:ref{s}{\IfBooleanTF{#1}{\Protect\::ref}{\Protect\::ref}} \let\ref\:ref -\def\::Ref#1{% - \let\olda:rEfLiNK\rEfLiNK%% - \def\rEfLiNK##1##2{\Link{##1}{}\edef\:ref:currentlabel{##2}\expandafter\MakeUppercase\:ref:currentlabel\EndLink}% - \::ref{#1}% - \let\rEfLiNK\olda:rEfLiNK% -} +\ExplSyntaxOn +\def\::Ref#1{{% + \:SUBOff\:SUPOff\xdef\RefArg{#1}% + \SUBOn\SUPOn% + \def\rEfLiNK##1##2{\tl_set_rescan:Nnn\l_tmpa_tl{}{##2}\Link{##1}{}\expandafter\MakeUppercase\l_tmpa_tl\EndLink}% + \expandafter\o:ref\expandafter{\RefArg}% +}} +\ExplSyntaxOff \DeclareDocumentCommand\:Ref{s}{\IfBooleanTF{#1}{\Protect\::Ref}{\Protect\::Ref}} \let\Ref\:Ref \let\:newl@bel\@newl@bel @@ -1335,13 +1344,23 @@ $\vcenter \append:def\@endtheorem{\c:newtheorem} \NewConfigure{newtheorem}{3} +\NewHookWithArguments{cmd/@sect/before}{8} +\NewReversedHookWithArguments{cmd/@sect/after}{8} +\NewHookWithArguments{cmd/@ssect/before}{5} +\NewReversedHookWithArguments{cmd/@ssect/after}{5} \let\no@ssect\@ssect -\def\@ssect#1#2#3#4#5{\:Sc3 - \no@ssect{#1}{#2}{#3}{#4}{\:Sc4#5\:Sc2}\HtmlEnv} +\def\@ssect#1#2#3#4#5{% + \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}% + \:Sc3\no@ssect{#1}{#2}{#3}{#4}{\:Sc4#5\:Sc2}\HtmlEnv% + \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}% +} \let\no@sect\@sect \def\@sect#1#2#3#4#5#6[#7]#8{% - \xdef\c:secnumdepth{#2}\:Sc3 - \no@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\:Sc4#8\:Sc2}\HtmlEnv} + \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% + \xdef\c:secnumdepth{#2}\:Sc3% + \no@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\:Sc4#8\:Sc2}\HtmlEnv% + \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% + } \let\:startsection\@startsection \def\@startsection#1{\@ifstar{\Configure{secType}{like#1}}% {\Configure{secType}{#1}}% @@ -1357,6 +1376,7 @@ $\vcenter \let\sv:Msect\M@sect \let\:Sc\:gobble \def\@sect##1##2##3##4##5##6[##7]##8{% + \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% \ifx \o:@seccntformat:\:UnDef \let\o:@seccntformat:\@seccntformat \fi @@ -1370,9 +1390,12 @@ $\vcenter % \let\@seccntformat=\o:@seccntformat: % - \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}% + \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}% + \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% + }% % \def\@ssect##1##2##3##4##5{% + \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}% \gdef\ssect:ttl{##5}% % \let\@ssect\no@ssect @@ -1381,7 +1404,9 @@ $\vcenter \let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect \let\M@sect\sv:Msect % - \HtmlEnv \csname :like#1\endcsname{##5}}% + \HtmlEnv \csname :like#1\endcsname{##5}% + \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}% + }% \IgnorePar} \fi \pend:defI\@hangfrom{\a:@hangfrom} @@ -2338,7 +2363,7 @@ $\vcenter \expandafter\:temp\usepackage!*?: \def\:tempa{\@latex@e@error} \ifx \:temp\:tempa - % latex209.4ht (2024-05-07-13:28), generated from tex4ht-4ht.tex + % latex209.4ht (2024-10-13-14:26), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -2346,18 +2371,18 @@ $\vcenter % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-07-13:28} +\immediate\write-1{version 2024-10-13-14:26} \let\:fnsymbol\@fnsymbol \def\@fnsymbol#1{{\hbox{$\:fnsymbol{#1}$}}} diff --git a/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht b/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht index 49e7e6e43d4..79bb53de125 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/longtable.4ht @@ -1,23 +1,23 @@ -% longtable.4ht (2023-04-10-13:46), generated from tex4ht-4ht.tex +% longtable.4ht (2024-09-30-13:40), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari -% Copyright 2009-2023 TeX Users Group +% Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2023-04-10-13:46} +\immediate\write-1{version 2024-09-30-13:40} \def\:tempc[#1]#2{% \gHAdvance\float:cnt 1 @@ -202,25 +202,8 @@ {\LT@t@bularcr}% {\LT@t@bularcr}} - \def\:tempc{% - \o:noalign:{\ifnum0=`}\fi - \penalty\@M - \futurelet\@let@token\LT@@hline} + \def\:tempc{\a:hline} \HLet\LT@hline\:tempc -\def\:tempc{% - \ifx\@let@token\hline - \global\let\@gtempa\@gobble - \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% - \else - \global\let\@gtempa\@empty - \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% - \fi - \ifnum0=`{\fi}% - \a:hline -% - \o:noalign:{\penalty\@M}% - \@gtempa} -\HLet\LT@@hline\:tempc \def\:tempc{% \o:noalign:\bgroup \gHAdvance\TitleCount 1 diff --git a/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht b/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht new file mode 100644 index 00000000000..59e50f78778 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/lua-ul.4ht @@ -0,0 +1,82 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lua-ul.4ht (2024-10-03-13:41), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-10-03-13:41} + +\def\lua:ul:get:xcolorcss#1#2{% + \expandafter\extractcolorspec\expandafter{#1}{\tsf:color}% + \expandafter\convertcolorspec\tsf:color{HTML}\tsf:color% + \edef#2{\#\tsf:color}% +} + +\ExplSyntaxOn + +\NewConfigure{highLight}{2} +\NewDocumentCommand \:highLight {O{\l__luaul_highlight_color_tl} +m} { + \group_begin: + \lua:ul:get:xcolorcss{#1}\:highLightColor% + \a:highLight#2\b:highLight% + \group_end: +} + +\HLet\highLight\:highLight + +\NewConfigure{strikeThrough}{2} +\NewDocumentCommand \:strikeThrough {o +m} { + \group_begin: + \IfValueTF {#1} { + \lua:ul:get:xcolorcss{#1}\:strikeThroughColor% + }{\def\:strikeThroughColor{inherit}} + \a:strikeThrough#2\b:strikeThrough + \group_end: + } + +\HLet\strikeThrough\:strikeThrough + +\NewConfigure{underLine}{2} +\NewDocumentCommand \:underLine {o +m} { + \group_begin: + \IfValueTF {#1} { + \__luaul_parse_generic_keys:n { + #1 + } + }{} + \bool_if:NTF \l__luaul_color_set_bool { + % the \l__luaul_current_color_tl contains color in a format suitable for \convertcolorspec, + % so we cannot use \lua:ul:get:xcolorcss here + \expandafter\convertcolorspec\l__luaul_current_color_tl{HTML}\:tempa + \edef\:underLineColor{\#\:tempa}% + }{\def\:underLineColor{inherit}} + \a:underLine#2\b:underLine + \group_end: +} + +\HLet\underLine\:underLine + + +\bool_if:NT \l__luaul_soulnames_bool { + \cs_set_eq:NN \textul \underLine \cs_set_eq:NN \ul \textul + \cs_set_eq:NN \textst \strikeThrough \cs_set_eq:NN \st \textst + \cs_set_eq:NN \texthl \highLight \cs_set_eq:NN \hl \texthl +} + +\ExplSyntaxOff +\Hinput{lua-ul} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht b/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht new file mode 100644 index 00000000000..6a94196fea0 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/makecell.4ht @@ -0,0 +1,33 @@ +% makecell.4ht (2024-10-09-13:42), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-10-09-13:42} + + +\NewConfigure{makegapedcells}{1} +\def\:tempa{\a:makegapedcells} +\HLet\makegapedcells\:tempa + +\NewConfigure{nomakegapedcells}{1} +\def\:tempa{\a:nomakegapedcells} +\HLet\nomakegapedcells\:tempa + + +\Hinput{makecell} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht new file mode 100644 index 00000000000..1279d022914 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/manyfoot-hooks.4ht @@ -0,0 +1,40 @@ +% manyfoot-hooks.4ht (2024-11-01-14:51), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-01-14:51} + + +\:AtEndOfPackage{% +\let\o:MFL@declare:\MFL@declare +\def\manyfoot:declarefn#1{% + \expandafter\renewcommand\csname footnote#1\endcsname[1]{% + \stepcounter{footnote#1}% + \renewcommand\thefootnote{\csname thefootnote#1\endcsname}% + \footnote{##1}% + }% +} +\def\MFL@declare#1#2[#3]{% + \o:MFL@declare:{#1}{#2}[#3]% + \manyfoot:declarefn{#2}% +}% + + +} + +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht b/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht new file mode 100644 index 00000000000..aeabc113d47 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/manyfoot.4ht @@ -0,0 +1,25 @@ +% manyfoot.4ht (2024-11-01-14:51), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-01-14:51} + + + +\Hinput{manyfoot} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht index cfc53895a23..4559b909d61 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/mathjax-latex-4ht.4ht @@ -1,22 +1,22 @@ -% mathjax-latex-4ht.4ht (2024-02-25-08:28), generated from tex4ht-mathjax.tex +% mathjax-latex-4ht.4ht (2024-10-25-14:48), generated from tex4ht-mathjax.tex % Copyright 2018-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-02-25-08:28} +\immediate\write-1{version 2024-10-25-14:48} \ExplSyntaxOn @@ -48,10 +48,14 @@ % beginning of each display math \long\def\AltlDisplayDollars#1$${\alteqtoks{\[#1\]}$$} +\NewConfigure{MathjaxEnv}{2} + \newcommand\VerbMathToks[2]{% - \alteqtoks{\begin{#2} - #1 - \end{#2}}% + \a:MathjaxEnv% + \HCode{\string\begin{#2}}% + \alteqtoks{#1}% + \HCode{\string\end{#2}}% + \b:MathjaxEnv% } \ExplSyntaxOn \seq_new:N\:savedmathjaxenvs @@ -162,7 +166,8 @@ }{} \@ifpackageloaded{tikz}{% -\tikzset{every picture/.append code={\:ignoretikzmatrix\RestoreMathJaxEnvironments}} +%\tikzset{every picture/.append code={\:ignoretikzmatrix\RestoreMathJaxEnvironments}} +\pend:def\tikz@installcommands{\RestoreMathJaxEnvironments} }{} } @@ -677,5 +682,27 @@ + + + + + + + + + + + + + + + + + + + + + + \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht b/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht index 3de1fdb2fe2..a36a855147a 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/mathml.4ht @@ -1,4 +1,4 @@ -% mathml.4ht (2024-03-21-13:48), generated from tex4ht-mathml.tex +% mathml.4ht (2024-10-11-14:13), generated from tex4ht-mathml.tex % Copyright 2009-2024 TeX Users Group % Copyright 1999-2009 Eitan M. Gurari % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-03-21-13:48} +\immediate\write-1{version 2024-10-11-14:13} \exit:ifnot{Preamble,% accents,% @@ -34,6 +34,7 @@ array,% bm,% cancel,% dcolumn,% +esvect,% etex4ht,% fontmath,% gauss,% @@ -44,6 +45,7 @@ plain,% rlbabel,% sistyle,% siunitx,% +stmaryrd,% subeqnarray,% tex4ht,% ulem,% @@ -922,7 +924,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \def\:temp#1{\a:right{#1}\o:right:.\b:right{#1}}\HLet\right\:temp \Configure{left} {} - {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix"> + {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">% \expandafter \ifx \csname \string#1:lr del\endcsname\relax #1\else \csname \string#1:lr del\endcsname\fi @@ -1412,14 +1414,19 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \HLet\limsup\:tempa \def\:tempa{\mathop{\:limspaces{lim}{inf}}\limits} \HLet\liminf\:tempa -\def\:temp#1#2{\def#1{\PauseMathClass{\HCode{<mi mathvariant="normal">}\ht:special{t4ht@+\string&{35}x#2{59}}\a:HChar\HCode{</mi>}}\EndPauseMathClass}} -\:temp\Psi{03A8} +\def\:temp#1#2{\def\:tempa{\PauseMathClass{\HCode{<mi mathvariant="normal">}\ht:special{t4ht@+\string&{35}x#2{59}}\a:HChar\HCode{</mi>}}\EndPauseMathClass}\HLet#1\:tempa} +\:temp\Gamma{0393} \:temp\Delta{0394} +\:temp\Theta{0398} +\:temp\Lambda{039B} \:temp\Xi{039E} \:temp\Pi{03A0} \:temp\Sigma{03A3} \:temp\Upsilon{03A5} +\:temp\Phi{03A6} +\:temp\Psi{03A8} \:temp\Omega{03A9} + \AtBeginDocument{% \Configure{mathop*}{*}{}{}{\Configure{mathop}{*}{<\a:mathml mo>}{</\a:mathml mo>}{}} } @@ -1794,7 +1801,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amsbsy} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2794,7 +2800,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \def\:temp#1{\a:right{#1}\o:right:.\b:right{#1}}\HLet\right\:temp \Configure{left} {} - {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix"> + {\HCode{<\a:mathml mrow><\a:mathml mo \a:mathml fence="true" \a:mathml form="prefix">% \expandafter \ifx \csname \string#1:lr del\endcsname\relax #1\else \csname \string#1:lr del\endcsname\fi @@ -3334,7 +3340,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{array} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3476,6 +3481,9 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{vanilla} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3517,6 +3525,9 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{amssymb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3848,7 +3859,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{dcolumn} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3928,6 +3938,10 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{mathtools} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4078,6 +4092,10 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{accents} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4101,6 +4119,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{subeqnarray} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4150,7 +4169,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{siunitx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4166,6 +4184,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{sistyle} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4179,7 +4198,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% \endinput\empty\empty\empty\empty\empty\empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ushort} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4217,6 +4235,7 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{bm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4265,7 +4284,6 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ConfigureHinput{ulem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4340,6 +4358,24 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{stmaryrd} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\:tempa{\HCode{<\a:mathml mo fence="false">\string&\#x27E6;</\a:mathml mo>}} +\HLet\llbracket\:tempa +\def\:tempa{\HCode{<\a:mathml mo fence="false">\string&\#x27E7;</\a:mathml mo>}} +\HLet\rrbracket\:tempa +\Configure{mfenced}{\llbracket}{\string&\#x27E6;} +\Configure{mfenced}{\rrbracket}{\string&\#x27E7;} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput\empty\empty\empty\empty\empty\empty +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + @@ -4576,6 +4612,23 @@ accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ConfigureHinput{esvect} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \def\:tempa#1{% +\bgroup\HCode{<\a:mathml mover><\a:mathml mrow>}#1\HCode{</\a:mathml mrow><\a:mathml mo \a:mathml stretchy="true">} +\PauseMathClass\fldr\EndPauseMathClass% +\HCode{</\a:mathml mo></\a:mathml mover>}\egroup +} + +\HRestore\ESV@vecteur +\HLet\ESV@vecteur\:tempa + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput\empty\empty\empty\empty\empty\empty +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht b/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht index e9d47c6ea24..66484ce7db4 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/memoir.4ht @@ -1,24 +1,23 @@ -% memoir.4ht (2024-05-20-13:21), generated from tex4ht-4ht.tex +% memoir.4ht (2024-10-20-07:19), generated from tex4ht-4ht.tex % Copyright 2003-2009 Eitan M. Gurari -% Copyright 2003-2024 TeX Users Group % Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-20-13:21} +\immediate\write-1{version 2024-10-20-07:19} \input book.4ht \input verse.4ht @@ -117,6 +116,7 @@ \HtmlEnv \Toc:Title{##8}\csname no:#1\endcsname{##9}}% % \def\@sect##1##2##3##4##5##6[##7]##8{% + \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% \ifx \o:@seccntformat:\:UnDef \let\o:@seccntformat:\@seccntformat \fi @@ -130,9 +130,12 @@ % \let\@seccntformat=\o:@seccntformat: % - \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}% + \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}% + \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% + }% % \def\@ssect##1##2##3##4##5{% + \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}% \gdef\ssect:ttl{##5}% % \let\@ssect\no@ssect @@ -141,7 +144,9 @@ \let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect \let\M@sect\sv:Msect % - \HtmlEnv \csname :like#1\endcsname{##5}}% + \HtmlEnv \csname :like#1\endcsname{##5}% + \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}% + }% \IgnorePar} \fi diff --git a/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht b/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht index df88c5b0f1c..4a281473904 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/mempatch.4ht @@ -1,30 +1,23 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mempatch.4ht 2009-05-21-09:32 % -% Copyright (C) 2003--2009 Eitan M. Gurari % -% % -% This work may be distributed and/or modified under the % -% conditions of the LaTeX Project Public License, either % -% version 1.3c of this license or (at your option) any % -% later version. The latest version of this license is % -% in % -% http://www.latex-project.org/lppl.txt % -% and version 1.3c or later is part of all distributions % -% of LaTeX version 2005/12/01 or later. % -% % -% This work has the LPPL maintenance status "maintained".% -% % -% This Current Maintainer of this work % -% is Eitan M. Gurari. % -% % -% If you modify this program your changing its signature % -% with a directive of the following form will be % -% appreciated. % -% \message{signature} % -% % -% gurari@cse.ohio-state.edu % -% http://www.cse.ohio-state.edu/~gurari % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\immediate\write-1{version 2009-05-21-09:32} +% mempatch.4ht (2024-11-03-05:51), generated from tex4ht-4ht.tex +% Copyright 2003-2009 Eitan M. Gurari +% Copyright 2009-2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <https://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-11-03-05:51} \let\no@Msect\M@sect \NewConfigure{@sec @ssect}[1]{% @@ -53,6 +46,7 @@ \HtmlEnv \Toc:Title{##8}\csname no:#1\endcsname{##9}}% % \def\@sect##1##2##3##4##5##6[##7]##8{% + \UseHookWithArguments{cmd/@sect/before}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% \ifx \o:@seccntformat:\:UnDef \let\o:@seccntformat:\@seccntformat \fi @@ -66,9 +60,12 @@ % \let\@seccntformat=\o:@seccntformat: % - \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}% + \HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}% + \UseHookWithArguments{cmd/@sect/after}{8}{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}% + }% % \def\@ssect##1##2##3##4##5{% + \UseHookWithArguments{cmd/@ssect/before}{5}{##1}{##2}{##3}{##4}{##5}% \gdef\ssect:ttl{##5}% % \let\@ssect\no@ssect @@ -77,7 +74,9 @@ \let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect \let\M@sect\sv:Msect % - \HtmlEnv \csname :like#1\endcsname{##5}}% + \HtmlEnv \csname :like#1\endcsname{##5}% + \UseHookWithArguments{cmd/@ssect/after}{5}{##1}{##2}{##3}{##4}{##5}% + }% \IgnorePar} \fi diff --git a/Master/texmf-dist/tex/generic/tex4ht/minted.4ht b/Master/texmf-dist/tex/generic/tex4ht/minted.4ht index 7ff6a2778e0..b6beb7323b5 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/minted.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/minted.4ht @@ -1,5 +1,5 @@ -% minted.4ht (2022-10-31-13:02), generated from tex4ht-4ht.tex -% Copyright 2022 TeX Users Group +% minted.4ht (2024-09-27-09:25), generated from tex4ht-4ht.tex +% Copyright 2022-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -16,7 +16,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2022-10-31-13:02} +\immediate\write-1{version 2024-09-27-09:25} \NewConfigure{InlineCode}{2} @@ -43,23 +43,6 @@ % support for background color in Minted listings \NewConfigure{MintedColorbg}{2} -\renewenvironment{minted@colorbg}[1]{% - \colorlet{shadecolor}{#1}% - \extractcolorspec{shadecolor}{\:tempa}% - \expandafter\convertcolorspec\:tempa{HTML}\minted:bgcolor% - \a:MintedColorbg% - } - {\b:MintedColorbg\medskip\noindent} - -% support for background color in Minted listings -\NewConfigure{MintedColorbg}{2} -\renewenvironment{minted@colorbg}[1]{% - \colorlet{shadecolor}{#1}% - \extractcolorspec{shadecolor}{\:tempa}% - \expandafter\convertcolorspec\:tempa{HTML}\minted:bgcolor% - \a:MintedColorbg% - } - {\b:MintedColorbg\medskip\noindent} \NewConfigure{mintedfixes}[1]{\concat:config\a:mintedfixes{#1}} \let\a:mintedfixes\empty diff --git a/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht b/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht new file mode 100644 index 00000000000..c07dddde74d --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/moderncv.4ht @@ -0,0 +1,168 @@ +% moderncv.4ht (2024-08-19-13:32), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-08-19-13:32} + +\NewConfigure{section}{2} +\RenewDocumentCommand\section{sm}{\a:section #2\b:section} + +\NewConfigure{subsection}{2} +\RenewDocumentCommand\subsection{sm}{\a:subsection #2\b:subsection} + + +\NewConfigure{cvitem}{3} +\renewcommand*{\cvitem}[3][.25em]{ +\a:cvitem #2\b:cvitem #3\c:cvitem +} + +\NewConfigure{cvdoubleitem}{2} +\renewcommand*{\cvdoubleitem}[5][.25em]{% +\a:cvdoubleitem +\cvitem{#2}{#3} +\cvitem{#4}{#5} +\b:cvdoubleitem +} + +\NewConfigure{cvlistitem}{2} +\renewcommand*{\cvlistitem}[2][.25em]{% + \a:cvlistitem\cvitem[#1]{\listitemsymbol}{#2}\b:cvlistitem +} + +\NewConfigure{cvlistdoubleitem}{2} +\renewcommand*{\cvlistdoubleitem}[3][.25em]{% + \a:cvlistdoubleitem% + \cvitem[#1]{\listitemsymbol}{#2}% + \cvitem[#1]{\listitemsymbol}{#3}% + \b:cvlistdoubleitem% +} + +\NewConfigure{cvhead}{2} +\NewConfigure{cvphoto}{2} + + +\renewcommand*{\makecvhead}{% + \a:cvhead + % recompute lengths (in case we are switching from letter to resume, or vice versa) + \recomputecvlengths% + % optional detailed information (pre-rendering) + \@initializebox{\makecvheaddetailsbox}% + \if@details% + \def\phonesdetails{}% + \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number + \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% + \def\socialsdetails{}% + \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link + \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% + \savebox{\makecvheaddetailsbox}{% + \addressfont\color{color2}% + \if@left\begin{tabular}[b]{@{}r@{}}\fi% + \if@right\begin{tabular}[b]{@{}l@{}}\fi% + \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}% + \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict + \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% + \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}% + \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict + \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}% + \end{tabular} + }\fi% + % optional photo (pre-rendering) + \@initializebox{\makecvheadpicturebox}% + \savebox{\makecvheadpicturebox}{% + \ifthenelse{\isundefined{\@photo}}% + {}% + {% + \a:cvphoto\includegraphics[]{\@photo}\b:cvphoto}% + }% + % name and title (pre-rendering) + \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}% + \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}% + \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt) + {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}% + {}% + \@initializebox{\makecvheadnamebox}% + \savebox{\makecvheadnamebox}{% + \begin{minipage}[b]{\makecvheadnamewidth}% + \if@left\raggedright\fi% + \if@right\raggedleft\fi% + \namestyle{\@firstname\ \@lastname}% + \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% + \end{minipage}}% + % rendering + \if@left% + \usebox{\makecvheadnamebox}% + \hfill% + \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced + \usebox{\makecvheadpicturebox}\fi% + \if@right% + \usebox{\makecvheadpicturebox}% + \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced + \hfill% + \usebox{\makecvheadnamebox}\fi% + \\[2.5em]% + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}% + \b:cvhead\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead + + +\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{% +\begin{tabular}{l l l l l l} + \raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\% + % + & \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\% + % + & & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }% + \end{tabular}% +}% + + +\NewConfigure{cvskill}{2} +\def\:tempa#1{\def\:cvskillamount{#1}\a:cvskill\o:cvskill:{#1}\b:cvskill} +\HLet\cvskill\:tempa + +\NewConfigure{cvskillhead}{2} +\NewConfigure{cvskillentry}{2} +\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{% + \begingroup + \a:cvskillhead + \begin{tabular}{ p{6em} p{12em} p{4em} p{20em}}% + { #2} & { #3} & { #4} & { #5} + \end{tabular}% + \b:cvskillhead + \endgroup + \par\addvspace{#1} +} + +\RenewDocumentCommand\cvskillentry{s +O{.25em} +m +m +m +m +m}{% +\a:cvskillentry +\cvitem{#3}{ + \begin{tabular}{ p{6em} p{12em} p{4em} p{20em}} + \centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}% + \end{tabular}}% + \b:cvskillentry + \par\addvspace{#2} +} + + +\Hinput{moderncv} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht b/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht new file mode 100644 index 00000000000..c16def5b0fd --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/nicematrix.4ht @@ -0,0 +1,28 @@ +% nicematrix.4ht (2024-10-18-14:47), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-10-18-14:47} + +\ExplSyntaxOn +\bool_set_true:N\g__nicematrix_no_test_for_array_bool + +\ExplSyntaxOff + +\Hinput{nicematrix} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/piton.4ht b/Master/texmf-dist/tex/generic/tex4ht/piton.4ht index b1140b4094b..fc79912f695 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/piton.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/piton.4ht @@ -1,5 +1,5 @@ -% piton.4ht (2023-10-13-14:15), generated from tex4ht-4ht.tex -% Copyright 2023 TeX Users Group +% piton.4ht (2024-10-01-13:46), generated from tex4ht-4ht.tex +% Copyright 2023-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -16,10 +16,43 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2023-10-13-14:15} +\immediate\write-1{version 2024-10-01-13:46} \ExplSyntaxOn +\IfPackageLoadedTF{xcolor}{}{\RequirePackage{xcolor}} + +\def\:pitonvisiblespace{ \HCode{\string&\#x2423;} } +\cs_new_protected:Npn \:__piton_replace_spaces:n #1 + { + \tl_set:Nn \l_tmpa_tl { #1 } + \bool_if:NTF \l__piton_show_spaces_bool + { + \tl_set:Nn \l__piton_space_tl {\:pitonvisiblespace} % U+2423 + \regex_replace_all:nnN { \x20 } {\c{:pitonvisiblespace}} \l_tmpa_tl + } + { + \bool_if:NTF \l__piton_break_lines_in_Piton_bool + { + \regex_replace_all:nnN + { \x20 } + { \c { __piton_breakable_space: } } + \l_tmpa_tl + \regex_replace_all:nnN + { \c { l__piton_space_tl } } + { \c { __piton_breakable_space: } } + \l_tmpa_tl + } + { + \regex_replace_all:nnN { \x20 } { \x20 } \l_tmpa_tl + } + } + \l_tmpa_tl + } + + +\HLet\__piton_replace_spaces:n\:__piton_replace_spaces:n + \NewConfigure{pitonline}{3} \NewConfigure{pitonnumber}{2} diff --git a/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht b/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht new file mode 100644 index 00000000000..74c11de6878 --- /dev/null +++ b/Master/texmf-dist/tex/generic/tex4ht/stmaryrd.4ht @@ -0,0 +1,25 @@ +% stmaryrd.4ht (2024-10-11-14:13), generated from tex4ht-4ht.tex +% Copyright 2024 TeX Users Group +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project <http://tug.org/tex4ht>. +% +% If you modify this program, changing the +% version identification would be appreciated. +\immediate\write-1{version 2024-10-11-14:13} + + + +\Hinput{stmaryrd} +\endinput + diff --git a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht index 4793862b311..dcf308775ee 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-base-hooks.4ht @@ -1,4 +1,4 @@ -% tagpd-base-hooks.4ht (2024-05-06-13:37), generated from tex4ht-4ht.tex +% tagpd-base-hooks.4ht (2024-07-26-15:08), generated from tex4ht-4ht.tex % Copyright 2024 TeX Users Group % % This work may be distributed and/or modified under the @@ -16,10 +16,7 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-06-13:37} +\immediate\write-1{version 2024-07-26-15:08} -% ignore tagpdf's specials -% we use csname, because \ExplSyntaxOn .. Off caused catcode issues -\expandafter\def\csname __tag_whatsits:\endcsname{} \endinput diff --git a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht index c012b7967b8..02db5485f63 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/tagpdf-hooks.4ht @@ -1,4 +1,4 @@ -% tagpdf-hooks.4ht (2024-05-03-14:34), generated from tex4ht-4ht.tex +% tagpdf-hooks.4ht (2024-07-26-15:08), generated from tex4ht-4ht.tex % Copyright 2022-2024 TeX Users Group % % This work may be distributed and/or modified under the @@ -16,11 +16,9 @@ % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-03-14:34} +\immediate\write-1{version 2024-07-26-15:08} \ExplSyntaxOn -% ignore tagpdf's specials -\cs_set_protected:Npn \__tag_whatsits: {} \ExplSyntaxOff \:AtEndOfPackage{% \RenewDocumentCommand \tagpdfsetup { m }{} diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht index 4a90577d7c4..3e702545ac1 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.4ht @@ -1,7 +1,7 @@ \ifnum\the\catcode`\%=14\else \expandafter\edef\csname \string:RestoreCatcodes\endcsname{\catcode`\%\the \catcode`\%}\catcode`\%14\fi -% tex4ht.4ht (2024-05-06-13:38), generated from tex4ht-options.tex +% tex4ht.4ht (2024-09-24-10:24), generated from tex4ht-options.tex % Copyright 2009-2024 TeX Users Group % Copyright 1997-2009 Eitan M. Gurari % @@ -9,18 +9,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-06-13:38} +\immediate\write-1{version 2024-09-24-10:24} \expandafter\edef\csname :RestoreCatcodes\endcsname{% \expandafter\ifx \csname :RestoreCatcodes\endcsname\relax\else diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty index 18a85e36ce7..1acc8e30f32 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty +++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty @@ -1,7 +1,7 @@ \ifnum\the\catcode`\%=14\else\expandafter\edef\csname \string:RestoreCatcodes\endcsname{\catcode`\%\the \catcode`\%}\catcode`\%14\fi -% tex4ht.sty (2024-05-06-13:36), generated from tex4ht-sty.tex +% tex4ht.sty (2024-09-24-10:22), generated from tex4ht-sty.tex % Copyright 2009-2024 TeX Users Group % Copyright 1996-2009 Eitan M. Gurari % @@ -9,18 +9,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-06-13:36} +\immediate\write-1{version 2024-09-24-10:22} \ifx \Preamble\UnDef \else @@ -1446,7 +1446,7 @@ \fi \fi } -\def\Ref#1{\expandafter\ifx +\def\XRef#1{\expandafter\ifx \csname cw:#1\endcsname \relax \:NoTag{#1}% \else \csname cw:#1\endcsname \fi} \def\LikeRef#1{\expandafter\ifx @@ -1486,7 +1486,7 @@ \openin15=\jobname.xref \ifeof15 \def\:NoTag#1{\hbox{$???$}} \else \def\:NoTag#1{\hbox{$???$} - \:warning{\string\Ref\string{\string#1\string}?}} + \:warning{\string\XRef\string{\string#1\string}?}} \ifx \:::HRefTag\:UnDef\else \pend:defII\:::HRefTag{% \if \relax##1\relax\else diff --git a/Master/texmf-dist/tex/generic/tex4ht/th4.4ht b/Master/texmf-dist/tex/generic/tex4ht/th4.4ht index 894c2416d4c..1bfc57b5a3c 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/th4.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/th4.4ht @@ -1,23 +1,23 @@ -% th4.4ht (2021-12-02-14:01), generated from tex4ht-4ht.tex +% th4.4ht (2024-09-24-10:22), generated from tex4ht-4ht.tex % Copyright 1997-2009 Eitan M. Gurari -% Copyright 2009-2021 TeX Users Group +% Copyright 2009-2024 TeX Users Group % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2021-12-02-14:01} +\immediate\write-1{version 2024-09-24-10:22} \ifHtml @@ -420,19 +420,19 @@ \def\TagCh#1{\Tag{#1(C }{\theChapterCounter}\Tag {#1(c }{\:curch}} -\def\RefCh#1{\Link{\LikeRef{#1(c }}{}Chapter\ \Ref +\def\RefCh#1{\Link{\LikeRef{#1(c }}{}Chapter\ \XRef {#1(C }\EndLink} \def\TagApp#1{\Tag{#1(A }{\theChapterCounter}\Tag {#1(a }{\:curch}} -\def\RefApp#1{\Link{\LikeRef{#1(a }}{}Appendix\ \Ref +\def\RefApp#1{\Link{\LikeRef{#1(a }}{}Appendix\ \XRef {#1(A }\EndLink} \def\TagSec#1{\Tag{#1(S }{\theSectionCounter}\Tag {#1(s }{\:cursec}} -\def\RefSec#1{\Link{\LikeRef{#1(s }}{}Section\ \Ref +\def\RefSec#1{\Link{\LikeRef{#1(s }}{}Section\ \XRef {#1(S }\EndLink} \def\TagPage#1{% \Link{}{page#1}\EndLink\Tag{#1}{}} -\def\RefPage#1{\Link{page#1}{}\Ref{#1}\EndLink} +\def\RefPage#1{\Link{page#1}{}\XRef{#1}\EndLink} \def\List#1{\begingroup {\hfil\break\IgnorePar}% \HAssign\ListCounter0 diff --git a/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht b/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht index fef5bf8c851..9cc265e8fc4 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/usepackage.4ht @@ -1,4 +1,4 @@ -% usepackage.4ht (2024-05-03-14:34), generated from tex4ht-4ht.tex +% usepackage.4ht (2024-11-05-12:30), generated from tex4ht-4ht.tex % Copyright 2003-2009 Eitan M. Gurari % Copyright 2009-2024 TeX Users Group % @@ -6,18 +6,18 @@ % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version. The latest version of this license is in -% http://www.latex-project.org/lppl.txt +% https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work -% is the TeX4ht Project <http://tug.org/tex4ht>. +% is the TeX4ht Project <https://tug.org/tex4ht>. % % If you modify this program, changing the % version identification would be appreciated. -\immediate\write-1{version 2024-05-03-14:34} +\immediate\write-1{version 2024-11-05-12:30} \def\:temp{tex4ht}\ifx \:temp\@currname \:warning{\string\usepackage{tex4ht} again?} @@ -91,11 +91,15 @@ \Configure{PackageHooks}{graphics.sty}{graphics-hooks.4ht} \Configure{PackageHooks}{graphbox.sty}{graphbox-hooks.4ht} \Configure{PackageHooks}{xcolor.sty}{xcolor-hooks.4ht} +\Configure{PackageHooks}{colortbl.sty}{colortbl-hooks.4ht} +\Configure{PackageHooks}{enumitem.sty}{enumitem-hooks.4ht} \Configure{PackageHooks}{imakeidx.sty}{imakeidx-hooks.4ht} \Configure{PackageHooks}{fancyhdr.sty}{fancyhdr-hooks.4ht} \Configure{PackageHooks}{exerquiz.sty}{exerquiz-hooks.4ht} \Configure{PackageHooks}{hyperxmp.sty}{hyperxmp-hooks.4ht} \Configure{PackageHooks}{datetime2.sty}{datetime2-hooks.4ht} +\Configure{PackageHooks}{manyfoot.sty}{manyfoot-hooks.4ht} +\Configure{PackageHooks}{bigfoot.sty}{bigfoot-hooks.4ht} \endinput diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty index b4e26af8bca..a898f51466d 100644 --- a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty +++ b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty @@ -6,7 +6,7 @@ %% %% witharrows.dtx (with options: `LaTeX') %% -%% Copyright (C) 2017-2023 by F. Pantigny +%% Copyright (C) 2017-2024 by F. Pantigny %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -18,8 +18,9 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -\def\myfileversion{2.8b} -\def\myfiledate{2023/08/24} +\def\myfileversion{2.9a} +\def\myfiledate{2024/10/19} + \RequirePackage{tikz} \usetikzlibrary{arrows.meta} \usepgfmodule{bending} % https://texnique.fr/osqa/questions/12199 @@ -30,6 +31,10 @@ {\myfileversion} {Draws arrows for explanations on the right} \RequirePackage { varwidth } +\ProvideDocumentCommand{\IfPackageLoadedT}{mm} + {\IfPackageLoadedTF{#1}{#2}{}} +\ProvideDocumentCommand{\IfPackageLoadedF}{mm} + {\IfPackageLoadedTF{#1}{}{#2}} \bool_new:N \c__witharrows_footnotehyper_bool \bool_new:N \c__witharrows_footnote_bool \cs_new_protected:Npn \__witharrows_msg_new:nn { \msg_new:nnn { witharrows } } @@ -45,20 +50,25 @@ \cs_new_protected:Npn \__witharrows_warning:n { \msg_warning:nn { witharrows } } \cs_new_protected:Npn \__witharrows_fatal:n { \msg_fatal:nn { witharrows } } \cs_new_protected:Npn \__witharrows_error:nn { \msg_error:nnn { witharrows } } -\cs_generate_variant:Nn \__witharrows_error:nn { n x } +\cs_generate_variant:Nn \__witharrows_error:nn { n e } \cs_new_protected:Npn \__witharrows_error_or_warning:n { \bool_if:NTF \c__witharrows_messages_for_Overleaf_bool \__witharrows_warning:n \__witharrows_error:n } \bool_set:Nn \c__witharrows_messages_for_Overleaf_bool { - \str_if_eq_p:Vn \c_sys_jobname_str { _region_ } % for Emacs - || \str_if_eq_p:Vn \c_sys_jobname_str { output } % for Overleaf + \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs + || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf } +\bool_new:N \g__witharrows_beamer_bool \keys_define:nn { WithArrows / package } { footnote .bool_set:N = \c__witharrows_footnote_bool , footnotehyper .bool_set:N = \c__witharrows_footnotehyper_bool , - unknown .code:n = - \__witharrows_fatal:n { Option~unknown~for~package } + footnote .usage:n = load , + footnotehyper .usage:n = load , + beamer .bool_gset:N = \g__witharrows_beamer_bool , + beamer .default:n = true , + beamer .usage:n = load , + unknown .code:n = \__witharrows_fatal:n { Option~unknown~for~package } } \__witharrows_msg_new:nn { Option~unknown~for~package } { @@ -67,6 +77,8 @@ \token_to_str:N\WithArrowsOptions. } \ProcessKeysOptions { WithArrows / package } +\IfClassLoadedT { beamer } { \bool_gset_true:N \g__witharrows_beamer_bool } +\IfPackageLoadedT { beamerarticle } { \bool_gset_true:N \g__witharrows_beamer_bool } \__witharrows_msg_new:nn { footnote~with~footnotehyper~package } { Footnote~forbidden.\\ @@ -129,7 +141,10 @@ \cs_new_protected:Npn \__witharrows_collect_options:nnw #1#2[#3] { \__witharrows_collect_options:nn { #1 } { #2 , #3 } } -\cs_generate_variant:Nn \seq_set_split:Nnn { N x x } +\cs_generate_variant:Nn \seq_set_split:Nnn { N e e } +\cs_generate_variant:Nn \keys_precompile:nnN { n n c } +\prg_generate_conditional_variant:Nnn \tl_if_novalue:n { o } { F } +\exp_args_generate:n { N N N n o } \cs_new_protected:Npn \__witharrows_sort_seq:N #1 { \seq_sort:Nn #1 @@ -143,15 +158,15 @@ \cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2 { \seq_set_from_clist:Nn #1 { #2 } - \seq_set_map_x:NNn #1 #1 { \tl_to_str:n { ##1 } } + \seq_set_map_e:NNn #1 #1 { \tl_to_str:n { ##1 } } } \cs_new_protected:Npn \__witharrows_save:N #1 { - \seq_set_split:Nxx \l_tmpa_seq + \seq_set_split:Nee \l_tmpa_seq { \char_generate:nn { `_ } { 12 } } { \cs_to_str:N #1 } \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl - \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } + \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } \use:c { \l_tmpa_str _if_exist:cF } { g _\seq_use:Nnnn \l_tmpa_seq _ _ _ } { @@ -163,11 +178,11 @@ } \cs_new_protected:Npn \__witharrows_restore:N #1 { - \seq_set_split:Nxx \l_tmpa_seq + \seq_set_split:Nee \l_tmpa_seq { \char_generate:nn { `_ } { 12 } } { \cs_to_str:N #1 } \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl - \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } + \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } \use:c { \l_tmpa_str _set_eq:Nc } #1 { g_\seq_use:Nnnn \l_tmpa_seq _ _ _ } } @@ -258,13 +273,13 @@ \clist_set:Nn \l__witharrows_tags_clist { all } \cs_new_protected:Npn \__witharrows_test_if_to_tag: { - \clist_if_in:NVT \l__witharrows_tags_clist \g__witharrows_line_int + \clist_if_in:NoT \l__witharrows_tags_clist \g__witharrows_line_int { \clist_set:Nn \l__witharrows_tags_clist { all } } } \str_new:N \l__witharrows_command_name_str \str_set:Nn \l__witharrows_command_name_str { Arrow } \str_new:N \l__witharrows_string_Arrow_for_msg_str -\str_set:Nx \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow } +\str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow } \seq_new:N \g__witharrows_names_seq \bool_new:N \l__witharrows_sbwi_bool \bool_new:N \l__witharrows_tag_star_bool @@ -315,7 +330,7 @@ more-columns .value_forbidden:n = true , command-name .code:n = \str_set:Nn \l__witharrows_command_name_str { #1 } - \str_set:Nx \l__witharrows_string_Arrow_for_msg_str + \str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \c_backslash_str Arrow~alias~\c_backslash_str #1 } , command-name .value_required:n = true , tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , @@ -335,7 +350,7 @@ \int_set:Nn \l__witharrows_pos_arrow_int 7 } { \__witharrows_error:n { Incompatible~options } } , - group .value_forbidden:n = true , + group .value_forbidden:n = true , groups .code:n = \str_if_empty:NTF \l__witharrows_previous_key_str { @@ -348,7 +363,6 @@ { \__witharrows_error:n { Incompatible~options } } , groups .value_forbidden:n = true , tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .initial:n = \c_empty_tl , tikz .value_required:n = true , rr .code:n = \__witharrows_fix_pos_option:n 3 , rr .value_forbidden:n = true , @@ -400,8 +414,8 @@ \AtBeginDocument { \bool_set_false:N \l_tmpa_bool - \IfPackageLoadedTF { amsmath } { \bool_set_true:N \l_tmpa_bool } { } - \IfPackageLoadedTF { unicode-math } { \bool_set_true:N \l_tmpa_bool } { } + \IfPackageLoadedT { amsmath } { \bool_set_true:N \l_tmpa_bool } + \IfPackageLoadedT { unicode-math } { \bool_set_true:N \l_tmpa_bool } \bool_if:NT \l_tmpa_bool { \clist_put_right:Nn \c__witharrows_ext_delimiters_clist { \lvert, \lVert } } } @@ -445,8 +459,8 @@ wrap-lines .default:n = true , replace-left-brace-by .code:n = { - \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } } - \clist_if_in:NVTF + \tl_set:Ne \l_tmpa_tl { \tl_head:n { #1 } } + \clist_if_in:NoTF \c__witharrows_ext_delimiters_clist \l_tmpa_tl { \tl_set:Nn \l__witharrows_replace_left_brace_by_tl { #1 } } @@ -460,9 +474,9 @@ { name .code:n = \str_set:Nn \l_tmpa_str { #1 } - \seq_if_in:NVTF \g__witharrows_names_seq \l_tmpa_str + \seq_if_in:NoTF \g__witharrows_names_seq \l_tmpa_str { \__witharrows_error:n { Duplicate~name } } - { \seq_gput_left:NV \g__witharrows_names_seq \l_tmpa_str } + { \seq_gput_left:No \g__witharrows_names_seq \l_tmpa_str } \str_set_eq:NN \l__witharrows_name_str \l_tmpa_str , name .value_required:n = true , code-before .code:n = \tl_put_right:Nn \l__witharrows_code_before_tl { #1 } , @@ -566,7 +580,7 @@ } \cs_new_protected:Npn \__witharrows_set_independent: { - \str_if_eq:VnF \l_keys_value_tl { NoValue } + \str_if_eq:onF \l_keys_value_tl { NoValue } { \__witharrows_error:n { Value~for~a~key } } \__witharrows_set_independent_bis: } @@ -582,7 +596,7 @@ \keys_define:nn { WithArrows / Arrow / FirstPass } { jump .code:n = - \int_compare:nTF { #1 > 0 } + \int_compare:nNnTF { #1 } > \c_zero_int { \int_set:Nn \l__witharrows_jump_int { #1 } } { \__witharrows_error:n { Negative~jump } } , jump .value_required:n = true, @@ -625,7 +639,7 @@ xoffset .code:n = , unknown .code:n = \__witharrows_sort_seq:N \l__witharrows_options_Arrow_seq - \seq_if_in:NVTF \l__witharrows_options_WithArrows_seq \l_keys_key_str + \seq_if_in:NoTF \l__witharrows_options_WithArrows_seq \l_keys_key_str { \str_set:Nn \l_tmpa_str { ~However,~this~key~can~be~used~in~the~options~of~{WithArrows}. } @@ -652,7 +666,6 @@ tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , tikz-code .initial:n = \draw~(#1)~to~node{#3}~(#2)~; , tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .initial:n = \c_empty_tl , rr .code:n = \__witharrows_fix_pos_arrow:n 3 , ll .code:n = \__witharrows_fix_pos_arrow:n 1 , rl .code:n = \__witharrows_fix_pos_arrow:n 2 , @@ -660,13 +673,11 @@ i .code:n = \__witharrows_fix_pos_arrow:n 5 , o .code:n = \str_set:Nn \l__witharrows_previous_key_str { o } , xoffset .code:n = - \bool_if:nTF + \bool_lazy_all:nTF { - \int_compare_p:nNn \g__witharrows_arrow_int > 1 - && - \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 - && - ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent } + { \int_compare_p:nNn \g__witharrows_arrow_int > 1 } + { \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 } + { ! \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } } } { \__witharrows_error:n { Option~xoffset~forbidden } } { \dim_set:Nn \l__witharrows_xoffset_dim { #1 } } , @@ -683,8 +694,21 @@ \keys_set:nn { WithArrows / WithArrowsOptions } { #1 } } \cs_new_protected:Npn \__witharrows_Arrow - { \__witharrows_collect_options:n { \__witharrows_Arrow_i } } -\NewDocumentCommand \__witharrows_Arrow_i { m m ! O { } } + { \__witharrows_collect_options:n { \__witharrows_Arrow_iii } } +\bool_if:NTF \g__witharrows_beamer_bool + { + \NewDocumentCommand \__witharrows_Arrow_iii { m d < > m ! O { } } + { + \tl_if_novalue:nTF { #2 } + { \__witharrows_Arrow_ii { #1 } { #3 } [ #4 ] } + { \only <#2> { \__witharrows_Arrow_ii { #1 } { #3 } [ #4 ] } } + } + } + { + \NewDocumentCommand \__witharrows_Arrow_iii { m m ! O { } } + { \__witharrows_Arrow_ii { #1 } { #2 } [ #3 ] } + } +\NewDocumentCommand \__witharrows_Arrow_ii { m m ! O { } } { \int_gincr:N \g__witharrows_arrow_int \str_clear_new:N \l__witharrows_previous_key_str @@ -692,10 +716,10 @@ \prop_put:NnV \l_tmpa_prop { initial } \g__witharrows_line_int \int_set:Nn \l_tmpa_int { \g__witharrows_line_int + \l__witharrows_jump_int } \prop_put:NnV \l_tmpa_prop { final } \l_tmpa_int - \prop_put:NnV \l_tmpa_prop { status } \l__witharrows_status_arrow_str + \prop_put:Nno \l_tmpa_prop { status } \l__witharrows_status_arrow_str \prop_put:Nnn \l_tmpa_prop { options } { #1 , #3 } \prop_put:Nnn \l_tmpa_prop { label } { #2 } - \prop_put:Nnx \l_tmpa_prop { input-line } \msg_line_number: + \prop_put:Nne \l_tmpa_prop { input-line } \msg_line_number: \prop_put:Nnn \l_tmpa_prop { width } { 0 pt } \prop_gclear_new:c { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \g__witharrows_arrow_int _ prop } @@ -728,7 +752,7 @@ \seq_set_eq:NN \l_tmpa_seq \g__witharrows_position_in_the_tree_seq \seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl \str_clear_new:N \l__witharrows_prefix_str - \str_set:Nx \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - } + \str_set:Ne \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - } \cs_set_eq:NN \\ \__witharrows_cr: \dim_zero:N \mathsurround \int_zero_new:N \l__witharrows_initial_int @@ -784,30 +808,30 @@ \bool_if:NT \l__witharrows_in_DispWithArrows_bool { \__witharrows_test_if_to_tag: - \IfPackageLoadedTF { amsmath } { \__witharrows_set_qedhere: } { } + \IfPackageLoadedT { amsmath } { \__witharrows_set_qedhere: } } } - \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill - \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill + \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { r } \hfill + \str_if_eq:onT \l__witharrows_type_col_str { R } \hfill \int_gincr:N \g__witharrows_col_int \int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int } \c_math_toggle_token - \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } } - \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { C } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { L } { { } } \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle ## - \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } } - \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { C } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { R } { { } } \c_math_toggle_token \int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int \__witharrows_construct_nodes: { - \str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { l } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { L } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil \bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip } & } @@ -913,7 +937,7 @@ { \cs_set:Npn \WithArrowsRightX { \g__witharrows_right_x_dim } \normalbaselines - \int_compare:nNnT \g__witharrows_arrow_int > 0 + \int_if_zero:nF \g__witharrows_arrow_int { \int_compare:nNnT \g__witharrows_arrow_int = 1 { @@ -932,7 +956,7 @@ \group_end: \seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl \seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl - \seq_gput_right:Nx \g__witharrows_position_in_the_tree_seq + \seq_gput_right:Ne \g__witharrows_position_in_the_tree_seq { \int_eval:n { \l_tmpa_tl + 1 } } \int_compare:nNnT { \seq_count:N \g__witharrows_position_in_the_tree_seq } = 1 { \int_gincr:N \g__witharrows_last_env_int } @@ -976,19 +1000,18 @@ \clist_if_in:NnTF \l__witharrows_tags_clist { all } { \tl_if_empty:NT \l__witharrows_tag_tl { \int_gincr:N \c@equation } - \cs_gset:Npx \g_tmpa_tl + \cs_gset:Npe \g_tmpa_tl { \tl_if_empty:NTF \l__witharrows_tag_tl \theequation \l__witharrows_tag_tl } \seq_if_empty:NF \l__witharrows_labels_seq { - \cs_set:Npx \@currentlabel { \p@equation \g_tmpa_tl } - \IfPackageLoadedTF { hyperref } + \cs_set:Npe \@currentlabel { \p@equation \g_tmpa_tl } + \IfPackageLoadedT { hyperref } { % the following line is probably pointless (2022/05/16) % \str_set:Nn \This@name { equation } \hyper@refstepcounter { equation } } - { } - \IfPackageLoadedTF { cleveref } + \IfPackageLoadedT { cleveref } { \cref@constructprefix { equation } \cref@result \protected@edef \cref@currentlabel @@ -1002,7 +1025,6 @@ \p@equation \g_tmpa_tl } } - { } \seq_map_function:NN \l__witharrows_labels_seq \__witharrows_old_label } \__witharrows_save:N \l__witharrows_tag_star_bool @@ -1017,7 +1039,7 @@ \__witharrows_restore:N \l__witharrows_tag_star_bool \__witharrows_restore:N \l__witharrows_qedhere_bool \bool_if:NT \l__witharrows_qedhere_bool - { \hbox_overlap_left:n \__witharrows_qedhere_i: } + { \hbox_overlap_left:n \__witharrows_qedhere_i: } \cs_set_eq:NN \theequation \g_tmpa_tl \bool_if:NT \l__witharrows_tag_star_bool { \cs_set_eq:NN \tagform@ \prg_do_nothing: } @@ -1050,7 +1072,7 @@ & \__witharrows_restore:N \l__witharrows_qedhere_bool \bool_if:NT \l__witharrows_qedhere_bool - { \hbox_overlap_left:n \__witharrows_qedhere_i: } + { \hbox_overlap_left:n \__witharrows_qedhere_i: } \pgfpicture \pgfrememberpicturepositiononpagetrue \pgfcoordinate @@ -1073,7 +1095,7 @@ } \cs_new_protected:Npn \__witharrows_analyze_end:Nn #1 #2 { - \str_if_eq:VnT \l__witharrows_type_env_str { #2 } + \str_if_eq:onT \l__witharrows_type_env_str { #2 } { \__witharrows_error:n { newline~at~the~end~of~env } \group_begin: @@ -1094,7 +1116,7 @@ \legacy_if:nT { @minipage } { \bool_set_true:N \l__witharrows_in_label_or_minipage_bool } } - \IfPackageLoadedTF { mathtools } + \IfPackageLoadedT { mathtools } { \MH_if_boolean:nT { show_only_refs } { @@ -1102,12 +1124,11 @@ \MH_set_boolean_T:n { show_only_refs } } } - { } - \IfPackageLoadedTF { typedref } + \IfPackageLoadedT { typedref } { \str_set:Nn \sr@name { equation } } - { } - \IfPackageLoadedTF { amsmath } { \intertext@ } { } - \exp_args:No \tl_if_novalue:nF { #1 } { \tl_set:Nn \l__witharrows_left_brace_tl { #1 } } + \IfPackageLoadedT { amsmath } { \intertext@ } + \tl_if_novalue:oF { #1 } + { \cs_set_nopar:Npn \l__witharrows_left_brace_tl { #1 } } \__witharrows_pre_halign:n { #2 } \bool_if:NT \l__witharrows_subequations_bool { \begin { subequations } } \tl_if_eq:NNF \l__witharrows_left_brace_tl \c_novalue_tl @@ -1144,7 +1165,7 @@ \fi: \bool_if:NTF \l__witharrows_in_label_or_minipage_bool { - \noindent % added in v. 2.6d + \noindent \c_math_toggle_token } { @@ -1156,8 +1177,8 @@ } \dim_zero_new:N \l__witharrows_linewidth_dim \bool_if:NTF \l__witharrows_in_label_or_minipage_bool - { \dim_set_eq:NN \l__witharrows_linewidth_dim \linewidth } - { \dim_set_eq:NN \l__witharrows_linewidth_dim \displaywidth } + { \dim_set_eq:NN \l__witharrows_linewidth_dim \linewidth } + { \dim_set_eq:NN \l__witharrows_linewidth_dim \displaywidth } \box_clear_new:N \l__witharrows_halign_box \setbox \l__witharrows_halign_box \vtop \bgroup \tabskip = @@ -1242,9 +1263,8 @@ } \endpgfpicture \__witharrows_post_halign: - \IfPackageLoadedTF { mathtools } + \IfPackageLoadedT { mathtools } { \MH_if_boolean:nT { show_only_refs } \MT_showonlyrefs_true: } - { } \bool_if:NTF \l__witharrows_in_label_or_minipage_bool { \c_math_toggle_token @@ -1282,7 +1302,7 @@ \tl_if_empty:NF \l__witharrows_tag_tl { \__witharrows_error:nn { Multiple~tags } { #2 } } \clist_set:Nn \l__witharrows_tags_clist { all } - \IfPackageLoadedTF { mathtools } + \IfPackageLoadedT { mathtools } { \MH_if_boolean:nT { show_only_refs } { @@ -1290,13 +1310,11 @@ { \clist_clear:N \l__witharrows_tags_clist } } } - { } \tl_set:Nn \l__witharrows_tag_tl { #2 } \bool_set:Nn \l__witharrows_tag_star_bool { #1 } \bool_if:nT { #1 } { - \IfPackageLoadedTF { amsmath } - { } + \IfPackageLoadedF { amsmath } { \__witharrows_error:n { tag*~without~amsmath } } } } @@ -1312,7 +1330,7 @@ { \__witharrows_error:n { Multiple~labels } } } \seq_put_right:Nn \l__witharrows_labels_seq { #1 } - \IfPackageLoadedTF { mathtools } + \IfPackageLoadedT { mathtools } { \MH_if_boolean:nT { show_only_refs } { @@ -1321,14 +1339,12 @@ { \clist_clear:N \l__witharrows_tags_clist } } } - { } - \IfPackageLoadedTF { autonum } + \IfPackageLoadedT { autonum } { \cs_if_exist:cTF { autonum@#1Referenced } { \clist_set:Nn \l__witharrows_tags_clist { all } } { \clist_clear:N \l__witharrows_tags_clist } } - { } } } \cs_new_protected:Npn \__witharrows_tagnextline: @@ -1390,12 +1406,9 @@ \__witharrows_treat_an_arrow_in_scan: \int_incr:N \l__witharrows_arrow_int } - \bool_if:nT - { - ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 - && - \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > 0 - } + \bool_lazy_and:nnT + { ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } + { \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > \c_zero_int } { \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int \g__witharrows_arrow_int } } \cs_new_protected:Npn \__witharrows_treat_an_arrow_in_scan: @@ -1412,10 +1425,10 @@ } { \bool_not_p:n { \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } } } - { \str_if_eq_p:Vn \l__witharrows_status_arrow_str { new-group } } + { \str_if_eq_p:on \l__witharrows_status_arrow_str { new-group } } } { - \int_compare:nNnF \l__witharrows_first_arrow_of_group_int = \c_zero_int + \int_if_zero:nF \l__witharrows_first_arrow_of_group_int { \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int @@ -1437,10 +1450,9 @@ { \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } } } { - \str_if_eq:VnF \l__witharrows_status_arrow_str { independent } + \str_if_eq:onF \l__witharrows_status_arrow_str { independent } { - \int_compare:nT - { \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int } + \int_compare:nNnT \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int { \seq_put_left:NV \l__witharrows_first_arrows_seq \l__witharrows_arrow_int } \int_compare:nNnTF \l__witharrows_final_int > \l__witharrows_last_line_of_group_int { @@ -1454,15 +1466,12 @@ } } } - \str_if_eq:VnF \l__witharrows_status_arrow_str { independent } + \str_if_eq:onF \l__witharrows_status_arrow_str { independent } { \int_compare:nNnF \l__witharrows_pos_arrow_int = 8 { \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int } } } -\cs_generate_variant:Nn \keys_set:nn { n o } -\cs_new_protected:Npn \__witharrows_keys_set: - { \keys_set_known:no { WithArrows / Arrow / SecondPass } } \cs_new_protected:Npn \__witharrows_draw_arrows:nn #1 #2 { \group_begin: @@ -1486,7 +1495,7 @@ { status } \l__witharrows_status_arrow_str \int_compare:nNnF \l__witharrows_final_int > \g__witharrows_line_int { - \str_if_eq:VnTF \l__witharrows_status_arrow_str { over } + \str_if_eq:onTF \l__witharrows_status_arrow_str { over } { \seq_put_right:NV \l__witharrows_o_arrows_seq \l__witharrows_arrow_int } \__witharrows_draw_arrow: } @@ -1500,10 +1509,13 @@ \group_begin: \prop_get:cnN { g__witharrows_arrow _\l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } - { options } \l_tmpa_tl + { options } + \l_tmpa_tl \str_clear_new:N \l__witharrows_previous_key_str - \exp_args:NNo \exp_args:No - \__witharrows_keys_set: { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } } + \exp_args:NNNno \exp_args:NNno \exp_args:Nno + \keys_set_known:nn + { WithArrows / Arrow / SecondPass } + { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } } \bool_set_false:N \l__witharrows_initial_r_bool \bool_set_false:N \l__witharrows_final_r_bool \int_case:nn \l__witharrows_pos_arrow_int @@ -1521,19 +1533,19 @@ \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int } - \tl_set:Nx \l__witharrows_initial_tl + \tl_set:Ne \l__witharrows_initial_tl { \int_use:N \l__witharrows_initial_int - \bool_if:NTF \l__witharrows_initial_r_bool rl } - \tl_set:Nx \l__witharrows_final_tl + \tl_set:Ne \l__witharrows_final_tl { \int_use:N \l__witharrows_final_int - \bool_if:NTF \l__witharrows_final_r_bool rl } \prop_get:cnN { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } { label } \l_tmpa_tl - \seq_if_in:NxTF \l__witharrows_first_arrows_seq + \seq_if_in:NeTF \l__witharrows_first_arrows_seq { \int_use:N \l__witharrows_arrow_int } { \bool_set_true:N \l_tmpa_bool } { \bool_set_false:N \l_tmpa_bool } - \seq_if_in:NxTF \l__witharrows_last_arrows_seq + \seq_if_in:NeTF \l__witharrows_last_arrows_seq { \int_use:N \l__witharrows_arrow_int } { \bool_set_true:N \l_tmpb_bool } { \bool_set_false:N \l_tmpb_bool } @@ -1562,7 +1574,7 @@ } { \int_compare_p:nNn { \l__witharrows_final_int - \l__witharrows_initial_int } = 1 } { - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_initial_dim } @@ -1573,7 +1585,7 @@ + 0.5 \l__witharrows_max_length_of_arrow_dim } } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_final_dim } @@ -1586,7 +1598,7 @@ } } { - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_initial_dim } @@ -1595,7 +1607,7 @@ { \dim_eval:n { \g__witharrows_y_initial_dim + \l__witharrows_start_adjust_dim } } { \dim_use:N \g__witharrows_y_initial_dim } } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_final_dim } @@ -1627,9 +1639,10 @@ \__witharrows_draw_arrow:nno \g_tmpa_tl \g_tmpb_tl \l_tmpa_tl \group_end: } -\cs_new_protected:Npn \__witharrows_def_function_tmpa:n #1 +\cs_generate_variant:Nn \__witharrows_def_function_arrow:n { o } +\cs_new_protected:Npn \__witharrows_def_function_arrow:n #1 { - \cs_set:Npn \__witharrows_tmpa:nnn ##1 ##2 ##3 + \cs_set:Npn \__witharrows_arrow:nnn ##1 ##2 ##3 { \begin{tikzpicture} [ __witharrows_standard_arrow ] @@ -1639,10 +1652,13 @@ { \dim_zero:N \l_tmpa_dim } { \dim_set:Nn \l_tmpa_dim { \pgf@picmaxx - \pgf@picminx } } \dim_add:Nn \l_tmpa_dim \l__witharrows_xoffset_dim - \prop_gput:cnV - { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } - { width } - \l_tmpa_dim + \int_compare:nNnT \l__witharrows_arrow_int > 0 % added 2024/10/01 + { + \prop_gput:cnV + { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } + { width } + \l_tmpa_dim + } \bool_if:NF \l__witharrows_right_overlap_bool { \bool_if:NT \l__witharrows_in_WithArrows_bool @@ -1659,21 +1675,21 @@ \end{tikzpicture} } } +\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } \cs_new_protected:Npn \__witharrows_draw_arrow:nnn #1 #2 #3 { \bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool { \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_wrap_lines_tl } - \exp_args:NV \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl - \__witharrows_tmpa:nnn { #1 } { #2 } { #3 } + \__witharrows_def_function_arrow:o \l__witharrows_tikz_code_tl + \__witharrows_arrow:nnn { #1 } { #2 } { #3 } } -\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } \tl_const:Nn \c__witharrows_tikz_code_wrap_lines_tl { - \pgfset { inner~sep = 0pt} + \pgfset { inner~sep = 0pt } \draw ( #1 ) to node ( __witharrows_label ) { } ( #2 ) ; \pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west } - \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.3333 ex } - \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ; + \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.33333 em } + \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ; \tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpb_dim \g_tmpa_tl @@ -1685,7 +1701,7 @@ \path ( __witharrows_label.west ) node [ anchor = west ] { - \skip_horizontal:n { 0.3333 ex } + \skip_horizontal:n { 0.33333 em } \begin { minipage } { \l_tmpa_dim } \tikz@text@action \pgfkeysgetvalue { / tikz / node~halign~header } \l_tmpa_tl @@ -1773,12 +1789,12 @@ \prop_get:cnN { g__witharrows_arrow _ \l__witharrows_prefix_str _ ####1 _ prop } { status } \l__witharrows_status_arrow_str - \bool_if:nT + \bool_lazy_any:nF { - ! \int_compare_p:n { ##1 = ####1 } - && \int_compare_p:n { \l__witharrows_initial_int <= \l_tmpa_tl } - && \int_compare_p:n { \l_tmpb_tl <= \l__witharrows_final_int } - && ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent } + { \int_compare_p:n { ##1 = ####1 } } + { \int_compare_p:nNn \l__witharrows_initial_int > \l_tmpa_tl } + { \int_compare_p:nNn \l_tmpb_tl > \l__witharrows_final_int } + { \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } } } { \bool_gset_true:N \g_tmpa_bool @@ -1806,22 +1822,22 @@ { tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .value_required:n = true , - rr .value_forbidden:n = true , - rr .code:n = \__witharrows_fix_pos_option:n 0 , - ll .value_forbidden:n = true, - ll .code:n = \__witharrows_fix_pos_option:n 1 , - rl .value_forbidden:n = true , - rl .code:n = \__witharrows_fix_pos_option:n 2 , - lr .value_forbidden:n = true , - lr .code:n = \__witharrows_fix_pos_option:n 3 , - v .value_forbidden:n = true , - v .code:n = \__witharrows_fix_pos_option:n 4 , + tikz .value_required:n = true , + rr .value_forbidden:n = true , + rr .code:n = \__witharrows_fix_pos_option:n 0 , + ll .value_forbidden:n = true, + ll .code:n = \__witharrows_fix_pos_option:n 1 , + rl .value_forbidden:n = true , + rl .code:n = \__witharrows_fix_pos_option:n 2 , + lr .value_forbidden:n = true , + lr .code:n = \__witharrows_fix_pos_option:n 3 , + v .value_forbidden:n = true , + v .code:n = \__witharrows_fix_pos_option:n 4 , tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , tikz-code .value_required:n = true , - xoffset .dim_set:N = \l__witharrows_xoffset_dim , - xoffset .value_required:n = true , - unknown .code:n = + xoffset .dim_set:N = \l__witharrows_xoffset_dim , + xoffset .value_required:n = true , + unknown .code:n = \__witharrows_sort_seq:N \l__witharrows_options_Arrow_code_after_seq \__witharrows_error:n { Unknown~option~Arrow~in~code-after } } @@ -1830,7 +1846,7 @@ { ll, lr, rl, rr, tikz, tikz-code, v, x, offset } \NewDocumentCommand \__witharrows_Arrow_code_after { O { } m m m ! O { } } { - \int_set:Nn \l__witharrows_pos_arrow_int 1 + \int_set_eq:NN \l__witharrows_pos_arrow_int \c_one_int \str_clear_new:N \l__witharrows_previous_key_str \group_begin: \keys_set:nn { WithArrows / Arrow / code-after } @@ -1851,10 +1867,10 @@ { \__witharrows_error:nn { Both~lines~are~equal } { #2 } } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #2 - l } - { \__witharrows_error:nx { Wrong~line~in~Arrow } { #2 } } + { \__witharrows_error:ne { Wrong~line~in~Arrow } { #2 } } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #3 - l } - { \__witharrows_error:nx { Wrong~line~in~Arrow } { #3 } } + { \__witharrows_error:ne { Wrong~line~in~Arrow } { #3 } } { \int_compare:nNnTF \l__witharrows_pos_arrow_int = 4 { @@ -1868,9 +1884,9 @@ { north } \dim_set:Nn \l_tmpa_dim { \dim_max:nn \l_tmpa_dim \pgf@x } - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \dim_use:N \l_tmpa_dim , \dim_use:N \l_tmpb_dim } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \dim_use:N \l_tmpa_dim , \dim_use:N \pgf@y } \endpgfpicture } @@ -1883,7 +1899,7 @@ #2 - \bool_if:NTF \l__witharrows_initial_r_bool r l } { south } - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \dim_use:N \pgf@x , \dim_use:N \pgf@y } \pgfpointanchor { @@ -1891,7 +1907,7 @@ #3 - \bool_if:NTF \l__witharrows_final_r_bool r l } { north } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \dim_use:N \pgf@x , \dim_use:N \pgf@y } \endpgfpicture } @@ -1903,34 +1919,34 @@ } \cs_new_protected:Npn \__witharrows_MultiArrow:nn #1 #2 { - \exp_args:Nnx + \exp_args:Nne \regex_match:nnTF { \A \d+ (\,\d+)* ( \, \.\.\. (\,\d+)+ )* \Z } { #1 } { \__witharrows_MultiArrow_i:nn { #1 } { #2 } } - { \__witharrows_error:nx { Invalid~specification~for~MultiArrow } { #1 } } + { \__witharrows_error:ne { Invalid~specification~for~MultiArrow } { #1 } } } \cs_new_protected:Npn \__witharrows_MultiArrow_i:nn #1 #2 { \foreach \x in { #1 } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - \x - l } - { \__witharrows_error:nx { Wrong~line~specification~in~MultiArrow } \x } - { \clist_gput_right:Nx \g_tmpa_clist \x } + { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x } + { \clist_gput_right:Ne \g_tmpa_clist \x } } \int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 } { \__witharrows_error:n { Too~small~specification~for~MultiArrow } } { \clist_sort:Nn \g_tmpa_clist { - \int_compare:nTF { ##1 > ##2 } + \int_compare:nNnTF { ##1 } > { ##2 } \sort_return_swapped: \sort_return_same: } \clist_pop:NN \g_tmpa_clist \l_tmpa_tl \clist_reverse:N \g_tmpa_clist \clist_pop:NN \g_tmpa_clist \l_tmpb_tl - \exp_args:NV \__witharrows_MultiArrow_i:n \g_tmpa_clist + \exp_args:No \__witharrows_MultiArrow_i:n \g_tmpa_clist \begin { tikzpicture } [ __witharrows_standard , @@ -1943,7 +1959,7 @@ -- ([xshift = \l__witharrows_xoffset_dim]\l_tmpb_tl-r.south) ; \pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west } \dim_set:Nn \l_tmpa_dim { 20 cm } - \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ; + \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ; \tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpa_dim \g_tmpa_tl } \bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool { @@ -2305,8 +2321,8 @@ Normally,~we~can't~use~the~command~\token_to_str:N\label\ twice~in~a~line~of~the~environment~\{\l__witharrows_type_env_str\}. \\ However,~you~can~go~on.~ - \IfPackageLoadedTF { showlabels } - { However,~only~the~last~label~will~be~shown~by~showlabels.~ } { } + \IfPackageLoadedT { showlabels } + { However,~only~the~last~label~will~be~shown~by~showlabels.~ } If~you~don't~want~to~see~this~message~again,~you~can~use~the~option~ 'allow-multiple-labels'~at~the~global~or~environment~level. } @@ -2369,27 +2385,18 @@ \keyval_parse:NNn \__witharrows_valid_key:n \__witharrows_valid_key:nn { #2 } \seq_if_empty:NTF \l_tmpa_seq { - \seq_put_right:Nx \l__witharrows_options_WithArrows_seq + \seq_put_right:Ne \l__witharrows_options_WithArrows_seq { \tl_to_str:n { #1 } } - \seq_put_right:Nx \l__witharrows_options_DispWithArrows_seq + \seq_put_right:Ne \l__witharrows_options_DispWithArrows_seq { \tl_to_str:n { #1 } } - \seq_put_right:Nx \l__witharrows_options_WithArrowsOptions_seq + \seq_put_right:Ne \l__witharrows_options_WithArrowsOptions_seq { \tl_to_str:N { #1 } } - \cs_if_exist:NTF \keys_precompile:nnN - { - \keys_precompile:nnN - { WithArrows / WithArrowsOptions } - { #2 } - \l_tmpa_tl - \__witharrows_key_define:nV { #1 } \l_tmpa_tl - } - { - \keys_define:nn { WithArrows / Global } - { - #1 .code:n = - { \keys_set:nn { WithArrows / WithArrowsOptions } { #2 } } - } - } + \keys_precompile:nnc + { WithArrows / WithArrowsOptions } + { #2 } + { __witharrows _ style _ #1 _ tl } + \keys_define:nn { WithArrows / Global } + { #1 .code:n = \use:c { __witharrows _ style _ #1 _ tl } } } { \__witharrows_error:nn { Impossible~style } { #1 } } } @@ -2411,12 +2418,9 @@ \keys_if_exist:nnF { WithArrows / Global } { #1 } { \seq_put_right:Nn \l_tmpa_seq { #1 } } } -\cs_new_protected:Npn \__witharrows_key_define:nn #1 #2 - { \keys_define:nn { WithArrows / Global } { #1 .code:n = #2 } } -\cs_generate_variant:Nn \__witharrows_key_define:nn { n V } \__witharrows_msg_new:nn { Key~already~defined } { - Key~already~define.\\ + Key~already~defined.\\ The~key~'#1'~is~already~defined. \\ If~you~go~on,~your~instruction~\token_to_str:N\WithArrowsNewStyle\ will~be~ignored. @@ -2547,9 +2551,9 @@ \str_if_empty:NT \l__witharrows_previous_key_str { \str_set:Nn \l__witharrows_previous_key_str { up } - \cs_if_exist:cTF { tikz@library@calc@loaded } + \cs_if_exist:NTF \tikz@library@calc@loaded { - \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl + \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl \int_set:Nn \l__witharrows_pos_arrow_int 1 \bool_set_false:N \l__witharrows_wrap_lines_bool \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_up_tl @@ -2560,9 +2564,9 @@ \str_if_empty:NT \l__witharrows_previous_key_str { \str_set:Nn \l__witharrows_previous_key_str { down } - \cs_if_exist:cTF { tikz@library@calc@loaded } + \cs_if_exist:NTF \tikz@library@calc@loaded { - \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl + \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl \int_set:Nn \l__witharrows_pos_arrow_int 1 \bool_set_false:N \l__witharrows_wrap_lines_bool \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_down_tl diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.tex b/Master/texmf-dist/tex/generic/witharrows/witharrows.tex index 1a35d068c55..014b6d96dea 100644 --- a/Master/texmf-dist/tex/generic/witharrows/witharrows.tex +++ b/Master/texmf-dist/tex/generic/witharrows/witharrows.tex @@ -6,7 +6,7 @@ %% %% witharrows.dtx (with options: `plain-TeX') %% -%% Copyright (C) 2017-2023 by F. Pantigny +%% Copyright (C) 2017-2024 by F. Pantigny %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -18,8 +18,9 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -\def\myfileversion{2.8b} -\def\myfiledate{2023/08/24} +\def\myfileversion{2.9a} +\def\myfiledate{2024/10/19} + \input tikz.tex \input expl3-generic.tex \usetikzlibrary{arrows.meta} @@ -39,15 +40,19 @@ \cs_new_protected:Npn \__witharrows_warning:n { \msg_warning:nn { witharrows } } \cs_new_protected:Npn \__witharrows_fatal:n { \msg_fatal:nn { witharrows } } \cs_new_protected:Npn \__witharrows_error:nn { \msg_error:nnn { witharrows } } -\cs_generate_variant:Nn \__witharrows_error:nn { n x } +\cs_generate_variant:Nn \__witharrows_error:nn { n e } \cs_new_protected:Npn \__witharrows_error_or_warning:n { \bool_if:NTF \c__witharrows_messages_for_Overleaf_bool \__witharrows_warning:n \__witharrows_error:n } \bool_set:Nn \c__witharrows_messages_for_Overleaf_bool { - \str_if_eq_p:Vn \c_sys_jobname_str { _region_ } % for Emacs - || \str_if_eq_p:Vn \c_sys_jobname_str { output } % for Overleaf + \str_if_eq_p:on \c_sys_jobname_str { _region_ } % for Emacs + || \str_if_eq_p:on \c_sys_jobname_str { output } % for Overleaf } -\cs_generate_variant:Nn \seq_set_split:Nnn { N x x } +\bool_new:N \g__witharrows_beamer_bool +\cs_generate_variant:Nn \seq_set_split:Nnn { N e e } +\cs_generate_variant:Nn \keys_precompile:nnN { n n c } +\prg_generate_conditional_variant:Nnn \tl_if_novalue:n { o } { F } +\exp_args_generate:n { N N N n o } \cs_new_protected:Npn \__witharrows_sort_seq:N #1 { \seq_sort:Nn #1 @@ -61,15 +66,15 @@ \cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2 { \seq_set_from_clist:Nn #1 { #2 } - \seq_set_map_x:NNn #1 #1 { \tl_to_str:n { ##1 } } + \seq_set_map_e:NNn #1 #1 { \tl_to_str:n { ##1 } } } \cs_new_protected:Npn \__witharrows_save:N #1 { - \seq_set_split:Nxx \l_tmpa_seq + \seq_set_split:Nee \l_tmpa_seq { \char_generate:nn { `_ } { 12 } } { \cs_to_str:N #1 } \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl - \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } + \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } \use:c { \l_tmpa_str _if_exist:cF } { g _\seq_use:Nnnn \l_tmpa_seq _ _ _ } { @@ -81,11 +86,11 @@ } \cs_new_protected:Npn \__witharrows_restore:N #1 { - \seq_set_split:Nxx \l_tmpa_seq + \seq_set_split:Nee \l_tmpa_seq { \char_generate:nn { `_ } { 12 } } { \cs_to_str:N #1 } \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl - \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } + \str_set:Ne \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { -1 } } \use:c { \l_tmpa_str _set_eq:Nc } #1 { g_\seq_use:Nnnn \l_tmpa_seq _ _ _ } } @@ -164,7 +169,7 @@ \str_new:N \l__witharrows_command_name_str \str_set:Nn \l__witharrows_command_name_str { Arrow } \str_new:N \l__witharrows_string_Arrow_for_msg_str -\str_set:Nx \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow } +\str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \token_to_str:N \Arrow } \seq_new:N \g__witharrows_names_seq \bool_new:N \l__witharrows_in_first_columns_bool \bool_new:N \l__witharrows_new_group_bool @@ -210,7 +215,7 @@ more-columns .value_forbidden:n = true , command-name .code:n = \str_set:Nn \l__witharrows_command_name_str { #1 } - \str_set:Nx \l__witharrows_string_Arrow_for_msg_str + \str_set:Ne \l__witharrows_string_Arrow_for_msg_str { \c_backslash_str Arrow~alias~\c_backslash_str #1 } , command-name .value_required:n = true , tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , @@ -230,7 +235,7 @@ \int_set:Nn \l__witharrows_pos_arrow_int 7 } { \__witharrows_error:n { Incompatible~options } } , - group .value_forbidden:n = true , + group .value_forbidden:n = true , groups .code:n = \str_if_empty:NTF \l__witharrows_previous_key_str { @@ -243,7 +248,6 @@ { \__witharrows_error:n { Incompatible~options } } , groups .value_forbidden:n = true , tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .initial:n = \c_empty_tl , tikz .value_required:n = true , rr .code:n = \__witharrows_fix_pos_option:n 3 , rr .value_forbidden:n = true , @@ -303,8 +307,8 @@ wrap-lines .default:n = true , replace-left-brace-by .code:n = { - \tl_set:Nx \l_tmpa_tl { \tl_head:n { #1 } } - \clist_if_in:NVTF + \tl_set:Ne \l_tmpa_tl { \tl_head:n { #1 } } + \clist_if_in:NoTF \c__witharrows_ext_delimiters_clist \l_tmpa_tl { \tl_set:Nn \l__witharrows_replace_left_brace_by_tl { #1 } } @@ -316,9 +320,9 @@ { name .code:n = \str_set:Nn \l_tmpa_str { #1 } - \seq_if_in:NVTF \g__witharrows_names_seq \l_tmpa_str + \seq_if_in:NoTF \g__witharrows_names_seq \l_tmpa_str { \__witharrows_error:n { Duplicate~name } } - { \seq_gput_left:NV \g__witharrows_names_seq \l_tmpa_str } + { \seq_gput_left:No \g__witharrows_names_seq \l_tmpa_str } \str_set_eq:NN \l__witharrows_name_str \l_tmpa_str , name .value_required:n = true , code-before .code:n = \tl_put_right:Nn \l__witharrows_code_before_tl { #1 } , @@ -419,7 +423,7 @@ } \cs_new_protected:Npn \__witharrows_set_independent: { - \str_if_eq:VnF \l_keys_value_tl { NoValue } + \str_if_eq:onF \l_keys_value_tl { NoValue } { \__witharrows_error:n { Value~for~a~key } } \__witharrows_set_independent_bis: } @@ -435,7 +439,7 @@ \keys_define:nn { WithArrows / Arrow / FirstPass } { jump .code:n = - \int_compare:nTF { #1 > 0 } + \int_compare:nNnTF { #1 } > \c_zero_int { \int_set:Nn \l__witharrows_jump_int { #1 } } { \__witharrows_error:n { Negative~jump } } , jump .value_required:n = true, @@ -478,7 +482,7 @@ xoffset .code:n = , unknown .code:n = \__witharrows_sort_seq:N \l__witharrows_options_Arrow_seq - \seq_if_in:NVTF \l__witharrows_options_WithArrows_seq \l_keys_key_str + \seq_if_in:NoTF \l__witharrows_options_WithArrows_seq \l_keys_key_str { \str_set:Nn \l_tmpa_str { ~However,~this~key~can~be~used~in~the~options~of~{WithArrows}. } @@ -505,7 +509,6 @@ tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , tikz-code .initial:n = \draw~(#1)~to~node{#3}~(#2)~; , tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .initial:n = \c_empty_tl , rr .code:n = \__witharrows_fix_pos_arrow:n 3 , ll .code:n = \__witharrows_fix_pos_arrow:n 1 , rl .code:n = \__witharrows_fix_pos_arrow:n 2 , @@ -513,13 +516,11 @@ i .code:n = \__witharrows_fix_pos_arrow:n 5 , o .code:n = \str_set:Nn \l__witharrows_previous_key_str { o } , xoffset .code:n = - \bool_if:nTF + \bool_lazy_all:nTF { - \int_compare_p:nNn \g__witharrows_arrow_int > 1 - && - \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 - && - ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent } + { \int_compare_p:nNn \g__witharrows_arrow_int > 1 } + { \int_compare_p:nNn \l__witharrows_pos_arrow_int > 5 } + { ! \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } } } { \__witharrows_error:n { Option~xoffset~forbidden } } { \dim_set:Nn \l__witharrows_xoffset_dim { #1 } } , @@ -555,10 +556,10 @@ \prop_put:NnV \l_tmpa_prop { initial } \g__witharrows_line_int \int_set:Nn \l_tmpa_int { \g__witharrows_line_int + \l__witharrows_jump_int } \prop_put:NnV \l_tmpa_prop { final } \l_tmpa_int - \prop_put:NnV \l_tmpa_prop { status } \l__witharrows_status_arrow_str + \prop_put:Nno \l_tmpa_prop { status } \l__witharrows_status_arrow_str \prop_put:Nnn \l_tmpa_prop { options } { #1 , #3 } \prop_put:Nnn \l_tmpa_prop { label } { #2 } - \prop_put:Nnx \l_tmpa_prop { input-line } \msg_line_number: + \prop_put:Nne \l_tmpa_prop { input-line } \msg_line_number: \prop_put:Nnn \l_tmpa_prop { width } { 0 pt } \prop_gclear_new:c { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \g__witharrows_arrow_int _ prop } @@ -589,7 +590,7 @@ \seq_set_eq:NN \l_tmpa_seq \g__witharrows_position_in_the_tree_seq \seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl \str_clear_new:N \l__witharrows_prefix_str - \str_set:Nx \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - } + \str_set:Ne \l__witharrows_prefix_str { \seq_use:Nnnn \l_tmpa_seq - - - } \cs_set_eq:NN \\ \__witharrows_cr: \dim_zero:N \mathsurround \int_zero_new:N \l__witharrows_initial_int @@ -634,27 +635,27 @@ { \cs_set_eq:cN { \l__witharrows_command_name_str } \__witharrows_Arrow } - \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill - \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill + \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { r } \hfill + \str_if_eq:onT \l__witharrows_type_col_str { R } \hfill \int_gincr:N \g__witharrows_col_int \int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int } \c_math_toggle_token - \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } } - \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { C } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { L } { { } } \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle ## - \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } } - \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { C } { { } } + \str_if_eq:onT \l__witharrows_type_col_str { R } { { } } \c_math_toggle_token \int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int \__witharrows_construct_nodes: { - \str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil - \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { l } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { L } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { c } \hfil + \str_if_eq:onT \l__witharrows_type_col_str { C } \hfil \bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip } & } @@ -770,7 +771,7 @@ { \cs_set:Npn \WithArrowsRightX { \g__witharrows_right_x_dim } \normalbaselines - \int_compare:nNnT \g__witharrows_arrow_int > 0 + \int_if_zero:nF \g__witharrows_arrow_int { \int_compare:nNnT \g__witharrows_arrow_int = 1 { @@ -789,7 +790,7 @@ \group_end: \seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl \seq_gpop_right:NN \g__witharrows_position_in_the_tree_seq \l_tmpa_tl - \seq_gput_right:Nx \g__witharrows_position_in_the_tree_seq + \seq_gput_right:Ne \g__witharrows_position_in_the_tree_seq { \int_eval:n { \l_tmpa_tl + 1 } } \int_compare:nNnT { \seq_count:N \g__witharrows_position_in_the_tree_seq } = 1 { \int_gincr:N \g__witharrows_last_env_int } @@ -856,7 +857,8 @@ \bool_set_true:N \l__witharrows_in_DispWithArrows_bool \str_clear_new:N \l__witharrows_type_env_str \str_set:Nn \l__witharrows_type_env_str { DispWithArrows } - \exp_args:No \tl_if_novalue:nF { #1 } { \tl_set:Nn \l__witharrows_left_brace_tl { #1 } } + \tl_if_novalue:oF { #1 } + { \cs_set_nopar:Npn \l__witharrows_left_brace_tl { #1 } } \__witharrows_pre_halign:n { #2 } \tl_if_eq:NNF \l__witharrows_left_brace_tl \c_novalue_tl { @@ -1036,12 +1038,9 @@ \__witharrows_treat_an_arrow_in_scan: \int_incr:N \l__witharrows_arrow_int } - \bool_if:nT - { - ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 - && - \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > 0 - } + \bool_lazy_and:nnT + { ! \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } + { \int_compare_p:nNn \l__witharrows_first_arrow_of_group_int > \c_zero_int } { \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int \g__witharrows_arrow_int } } \cs_new_protected:Npn \__witharrows_treat_an_arrow_in_scan: @@ -1058,10 +1057,10 @@ } { \bool_not_p:n { \int_compare_p:nNn \l__witharrows_pos_arrow_int = 7 } } } - { \str_if_eq_p:Vn \l__witharrows_status_arrow_str { new-group } } + { \str_if_eq_p:on \l__witharrows_status_arrow_str { new-group } } } { - \int_compare:nNnF \l__witharrows_first_arrow_of_group_int = \c_zero_int + \int_if_zero:nF \l__witharrows_first_arrow_of_group_int { \__witharrows_draw_arrows:nn \l__witharrows_first_arrow_of_group_int @@ -1083,10 +1082,9 @@ { \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } } } { - \str_if_eq:VnF \l__witharrows_status_arrow_str { independent } + \str_if_eq:onF \l__witharrows_status_arrow_str { independent } { - \int_compare:nT - { \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int } + \int_compare:nNnT \l__witharrows_initial_int = \l__witharrows_first_line_of_group_int { \seq_put_left:NV \l__witharrows_first_arrows_seq \l__witharrows_arrow_int } \int_compare:nNnTF \l__witharrows_final_int > \l__witharrows_last_line_of_group_int { @@ -1100,15 +1098,12 @@ } } } - \str_if_eq:VnF \l__witharrows_status_arrow_str { independent } + \str_if_eq:onF \l__witharrows_status_arrow_str { independent } { \int_compare:nNnF \l__witharrows_pos_arrow_int = 8 { \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int } } } -\cs_generate_variant:Nn \keys_set:nn { n o } -\cs_new_protected:Npn \__witharrows_keys_set: - { \keys_set_known:no { WithArrows / Arrow / SecondPass } } \cs_new_protected:Npn \__witharrows_draw_arrows:nn #1 #2 { \group_begin: @@ -1132,7 +1127,7 @@ { status } \l__witharrows_status_arrow_str \int_compare:nNnF \l__witharrows_final_int > \g__witharrows_line_int { - \str_if_eq:VnTF \l__witharrows_status_arrow_str { over } + \str_if_eq:onTF \l__witharrows_status_arrow_str { over } { \seq_put_right:NV \l__witharrows_o_arrows_seq \l__witharrows_arrow_int } \__witharrows_draw_arrow: } @@ -1146,10 +1141,13 @@ \group_begin: \prop_get:cnN { g__witharrows_arrow _\l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } - { options } \l_tmpa_tl + { options } + \l_tmpa_tl \str_clear_new:N \l__witharrows_previous_key_str - \exp_args:NNo \exp_args:No - \__witharrows_keys_set: { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } } + \exp_args:NNNno \exp_args:NNno \exp_args:Nno + \keys_set_known:nn + { WithArrows / Arrow / SecondPass } + { \l_tmpa_tl , tikz = { xshift = \l__witharrows_xoffset_dim } } \bool_set_false:N \l__witharrows_initial_r_bool \bool_set_false:N \l__witharrows_final_r_bool \int_case:nn \l__witharrows_pos_arrow_int @@ -1167,19 +1165,19 @@ \dim_set:Nn \l__witharrows_x_dim { - \c_max_dim } \__witharrows_update_x:nn \l__witharrows_initial_int \l__witharrows_final_int } - \tl_set:Nx \l__witharrows_initial_tl + \tl_set:Ne \l__witharrows_initial_tl { \int_use:N \l__witharrows_initial_int - \bool_if:NTF \l__witharrows_initial_r_bool rl } - \tl_set:Nx \l__witharrows_final_tl + \tl_set:Ne \l__witharrows_final_tl { \int_use:N \l__witharrows_final_int - \bool_if:NTF \l__witharrows_final_r_bool rl } \prop_get:cnN { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } { label } \l_tmpa_tl - \seq_if_in:NxTF \l__witharrows_first_arrows_seq + \seq_if_in:NeTF \l__witharrows_first_arrows_seq { \int_use:N \l__witharrows_arrow_int } { \bool_set_true:N \l_tmpa_bool } { \bool_set_false:N \l_tmpa_bool } - \seq_if_in:NxTF \l__witharrows_last_arrows_seq + \seq_if_in:NeTF \l__witharrows_last_arrows_seq { \int_use:N \l__witharrows_arrow_int } { \bool_set_true:N \l_tmpb_bool } { \bool_set_false:N \l_tmpb_bool } @@ -1208,7 +1206,7 @@ } { \int_compare_p:nNn { \l__witharrows_final_int - \l__witharrows_initial_int } = 1 } { - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_initial_dim } @@ -1219,7 +1217,7 @@ + 0.5 \l__witharrows_max_length_of_arrow_dim } } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_final_dim } @@ -1232,7 +1230,7 @@ } } { - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_initial_dim } @@ -1241,7 +1239,7 @@ { \dim_eval:n { \g__witharrows_y_initial_dim + \l__witharrows_start_adjust_dim } } { \dim_use:N \g__witharrows_y_initial_dim } } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \int_compare:nNnTF \l__witharrows_pos_arrow_int < 5 { \dim_use:N \g__witharrows_x_final_dim } @@ -1273,9 +1271,10 @@ \__witharrows_draw_arrow:nno \g_tmpa_tl \g_tmpb_tl \l_tmpa_tl \group_end: } -\cs_new_protected:Npn \__witharrows_def_function_tmpa:n #1 +\cs_generate_variant:Nn \__witharrows_def_function_arrow:n { o } +\cs_new_protected:Npn \__witharrows_def_function_arrow:n #1 { - \cs_set:Npn \__witharrows_tmpa:nnn ##1 ##2 ##3 + \cs_set:Npn \__witharrows_arrow:nnn ##1 ##2 ##3 { \tikzpicture [ __witharrows_standard_arrow ] @@ -1285,10 +1284,13 @@ { \dim_zero:N \l_tmpa_dim } { \dim_set:Nn \l_tmpa_dim { \pgf@picmaxx - \pgf@picminx } } \dim_add:Nn \l_tmpa_dim \l__witharrows_xoffset_dim - \prop_gput:cnV - { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } - { width } - \l_tmpa_dim + \int_compare:nNnT \l__witharrows_arrow_int > 0 % added 2024/10/01 + { + \prop_gput:cnV + { g__witharrows_arrow _ \l__witharrows_prefix_str _ \int_use:N \l__witharrows_arrow_int _ prop } + { width } + \l_tmpa_dim + } \bool_if:NF \l__witharrows_right_overlap_bool { \bool_if:NT \l__witharrows_in_WithArrows_bool @@ -1305,21 +1307,21 @@ \endtikzpicture } } +\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } \cs_new_protected:Npn \__witharrows_draw_arrow:nnn #1 #2 #3 { \bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool { \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_wrap_lines_tl } - \exp_args:NV \__witharrows_def_function_tmpa:n \l__witharrows_tikz_code_tl - \__witharrows_tmpa:nnn { #1 } { #2 } { #3 } + \__witharrows_def_function_arrow:o \l__witharrows_tikz_code_tl + \__witharrows_arrow:nnn { #1 } { #2 } { #3 } } -\cs_generate_variant:Nn \__witharrows_draw_arrow:nnn { n n o } \tl_const:Nn \c__witharrows_tikz_code_wrap_lines_tl { - \pgfset { inner~sep = 0pt} + \pgfset { inner~sep = 0pt } \draw ( #1 ) to node ( __witharrows_label ) { } ( #2 ) ; \pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west } - \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.3333 ex } - \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ; + \dim_set:Nn \l_tmpa_dim { \g__witharrows_right_x_dim - \pgf@x - 0.33333 em } + \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ; \tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpb_dim \g_tmpa_tl @@ -1330,7 +1332,7 @@ { \path ( __witharrows_label.west ) node [ anchor = west , text~width = \dim_use:N \l_tmpa_dim ] - { #3 } ; + { \skip_horizontal:n { 0.33333 em } #3 } ; } } \cs_new_protected:Npn \__witharrows_update_x:nn #1 #2 @@ -1402,12 +1404,12 @@ \prop_get:cnN { g__witharrows_arrow _ \l__witharrows_prefix_str _ ####1 _ prop } { status } \l__witharrows_status_arrow_str - \bool_if:nT + \bool_lazy_any:nF { - ! \int_compare_p:n { ##1 = ####1 } - && \int_compare_p:n { \l__witharrows_initial_int <= \l_tmpa_tl } - && \int_compare_p:n { \l_tmpb_tl <= \l__witharrows_final_int } - && ! \str_if_eq_p:Vn \l__witharrows_status_arrow_str { independent } + { \int_compare_p:n { ##1 = ####1 } } + { \int_compare_p:nNn \l__witharrows_initial_int > \l_tmpa_tl } + { \int_compare_p:nNn \l_tmpb_tl > \l__witharrows_final_int } + { \str_if_eq_p:on \l__witharrows_status_arrow_str { independent } } } { \bool_gset_true:N \g_tmpa_bool @@ -1434,22 +1436,22 @@ { tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } , - tikz .value_required:n = true , - rr .value_forbidden:n = true , - rr .code:n = \__witharrows_fix_pos_option:n 0 , - ll .value_forbidden:n = true, - ll .code:n = \__witharrows_fix_pos_option:n 1 , - rl .value_forbidden:n = true , - rl .code:n = \__witharrows_fix_pos_option:n 2 , - lr .value_forbidden:n = true , - lr .code:n = \__witharrows_fix_pos_option:n 3 , - v .value_forbidden:n = true , - v .code:n = \__witharrows_fix_pos_option:n 4 , + tikz .value_required:n = true , + rr .value_forbidden:n = true , + rr .code:n = \__witharrows_fix_pos_option:n 0 , + ll .value_forbidden:n = true, + ll .code:n = \__witharrows_fix_pos_option:n 1 , + rl .value_forbidden:n = true , + rl .code:n = \__witharrows_fix_pos_option:n 2 , + lr .value_forbidden:n = true , + lr .code:n = \__witharrows_fix_pos_option:n 3 , + v .value_forbidden:n = true , + v .code:n = \__witharrows_fix_pos_option:n 4 , tikz-code .tl_set:N = \l__witharrows_tikz_code_tl , tikz-code .value_required:n = true , - xoffset .dim_set:N = \l__witharrows_xoffset_dim , - xoffset .value_required:n = true , - unknown .code:n = + xoffset .dim_set:N = \l__witharrows_xoffset_dim , + xoffset .value_required:n = true , + unknown .code:n = \__witharrows_sort_seq:N \l__witharrows_options_Arrow_code_after_seq \__witharrows_error:n { Unknown~option~Arrow~in~code-after } } @@ -1470,7 +1472,7 @@ } \cs_new_protected:Npn \__witharrows_Arrow_code_after_ii [ #1 ] #2 #3 #4 [ #5 ] { - \int_set:Nn \l__witharrows_pos_arrow_int 1 + \int_set_eq:NN \l__witharrows_pos_arrow_int \c_one_int \str_clear_new:N \l__witharrows_previous_key_str \group_begin: \keys_set:nn { WithArrows / Arrow / code-after } @@ -1491,10 +1493,10 @@ { \__witharrows_error:nn { Both~lines~are~equal } { #2 } } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #2 - l } - { \__witharrows_error:nx { Wrong~line~in~Arrow } { #2 } } + { \__witharrows_error:ne { Wrong~line~in~Arrow } { #2 } } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - #3 - l } - { \__witharrows_error:nx { Wrong~line~in~Arrow } { #3 } } + { \__witharrows_error:ne { Wrong~line~in~Arrow } { #3 } } { \int_compare:nNnTF \l__witharrows_pos_arrow_int = 4 { @@ -1508,9 +1510,9 @@ { north } \dim_set:Nn \l_tmpa_dim { \dim_max:nn \l_tmpa_dim \pgf@x } - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \dim_use:N \l_tmpa_dim , \dim_use:N \l_tmpb_dim } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \dim_use:N \l_tmpa_dim , \dim_use:N \pgf@y } \endpgfpicture } @@ -1523,7 +1525,7 @@ #2 - \bool_if:NTF \l__witharrows_initial_r_bool r l } { south } - \tl_gset:Nx \g_tmpa_tl + \tl_gset:Ne \g_tmpa_tl { \dim_use:N \pgf@x , \dim_use:N \pgf@y } \pgfpointanchor { @@ -1531,7 +1533,7 @@ #3 - \bool_if:NTF \l__witharrows_final_r_bool r l } { north } - \tl_gset:Nx \g_tmpb_tl + \tl_gset:Ne \g_tmpb_tl { \dim_use:N \pgf@x , \dim_use:N \pgf@y } \endpgfpicture } @@ -1543,34 +1545,34 @@ } \cs_new_protected:Npn \__witharrows_MultiArrow:nn #1 #2 { - \exp_args:Nnx + \exp_args:Nne \regex_match:nnTF { \A \d+ (\,\d+)* ( \, \.\.\. (\,\d+)+ )* \Z } { #1 } { \__witharrows_MultiArrow_i:nn { #1 } { #2 } } - { \__witharrows_error:nx { Invalid~specification~for~MultiArrow } { #1 } } + { \__witharrows_error:ne { Invalid~specification~for~MultiArrow } { #1 } } } \cs_new_protected:Npn \__witharrows_MultiArrow_i:nn #1 #2 { \foreach \x in { #1 } { \cs_if_free:cTF { pgf@sh@ns@wa - \l__witharrows_prefix_str - \x - l } - { \__witharrows_error:nx { Wrong~line~specification~in~MultiArrow } \x } - { \clist_gput_right:Nx \g_tmpa_clist \x } + { \__witharrows_error:ne { Wrong~line~specification~in~MultiArrow } \x } + { \clist_gput_right:Ne \g_tmpa_clist \x } } \int_compare:nTF { \clist_count:N \g_tmpa_clist < 2 } { \__witharrows_error:n { Too~small~specification~for~MultiArrow } } { \clist_sort:Nn \g_tmpa_clist { - \int_compare:nTF { ##1 > ##2 } + \int_compare:nNnTF { ##1 } > { ##2 } \sort_return_swapped: \sort_return_same: } \clist_pop:NN \g_tmpa_clist \l_tmpa_tl \clist_reverse:N \g_tmpa_clist \clist_pop:NN \g_tmpa_clist \l_tmpb_tl - \exp_args:NV \__witharrows_MultiArrow_i:n \g_tmpa_clist + \exp_args:No \__witharrows_MultiArrow_i:n \g_tmpa_clist \tikzpicture [ __witharrows_standard , @@ -1583,7 +1585,7 @@ -- ([xshift = \l__witharrows_xoffset_dim]\l_tmpb_tl-r.south) ; \pgfpointanchor { wa - \l__witharrows_prefix_str - __witharrows_label } { west } \dim_set:Nn \l_tmpa_dim { 20 cm } - \path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ; + \path \pgfextra { \tl_gset:Ne \g_tmpa_tl \tikz@text@width } ; \tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpa_dim \g_tmpa_tl } \bool_lazy_and:nnT \l__witharrows_wrap_lines_bool \l__witharrows_in_DispWithArrows_bool { @@ -1958,27 +1960,18 @@ \keyval_parse:NNn \__witharrows_valid_key:n \__witharrows_valid_key:nn { #2 } \seq_if_empty:NTF \l_tmpa_seq { - \seq_put_right:Nx \l__witharrows_options_WithArrows_seq + \seq_put_right:Ne \l__witharrows_options_WithArrows_seq { \tl_to_str:n { #1 } } - \seq_put_right:Nx \l__witharrows_options_DispWithArrows_seq + \seq_put_right:Ne \l__witharrows_options_DispWithArrows_seq { \tl_to_str:n { #1 } } - \seq_put_right:Nx \l__witharrows_options_WithArrowsOptions_seq + \seq_put_right:Ne \l__witharrows_options_WithArrowsOptions_seq { \tl_to_str:N { #1 } } - \cs_if_exist:NTF \keys_precompile:nnN - { - \keys_precompile:nnN - { WithArrows / WithArrowsOptions } - { #2 } - \l_tmpa_tl - \__witharrows_key_define:nV { #1 } \l_tmpa_tl - } - { - \keys_define:nn { WithArrows / Global } - { - #1 .code:n = - { \keys_set:nn { WithArrows / WithArrowsOptions } { #2 } } - } - } + \keys_precompile:nnc + { WithArrows / WithArrowsOptions } + { #2 } + { __witharrows _ style _ #1 _ tl } + \keys_define:nn { WithArrows / Global } + { #1 .code:n = \use:c { __witharrows _ style _ #1 _ tl } } } { \__witharrows_error:nn { Impossible~style } { #1 } } } @@ -2000,12 +1993,9 @@ \keys_if_exist:nnF { WithArrows / Global } { #1 } { \seq_put_right:Nn \l_tmpa_seq { #1 } } } -\cs_new_protected:Npn \__witharrows_key_define:nn #1 #2 - { \keys_define:nn { WithArrows / Global } { #1 .code:n = #2 } } -\cs_generate_variant:Nn \__witharrows_key_define:nn { n V } \__witharrows_msg_new:nn { Key~already~defined } { - Key~already~define.\\ + Key~already~defined.\\ The~key~'#1'~is~already~defined. \\ If~you~go~on,~your~instruction~\token_to_str:N\WithArrowsNewStyle\ will~be~ignored. @@ -2116,9 +2106,9 @@ \str_if_empty:NT \l__witharrows_previous_key_str { \str_set:Nn \l__witharrows_previous_key_str { up } - \cs_if_exist:cTF { tikz@library@calc@loaded } + \cs_if_exist:NTF \tikz@library@calc@loaded { - \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl + \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl \int_set:Nn \l__witharrows_pos_arrow_int 1 \bool_set_false:N \l__witharrows_wrap_lines_bool \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_up_tl @@ -2129,9 +2119,9 @@ \str_if_empty:NT \l__witharrows_previous_key_str { \str_set:Nn \l__witharrows_previous_key_str { down } - \cs_if_exist:cTF { tikz@library@calc@loaded } + \cs_if_exist:NTF \tikz@library@calc@loaded { - \keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl + \keys_set:no { WithArrows / up-and-down } \l_keys_value_tl \int_set:Nn \l__witharrows_pos_arrow_int 1 \bool_set_false:N \l__witharrows_wrap_lines_bool \tl_set_eq:NN \l__witharrows_tikz_code_tl \c__witharrows_tikz_code_down_tl diff --git a/Master/texmf-dist/tex/generic/xcomment/xcomment.sty b/Master/texmf-dist/tex/generic/xcomment/xcomment.sty deleted file mode 100644 index 4bb03a5f67d..00000000000 --- a/Master/texmf-dist/tex/generic/xcomment/xcomment.sty +++ /dev/null @@ -1,8 +0,0 @@ -%% $Id: xcomment.sty 315 2010-05-14 21:31:03Z herbert $ -\ProvidesPackage{xcomment}[2010/05/13 package wrapper for - xcomment.tex (hv)] -\input{xcomment.tex} -\ProvidesFile{xcomment.tex} - [\filedate\space v\fileversion\space `xcomment' (tvz)] -\endinput - diff --git a/Master/texmf-dist/tex/generic/xcomment/xcomment.tex b/Master/texmf-dist/tex/generic/xcomment/xcomment.tex deleted file mode 100644 index e8888f904aa..00000000000 --- a/Master/texmf-dist/tex/generic/xcomment/xcomment.tex +++ /dev/null @@ -1,171 +0,0 @@ -%% $Id: xcomment.tex 316 2010-05-14 21:32:34Z herbert $ -%% -%% COPYRIGHT 1993/2010, by Timothy Van Zandt, tvz@Princeton.EDU -%% COPYRIGHT 2010, by Herbert Voss, hvoss@tug.org -%% -%% DESCRIPTION: -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -%% -\def\fileversion{1.3} -\def\filedate{10/05/14} -%% -\@ifundefined{xcomment@@@}{}{\endinput} -\typeout{Style-Option: `xcomment' v\fileversion \space <\filedate> (tvz) } -\def\newxcomment{\@ifnextchar [{\@newxcommentwitharg}{\@newxcomment}} -\def\@newxcomment#1{% - \expandafter\def\csname #1\endcsname##1{\@xcomment{#1}{##1}}}% -\def\@newxcommentwitharg[#1]#2{% - \expandafter\def\csname #2\endcsname{\@xcomment{#2}{#1}}} -\newxcomment{xcomment} -\def\envirsep{\par} -\def\rescanfile#1{\def\@rescanfile{#1}} -\rescanfile{\jobname.tmp} -\def\norescanfile{\let\@rescanfile\relax} -\def\@nofloat#1{\hrule height\z@\nobreak\vfill\vbox\bgroup\def\@captype{#1}} -\def\end@nofloat{\egroup\nobreak\vfill\nobreak\hrule height\z@\medbreak} -\def\nofloat#1{\@for\@tempa:=#1\do{\@namedef{#1}{\@nofloat{#1}}% - \@namedef{end#1}{\end@nofloat}}} -\def\xc@makeother#1{% - \ifnum\the\catcode`#1=0\catcode`#112% - \else \ifnum\the\catcode`#1=1\catcode`#112% - \else \ifnum\the\catcode`#1=2\catcode`#112% - \else \ifnum\the\catcode`#1=6\catcode`#112% - \fi\fi\fi\fi\relax} -\newwrite\tokout -\newread\tokin -\def\rescan#1{% - \ifx\@rescanfile\relax\else - \ifx\@rescanfile\@empty #1{}\else - \immediate\openout\tokout=\@rescanfile - \immediate\write\tokout{{\the#1}\relax}% - \immediate\closeout\tokout - \openin\tokin=\@rescanfile - \read\tokin to\@tempd - \closein\tokin - \expandafter#1\@tempd% - \fi\fi} -\def\@xcomment#1#2{% - \ifx\@preamblecmds\@notprerr - \def\xc@csname{#1}% - \edef\xc@envirlist{#2}% - \ifx\xc@envirlist\@empty \@bsphack \else - \begingroup - \def\@envirsep{}% - \@ifundefined{normal@begin}{\let\normal@begin\begin}{}% - \@ifundefined{normal@end}{\let\normal@end\end}{}% - \def\begin##1{\do@begin{##1}\normal@begin{##1}}% - \def\end##1{\normal@end{##1}\do@end}% - \def\do@begin##1{\@ifundefined{##1}{}{\def\do@end{}}}% - \let\do@end\xc@begin - \fi - \let\next\xc@begin - \else - \expandafter\@temptokena\expandafter{\document\@xcomment{@@@}{#2}}% - \edef\document{\the\@temptokena}% - \let\next\relax - \fi - \next} -\def\end@xcomment{\ifx\xc@envirlist\@empty \@esphack \else \endgroup \fi}% -\def\xc@begin{% - \begingroup - \let\do\xc@makeother - \dospecials - \ifx\xcommentchar\@empty\else - \expandafter\catcode\expandafter`\xcommentchar=14 - \fi - \catcode`\^^M\active - \xcomment@} -\def\xcommentchar{\%} -\begingroup -\catcode`\!=12 -\catcode`\[=12 -\catcode`\]=12 -\catcode`\"=12 -\lccode`\!=`\\ -\lccode`\[=`\{ -\lccode`\]=`\} -\lccode`\"=`\% -\catcode`\~=\active -\lccode`\~=`\^^M -\lowercase{ - \gdef\xcomment@#1~{\xcomment@@#1\@nnil!\@nil} - \gdef\xcomment@@#1!{\xcomment@@@} - \gdef\xcomment@@@#1\@nil{% - \def\@tempa{#1}% - \ifx\@tempa\@empty - \let\next\xcomment@ - \else - \def\next{\xcomment@@#1\@nil}% - \@testtrue - \xc@checkbegin#1\relax begin[]\relax\relax - \if@test - \xc@checkend#1\relax end[]\relax\relax - \if@test - \xc@checkinput#1\relax input[]\relax\relax - \if@test - \xc@checkinclude#1\relax include[]\relax\relax - \if@test - \xc@checkendinput#1\relax endinputss\relax\relax - \fi\fi\fi\fi\fi - \next} - \gdef\xc@checkbegin#1begin[#2]#3\relax#4\relax{% - \def\@tempa{#1}% - \ifx\@tempa\@empty - \def\@tempa{#2}% - \@for\@tempb:=\xc@envirlist\do{% - \ifx\@tempa\@tempb\def\next{\xc@end{#2}#3\@nil}\fi}% - \fi} - \gdef\xc@checkend#1end[#2]#3\relax#4\relax{% - \def\@tempa{#1}% - \ifx\@tempa\@empty - \@testfalse - \def\@tempa{#2}\def\@tempb{document}% - \ifx\@tempa\@tempb - \def\next{\endgroup\end@xcomment\end{document}}% - \else - \ifx\@tempa\xc@csname - \def\next{\end@@xcomment{#2}#3\@nil}% - \fi\fi\fi} - \gdef\xc@checkinput#1input[#2]#3\relax#4\relax{% - \def\@tempa{#1}% - \ifx\@tempa\@empty - \def\next{\expandafter\xcomment@\@@input #2 \xcomment@@#3\@nil}% - \@testfalse - \fi} - \gdef\xc@checkendinput#1endinput#2#3\relax#4\relax{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\ifcat\noexpand#2a\relax\else - \let\next\endinput - \fi\fi} - \gdef\xc@checkinclude#1include[#2]#3\relax#4\relax{% - \def\@tempa{#1}% - \ifx\@tempa\@empty - \def\next{% - \global\let\xc@savedinput\@@input - \def\@@input{% - \global\let\@@input\xc@savedinput - \expandafter\xcomment@\@@input}% - \include{#2}% - \global\let\@@input\xc@savedinput - \xcomment@@#3\@nil}% - \@testfalse - \fi} - \gdef\end@@xcomment#1#2\@nnil!\@nil{% - \endgroup - \toks@{#2 }\rescan{\toks@}% - \edef\next{\noexpand\end@xcomment\noexpand\end{#1}\the\toks@}% - \next}% - \gdef\xc@end#1#2\@nnil!\@nil{% - \endgroup - \@envirsep \let\@envirsep\envirsep - \toks@{#2 }\rescan{\toks@}% - \edef\next{\noexpand\normal@begin{#1}\the\toks@}% - \next}% - }% END OF LOWERCASE -\endgroup -\endinput -%% -%% End of file `xcomment.sty'. |