我想将 Helvetica 和 Symbol 字体结合起来,这样 Helvetica 就可以处理拉丁字母,而 Symbol 则可以处理希腊字母。Mathspec 和 XeLaTeX 在这方面做得相当不错,但我无法让括号和百分号(以及可能的其他东西)看起来正确。例如,以下代码
\documentclass[10pt]{article}
\usepackage{mathspec}
\setmainfont{Helvetica}
\setmathsfont(Digits,Latin,Greek)[Uppercase=Italic,Lowercase=Italic]{Helvetica}
\begin{document}
\Huge This looks right: $L_e$ (\%)
\Huge This looks wrong: $L_e\,(\%)$
\end{document}
生成以下文件:
(为了简单起见,我省略了该\setmathsfont(Greek){Symbol}
命令,因为没有它也会出现问题。)当我处于数学模式时,如何让 XeLaTeX 使用 Helvetica 作为括号和百分比符号?
答案1
不进行数学运算的负载fontspec
:
\documentclass[10pt]{article}
\usepackage[no-math]{fontspec}
\setmainfont{Helvetica}
\usepackage{mathastext}
%\setmathsfont(Digits,Latin,Greek)[Uppercase=Italic,Lowercase=Italic]{Helvetica}
\begin{document}
\Huge This looks right: $L_e$ (\%)
\Huge This looks wrong: $L_e\,(\%)$
\end{document}
答案2
在 karlkoeller 和 Herbert 的帮助下,我找到了以下解决方案,
\documentclass[10pt]{article}
\usepackage{mathspec}
\setmathsfont(Digits,Latin)[Uppercase=Italic,Lowercase=Italic]{Helvetica}
\setmathsfont(Greek)[Uppercase=Regular,Lowercase=Italic]{Symbol}
\setmainfont{Helvetica}
\usepackage[italic]{mathastext}
\begin{document}
\Huge This looks right: $\delta_e/L_e$ (\%)
\Huge This looks wrong: $\delta_e/L_e\,(\%)$
\end{document}
产生,
我比较确定我mathastext
在 12 月 28 日 karlkoeller 建议时尝试过这个,并且遇到了很多错误。在 12 月 28 日至 1 月 1 日之间,我从 TexLive 2012 更新到了 TexLive 2013,现在它似乎可以正常工作了。该mathspec
软件包在 2012 年至 2013 年之间没有更新,但该mathastext
软件包更新了大约 15 次。可能其中一次更新修复了我遇到的错误。
为了让其他人了解情况,我想分享一个我认为我更喜欢的替代解决方案。XeLaTeX 软件包很不错,但排版像上面这样的短文档需要花费近 3 倍的时间。此外,我不确定 Symbol 和 Helvetica 字体在排版复杂的数学公式时是否能很好地工作。相反,我选择了该newtx
软件包,它具有完整的数学支持和 Helvetica 克隆版的无衬线字体。以下代码
\documentclass[10pt]{article}
\usepackage{newtxtext}
\renewcommand*\familydefault{\sfdefault}
\usepackage[italic]{mathastext}
\usepackage{newtxmath}
\begin{document}
\Huge This looks right: $\delta_e/L_e$ (\%)
\Huge This looks wrong: $\delta_e/L_e\,(\%)$
\end{document}
生产,
在 中有所\delta
不同newtx
,但整体风格相似,而且我并没有沉迷于 Symbol 字体。我只是不想要计算机现代 (CM) 字体。(在我看来,CM 字体的线条粗细太细了。)不幸的是,仔细检查发现newtx
数学模式和文本模式下的括号有点不同,但我可以处理。