I have been using MiKTeX for a couple of years. I don't know whether it is "wise" to insist on using it. Could you give me a list of advantages of TeX Live over MiKTeX?

  • 11
    Congratulations to your first "Popular Question". It's a nice one, too. :-) – lockstep Aug 2 '11 at 14:53
  • 8
    @lockstep: The quality of this question does not fit the standard that a certain group of people expect. On the other hand, some other people like upvoting very basic question like this one. I don't know why? :-) – xport Aug 2 '11 at 18:33
  • 9
    It's a somewhat "basic" question, but I might have asked it, too. And it attracted a lot of answers, so it was interesting. – lockstep Aug 2 '11 at 22:03
  • 6
    Tex Live doesn't allow you to install 64bit binaries on Windows, Miktex does, and these binaries work better when you deal with large files. – skan Mar 22 '16 at 12:45
  • 2
    Could someone update this page for 2018? – Mehrdad Aug 29 at 8:57

10 Answers 10

up vote 90 down vote accepted

(Not meant to be a complete answer, just an addition to others.)

TeX Live provides more secure defaults than MiKTeX and probably pays more attention to security in general. For example, section 3 of this paper describes a simple way to make document (or bibtex database, or package) viruses which would almost make MS-Word look as secure alternative ;-) This attack doesn't work with TeX Live's default settings, regardless of the platform (Windows or other).

Not completely unrelated, TeX Live is designed to support multi-user systems, including being installed on a servers and used on network clients, possibly with mixed architectures and OSes. (Which may be totally irrelevant to the OP, but mentioned only for information.)

  • 6
    +1 for pointing the security issue. – xport Jun 10 '11 at 17:20
  • 9
    My impression is that Christian pays attention to security. E.g. since last year (I think triggered by the paper you mentioned) you can't write to parent directories anymore (which breaks some documents as \include's didn't work). – Ulrike Fischer Jun 11 '11 at 10:52
  • 2
    I disagree with this statement. By default, MiKTeX is installed to the folder C:\Program File wich is securedby Windows with special care. TeX Live is installed into a separate forlder outside C:\Program File. – Igor Kotelnikov Oct 22 '11 at 11:32
  • 7
    @IgorKotelnikov: Why do you believe Windows treats `C:\Program File` in a specific way? – Paul Gaborit Aug 2 '12 at 16:22
  • 3
    I completely disagree that TeX Live provides more secure defaults than MiKTeX. On Windows, MiKTeX installs its files in C:\Program Files folder which is securely guarded by Windows itself whereas TeX Live resides in a separate folder which can be easily infected and compromised. – Igor Kotelnikov Dec 8 '15 at 12:53

I've covered some of this before on my blog, so some of this is a rehash! In recent versions, the differences between MiKTeX and TeX Live have narrowed. Package coverage between the two is similar, as is the ability to do on-line updates. I guess here you want differences:

  • Only MiKTeX can do 'on the fly' package installation, as TeX Live is more focussed on having a system that works well on multi-user systems.

  • TeX Live defaults to installing everything, which means that if you want everything it's (marginally) easier to use TeX Live than MiKTeX. (MiKTeX has different installers, one of which installs everything, whereas for TeX Live you have one installer and make the choices within in.)

For most users, it's largely down to 'personal opinion' or 'what you try first'!

  • @Jasper: Last time I did it, you had to do the basic install first then do a second 'cycle' to install everything. The update wizard also did not pick up new packages as part of an 'update': I had to again select those separately. I've not use MiKTeX 2.9, so that may have altered. – Joseph Wright Jun 6 '11 at 13:50
  • 13
    You can install everything in miktex and then you will get the newest versions. But you can also do a "basic installation". In this case you should run an update afterward. I'm always doing a basic installation, then import additional packages from a previous miktex version on my PC, and then run an update. That has the benefit that I have to download much less and that it limits updates to the packages I'm really using. – Ulrike Fischer Jun 6 '11 at 14:48
  • @Ulrike: As I've tried to indicate, whether you want a full install or not is probably dependent on your circumstances. It makes sense for a network system with varying demands, or indeed for a developer who might be asked about anything! – Joseph Wright Jun 6 '11 at 14:52
  • 2
    @Joseph Wright It's a click of a button, and MiKTeX installs everything. It's faster to get the setup and the packages separately (using a FTP client), instead of getting the basic installer. And not to download packages by the package manager itself. – Karl Karlsson Jun 7 '11 at 15:46

