TeX Hour

A weekly video meeting

arXiv access and the TeX Macro Store

We have two topics today — news from arXiv.org and a sneak preview of the TeX Macro Store. The Zoom URL in on the About page.

Making arXiv content accessible

First up is Shamsi Brinn. She will give a brief presentation on arXiv’s goal, and user research collected so far, around making the scientific research papers they host (90% of which come in as LaTeX) accessible to all regardless of disability. arXiv is the world’s first and largest preprint server, making STEM research available to everyone without paywalls. Shamsi is the UX Manager at arXiv and is leading the user research that will guide their accessibility efforts.

The TeX Macro Store

Second up is Jonathan Fine.

The LaTeX submissions to the arXiv depend on author and publisher (the arXiv) having sufficiently identical LaTeX installations. It would of course be most helpful if authors and the arXiv had sufficiently identical LaTeX to accessible output (such as XML/HTML) installation.

The goal is to produce a comprehensive, perhaps not complete, and modern store of LaTeX macros and similar inputs. Here “modern” means “use Git as a Content Addressable Store (CAS)”. Once the basic infrastructure is in place, it will solve many of the XML/HTML problems as well.

Jonathan demonstrate his recent work in this area. The public repository is at https://github.com/jfine2358/tex-macro-store (although no documentation there yet, except a link to this page).

If you’re technical you might enjoy the rest of this page. If not, you can skim this (and leave the TeX Hour early).


First we get the 2022 version of the zref macros from the tex-macro-store.

empty-repos$ git fetch tex-macro-store tag via_texlive/#2022/latex/zref/#1/_
From github.com:jfine2358/tex-macro-store
 * [new tag] via_texlive/#2022/latex/zref/#1/_ -> via_texlive/#2022/latex/zref/#1/_
 * [new tag] via_texlive/#2021/latex/zref/#1/_ -> via_texlive/#2021/latex/zref/#1/_

Export (as a zip archive)

The zref macro files are now in the local Git object store. We can export them:

empty-repos$ git archive --output tl2022-zref.zip via_texlive/#2022/latex/zref/#1/_

Check the export

empty-repos$ unzip -l tl2022-zref.zip
Archive:  tl2022-zref.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     2275  2022-11-09 17:23   zref-abspage.sty
     2454  2022-11-09 17:23   zref.sty
---------                     -------
   108626                     21 files

Setting a git remote

How did Git know which TeX Macro Store to use. Because Git is a modern networked system, it already has a little command for setting and using such preferences. (This is a bit like CTAN and TeXLive mirrors, but more efficient.)

empty-repos$ git remote add tex-macro-store git@github.com:jfine2358/tex-macro-store.git

More efficient

The TeX Macro store occupies abou 210M. When expanded to disk it occupies about 4.0G. This is a compression ratio of about 20 to 1. There can be similar benefits regarding network access.

$ du -s -h -c /home/jfine/tb-one/texlive20*/texmf-dist/tex
164M	/home/jfine/tb-one/texlive2010/texmf-dist/tex
506M	/home/jfine/tb-one/texlive2022/texmf-dist/tex
4.0G	total
[jfine@fedora ~]$ du -s tex-macro-store.git/
214912	tex-macro-store.git/
$ du -s -h tex-macro-store.git/
210M	tex-macro-store.git/

The goal is to make it easier for developers and system builders to obtain TeX macr

All topics are welcome. Come and share your screen to present something if you wish.

Home     About     Accessibility