1

I am using TexLive 2016 with LuaTeX on Linux, but I believe that my question is generally applicable to LaTeX on any platform. I cannot switch to XeTeX. Before coming here, I found Is there a way to detect from inside a package that MiKTeX is used? but it did not reassure me.

Using fontspec and unicode-math I have \setmathfont{Asana Math}. This works. No problem there. My question:

My TeX system was installed with only the packages I needed at the time. So I use tlmgr to get others. It turns out that the correct package is neither asana nor asana-math nor Asana-math. It is only Asana-Math, with capital A and M. Take it or leave it.

According to CTAN, in MiKTeX the package name is asana-math. Lowercase a and m. Does this mean that if I transport my documents to a MiKTeX system, they will be unable to find what I need? Or, is MiKTeX case-insensitive when it comes to detecting package names and automatically getting them?

If there is a case-sensitivity problem between the distributions, then is there a reliable way to know which one is in use, from within the TeX document? So, a shell command won't work. Looking at the full banner might not work, since that seems to change from time to time.

Ideally a solution would look something like this pseudo-code:

\IfPackageExists{Asana-Math} % not necessarily installed
  \usepackage{Asana-Math} % if not installed, get it or error message
\else
\IfPackageExists{asana-math} % not necessarily installed
  \usepackage{asana-math} % if not installed, get it or error message
\else
  % some suitable error message
\fi\fi
  • your question is a bit hard to understand, typically you don't use \usepackage{asana-math} at all with any case you just use unicode-math and refer to the font by name. – David Carlisle Nov 19 '16 at 21:47
  • @DavidCarlisle I will try it that way. It did not occur to me to "just refer to the font by name" since it was not already installed in my system. I would not have known a thing, except that CTAN describes packages for MiKTeX and TeXlive by two different names. – user103221 Nov 19 '16 at 21:49
  • why does that matter any more than the fact that "miktex" and "texlive" are different names? It has no bearing on any commands used in the document. – David Carlisle Nov 19 '16 at 21:50
  • not sure what you meant by did not occur to you, as you put the required command \setmathfont{Asana Math} in your question??? – David Carlisle Nov 19 '16 at 21:53
  • @DavidCarlisle Right. But it might have bearing on the error message if the font cannot be found. I may be over-thinking this. As for why it did not occur to me, I first got the package before using the command, anticipating that it would throw an error. Also, your following comment actually answers my question in the negative (that is, cannot look in uninstalled parts of TeXlive). Post it as an answer, and I'll check it off. – user103221 Nov 19 '16 at 21:54
2

The "package names" used by miktex and TeXLive (and the linux distributions which often re-package texlive in different ways) affect choices during installation and update options but not affect the markup used in TeX at all. In TeXlive if a font or package is missing, tex will have no information that the font or package could be installed in an uninstalled part of texlive, you will just get a file not found error. (miktex does have a possibility to download things on demand, but even there it doesn't affect document markup).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy