pspicture 在页面中如何定位?

pspicture 在页面中如何定位?

我无法在psframe具有特定大小的页面内定位,并且看起来整个pspicture页面都移位了。这是我的代码的 MWE

\documentclass[border={0pt 0pt 0pt 0pt}]{standalone}

\usepackage[english]{babel}
\usepackage{pstricks-add}
\usepackage[paperheight=16cm,paperwidth=21cm]{geometry}


\pagestyle{empty}

\begin{document}

\psset{algebraic,xunit=1cm,yunit=1cm}

\begin{pspicture}(0,0)(21,16)

\psframe[fillstyle=solid,fillcolor=blue!20,linewidth=3pt,linecolor=black](0,0)(21,16)

\end{pspicture}

\end{document}

如您所见,我的页面宽 21 厘米,高 16 厘米。我的pspicture的坐标为(0,0)(21,16),并且xunityunit设置为1cm。我的 的psframe坐标与 相同,pspicture因此我期望在编译此代码后得到一个蓝色的 16 厘米 x 21 厘米页面,周围有黑色框架。相反,我得到的是一个具有所需尺寸的页面,但蓝色背景向右移动了一点,又向上移动了一点,露出了白色区域。

定位如何pspicture工作?我该如何修复此代码?我可以手动移动框架,但我想要一个更优雅的解决方案,因为在我看来,这段代码似乎有问题,或者可能缺少了一些东西。

答案1

我将使用article并添加以下内容:

  • margin=0pt为了geometry这使得文本块与纸张大小相匹配;

  • \noindent在环境之前pspicture

    环境pspicture的设置与其他文本组件(如字母a或数字 )一样7。因此,\parindent当它开始一个段落时,它也会以 缩进。这个“大字符”的宽度为 ,21cm高度为16cm,正是您想要的。

在此处输入图片描述

\documentclass{article}

\usepackage{pstricks-add}
\usepackage[paperheight=16cm,paperwidth=21cm,margin=0pt]{geometry}

\pagestyle{empty}

\begin{document}

\psset{algebraic,xunit=1cm,yunit=1cm}

\noindent
\begin{pspicture}(0,0)(21,16)

\psframe[fillstyle=solid,fillcolor=blue!20,linewidth=3pt,linecolor=black](0,0)(21,16)

\end{pspicture}

\end{document}

答案2

geometry使用时不要使用包standalone并使用以下命令运行它xelatex

\documentclass[pstricks,border={0pt 0pt 0pt 0pt}]{standalone}
\usepackage{pstricks-add}
\begin{document}

\begin{pspicture}(0,0)(21,16)   
\psframe[fillstyle=solid,fillcolor=blue!20,linewidth=3pt](0,0)(21,16)   
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容