我遇到了 XeLaTeX 文档中包含的图形字体的奇怪问题。我有从 Metapost 源生成的带有旋转数学标签的图形。当我将生成的 EPS 包含到文档中时,其渲染取决于在它之前包含另一个图形。示例应该清楚我的意思。
problem.tex
是用 编译的xelatex
,两个图都是用mpost
。
当我不包含第一张图片时,第二张图片没问题。但是,当包含它时,旋转的标签($\text{odvěsna úhlu }\alpha$
)会以完全不合适的字体显示。我不知道这是一个错误还是一些我不知道的隐藏功能......(在与所示略有不同的设置中,只有 alpha 被错误地显示为连字符ff
。)
如果您有任何想法我将不胜感激。
问题.tex:
\documentclass{article}
\usepackage{xltxtra}
\usepackage[czech]{polyglossia}
\begin{document}
\begin{figure}[!h]
\includegraphics{imgA.eps} %this causes problem
\end{figure}
\includegraphics{imgB.eps}
\end{document}
imgA.mp:
input fks
verbatimtex
%&latex
\documentclass[9pt]{extarticle}
\usepackage[utf8]{inputenc}
\usepackage{fkssugar} % only helping macros
\begin{document}
etex
prologues:=3;
u:=1cm;
beginfig(1);
z0=(0,0);
z1=(0, 2u);
z2=( 3u, 0);
draw z0--z1--z2--cycle;
uhelR(z2,z0,4mm);
draw (thelabel.top(btex $a - \text{odvěsna}$ etex,z0)).rotated 90 .shifted (.5[z0,z1]);
label.bot(btex $b - \text{odvěsna}$ etex,.5[z0,z2]);
label.urt(btex $c - \text{přepona}$ etex,.5[z1,z2]);
endfig;
verbatimtex
\end{document}
etex
end;
imgB.mp:
input fks
verbatimtex
%&latex
\documentclass[9pt]{extarticle}
\usepackage[utf8]{inputenc}
\usepackage{fkssugar}
\begin{document}
etex
prologues:=3;
u:=1cm;
beginfig(1);
z0=(0,0);
z1=(0, 2u);
z2=( 3u, 0);
draw z0--z1--z2--cycle;
uhel(z1,z2,z0,8mm);
uhelR(z2,z0,4mm);
draw (thelabel.top(btex $a - \text{protilehlá}$ etex,z0+(0,8pt))).rotated 90 .shifted(.5[z0,z1]);
draw (thelabel.top(btex $\text{odvěsna úhlu }\alpha$ etex,z0)).rotated 90 .shifted(.5[z0,z1]);
label.bot(btex $b - \text{přilehlá}$ etex,.5[z0,z2]);
label.bot(btex $\text{odvěsna úhlu } \alpha$ etex,.5[z0,z2]-(0,9pt));
label.urt(btex $c - \text{přepona}$ etex,.5[z1,z2]);
label.ulft(btex $\alpha$ etex,z2-(3mm,0));
endfig;
verbatimtex
\end{document}
etex
end;
答案1
您没有提供fks.mp
和fkssugar.sty
。但是,我在将 Metapost 生成的 EPS 文件包含在 XeLaTeX 中时已经遇到了类似的问题。
解决方案是将 EPS 文件转换为 PDF,并包含后者:
epstopdf --hires --outfile=imgA.pdf imgA.1