# Is there a macro telling which OS we're using?

I got some LaTeX documents that I have to compile them under different TeX Live, such as MacTeX or TeX Live. But in different OS, the font seems different too, for example, while in Windows, I prefer to use `Cambria`, but in Mac, I like `Lucida Grande` more.

Is there was a macro to differentiate between OS?

As the accepted answer, We need to add more comments on this question, As I read the package manual, we need more settings to use these macros:

``````% packages we need
\usepackage{pdftexcmds}
\usepackage{catchfile}
\usepackage{ifluatex}
\usepackage{ifplatform}
``````

Then we use these macros like that

``````\ifwindows
\fi
\iflinux
\fi
\ifmacosx
\if
``````

now, it works well, the point is you need more packages not only `ifplatform`.

one more thing, compile your tex file with option `-shell-escape` is required:

``````xelatex -shell-escape file.tex
``````
-

## migrated from stackoverflow.comNov 28 '12 at 15:22

This question came from our site for professional and enthusiast programmers.

Related question, which doesn't provide a way for detecting MacTeX though: Is there a way to detect from inside a package that MikTeX is used? –  doncherry Nov 28 '12 at 15:33

the `ifplatform` package provides `\ifwindows`, `\iflinux`, `\ifmacosx` and `\ifcygwin` conditionals. i would think that would be enough; the package requires shell escape to be enabled.