The basic MiKTeX installs a small set of packages. The complete one installs all of the ones that MiKTeX knows about. As MiKTeX can install packages 'on the fly', the main advantages of the complete install are
- When using MiKTeX on a PC that is not always connected to the internet
- For multi-user installations where it is best to ensure that a known set of packages are available.
If you are using your own PC and will be attached to the internet most of the time then you can happily use the basic installation and add packages 'as needed'.
A bit more detail on multi-user systems. MiKTeX will install packages for each user separately, which is fine for a couple of people using a small set of packages, but would be bad for a system used by lots of people with very varying requirements. Hence for network-type installations a 'full' install or at least a bigger set of packages than the 'basic' is usually preferable.
When you compile a document foo.tex
with, say, pdflatex
through Texmaker, what happens “internally” is that in foo.tex
’s directory, pdflatex foo.tex
(probably with a few options) is called, as if on the command line. But how does Windows know where pdflatex
is? Odds are your document is not in the same directory as your *TeX binaries. The answer is the PATH. The PATH is a system variable containing a list of directories in which Windows will search for something executable called pdflatex
, starting with the first one, until it found something.
Assuming you have both TeX Live and MiKTeX installed, they would each have a directory in the PATH. You can find out which one is your “default” by typing tex --version
in the command line. Whichever one is your “default” comes first in the PATH. To change the default, you need to switch the order of these two directories in the PATH. Whenever you’re meddling with the PATH, be extremely careful! Here are two ways of doing this:
Manually changing the PATH
Follow Paulo’s great description to your path (probably the admin path) and look for the two TeX entries; mine are C:\texlive\2012\bin\win32
and C:\Program Files\MiKTeX 2.9\miktex\bin\x64
. To reverse the order, it might be helpful to copy the entire PATH into a text editor since the miniscule one-line text field in the Windows dialog is just uncomfortable to deal with. Then, simply switch the order of the two directories by copy-pasting, copy the entire PATH back into the Windows dialog and click “OK”. In my experience, you have to restart your editor (or the command line) in order for the changes to take effect. Calling tex --version
again should confirm your change.
Changing the PATH with Path Editor
If you want to switch distributions more than once, the manual way might be a little tedious. A Super User Question showed me Path Editor (free and not affiliated with me), which gives you a graphic user interface:
Simply change the order of the two entries with “Up” or “Down”, click “Save”, and you’re all set (after the editor restart).
Best Answer
The question is what you are talking about, I would say there are (at least) three different levels:
Concerning the first item, the program code, I would say they agree to more than 90%. Take the pdftex engine as an example: The code is developed independently, and pulled into TeX Live regularly, as well as into MikTeX. The algorithms that implement line breaking, page breaking, etc etc are 100% the same. What has changed are adaptions to make it compile on different archs. That said, I don't believe that there is any noticable speed difference.
Concerning the second item, the support files, they are also 99.99% the same, because both of us pull from CTAN.
The only real difference is in the infrastructure, meaning: integration into the OS, update manager etc etc. Here MikTeX's windows GUI are probably better looking, or better integrated (I don't know, I am TeX Live only), because he is targeting only Windows, while we have a gui that looks the same on all platforms.
I want to add one more point where there are differences, and that is in the handling of updmap files, format files, trees, texmf.cnf files. Here both of us take different approaches and different scripts. But these files are only used to generate other input files, which are then evaluated by the various engines. That means it is only during package installation/removal time where these things matter.
Bottom line as far as I can see: algorithmically wrt the engines, they are absolutely the same. Algorithmically wrt the management they are 100% different ;-)
Hope that helps
Norbert TeX Live Team