尝试不依赖于pstricks
看看我是否可以编写嵌入在 LaTeX 文档中的自己的 postscript 代码。
\documentclass{article}
\begin{document}
Hello world!
\special{ps:
/inch { 72 mul } def
gsave
0 0 1 setrgbcolor
1 inch 0 rlineto
0 1 inch rlineto
-1 inch 0 rlineto
closepath
4 setlinewidth
stroke
grestore
}%%
Followed by something else.
\rule{1in}{4pt}
\end{document}
盒子放在了我期望的位置,但是尺寸全都错误:
但我可以轻松地写入一个eps
文件
%!PS-Adoboe-3.0 EPSF-3.0
%%BoundingBox: 0 0 72 72
/inch { 72 mul } def
newpath
0 0 moveto
1 inch 0 rlineto
0 1 inch rlineto
-1 inch 0 rlineto
closepath
stroke
showpage
并导入它以获得正确大小的正方形
\documentclass{article}
\usepackage{graphicx}
\begin{document}
Hello world!
Followed by something else.
\includegraphics{square}
\rule{1in}{4pt}
\end{document}
导致
那么我需要做什么才能获得正确的尺寸\special{ps:....}
?
我尝试查看pstricks.sty
、、pstricks.tex
和,pstricks.con
但没有找到任何有用的东西来解释为什么pstricks
能够把事情做好,但事实并非如此。
顺便说一下,上面两个例子我都是通过
latex --> dvips --> ps2pdf
答案1
如果您使用"
而不是ps:
则dvips
在插入代码之前重置图形状态:
\documentclass{article}
\begin{document}
Hello world!
\special{"
/inch { 72 mul } def
gsave
newpath
0 0 moveto
0 0 1 setrgbcolor
1 inch 0 rlineto
0 1 inch rlineto
-1 inch 0 rlineto
closepath
4 setlinewidth
stroke
grestore
}%%
Followed by something else.
\rule{1in}{4pt}
\end{document}
你ps:
可以得到当前的坐标矩阵(如果你真的需要的话,你可以从 PostScript 中查询)