After I upload a package, I will receive an email with the following prompt:

Thanks for the upload. I've installed the new version and updated the catalog repository.

The changes should become available on the mirrors within the next 24 hours.

I learned something about it in How soon do all CTAN mirrors update for TeX Live Utility to detect the changes?. I tried the root server that was synchronized 1 minute ago mentioned in the article. In the http://dante.ctan.org/tex-archive/systems/texlive/tlnet/archive, my package is still not the latest uploaded version. At this time, nearly 17 hours have passed since I received the successfully uploaded email.


  • When I received the successfully uploaded email, where did the CTANers store my package? Can I access it directly?

  • Or I have to wait for the mirrors to synchronize? Why the https://dante.ctan.org/tex-archive/ mirror displayed in http://dante.ctan.org/mirmon/ updated a minute ago, but in it, my package is still not the latest version.

  • I'm slightly confused. Are you asking when your package will appear installed on CTAN (i.e. http://dante.ctan.org/tex-archive/macros/<appropriate-path>) or when it will appear in TeX Live distributed through CTAN (http://dante.ctan.org/tex-archive/systems/texlive/tlnet/archive/<compressed-file>)? The 'installation' email from the CTAN team means that the first action should have happened, but Karl et al. are needed for step two.
    – Joseph Wright
    Jan 17 at 7:14
  • @JosephWright For example, I uploaded xxx.dtx to ctan. Then, after I receive the ctan email, can I get xxx.dtx directly somewhere without waiting for mirror synchronization? By the way, the file in http://dante.ctan.org/tex-archive/macros/latex/contrib/siunitx/ is uploaded by author with the help of CTANer. The siunitx.sty in http://dante.ctan.org/tex-archive/systems/texlive/tlnet/archive/siunitx.tar.xz is generated by who? CTANer or TeX Live manager.
    – Clara
    Jan 17 at 7:28
  • The tlnet archives are created by the TeX Live team, so they only appear after a package is installed on CTAN, propagates round the mirrors and is created by the TL people. For a new package, I think Karl has to manually set up the TL part of the process, so that can take a little while.
    – Joseph Wright
    Jan 17 at 7:38
  • E.g. for siunitx, when I upload what gets installed is the content of http://dante.ctan.org/tex-archive/macros/latex/contrib/siunitx, then after a day or so http://dante.ctan.org/tex-archive/systems/texlive/tlnet/archive/siunitx.tar.xz is updated: as this is a long-standing package, that's done by a script at the TeX live end.
    – Joseph Wright
    Jan 17 at 7:39
  • @JosephWright Thank you very much for your answer. I basically understand. Before, I mistakenly thought that it was all operated by ctan team, but it turned out that tlnet was operated by TeX Live team.
    – Clara
    Jan 17 at 7:47

1 Answer 1


To understand likely time lines, we first need to bear in mind that CTAN hosts both 'direct' uploads as well as material re-packaged in distributions. As a package author, you are only responsible for the 'direct' upload: re-packaging for distribution is down to the people who maintain those systems.

Taking the common case of a macro package, when you upload it to CTAN it will be installed inside https://ctan.org/tex-archive/macros/<path>. This is done by the CTAN team first doing that on the core server (so visible at http://dante.ctan.org/tex-archive/macros/<path>), then the mirror network copying that around the world. The CTAN team also update the catalogue, which is what generates https://ctan.org/pkg/<name>.

To be included in TeX Live or MiKTeX, the uploaded code has to be re-packaged by either the TeX Live team (TeX Live) or Christian Schenk (MiKTeX). For a new package on CTAN, this needs manual intervention. So it only happens once the upload has been mirrored to the server(s) that are monitored by the appropriate people. Once the setup is done, a distribution archive is then uploaded to CTAN, where it appears in https://ctan.org/tex-archive/systems. The upload again goes to the central server and is mirrored.

For a typical macro package, there is a delay of at least couple of days in getting set up for first re-packaging by TeX Live, in my experience. MiKTeX can take a bit longer as it is literally a one-man operation. Once you are doing update uploads, things are more automated: I usually see siunitx updates in TeX Live the day after I submit them to CTAN, provided I send them in the morning (European time).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .