288

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?

7
  • 20
    Congratulations to your first "Popular Question". It's a nice one, too. :-)
    – lockstep
    Aug 2, 2011 at 14:53
  • 9
    @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? :-) Aug 2, 2011 at 18:33
  • 12
    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, 2011 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, 2016 at 12:45
  • 3
    Could someone update this page for 2018?
    – user541686
    Aug 29, 2018 at 8:57

14 Answers 14

127

(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.)

12
  • 9
    +1 for pointing the security issue. Jun 10, 2011 at 17:20
  • 12
    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). Jun 11, 2011 at 10:52
  • 8
    @IgorKotelnikov: Why do you believe Windows treats `C:\Program File` in a specific way? Aug 2, 2012 at 16:22
  • 6
    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. Dec 8, 2015 at 12:53
  • 9
    @IgorKotelnikov You said the same thing three times. There's no evidence that any of them are right.
    – Jim Balter
    Oct 26, 2018 at 10:52
116

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'!

5
  • 1
    @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, 2011 at 13:50
  • 21
    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. Jun 6, 2011 at 14:48
  • 2
    @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, 2011 at 14:52
  • 3
    @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. Jun 7, 2011 at 15:46
  • seems that again alot have change (including MikTeX expanding to Linux an Mac), would you mind giving an updated overview?
    – Ur Ya'ar
    Feb 7 at 20:24
92

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 [email protected] 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

12
  • 17
    @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, 2011 at 13:46
  • 11
    @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, 2011 at 13:49
  • 4
    @jasper, @tomek. The average package update interval of MiKTeX is about once per week.
    – AlexG
    Jun 6, 2011 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, 2011 at 8:29
  • 5
    @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. Jun 8, 2011 at 21:34
68

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.
15
  • 2
    TEXMFHOME is empty on my miktex but kpsewhich --var-value=TEXMF outputs a list of all my texmf trees. Jun 6, 2011 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, 2011 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, 2011 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, 2011 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, 2011 at 21:22
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.

13
  • 3
    Surely tlcontrib makes the first criticism redundant?
    – Seamus
    Jun 7, 2011 at 17:11
  • 4
    @xport: Also, Miktex has a portable version. Jun 9, 2011 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. Jun 10, 2011 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, 2011 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. Jun 14, 2011 at 10:58
19

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

4
  • 4
    Please get rid of this feature for TeXLive 2014! Please!!!! Jun 10, 2013 at 19:01
  • 3
    They won't: tex.stackexchange.com/a/107162/5049
    – cgnieder
    Jun 10, 2013 at 19:04
  • 4
    One more down vote detected. Thank you the downvoters! Mar 10, 2014 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, 2014 at 23:06
16

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. 2022 Edit: this has been resolved.)

  • 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.

8
  • 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.
    – user4686
    Sep 9, 2017 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, 2017 at 18:10
  • 1
    @mcmuffin6o you are right, it seems MiKTeX does have SyncTeX now: miktex.org/packages/miktex-synctex-bin-2.9 (Remember I wrote this answer in 2017, when that was an actual issue, compare github.com/James-Yu/LaTeX-Workshop/issues/106 - but some of the items of my answer may now be outdated.)
    – bers
    Sep 15, 2022 at 6:05
  • 1
    @bers I understand that. Your answer was the most up-to-date one I could find after lots of googling, so I just wanted to make sure to leave a comment on it for those like me that still seek this knowledge all these years later :) Perhaps I should just ask the question again for the year 2022...
    – mcmuffin6o
    Sep 16, 2022 at 2:40
  • 1
    @mcmuffin6o understood :) thanks for the correction anyway. I won't regularly re-evaluate each and every item of this answer, but when people point out an outdated one, I do of course fix it.
    – bers
    Sep 16, 2022 at 7:10
12

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.

1
  • A couple of points mentioned in this answer are not strictly true. The CTAN package texliveonthefly provides an on-the-fly install mechanism. TexLive allows you to customise what gets installed right at the install time. There are pre-built themes (minimal, basic, medium, full) which is a lot more choice than the base scheme offered by miktex. There is also the option to customise and pick individual collections of packages on top of the scheme choice. floatfit is really old, use wrapfig instead. Dec 26, 2018 at 13:43
5

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.
6
  • 5
    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). Jun 10, 2011 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, 2011 at 16:46
  • 1
    As I said: Check your config.ps. Jun 14, 2011 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. Jun 14, 2011 at 7:48
  • 1
    I add a4paper as a standard option when I use article, report or document classes and fix the margins with geometry.
    – Louis
    Oct 6, 2014 at 23:09
3

I just tested both version on Windows 10. As of now, (December 2018), I can see, as default install, MikTeX is not only more up to date -- see as one example, LuaTeX,

This is LuaTeX, Version 1.09.0 (MiKTeX 2.9.6880 64-bit) 

vs

This is LuaTeX, Version 1.07.0 (TeX Live 2018) 

but also considerably faster.

On a Thinkpad X1, a 900 pages file compiles in about 70% of the time in respect to TeX Live version.

If one needs to compile lenghty works, MiKTeX probably will be more useful.

Also, please see comment below. You may want to do your own testing in April 2019.


Edit 2019-05-04: As advised by @Krishna I tested again both TeX Live 2019 and MikTeX basic-miktex-2.9.7031-x64. I first uninstalled both, but I was unable to install MikTex again, on exactly same system I was able to use beforehand.

I headed to Github to alert MikTeX developers, but I saw it is a common issue, although apparently ignored with boilerplate message and locked down thread.

Based on that, I would advise against using MikTeX for now, as it seems to have become a bit Windows-unfriendly.

TeX Live 2019 installed and worked flawlessly and it seems the way to go.

3
  • 1
    this is not quite true. You can manually update the binaries anytime. I have done so on both windows and linux. You may refer to my question about this here tex.stackexchange.com/questions/448677/… Dec 26, 2018 at 13:34
  • Yes, one can manually update both installs. I meant "as deafult install". Thanks for pointing that out, I have updated the answer.
    – gsl
    Dec 31, 2018 at 17:23
  • 4
    Your answer is a little bit misleading. "MikTeX is not only more up to date, but is also considerably faster" is a false statement since your claim is entirely based on which version of luatex got run. LuaTeX 1.09 ships with lua 5.3 and also has a dedicated new PDF library pplib which replaces the heavy poppler. This is the reason for speed increase and has nothing to do with miktex. When TL2019 ships in April 2019, you can get these same benefits in TL too. In summary, the speed diff is due to the engine and not due to distribution Dec 31, 2018 at 17:37
2

Disadvantage of TeX Live: It seems to me that the user interface of TeX Live installer (for Windows) has not used multithreading or asynchronous programming yet. So the UI gets frozen during the installation progress. Correct me if I am wrong in this.

3
  • Not observed in any of the installations I've done
    – daleif
    Jan 6, 2019 at 20:47
  • 2
    @daleif: Another thing you can try: Move around the "install-tl" dialog window while the installation is in progress, you will see the installation stop until you release the window. Jan 6, 2019 at 20:53
  • 1
    Feel free to contribute a native Windows installer.
    – daleif
    Jan 6, 2019 at 20:54
2

An updating comparison of TeXLive and MikTeX

This is meant to be an updating summary of the differences between the two distributions. Please add up-to-date information and criteria. Feel free to explicitly explain why some criterion gives an advantage to one or the other.

March 2023

Supported operating system

  • TeXLive: Linux, macOS, Windows
  • MikTeX: Linux, macOS, Windows

Open source

  • TeXLive: Yes
  • MikTeX: Yes

Maintainer(s)

  • TeXLive: TUG (TeX Users Group)
  • MikTeX: Christian Schenk

Some consider this an advantage of TeXLive as it makes it more future-proof, and perhaps more responsive to bug reports.

GUI for package installation

  • TeXLive: Yes
  • MikTeX: Yes

On-the-fly package installation

  • TeXLive: No*
  • MikTeX: Yes

(*) The package texliveonfly aims to provide this.

TinyTeX is a TeXLive based distribution with on-the-fly package installation.

Binaries updates

  • TeXLive: Strict yearly releases
  • MikTeX: ?

Package updates

  • TeXLive: Usually 1-2 days after CTAN release
  • MikTeX: Usually a little longer, sometimes even a few weeks

work in progress

Package availability

  • TeXLive:
  • MikTeX:

Installation process

  • TeXLive:
  • MikTeX:

[Criterion]

  • TeXLive:
  • MikTeX:
1

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.

0

TeXLive includes a ConTeXt distribution, although it's rather frozen. MiKTeX doesn't. :)

You must log in to answer this question.

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