![是否有一个宏可以告诉我们正在使用哪个操作系统?](https://linux22.com/image/259153/%E6%98%AF%E5%90%A6%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AE%8F%E5%8F%AF%E4%BB%A5%E5%91%8A%E8%AF%89%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
我有一些 LaTeX 文档,需要在不同的 TeX Live 下编译,比如 MacTeX 或 TeX Live。但在不同的操作系统下,字体似乎也不同,例如,在 Windows 中,我更喜欢使用Cambria
,但在 Mac 中,我更喜欢Lucida Grande
。
是否有一个宏可以区分操作系统?
答案更新
作为公认的答案,我们需要对这个问题添加更多评论,正如我所读到的包装手册,我们需要更多的设置来使用这些宏:
% packages we need
\usepackage{pdftexcmds}
\usepackage{catchfile}
\usepackage{ifluatex}
\usepackage{ifplatform}
然后我们像这样使用这些宏
\ifwindows
% add settings
\fi
\iflinux
% add settings
\fi
\ifmacosx
% add settings
\fi % This needs to be \fi, not \if
现在,它运行良好,重点是你不仅需要更多的包ifplatform
。
还有一件事,-shell-escape
需要使用选项编译你的 tex 文件:
xelatex -shell-escape file.tex
答案1
该ifplatform
软件包提供了\ifwindows
、\iflinux
和条件。我认为这就足够了\ifmacosx
;\ifcygwin
该软件包要求启用 shell 转义。