0

Unlike texlive, MiKTeX does not use Kpathsea. From a user perspective, it seems to me this makes the choice between MiKTeX and texlive (and other Web2C implementations of TeX and friends) far more consequential than a back-end matter (security, network clients vs servers, 32bit vs 64bit, multi-user vs single user, etc.; see a lot of the discussion in What are the advantages of TeX Live over MiKTeX?)

As an example, a user might have latex code that assumes they can always reach out to other paths descending from their home directory via \string~ (as suggested by David Carlisle's answer in Reference file relative to the home directory). But because MiKTeX does not use Kpathsea it will not expand \string~, and so all that code breaks in MiKTeX Handling tilde for the home directory in latex, Windows 10, MiKTeX 2.9

What other use-cases has this community encountered where it matters that MiKTeX has chosen not to use Kpathsea?

Danny Quah
  • 65
  • 8
  • as far as I know it does use kpathsea eg https://miktex.org/packages/miktex-kpathsea-bin-2.9/files – David Carlisle Dec 06 '20 at 09:53
  • Thank you David. Yet, Ulrike Fischer is pretty categorical here https://tex.stackexchange.com/questions/573693/handling-tilde-for-the-home-directory-in-latex-windows-10-miktex-2-9/ I would just like to know which, but certainly MiKTeX is not expanding \string~ for me. – Danny Quah Dec 06 '20 at 10:05
  • @DavidCarlisle - Also the way this is worded https://docs.miktex.org/hacking/group___w2_c.html#details suggests to me MiKTeX attempts to emulate Web2C in using Kpathsea, rather than actually doing so the way texlive does. I am very interested to get to the bottom of this one way or the other. – Danny Quah Dec 06 '20 at 10:23
  • 2
    When the MiKTeX story began, a win32 port of the kpathsea library was not available. So MiKTeX used its own file search library. Some years later, programs like pdftex came up. These programs relied on the kpathsea API. So MiKTeX provided the API (not the implementation) via an emulation layer. – Christian Schenk Dec 06 '20 at 11:14

0 Answers0