The main advantages which led me to TeXLive are:

  1. That it is maintained by TUG, that is, by more than one person, which makes it more future-safe.
  2. It supports many platforms, not just Windows. (The first paragraph of http://www.ctan.org/starter.html needs an update.) I am interested in Linux-x86 and Windows, so I made a portable installation covering both platforms on an external hard disk.
  3. Its real-time updates of packages: once updated on CTAN and propagated to the mirrors overnight, new package versions are also available in the package manager (tlmgr).
  4. faster compilation (especially in case of graphics files)

EDIT: As for speed (4.), I measured compilation times of the animate package documentation which embeds about 260 Metapost graphics files and a few (3) small bitmaps. I used the Windows Powershell command measure-command {<programm> <prog args>} for the time measurements, and tested TeXLive2010 and MiKTeX-2.8 (the latest version I used before leaving for TeXLive) on a Pentium-4@2.6 Ghz.

TeXLive:

latex animate 45.044 s

dvips animate 10.642 s

MiKTeX:

latex animate 2 min, 53.270 s

dvips animate 48.492 s

  • 13
    @point 3. MiKTeX also has package manager and regularly updates packages. I don't think there is any major difference in this regard. – Tomek Jun 6 '11 at 13:46
  • 6
    @point 4. MiKTeX is mostly based on the same code as TeX Live (sans package management). I would be very surprised to see any major differences in compilation speed on similarly configured systems. – Tomek Jun 6 '11 at 13:49
  • 3
    @jasper, @tomek. The average package update interval of MiKTeX is about once per week. – AlexG Jun 6 '11 at 14:01
  • 2
    @Karl: See my edit regarding (4). (2) I don't care about GUI guidelines. tlmgr update --all from time to time is enough. If I depended on GUI's I'd use Word. (1) I only compared both. – AlexG Jun 8 '11 at 8:29
  • 4
    @Alexander Grahn Well, measuring is where the science begins. But benchmarking is a non trivial task. A) Disk fragmentation, B) Memory caching and C) Most time consuming task. So, A) MiKTeX files may be more (heavily) fragmented, they even may be on the slowest part of the drive. B) If you all day used TeXLive, than it's files are cached in the memory, and then running MiKTeX which files are not cached. C) If the most time consuming task is Metapost, well, who uses Metapost that much? It's just an example out of the real world. – Karl Karlsson Jun 8 '11 at 21:34

