我觉得这个问题与 PSTricks 有关,所以我必须修改前面的问题。
\psset{fillstyle=solid,linecolor=red}
我在preview
环境之外全局定义的可以影响图形对象。但为什么我必须将其放在环境\psset{fillcolor=green}
内部preview
才能使其工作呢?
\documentclass[preview,border=12pt]{standalone}
\usepackage{pstricks}
\psset{fillstyle=solid,linecolor=red}
% the following setting will be ignored by preview
% \psset{fillcolor=green}
\begin{document}
\preview
% Thus the setting must be inside the preview, does it seem strange to you?
\psset{fillcolor=green}
\psframebox{Karl's students}
\endpreview
\end{document}
fillcolor
这种情况很特殊吗?
答案1
如果你查看里面pstricks.sty
,你会发现在包的最末端有以下一行:
\AtBeginDocument{%
\psset{fillcolor=white}% hv 0.33
\let\pst@endcolor=\relax%
% \let\pst@color=\relax%
% LaTeX used `\color@endgroup' instead. RN 2004-05-06
}
fillcolor
因此,一旦你击中了,试图在序言中设置就会失败\begin{documnent}
答案2
使用
\AtBeginDocument{\psset{fillstyle=solid,linecolor=red}}
答案3
这个奇怪的功能在当前版本中已被禁用pstricks.sty
。