我有 TeX Live 2011。我设置
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
但我收到警告,说找不到这些字体!如果我尝试\usepackage{libertineotf}
,我会收到相同的警告。我用编译xelatex
。请告诉我哪里出了问题。
答案1
我使用以下代码来帮助 Linux Libertine 和 Latin Modern Mono 以及 Biolinum 支持 xetex 和 pdftex。您需要使用 fontspec,并且您根本不需要使用 xetex 加载 libertine 包,除非您想要一些 libertine 特定的字形命令,因此您可以将其删除。
\usepackage{ifxetex}
\usepackage{ifthen}
\ifxetex
\usepackage{libertine}
\usepackage[log-declarations=false]{xparse} % same as below
\usepackage[quiet]{fontspec} % remove quiet option to check for errors
\setromanfont[Ligatures={Common,TeX}]{Linux Libertine O}
\setmainfont[Ligatures={Common,TeX}]{Linux Libertine O}
\setmonofont[SmallCapsFont={Latin Modern Mono Caps}]{Latin Modern Mono Light}
\setsansfont{Linux Biolinum O}
\usepackage{xunicode}
\else
\usepackage{sansmath}
%\usepackage{lmodern}
\usepackage{libertine}
\usepackage{DejaVuSansMono}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{epstopdf}
\usepackage[final,expansion=true,protrusion=true,spacing=true,kerning=true]{microtype}
\fi
TeX Live 应该已经安装了字体,但我使用 miktex,因此我无法帮助解决特定发行版的问题。记得重新散列你的数据库。
更新:忽略 DejaVuSansMono 并相应地更新 pdftex 代码。