I'm creating a couple of packages that I'd like to make as easy as possible to install and manage with standard TeX package managers. (I'm trying to create an 'as plug and play as possible' package for non-technical students.)

I see that—at least with TeX Live Utility on OSX—there is a repository URL I can choose. Can I customize this to a remote repository? Will TeX Live keep it updated from that repository, in addition to the standard packages of its normal CTAN mirror?

  • As an aside, I've considered uploading it to CTAN as a single package collection, but I'm sure there are instances where one would like to keep even the format private. Sep 6, 2013 at 0:30
  • 2
    Check how TLContrib does it tlcontrib.metatex.org. Sep 6, 2013 at 8:46
  • 1
    CTAN does not like TDS submissions; they always want a non-TDS .zip file with a flat directory structure. One can submit a TDS in addition, but that causes lots of extra pain for all involved people (except for the end-user, of course). Sep 6, 2013 at 11:15
  • 1
    see the detailed instructions on ctan.org/upload Sep 6, 2013 at 11:16
  • 1
    @ChristianFeuersänger a .tds.zip file isn't all that bad for us; we have a checker script, and if the file fails that test, we just reject it. Sep 7, 2013 at 11:17

2 Answers 2


Both TeX Live and MiKTeX take their package content from CTAN. As a (La)TeX package author, the part of the process you influence is sending stuff to CTAN: basically what it does and what it is called. The TeX Live team and Christian Schenk (MiKTeX) then deal with the task of adding stuff to the distributions. Once that happens, the resulting bundled material is distributed around the servers, and if all the mirroring is working well it normally takes less than a couple of days between an update making it in to the distributions and being available via all of the mirrors.

In terms of installation on a machine, both TeX Live and MiKTeX offer both 'local repository' and 'remote repository' modes, and indeed the possibility to select a single remote system or simply 'take the default'. Both allow you to set a 'standard' source: the standard setting for both is I think 'random remote system'.


There are several options to achieve your aim, choosing the best depends mostly on the license and distribution terms

Free license (LPPL etc): Upload to CTAN

This is the best option, as your packages will automatically (after a short delay) appear in TeX Live and MikTeX. In this case you don't have to prepare a lot but simply upload.

Semi-free (unfit for TL but distributable): Upload to tlcontrib

If the package is not suitable for TeX Live (due to license reasons or some others), it might happen that even if you have uploaded it to CTAN, it will not appear in TeX Live. In this case, if the package at least can be distributed, you can upload it to tlcontrib and it will be available. But you have to prepare TDS layout of your package.

Commercial, private, internal: Create your own TeX Live repository

There are already several additional TeX Live repositories (tlcritical, tlptexlive, tlcontrib, ...). You can create your own repository and make it available only to those you want to. This requires a bit of work which I hope I have more or less completely documented in http://www.tug.org/svn/texlive/trunk/Master/tlpkg/doc/repository-setup.txt?view=markup . The main programs to get this running are tl-update-tlpdb and tl-update-tlnet.

You must log in to answer this question.

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