将 pspicture 的基线更改为顶部

将 pspicture 的基线更改为顶部

我尝试将文本与图形顶部对齐。pstricks手册上说我可以为pspicture环境指定一个选项,但这不知何故不起作用。我收到一条错误消息。

! Package xkeyval Error: ``1' undefined in families ``,pstricks,pst-node'.

\documentclass{article}

\usepackage{pstricks,pst-node}

\begin{document}

Test {\begin{pspicture}(2.6,0)(7.4,4.3)
%\psgrid
\rput[B](3,0){\rnode{Peter}{Peter}}
\rput[B](6,0){\rnode{schlaeft}{sleeps}}
%
\rput[B](6,2){\rnode{v}{V[\begin{tabular}[t]{@{}l@{}}
                          subj ,\\
                          comps ]
                          \end{tabular}}}
\rput[B](3,2){\rnode{np1}{1 NP[{nom}]}}
%
\rput[B](4.5,4){\rnode{vp}{V[\begin{tabular}[t]{@{}l@{}}
                             subj \\
                          comps  ]
                          \end{tabular}}}
%
\psset{angleA=-90,angleB=90,arm=0pt}
%
\ncdiag{v}{schlaeft}
\ncdiag{np1}{Peter}
\ncdiag{vp}{np1}\ncdiag{vp}{v}
%
\end{pspicture}

\end{document}

答案1

使用shift选项:

[...]
Test \begin{pspicture}[shift=-4](2.6,0)(7.4,4.3)
\rput[B](3,0){\rnode{Peter}{Peter}}
[...]

-4 是你的第一个文本的 y 坐标

答案2

不确定将pspicture环境转换为宏结构是否会产生任何不利影响,但\belowbaseline的命令stackengine将在的外部发挥作用pspicture

\documentclass{article}

\usepackage{pstricks,pst-node}
\usepackage{stackengine}

\begin{document}

Test 
\belowbaseline[-\ht\strutbox]
{\pspicture(2.6,0)(7.4,4.3)
%\psgrid
\rput[B](3,0){\rnode{Peter}{Peter}}
\rput[B](6,0){\rnode{schlaeft}{sleeps}}
%
\rput[B](6,2){\rnode{v}{V[\begin{tabular}[t]{@{}l@{}}
                          subj ,\\
                          comps ]
                          \end{tabular}}}
\rput[B](3,2){\rnode{np1}{1 NP[{nom}]}}
%
\rput[B](4.5,4){\rnode{vp}{V[\begin{tabular}[t]{@{}l@{}}
                             subj \\
                          comps  ]
                          \end{tabular}}}
%
\psset{angleA=-90,angleB=90,arm=0pt}
%
\ncdiag{v}{schlaeft}
\ncdiag{np1}{Peter}
\ncdiag{vp}{np1}\ncdiag{vp}{v}
%
\endpspicture
}
\end{document}

在此处输入图片描述

答案3

您可以为该shift选项添加星号:

Test \begin{pspicture}[shift=*](2.6,0)(7.4,4.3)
\rput[B](3,0){\rnode{Peter}{Peter}}

相关内容