我希望最终的 PDF 能够嵌入所有字体。psdots
在 pstricks 中使用特殊功能会导致此操作失败。以下是导致非嵌入字体的 MWE:
\documentclass[10pt]{article}
\usepackage{pstricks,epsfig,pst-node}
\usepackage{auto-pst-pdf}
\begin{document}
\begin{pspicture}(0,0)(3,3)
\psdots[dotstyle=asterisk](0,0)
\psdots[dotstyle=o](0,0)
\psdots[dotstyle=triangle*](0,0)
\psdots[dotstyle=diamond*](0,0)
\psdots[dotstyle=pentagon*](0,0)
\end{pspicture}
\end{document}
以下是输出pdffonts
:
[mishchea@linty mwe]$ pdffonts mwe.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
SDXKYB+CMR10 Type 1 Builtin yes yes no 6 0
Times-Roman Type 1 Standard no no no 13 0
[none] Type 3 Custom yes no no 14 0
答案1
如果你想嵌入标准 PostScript 字体,那么使用
\usepackage[dvips={-h tir_____.pfb}]{auto-pst-pdf}
这是 Times-Roman 的设置。字体文件(在本例中tir_____.pfb
)可在网上免费获取。如果您想嵌入全部然后,标准 PostScript 字体使用自己的config.ps
文件,该文件默认启用这些字体的嵌入,例如:
[...]
% Partially download Type 1 fonts by default. Only reason not to do
% this is if you encounter bugs. (Please report them to
% @email{tex-k@@mail.tug.org} if you do.)
j
% load extra header files, in this case fonts used by pstricks header
% and perhaps in other places, bit of a waste but better save than sorry
h hvb_____.pfb
h hv______.pfb
h tir_____.pfb
h tii_____.pfb
h tib_____.pfb
h pzdr.pfb
[...]
kpsewhich config.ps
在终端中运行会告诉您当前文件config.ps
的位置,例如:
voss@shania:~> kpsewhich config.ps
/usr/local/texlive/2012/texmf/dvips/config/config.ps
下面是使用上述 -h 选项运行的示例的输出:
voss@shania:~> pdffonts Test/Namenlos-4.pdf
name type encoding emb sub uni object ID
----------------------- ----------------- ---------------- --- --- --- ---------
SDXKYB+CMR10 Type 1 Builtin yes yes no 6 0
GNSOXG+Times-Roman Type 1C WinAnsi yes yes no 13 0
[none] Type 3 Custom yes no no 14 0
答案2
我认为最好使用standalone
类并按照编译顺序编译源代码latex-dvips-ps2pdf
以获得紧密的单一 PDF 输出,如下所示,
% this file name is goo.tex
\documentclass[10pt,pstricks,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid=bottom](-1,-1)(5,5)
\psframe[fillstyle=solid,fillcolor=yellow,opacity=0.1](-1,-1)(5,5)
\psdots[dotstyle=asterisk](0,0)
\psdots[dotstyle=o](1,1)
\psdots[dotstyle=triangle*](2,2)
\psdots[dotstyle=diamond*](3,3)
\psdots[dotstyle=pentagon*](4,4)
\end{pspicture}
\end{document}
调用pdffonts goo.pdf
会产生如下输出,
技巧和窍门:
首先,为主 LaTeX 输入文件中的
standalone
每个 PSTricks创建一个带有类的单个 LaTeX 输入文件。pspicture
其次,按顺序编译每个
standalone
基于的 LaTeX 输入文件latex-dvips-ps2pdf
以生成 PDF 输出。第三,从主 LaTeX 输入文件中,使用 导入那些 PDF 输出,
\includegraphics
并使用 编译主 LaTeX 输入文件pdflatex
。完毕!
主 LaTeX 输入文件是否嵌入字体?
% this file name is main.tex
\documentclass[12]{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{goo}
\end{document}
编译它以pdflatex main
生成一个名为的 PDF 文件main.pdf
。然后检查字体如下,