New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Patch babel for texlive 2021 #1716
Conversation
Confirmed, CI is passing again, and the tests pass on texlive 2021 also on my local machine. So some variant of this PR is all that's needed to pass tests in texlive 2021. |
Hmm, I have 2021, and what I'm seeing is not "instead", but that it loads But, since this change does appear to fix the windows run, it must be because loading So, maybe it's necessary to patch both, afterall; noting that Hmm, ugh. Still, I suspect babel_support has too much stuff in it, and so is potentially confusing. I'd maybe experiment with moving all the special character stuff like |
Ah, let's figure this one out, so that I see that as well. Say I go to
It has no mention at all of \bbl@trace{Input engine specific macros}
\ifcase\bbl@engine
\input txtbabel.def
\or
\input luababel.def
\or
\input xebabel.def
\fi Let me know if I'm missing something... |
Very curious indeed. I definitely get both babel.def and txtbabel.def loaded, and the snippet you quoted is in my babel.def, not in txtbabel. So, apparently we have different 2021 babels! |
Great, multiple variants even in 2021... Sigh. Maybe we really should do as you suggest and move all binding code as early as possible when babel.sty loads, locking everything down, and only then letting it do its texlive dance. |
Unsure if this is a good time for levity, but I am tempted to refer to your setup where babel.def is loading txtbabel.def as the "omicron babel variant" |
I guess that's more edgy that "Babel Classic". FWIW, I just tested your patch against my installation, and it seems to work there too. So, maybe in this case the belt with suspenders approach is called for. I'll go ahead and merge, unless you want to explore more. |
Oh, if the patch in the PR produces the correct behavior on your setup, please feel free to merge - it's certainly the best I could come up with on the installations I had access to. |
* Upgrades for converting arXiv:2105.00613 (brucemiller#1723) * stub bindings, hyperref and latex.pool patches * more idiomatic to leave \directlua undefined * more portable pdftexcmds binding * Table and ref fixes for arxiv:1804.11028 (brucemiller#1725) * table and ref fixes for arxiv:1804.11028 * more disciplined Glue spec syntax in register * enable babel.def treatment also for txtbabel.def (brucemiller#1716) * Drop empty frontmatter; styled frontmatter notes (brucemiller#1717) * frontmatter note class; drop empty frontmatter at construction; fix typo * update to a generic ltx_frontmatter class for all deposits of insertFrontMatter * Revert "update to a generic ltx_frontmatter class for all deposits of insertFrontMatter" This reverts commit 473a657. * Fixpoint dimensions (brucemiller#1724) * Make Number truncate to int; add a Knuth-style rounding; move some methods to Dimension * Float inherits from Number, but (obviously) should NOT be truncated or rounded * Implement Dimension & Glue using fixedpoint numbers, to recover TeX's appropriate inaccuracy; TeX-like rounding and formatting (round trip) * MuDimension and MuGlue are also fixedpoint, but represent scaled mu, not pt; thus also need an spValue method to get the length in scaled points * Rework readers of Dimension, Glue & Mu variants to properly construct and round or truncate as TeX does * Make isSpace boxes default lengths not specified to 0 * Have Font use metrics derived from TeX itself; FontMetric reads/represents a metric from TFM; StandardMetrics is a premade set of the most commonly used metrics created by compilemetrics * Use appropriate font metrics for em,ex,mu * Various tweaks to conform to new approach to Fonts and Dimensions * Updated many test cases to reflect more correct dimensions * Add new test case using font metrics * A couple of cleanups suggested by @dginev * tweak positining & sizing * patch \graphicspath for ZIP inputs (brucemiller#1726) * patch \graphicspath for ZIP inputs * only concat in the relative graphics path case * fully use pathname_absolute * small tracing upgrade to register; closer spacing (brucemiller#1728) * convert paths to urls (brucemiller#1655) * convert paths to urls * preserve ./ in pathname_canonical * Correct right german quote marks (Thanks molke) (brucemiller#1730) * [minor] variety robustness patches (brucemiller#1732) * document ends preamble; helper macros from latex.ltx * deduplicate searchpaths before writing out as PIs * expand macros when used in counter slots * a couple of stub ltx@ macros * allow block content in IEEEbiography, handle name argument * update test use of IEEEbiography * Lexeme fixes from arXMLiv 2020 (brucemiller#1735) * a couple of lexeme fixes from arXMLiv 2020 * simplify %to_add, thanks @brucemiller * add tokenlimit guard; patch a couple of regressions (brucemiller#1736) * \qed needs to be expandable for arXiv (brucemiller#1740) * Unwrap quoted filenames in \input (brucemiller#1739) * unwrap quoted filenames in input * allow nested quote strings in inputs * strange regex typo * New guards: iflimit, absorblimit; subeqn.sty; misc patches (brucemiller#1741) * add \icmladdress * silence perl defined warnings in lexeme serialization * add \@killglue * add subeqn.sty and lock subequations * \vsplit and locked math font switches * add timeout guards: iflimit and absorblimit in latexml.sty * add pushback limit guard * add a ltx_tabbing styling hook; \par around {tabbing} (brucemiller#1743) * new binding for ijcai confs (brucemiller#1745) * Emulate more psfile options via includegraphics (brucemiller#1738) * autocrop ps which usually come from \special * map more of the psfile special options to includegraphics * inline-block styling for ltx_parbox (brucemiller#1737) * Subfigures via flexbox (brucemiller#1700) * one approach to flex subfigure * an XSLT technique for determining the max size of a flex figure row * add landscape and portrait class hooks for CSS authors * flexbox subfigures, with minimal CSS * also handle subtable; less vendor-specific css * add a square class for the third img case; regenerate test * use sizing information to add breaks in subfigures surpassing textwidth * compute flex row size on ltx:figure close * leave it to the bindings to compute flex row sizes * update test * subfigures on tag close; track sizes of subgraphics; css touchup * remove outdated css comment * drop leftover print * baseline subtable support, more CSS changes to come * flex updates: subtables, minipage, listings, floats, more precise vertical sizing * switch aspect ratio threshold to 1.24 * relative widths for minipage * respect author-specified widths for subfigure breaks * leave minipage width refactor for future work * use a dedicated ltx_flex_cell wrapper; minor polish * Fallback to case-insensitive path search (brucemiller#1744) * if graphics path is not found in post-processing; fallback to case-insensitive * case-insensitive fallback for all pathname_findall * also support case-insensitive fallback with subdirs * more robust path builder * use \Q \E on pathname variables in regex * reoptimize so that candidate_pathnames checks -f and is efficient * more cleanup; thanks @brucemiller * another -f leftover * scaffold of support for \vdotswithin (brucemiller#1746) * scaffold of support for \vdotswithin * also update mathtools test * Make \label not disappear on reversion, except for tex strings (brucemiller#1742) * Make \label not disappear on reversion, except for tex strings * Allow background to be set back to transparent on Font->merge * Clean up processing of \hidden@noalign; make cases statements not increment equation counters and such * subnumbered equationgroups don't get a tag; more careful about checking alignment firstcolumn; use hidden@noalign for eqnarray labels * careful about managing row colors * Drop tags from subequation equationgroups * accidentally cleaned up output * careful about missing italic correction * Seemingly need to account for ALIGN_STATE with begin/endgroup (which is still wrong) * boxes with alignmentPreserve not considered empty * \hidden@noalign may smuggle alignmentPreserve boxes * Stub in some latex3 hooks used in texlive 2020 (brucemiller#1747) * stub in some latex3 hooks used in texlive 2020 * stub in \DeclareEncodingSubset; minor pdfcmds cleanup * also stub resettimer * remove leftover comments * use the else branch for IfHook* Co-authored-by: Deyan Ginev <deyan.ginev@gmail.com> Co-authored-by: bruce miller <bruce.miller@nist.gov> Co-authored-by: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com>
* Upgrades for converting arXiv:2105.00613 (brucemiller#1723) * stub bindings, hyperref and latex.pool patches * more idiomatic to leave \directlua undefined * more portable pdftexcmds binding * Table and ref fixes for arxiv:1804.11028 (brucemiller#1725) * table and ref fixes for arxiv:1804.11028 * more disciplined Glue spec syntax in register * enable babel.def treatment also for txtbabel.def (brucemiller#1716) * Drop empty frontmatter; styled frontmatter notes (brucemiller#1717) * frontmatter note class; drop empty frontmatter at construction; fix typo * update to a generic ltx_frontmatter class for all deposits of insertFrontMatter * Revert "update to a generic ltx_frontmatter class for all deposits of insertFrontMatter" This reverts commit 473a657. * Fixpoint dimensions (brucemiller#1724) * Make Number truncate to int; add a Knuth-style rounding; move some methods to Dimension * Float inherits from Number, but (obviously) should NOT be truncated or rounded * Implement Dimension & Glue using fixedpoint numbers, to recover TeX's appropriate inaccuracy; TeX-like rounding and formatting (round trip) * MuDimension and MuGlue are also fixedpoint, but represent scaled mu, not pt; thus also need an spValue method to get the length in scaled points * Rework readers of Dimension, Glue & Mu variants to properly construct and round or truncate as TeX does * Make isSpace boxes default lengths not specified to 0 * Have Font use metrics derived from TeX itself; FontMetric reads/represents a metric from TFM; StandardMetrics is a premade set of the most commonly used metrics created by compilemetrics * Use appropriate font metrics for em,ex,mu * Various tweaks to conform to new approach to Fonts and Dimensions * Updated many test cases to reflect more correct dimensions * Add new test case using font metrics * A couple of cleanups suggested by @dginev * tweak positining & sizing * patch \graphicspath for ZIP inputs (brucemiller#1726) * patch \graphicspath for ZIP inputs * only concat in the relative graphics path case * fully use pathname_absolute * small tracing upgrade to register; closer spacing (brucemiller#1728) * convert paths to urls (brucemiller#1655) * convert paths to urls * preserve ./ in pathname_canonical * Correct right german quote marks (Thanks molke) (brucemiller#1730) * [minor] variety robustness patches (brucemiller#1732) * document ends preamble; helper macros from latex.ltx * deduplicate searchpaths before writing out as PIs * expand macros when used in counter slots * a couple of stub ltx@ macros * allow block content in IEEEbiography, handle name argument * update test use of IEEEbiography * Lexeme fixes from arXMLiv 2020 (brucemiller#1735) * a couple of lexeme fixes from arXMLiv 2020 * simplify %to_add, thanks @brucemiller * add tokenlimit guard; patch a couple of regressions (brucemiller#1736) * \qed needs to be expandable for arXiv (brucemiller#1740) * Unwrap quoted filenames in \input (brucemiller#1739) * unwrap quoted filenames in input * allow nested quote strings in inputs * strange regex typo * New guards: iflimit, absorblimit; subeqn.sty; misc patches (brucemiller#1741) * add \icmladdress * silence perl defined warnings in lexeme serialization * add \@killglue * add subeqn.sty and lock subequations * \vsplit and locked math font switches * add timeout guards: iflimit and absorblimit in latexml.sty * add pushback limit guard * add a ltx_tabbing styling hook; \par around {tabbing} (brucemiller#1743) * new binding for ijcai confs (brucemiller#1745) * Emulate more psfile options via includegraphics (brucemiller#1738) * autocrop ps which usually come from \special * map more of the psfile special options to includegraphics * inline-block styling for ltx_parbox (brucemiller#1737) * Subfigures via flexbox (brucemiller#1700) * one approach to flex subfigure * an XSLT technique for determining the max size of a flex figure row * add landscape and portrait class hooks for CSS authors * flexbox subfigures, with minimal CSS * also handle subtable; less vendor-specific css * add a square class for the third img case; regenerate test * use sizing information to add breaks in subfigures surpassing textwidth * compute flex row size on ltx:figure close * leave it to the bindings to compute flex row sizes * update test * subfigures on tag close; track sizes of subgraphics; css touchup * remove outdated css comment * drop leftover print * baseline subtable support, more CSS changes to come * flex updates: subtables, minipage, listings, floats, more precise vertical sizing * switch aspect ratio threshold to 1.24 * relative widths for minipage * respect author-specified widths for subfigure breaks * leave minipage width refactor for future work * use a dedicated ltx_flex_cell wrapper; minor polish * Fallback to case-insensitive path search (brucemiller#1744) * if graphics path is not found in post-processing; fallback to case-insensitive * case-insensitive fallback for all pathname_findall * also support case-insensitive fallback with subdirs * more robust path builder * use \Q \E on pathname variables in regex * reoptimize so that candidate_pathnames checks -f and is efficient * more cleanup; thanks @brucemiller * another -f leftover * scaffold of support for \vdotswithin (brucemiller#1746) * scaffold of support for \vdotswithin * also update mathtools test * Make \label not disappear on reversion, except for tex strings (brucemiller#1742) * Make \label not disappear on reversion, except for tex strings * Allow background to be set back to transparent on Font->merge * Clean up processing of \hidden@noalign; make cases statements not increment equation counters and such * subnumbered equationgroups don't get a tag; more careful about checking alignment firstcolumn; use hidden@noalign for eqnarray labels * careful about managing row colors * Drop tags from subequation equationgroups * accidentally cleaned up output * careful about missing italic correction * Seemingly need to account for ALIGN_STATE with begin/endgroup (which is still wrong) * boxes with alignmentPreserve not considered empty * \hidden@noalign may smuggle alignmentPreserve boxes * Stub in some latex3 hooks used in texlive 2020 (brucemiller#1747) * stub in some latex3 hooks used in texlive 2020 * stub in \DeclareEncodingSubset; minor pdfcmds cleanup * also stub resettimer * remove leftover comments * use the else branch for IfHook* * deflate the full ZIP output (brucemiller#1748) * add \affilnum in OmniBus (brucemiller#1751) * float marker must lead in replacement string (brucemiller#1750) * New \lxRequireResource[options]{source} to require resources, such as javascript, css, etc (brucemiller#1754) Co-authored-by: Deyan Ginev <deyan.ginev@gmail.com> Co-authored-by: bruce miller <bruce.miller@nist.gov> Co-authored-by: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com>
* Upgrades for converting arXiv:2105.00613 (brucemiller#1723) * stub bindings, hyperref and latex.pool patches * more idiomatic to leave \directlua undefined * more portable pdftexcmds binding * Table and ref fixes for arxiv:1804.11028 (brucemiller#1725) * table and ref fixes for arxiv:1804.11028 * more disciplined Glue spec syntax in register * enable babel.def treatment also for txtbabel.def (brucemiller#1716) * Drop empty frontmatter; styled frontmatter notes (brucemiller#1717) * frontmatter note class; drop empty frontmatter at construction; fix typo * update to a generic ltx_frontmatter class for all deposits of insertFrontMatter * Revert "update to a generic ltx_frontmatter class for all deposits of insertFrontMatter" This reverts commit 473a657. * Fixpoint dimensions (brucemiller#1724) * Make Number truncate to int; add a Knuth-style rounding; move some methods to Dimension * Float inherits from Number, but (obviously) should NOT be truncated or rounded * Implement Dimension & Glue using fixedpoint numbers, to recover TeX's appropriate inaccuracy; TeX-like rounding and formatting (round trip) * MuDimension and MuGlue are also fixedpoint, but represent scaled mu, not pt; thus also need an spValue method to get the length in scaled points * Rework readers of Dimension, Glue & Mu variants to properly construct and round or truncate as TeX does * Make isSpace boxes default lengths not specified to 0 * Have Font use metrics derived from TeX itself; FontMetric reads/represents a metric from TFM; StandardMetrics is a premade set of the most commonly used metrics created by compilemetrics * Use appropriate font metrics for em,ex,mu * Various tweaks to conform to new approach to Fonts and Dimensions * Updated many test cases to reflect more correct dimensions * Add new test case using font metrics * A couple of cleanups suggested by @dginev * tweak positining & sizing * patch \graphicspath for ZIP inputs (brucemiller#1726) * patch \graphicspath for ZIP inputs * only concat in the relative graphics path case * fully use pathname_absolute * small tracing upgrade to register; closer spacing (brucemiller#1728) * convert paths to urls (brucemiller#1655) * convert paths to urls * preserve ./ in pathname_canonical * Correct right german quote marks (Thanks molke) (brucemiller#1730) * [minor] variety robustness patches (brucemiller#1732) * document ends preamble; helper macros from latex.ltx * deduplicate searchpaths before writing out as PIs * expand macros when used in counter slots * a couple of stub ltx@ macros * allow block content in IEEEbiography, handle name argument * update test use of IEEEbiography * Lexeme fixes from arXMLiv 2020 (brucemiller#1735) * a couple of lexeme fixes from arXMLiv 2020 * simplify %to_add, thanks @brucemiller * add tokenlimit guard; patch a couple of regressions (brucemiller#1736) * \qed needs to be expandable for arXiv (brucemiller#1740) * Unwrap quoted filenames in \input (brucemiller#1739) * unwrap quoted filenames in input * allow nested quote strings in inputs * strange regex typo * New guards: iflimit, absorblimit; subeqn.sty; misc patches (brucemiller#1741) * add \icmladdress * silence perl defined warnings in lexeme serialization * add \@killglue * add subeqn.sty and lock subequations * \vsplit and locked math font switches * add timeout guards: iflimit and absorblimit in latexml.sty * add pushback limit guard * add a ltx_tabbing styling hook; \par around {tabbing} (brucemiller#1743) * new binding for ijcai confs (brucemiller#1745) * Emulate more psfile options via includegraphics (brucemiller#1738) * autocrop ps which usually come from \special * map more of the psfile special options to includegraphics * inline-block styling for ltx_parbox (brucemiller#1737) * Subfigures via flexbox (brucemiller#1700) * one approach to flex subfigure * an XSLT technique for determining the max size of a flex figure row * add landscape and portrait class hooks for CSS authors * flexbox subfigures, with minimal CSS * also handle subtable; less vendor-specific css * add a square class for the third img case; regenerate test * use sizing information to add breaks in subfigures surpassing textwidth * compute flex row size on ltx:figure close * leave it to the bindings to compute flex row sizes * update test * subfigures on tag close; track sizes of subgraphics; css touchup * remove outdated css comment * drop leftover print * baseline subtable support, more CSS changes to come * flex updates: subtables, minipage, listings, floats, more precise vertical sizing * switch aspect ratio threshold to 1.24 * relative widths for minipage * respect author-specified widths for subfigure breaks * leave minipage width refactor for future work * use a dedicated ltx_flex_cell wrapper; minor polish * Fallback to case-insensitive path search (brucemiller#1744) * if graphics path is not found in post-processing; fallback to case-insensitive * case-insensitive fallback for all pathname_findall * also support case-insensitive fallback with subdirs * more robust path builder * use \Q \E on pathname variables in regex * reoptimize so that candidate_pathnames checks -f and is efficient * more cleanup; thanks @brucemiller * another -f leftover * scaffold of support for \vdotswithin (brucemiller#1746) * scaffold of support for \vdotswithin * also update mathtools test * Make \label not disappear on reversion, except for tex strings (brucemiller#1742) * Make \label not disappear on reversion, except for tex strings * Allow background to be set back to transparent on Font->merge * Clean up processing of \hidden@noalign; make cases statements not increment equation counters and such * subnumbered equationgroups don't get a tag; more careful about checking alignment firstcolumn; use hidden@noalign for eqnarray labels * careful about managing row colors * Drop tags from subequation equationgroups * accidentally cleaned up output * careful about missing italic correction * Seemingly need to account for ALIGN_STATE with begin/endgroup (which is still wrong) * boxes with alignmentPreserve not considered empty * \hidden@noalign may smuggle alignmentPreserve boxes * Stub in some latex3 hooks used in texlive 2020 (brucemiller#1747) * stub in some latex3 hooks used in texlive 2020 * stub in \DeclareEncodingSubset; minor pdfcmds cleanup * also stub resettimer * remove leftover comments * use the else branch for IfHook* Co-authored-by: Deyan Ginev <deyan.ginev@gmail.com> Co-authored-by: bruce miller <bruce.miller@nist.gov> Co-authored-by: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com>
Fixes #1715 .
Simply put, in texlive 2021, our babel tests end up loading
txtbabel.def
instead ofbabel.def
, and thus never load the binding upgrades located inbabel.def.ltxml
.As one simple patch, I factored those out in a new
babel_support.sty.ltxml
(or should it be.def.ltxml
?) and tests pass again on texlive 2021.Let's see if this PR passes the Miktex CI again...