我想将 TeX Gyre 字体(尤其是 Pagella 和 Pagella Math)与 LaTeX+dvips+ps2pdf 结合使用。将来我想将其用于 PSTricks,但首先我必须解决字体问题。
我将此代码用于 LaTeX+dvips+ps2pdf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tgpagella}
\begin{document}
Test in Pagella
\[\sum_{k=1}^n k=\frac{n(n+1)}{2}\]
\end{document}
它生成一个包含 TeX Gyre Pagella 文本的 PDF 文件但《计算机现代》中的数学(见截图)
将代码更改为以下内容
\documentclass{article}
\usepackage{fontenc,unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont[Ligatures=TeX]{TeX Gyre Pagella Math}
\begin{document}
Test in Pagella
\[\sum_{k=1}^n k=\frac{n(n+1)}{2}\]
\end{document}
并在 DVI 模式下使用 LuaLaTeX 处理它效果很好。但dvips
之后运行会产生以下错误
This is dvips(k) 5.992 Copyright 2012 Radical Eye Software (www.radicaleye.com)
' LuaTeX output 2013.04.01:1811' -> template-pstricks.ps
kpathsea: Invalid fontname `name:TeXGyrePagella:mode=node;script=latn;language=DFLT;+tlig;+trep;', contains ':'
dvips: Font name:TeXGyrePagella:mode=node;script=latn;language=DFLT;+tlig;+trep; not found; using cmr10
</usr/local/texlive/2012/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.pk>kpathsea: Invalid fontname `name:TeXGyrePagellaMath:mode=base;script=math;language=DFLT;+tlig;+trep;+ssty=1;', contains ':'
dvips: Font name:TeXGyrePagellaMath:mode=base;script=math;language=DFLT;+tlig;+trep;+ssty=1; not found; using cmr10
</usr/local/texlive/2012/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.pk>
dvips: ! invalid char 119899 from font name:TeXGyrePagellaMath:mode=base;script=math;language=DFLT;+tlig;+trep;+ssty=1;
我知道 dvips 无法处理 OpenType 字体,但是我该如何将 TeX Gyre Pagella 和 TeX Gyre Pagella Math 与 PSTricks 一起使用?LaTeX 或 LuaLaTeX 解决方案都会很有帮助。
答案1
auto-pst-pdf
我现在已经解决了添加到代码的问题
\documentclass{article}
\usepackage{auto-pst-pdf}
\usepackage{fontenc,unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont[Ligatures=TeX]{TeX Gyre Pagella Math}
\begin{document}
Test in Pagella
\[\sum_{k=1}^n k=\frac{n(n+1)}{2}\]
\end{document}
并且用它编译lualatex -shell-escape file.tex
会产生以下输出,其中仅包含 TeX Gyre Pagella 和 TeX Gyre Pagella Math。
非常感谢@egreg 提供这个提示。
由于@Ulrike Fischer 的评论而得到改进
显然没有办法按照我想要的方式解决问题,所以我再次编辑了我的代码
\documentclass{article}
\usepackage{pstricks}
\usepackage{xltxtra}
\usepackage{xunicode}
\usepackage{fontenc}
\usepackage{unicode-math}
\setromanfont[Ligatures=TeX]{texgyrepagella-regular.otf}
\setmathfont[Ligatures=TeX]{texgyrepagella-math.otf}
\begin{document}
Test in Pagella
\[\sum_{k=1}^n k=\frac{n(n+1)}{2}\]
\begin{pspicture}(3,3)
\psline{->}(1,1)(3,2)
\psline{->}(1,1)(3,1)
\rput(2,2){$x$}
\end{pspicture}
\end{document}
处理它xelatex file.tex
会产生所需的 PDF 文件,其中包含 TeX Gyre Pagella 和 Pagella Math
感谢@egreg 和@Ulrike Fischer 的提示。欢迎进一步改进,我认为我还有很多东西要学。