根据操作系统选择字体(Win、Linux)

根据操作系统选择字体(Win、Linux)

如果在 Win(TNR 字体)或 Linux(例如 Liberation)上编译,我如何才能制作出能够自动选择字体的宏?使用 XeTex(TeXLive)。

\documentclass[12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=modern]{russian}
\setotherlanguage{english}
\setmainfont{Liberation Serif} %want to choose Liberation on Linux, TNR in Win
\newfontfamily\cyrillicfonttt[Script=Cyrillic, Scale=0.8]{Ubuntu-Light}

答案1

正如在评论有一个包叫平台这可以解决这个问题。它应该也适用于 LuaLaTeX 和 pdfLaTeX,而不仅仅是 XeTeX。

注意力:记住文档中的警告,除非启用,否则所有宏\ifwindows都不会按预期工作。--shell-escape

对于你的例子,解决方案最好写成:

\usepackage{ifplatform}
\ifwindows
% Load Windows font here
\else
% Load Non-Windows font here
\fi

相关内容