我在 XP 帐户上使用 MiKTeX 2.9,但用户权限受到限制。不幸的是,我无法编译包含xelatex
图形的文件pstricks
,因此我尝试了在网上找到的所有方法,例如更新所有软件包并向-dNOSAFER
文件添加选项dvipdfmx.cfg
。这些操作是在管理员帐户下完成的,因为我发现问题仍然存在(顺便说一句,我不是管理员)。幸运的是,这似乎有效 - 然后我能够编译文件。但是,当我尝试在我的受限帐户下进行编译时,我再次收到众所周知的消息:
** WARNING ** Image format conversion for PSTricks failed.
** WARNING ** Interpreting special command pst: (ps:) failed.
** WARNING ** >> at page="1" position="(133.768, 372.249)" (in PDF)
** WARNING ** >> xxx "pst: tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB "
这是一个最小的例子:
\documentclass{article}
\usepackage{pstricks}
\begin{document}
\begin{figure}
\begin{pspicture}(4,5)
\psframe(0.7,2)(3.3,3)
\rput(2,2.5){An Example}
\end{pspicture}
\end{figure}
\end{document}
我真的很想知道这里发生了什么。不幸的是,我不太了解 XP 上的用户权限以及它们可能会如何影响 xelatex。切换到 LaTeX/pdfLaTeX 对我来说不是一个选择,因为我需要 XeLaTeX 提供的 unicode 支持。我很乐意接受任何建议。
编辑:我想补充一点,我将-dNOSAFER
选项直接添加到dvipdfmx.cfg
(我知道不应该这样做,因为它可能会被覆盖),因为当我第一次将编辑后的文件放入本地存储库时,我没有注意到行为有任何变化,尽管我FNDB
在将文件放在那里后刷新了并更新了格式文件。 无论如何,现在我想起来了,当我第一次将它放入本地存储库时,我是在我的受限用户帐户下进行的,而当我编辑原始文件时,我是在我们的管理员帐户下登录的(没有管理员的帮助我无法访问)。 所以它不起作用的原因可能不是由于文件的位置,而是由于用户权限问题。 但是,我更愿意将调整后的文件放在我的本地存储库下,以防我真的需要它。
答案1
我不得不尝试了一段时间才找到适合我的解决方案。它如下:
- 登录您的受限用户帐户。
- 在开始菜单中,转到
MiKTeX 2.9
--> 维护(管理员) - 右键单击“设置(管理员)”,然后选择“以...身份运行”
- 以管理员身份打开程序(管理员必须输入其管理员密码)
- 单击常规选项卡下的刷新 FNDB 和更新格式。
- 保存并关闭程序
就这样。我不知道当设置程序未以 root 权限运行时,第 5 步会发生什么,但至少我不再收到任何PSTRICKS
警告。