TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

Answer Update

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

Then we use these macros like that

% add settings
% add settings
% add settings

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
share|improve this question

migrated from stackoverflow.com Nov 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
up vote 16 down vote accepted

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.

share|improve this answer
I like how Cygwin is strange enough it counts as a separate OS. – Canageek Nov 28 '12 at 15:55
@Canageek Cymwin 'looks like' *nix, but Windows is 'around'. From memory, there were various requests to be able to differentiate Cygwin from Linux (and of course from Mac OS X, OpenBSD, ...). – Joseph Wright Nov 28 '12 at 15:59
Cygwin is not a question, just do jobs in Windows. – coanor Nov 29 '12 at 8:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.