Dohyun Kim submitted an update to the
luamplib
bundle.
Version: 2.41.1 2026-05-05
License: gpl2
Summary description: Use LuaTeX’s built-in MetaPost interpreter
Announcement text:
----------------------------------------------------------------------
* address the issue on the displacement of pdf link boxes (#189)
* address the ages-old issue on nested mplibcode environments (#63)
----------------------------------------------------------------------
The package’s Catalogue entry can be viewed at
https://ctan.org/pkg/luamplib
The package’s files themselves can be inspected at
https://mirrors.ctan.org/macros/luatex/generic/luamplib/
------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Petra Rübe-Pugliese
------------------------------------------------------------------------
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs
Jean-François Burnol submitted an update to the
etoc
package.
Version: 1.2e 2026-05-04
License: lppl1.3c
Summary description: Completely customisable TOCs
Announcement text:
----------------------------------------------------------------------
Hotfix for jfbu/etoc#28 (compatibility of lof option with
hyperref v7.01q). Thanks to @pkl97 for report.
----------------------------------------------------------------------
The package’s Catalogue entry can be viewed at
https://ctan.org/pkg/etoc
The package’s files themselves can be inspected at
https://mirrors.ctan.org/macros/latex/contrib/etoc/
----------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Vincent Goulet
----------------------------------------------------------------------
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs
VÃt Starý Novotný submitted an update to the
expltools
package.
Version: 2026-05-03
License: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
--------------------------------------------------------------------------------
## expltools 2026-05-03
### explcheck v0.20.0
#### New features
This version of explcheck has implemented the following new features:
- Add more support for flow analysis. (#188)
This adds support for the following issues from the document titled
[_Warnings and errors for the expl3 analysis tool_][warnings-and-errors]:
1. E428 (Unexpandable or restricted-expandable boolean expression)
1. W429 (Defined an unexpandable function as unprotected)
2. W502 (Unused private function)
3. W503 (Unused private function variant)
Out of these issues, warning W429 is particularly pervasive, being reported
for 573 package files in TeX Live 2025.
- In `explcheck-latex3.lua`, add `definitions["function"]` and
`definitions.variable` properties with LPEG parsers that accept LaTeX3
standard-library function and variable names, respectively, and capture their
properties, such as expandability and the date when they were added or most
recently updated. (#201, co-authored by @josephwright in latex3/latex3#1885
and latex3/latex3#1886)
For example, `lpeg.match(definitions["function"], "msg_expandable_error:nn")`,
where `definitions = require("explcheck-latex3").definitions`, returns
the Lua table `{ EXP = "full", added = "2015-08-06" }`.
These parsers are generated by `generate-explcheck-latex3.lua` from a new
third-party submodule at `third-party/latex3`, which points to a reasonably
recent version of the LaTeX3 development repository. At commit
latex3/latex3@ff6927ae8, the parsers recognize 4,850 LaTeX3 standard-library
functions and 339 variables.
- Support multiple user config files being specified in the command-line option
`--config-file` and the corresponding Lua option `config_file`. (discussed
with @muzimuzhi in #203, added in #201)
- Add Lua option `defined_csnames` that specifies which control sequences
should always be assumed to be defined. (discussed with @muzimuzhi and
@alceu-frigeri in #206, added in #201)
This option provides a more fine-grained alternative to the earlier
`imported_prefixes`. For example, suppose the control sequences
`\module_foo:` and `\module_bar:` are imported and should always be
considered defined. A coarse-grained way to express this is:
``` toml
[defaults]
imported_prefixes = ["module"]
```
However, this also suppresses warnings and errors for all control sequence
names matching `\module_*`, as well as message names matching `module/*`,
which may be undesirable. Using `defined_csnames`, the same intent can be
expressed more precisely:
``` toml
[defaults]
defined_csnames = ["module_foo:", "module_bar:"]
```
This way, only warnings and errors related to the listed control sequence
names are suppressed.
- Add Lua option `latex3_definitions_max_added_date`, which limits how recent
LaTeX3 standard-library function and variable definitions are considered
during analysis. (#201)
This affects issues E428 and E508 (Unexpandable or restricted-expandable
boolean expression) and W429 and W512 (Defined an unexpandable function as
unprotected), as well as any issues that are only reported for user-defined
functions and variables, not for LaTeX3 standard-library ones.
For example, your config file `.explcheckrc` might look as follows if you
want to only consider deprecations, prefixes, and definitions from
TeX Live 2025 and earlier:
``` toml
[defaults]
l3obsolete_max_deprecated_date = "2025-09-29"
l3prefixes_max_first_registered_date = "2025-12-02"
latex3_definitions_max_added_date = "2025-07-08"
```
These dates can be obtained by running `generate-explcheck-latex3.lua` with
the Git submodule `third-party/latex3` checked out at a commit corresponding
to TeX Live 2025. One reasonable approximation is the Git tag `2026-01-19`,
since `/usr/local/texlive/2025/texmf-dist/tex/latex/l3kernel/expl3-code.tex`
in the Docker image `texlive/texlive:TL2025-historic` contains
`\def\ExplFileDate{2026-01-19}`. The script then produces output such as:
```
LPEG parsers and other information extracted from LaTeX3 data files.
Generated on 2026-04-30 from the following files:
- "l3obsolete.txt" with the latest obsolete entry from 2025-09-29: `\l_keys_choice_tl`
- "l3prefixes.csv" with the latest registered prefix from 2025-12-02: "asmejour"
- 85 "l3*.dtx" files with 4,753 function and 340 variable definitions:
- Latest added function or variable from 2025-07-08: `\tl_retokenize:n`
- Latest updated function or variable from 2025-09-29: `\l_keys_choice_int`
```
#### Warnings and errors
This version of explcheck has made the following changes to the document titled
[_Warnings and errors for the expl3 analysis tool_][warnings-and-errors]:
- Remove planned issues E509 (Expanding an unexpandable function) and E510
(Fully-expanding a restricted-expandable function), since none of these
constitute an error: the functions simply remain unexpanded. (#201)
- Plan for weaker versions of the issues E508 (Unexpandable or
restricted-expandable boolean expression) and W512 (Defined an unexpandable
function as unprotected) in semantic analysis under the identifiers E428 and
W429, respectively, and the same names. (#201)
- Plan for further analysis of integer expressions in Section "Caveats". (#201)
#### Continuous integration
This version of explcheck has made the following changes to our continuous
integration:
- Bump `softprops/action-gh-release` from 2 to 3. (contributed by @dependabot
in #199)
- Check that third-party submodules are up-to-date. (#201)
[warnings-and-errors]: https://github.com/witiko/expltools/releases/download/latest/warnings-and-e…
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/support/expltools
More information is at
https://ctan.org/pkg/expltools
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
Hugo Gomes submitted an update to the
pgf-PeriodicTable
package.
Version: 2.1.6 2026-05-03
License: lppl1.3
Summary description: Create custom periodic tables of elements
Announcement text:
--------------------------------------------------------------------------------
*** v2.1.6 (03/05/2026) ***
Small bug fixes:
- the font selection in eDist is now within a group
- alignment for unavailable values '---' is now correctly centered vertically
- fixed a problem that occurs when changing the Z position (with \pgfPTbuildcell)
- fixed the resizing of boxes for some numeric values
Interaction with other packages (see pgfPT manual for more information):
- babel-spanish
- graphicx (\resizebox) & preview
- extdash
New translations:
- Russian translation provided by Konstantin Nikiforov
- Ukrainian translation provided by Nikita Khveshchuk
- Slovenian translation provided by Domen Vaupotic
New loading option:
- hyperref
New keys:
- legend xshift
- legend yshift
- legend acronyms at right
- radio symbol
- radio font
- radio font color
- Z links (available with the 'hyperref' loading option)
- Z links color (available with the 'hyperref' loading option)
- Z links outline width (available with the 'hyperref' loading option)
Updated keys:
- group numbers, now supports a list of user labels to display group numbers
- ls, now supports a starred version of the available flags - fig*, txt*, fig+txt* and txt+fig* - which omits the structure figure in the extra legend that describes the structures' abbreviations
New libraries:
'fittowidth': fits the Periodic Table to the text's width
- \pgfPTfittowidth[font size]
- \pgfPTendfittowidth
'override': user can override the default acronyms or the element names:
- \pgfPToverrideacros[language flag]{override list}
- \pgfPTrestoreacros[language flag]{override list}
- \pgfPToverridenames[language flag]{override list}
- \pgfPTrestorenames[language flag]{override list}
Fixed some typos in manual.
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/graphics/pgf/contrib/pgf-periodictable
More information is at
https://ctan.org/pkg/pgf-periodictable
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
Chris Hughes submitted an update to the
latexindent
package.
Version: 4.0.1 2026-05-04
License: gpl3
Summary description: Indent a LaTeX document, highlighting the programming structure
Announcement text:
----------------------------------------------------------------------
blank line poly-switch bug fix , full details at
https://github.com/cmhughes/latexindent.pl/releases/tag/V4.0.1
----------------------------------------------------------------------
The package’s Catalogue entry can be viewed at
https://ctan.org/pkg/latexindent
The package’s files themselves can be inspected at
https://mirrors.ctan.org/support/latexindent/
------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Petra Rübe-Pugliese
------------------------------------------------------------------------
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs
Javier Bezos López submitted an update to the
babel
package.
Version: 26.7 2026-05-03
License: lppl1.3
Summary description: Multilingual support for LaTeX, LuaLaTeX, XeLaTeX, and Plain TeX
Announcement text:
--------------------------------------------------------------------------------
Changes in version 26.7 are described in:
https://latex3.github.io/babel/news/whats-new-in-babel-26.7.html
Here is a summary:
A new file 'cyrl2uni.def' maps the Cyrillic LICR to the corresponding Unicode characters with the TU encoding. It can be used without babel.
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/macros/latex/required/babel/base
More information is at
https://ctan.org/pkg/babel
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
Zeping Lee submitted an update to the
gbt7714
package.
Version: 2.2.0 2026-05-03
License: lppl1.3c
Summary description: A BibTeX implementation of China National Standard GB/T 7714
Announcement text:
----------------------------------------------------------------------
## [2.2.0] - 2026-05-03
### Added
- Add the 2025 edition of the National Standard styles: `gbt7714-2025-numeric` and `gbt7714-2025-authoryear`.
- Add a series of options to control the formatting of the `.bbl` bibliography generated by BibTeX.
### Changed
- Changed the suffixes of the `.bst` style names to `-numeric` and `-authoryear` to align with the naming conventions of other Bib(La)TeX styles.
### Deprecated
- The `.bst` style names with the suffixes `-numerical` and `-author-year` have been deprecated.
### Fixed
- Fixed extraneous whitespace following `\citeauthor` in superscript mode ([#120](https://github.com/zepinglee/gbt7714-bibtex-style/issues/120)).
----------------------------------------------------------------------
The package’s Catalogue entry can be viewed at
https://ctan.org/pkg/gbt7714
The package’s files themselves can be inspected at
https://mirrors.ctan.org/biblio/bibtex/contrib/gbt7714/
----------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Vincent Goulet
----------------------------------------------------------------------
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs
Alan J. Cain submitted an update to the
lua-list-hyphen
package.
Version: 0.3.10 2026-05-02
License: lppl1.3c
Summary description: Per-language listing of hyphenated words for LuaLaTeX
Announcement text:
--------------------------------------------------------------------------------
New feature: optionally list user-specified amount of context along with each hyphenation
Efficiency and documentation improvements, minor fixes
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/macros/luatex/latex/lua-list-hyphen
More information is at
https://ctan.org/pkg/lua-list-hyphen
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
Romain NOËL submitted the
tensorstyles
package.
Version: 1.0.1.4 2026-04-28
License: lppl1.3c
Summary description: A package separating the content of tensors from their forms
Announcement text:
--------------------------------------------------------------------------------
# [tensorstyles](https://gitlab.com/RomainNOEL/tensorstyles) announcement
This package let you display your tensors according to their order in a generic way. This let you
choose and change options of display according to the context and the convention you want to adopt.
## Version: 1.0.1.4 Date: 2026-04-28
### News
- Initial version
- Dirac, Einstein, arrows, bold, underline presets.
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/macros/latex/contrib/tensorstyles
More information is at
https://ctan.org/pkg/tensorstyles
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
Maxime Chupin submitted the
mp-gears
package.
Version: 0.1 2026-04-28
License: lppl1.3c
Summary description: Draw systems of intermeshing gears with MetaPost
Announcement text:
--------------------------------------------------------------------------------
This package helps to draw systems of intermeshing gears with METAPOST. This package allows users
to model various gears/rack and gear/rack systems
(and even spirographs). Because with METAPOST, we do not need to declare numeric variable, with mp-gears, we define parameters (in table) associated to un numeric identifier and then we manipulate the gear object with this numeric identifier.
This package is in beta version—do not hesitate to report bugs, as well as requests for improvement
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/graphics/metapost/contrib/macros/mp-gears
More information is at
https://ctan.org/pkg/mp-gears
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .