取自template.tex
示例文件http://www.ctan.org/tex-archive/macros/latex/contrib/moderncv/examples并添加以下两行:
\usepackage{fontspec}
\setsansfont{Linux Biolinum O}
然后使用 运行它lualatex
。突然间,这些粗条变得非常细。这是为什么呢?
例子:
\documentclass[11pt,a4paper,sans]{moderncv}
\usepackage{fontspec}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage[scale=0.75]{geometry}
% personal data
\firstname{John}
\familyname{Doe}
\title{Resumé title (optional)}
\address{street and number}{postcode city}
\begin{document}
\maketitle
\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}
\end{document}
答案1
这是一个更简单的示例。问题在于 LuaTeX 和 XeTeX 使用不同的方法来查找字体,因此,LuaTeX 查找的是 中的字体版本,/usr/local/texlive/2011/texmf-dist/fonts/opentype/public/libertine/
而 XeLaTeX 查找的是 中的字体/Library/Fonts
。如果我们使用实际文件名加载字体(LuaTeX 可以做到这一点),则可以根据字体名称看到正确的行为:
鉴于 TeXLive 中的版本是更新与我所拥有的字体相比/Library/Fonts/
,似乎较新的字体是具有不正确行为的字体。
% !TEX TS-program = LuaLaTeX
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\fontspec{LinBiolinum_Re-0.6.4}
Biolinum in \texttt{/Library/Fonts}
\rule{1in}{1ex}
\rule{1in}{4.5pt}
\fontspec{LinBiolinum_R}
Biolinum in \texttt{/usr/local/texlive/2011/texmf-dist/fonts/opentype/public/libertine/}
\rule{1in}{1ex}
\rule{1in}{4.5pt}
\end{document}
答案2
\usepackage{fontspec}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
如果你有一个旧的 TeX 系统(例如 TeX Live 2009),你可能需要将其更改为
\setsansfont[Mapping=tex-text]{Linux Biolinum O}
该Ligatures=TeX
选项使 XeTeX 识别标准连字符--
---
``
''
和一些其他连字符。