The advantages of miktex:

  1. Supports (more or less) only windows which means that it can concentrate on windows problems and windows "look and feel".
  2. On-the-fly installation of missing packages.
  3. Supports more packages and its packages are more complete as it doesn't restrict itself to "free software".
  4. Miktex updates binaries also between releases so its binaries often were newer than the one in TeXLive (nowadays you can update binaries in TeXlive tlcontrib so it also can be the other way round.).
  5. Regarding Josephs claim that TeXLive has more command line tools: I wouldn't bet on it.
  • 1
    TEXMFHOME is empty on my miktex but kpsewhich --var-value=TEXMF outputs a list of all my texmf trees. – Ulrike Fischer Jun 6 '11 at 12:28
  • 2
    Regarding 5. The number of command line tools may be comparable, but a lot of them are Perl scripts and these run in TeX Live "out of the box", because it ships with hidden Perl interpreter, but for MiKTeX you need to install Perl separately. – Tomek Jun 6 '11 at 13:00
  • 2
    @Joseph: I think kpsewhich in MiKTeX 2.9 is now compatible with the one in TeX Live (but this certainly wasn't the case in the past). – Tomek Jun 6 '11 at 13:02
  • 4
    Regarding 3. MikTeX claims to accept only FSF-and-Debian-Free materiel on its licensing page, which is quite precisely the licencing policy of TeX Live (which follows FSF rather than Debian when the two diverge, btw). But apparently this common policy is not enforced as actively or as strictly in MikTeX as in TeX Live. – mpg Jun 6 '11 at 21:14
  • 1
    @Joseph I think kpsewhich is a very special case, since it is related to Kpathsea, a library specific to TeX Live's implementation of TeX & friends, known as web2c. So it's really a nice compatibility effort from MikTeX to provide a kpsewhich command at all. In the opposite direction, TeX Live does not provide a findtexmf command (the MikTeX command-line tool for file searching). – mpg Jun 6 '11 at 21:22

In addition to what Ulrike Fischer has mentioned, the additional advantages of Miktex are:

  1. Miktex has both 32 bit (stable) and 64 bit (experimental). It is a pity that TeX Live for Windows is available only for 32 bit.

  2. Deciding the install location of your own packages and classes is easier on MiKTeX. Installing them is just as easy on TeX Live if you use one of the predefined locations.

  • 3
    Surely tlcontrib makes the first criticism redundant? – Seamus Jun 7 '11 at 17:11
  • 4
    @xport: Also, Miktex has a portable version. – Karl Karlsson Jun 9 '11 at 10:10
  • 3
    @Jasper Loy: Yes, but it's more like a DIY recipe on how to make it yourself. While MiKTeX Portable runs out of the box not requiring anything from the user. And MiKTeX Portable (non full install) is a lot smaller. While TeXLive allows only a full install. – Karl Karlsson Jun 10 '11 at 9:10
  • @xport: I'm not sure where you get (2) from. TeX Live automatically includes a localtexmf tree, %USERPROFILE%\texmf, whereas with MiKTeX I've always had to add an additional root. – Joseph Wright Jun 10 '11 at 13:30
  • 2
    @Joseph Wright: Suppose migration or restoration of the operating system is needed. If localtexmf tree is on the system partition, that requires backup and restore operations. But if, like MiKTeX allows, it's placed on another partition you can do whatever you want with the system partition. Even you can format it, fully erase it - the localtexmf tree remains untouched. – Karl Karlsson Jun 14 '11 at 10:58

The disadvantage of TeXLive over MikTeX: Updating is frozen for several months before the new one is released. Very bad feature!

  • 3
    Please get rid of this feature for TeXLive 2014! Please!!!! – kiss my armpit Jun 10 '13 at 19:01
  • 3
    They won't: tex.stackexchange.com/a/107162/5049 – clemens Jun 10 '13 at 19:04
  • I got one down vote. Thank you! – kiss my armpit Jun 10 '13 at 21:17
  • 2
    One more down vote detected. Thank you the downvoters! – kiss my armpit Mar 10 '14 at 17:00
  • 1
    At this stage MikTeX's luatex is older than the one in TeXLive, so it seem things are changing. – Louis Oct 6 '14 at 23:06

I wonder why TeX Live distribution is so huge? It is 2 times bigger than MiKTeX (2.3 Gb vs. 1.2Gb). And I wouldn't say that that is TeX Live's advantage. First thing I met after installation of TeX Live was that it misses floatflt package. So I was forced to copy floatflt.sty from MiKTeX.

MiKTeX has a base mode of installation which provides reasonable point to start. All other required packages can be automatically installed on-fly. As of TeX Live, I wonder why one needs to install, say, documentation on all supported languages.

As of absence of command line tools in MiKTeX, it is a matter of philosophy. As to me, I don't want to learn names of such tools and prefer to have a single centralized manager. The difference in philosophy is visible in a number of various buttons, say, in DVI viewer. YAP viewer from MiKTeX follows minimalist design whereas DVI viewer from TeX Live collection has a lot of buttons which I never used.

I would also say that MiKTeX Package Manager is more friendly although it is slower at the stage when it loads packages database.

And final point in favor of MikTeX. I did not find on-fly package installer mode in TeX Live which exist in MiKTeX and very useful.

I have recently switched from MiKTeX to TeX Live (for speed reasons*), and I will use this answer to maintain a list of small differences that have not been mentioned so far.

  • MiKTeX does not include Perl; TeX Live includes a Perl interpreter, but that one is restricted in its functionality. One needs to install Perl (and set the TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL environment variable to 1, in TeX Live) for tools such as purifyeps, latexindent, and at least one more I cannot exactly remember (latexdiff?).

  • MiKTeX binaries (latex, pdflatex etc.) support --aux-directory, while TeX Live has no such mechanism at all. MiKTeX supports --include-directory for bibtex, while TeX Live does not (you need to use $BIBINPUTS). Other differences include the fact that TeX Live epstopdf does not support --verbose or --pdf-version=1.4 (--gsopt=-dCompatibilityLevel=1.4 is a workaround for the latter).

  • MiKTeX includes the slashbox package -- TeX Live does not.

  • MiKTeX supports the texify command -- TeX Live does not.

  • MiKTeX does not have a synctex binary -- TeX Live does.

  • MiKTeX does not have safe variants of executables such as repstopdf -- TeX Live does.

  • MiKTeX does not have IEEEtrantools.sty in the IEEEtran package -- TeX Live does.

  • Command line options can have different names, such as --restrict-write18 vs. --restricted-shell-escape.

  • (*)Yes, TeX Live compiles faster. My personal measurements imply compilations times go down by 1/3 to 1/2 compared to MiKTeX. Updating the distribution takes much longer, though, not least to the full installation that TeX Live typically does.

  • I am surprised by your findings about a faster TeX Live. Do you mean its pdftex is faster? this may depend on Windows version. On Linuxes, speed of TeX Live varies greatly according to processors, not only due to their intrinsic capabilities but also depending on which systems and with which compiler settings the binaries were compiled. – jfbu Sep 9 '17 at 17:02
  • @jfbu yes, I mainly looked at total compilation times of pdflatex+bibtex for a couple of different documents, on two systems (Windows 7 or 8, don't remember, and 10); with and without precompiled preamble. Totally not representative, but in line with what I have read in a couple of places and enough for me to make the switch. – bers Sep 9 '17 at 18:10
  • For my machine, Windows is faster with PDFTeX – percusse Nov 3 '17 at 15:18
  • "in Windows MikTeX is faster" – percusse Nov 3 '17 at 15:52

The advantages of using TeX Live are:

  1. We don't need to specify -sPAPERSIZE=a4 option/switch for TeX Live ps2pdf when using A4 paper. But the option/switch is absolutely needed in Miktex unless you want the top margin to get cropped. For other paper sizes, both MikTeX and TeX Live allow you to omit this option/switch.
  • 4
    Well I don't need it. I get a a4 paper without any switches. On the other hand with the default settings I don't get letter paper format. But the "culprit" is not ps2pdf but config.ps of dvips. It works if I change the settings for the letter page size in config.ps. You can find informations about config.ps in testflow_doc.pdf (on CTAN). – Ulrike Fischer Jun 10 '11 at 9:41
  • Btw, I had the exact same problem with older versions of TL. But I think it works by default now, indeed. – mpg Jun 10 '11 at 16:46
  • 1
    As I said: Check your config.ps. – Ulrike Fischer Jun 14 '11 at 7:32
  • I wouldn't replace it but put the new (local) config.ps in a local texmf tree. Apart from this: I pointed you to a document which contains informations about config.ps. The documentation of dvips exists too. config.ps is a textfile so you can open it in your editor and check its content. Use this informations. – Ulrike Fischer Jun 14 '11 at 7:48
  • Default paper size in MiKTeX is govern on MiKTeX Options | General window. – Igor Kotelnikov Oct 22 '11 at 11:38

Note that both MikTeX and TeXLive can be installed as "portable" in Windows. On Linux, TeXLive can be installed in the user's home directory rather than system, which is analogous to portable.

When a program is installed as portable, it probably has different access permissions than does a system installation. This helps avoid some (not all) potential security problems. Particularly in the case of MikTeX,a portable installation is likely to avoid various "access denied" problems that occasionally arise during updates.

If you are a single user on your own computer, I cannot think of any downsides to a portable installation. However, it won't work if you have a multi-user or networked system.

MikTeX keeps track of package authenticity, and doesn't like you manually installing a package within the texmf distribution folder. You must use texmf-local or equivalent. TeXLive allows you to cheat more easily, but I cannot think of any reason to do that.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.