\psdiabox 太大

\psdiabox 太大

我怎样才能减小的大小\psdiabox,例如:

\documentclass[10pt,a4paper,twoside]{scrbook}
\usepackage{pstricks}
\usepackage{pst-all}

\begin{document}
\psset{unit=0.35}
\begin{pspicture}(9.261250,-52.662503)(52.977702,-0.950000)
\begin{psmatrix}[rowsep=1cm,colsep=.5cm]
        & \rput[tc](30.5,-19.5){\psdiabox
            { \begin{tabular}{c}
                ?`$Pueden \, estar \, repetidos$ \\
                $los \, p \, que \, vaya \, a \, tomar?$ \\
                \end{tabular} }}
        \end{psmatrix}

\end{pspicture}
\end{document}

在此处输入图片描述

答案1

\documentclass{scrbook}
\usepackage{pst-node}
\begin{document}

\psdiabox{%
\begin{tabular}{@{}c@{}}
    ?`$Pueden \, estar \, repetidos$ \\
    $los \, p \, que \, vaya \, a \, tomar?$ \\
\end{tabular}}
%
\psdiabox{%
\makebox[0.7\width]{%
\begin{tabular}{@{}c@{}}
    ?`$Pueden \, estar \, repetidos$ \\
    $los \, p \, que \, vaya \, a \, tomar?$ \\
\end{tabular}}}

\end{document}

在此处输入图片描述

答案2

首先,您可以减少,并且可以使用而不是 来framesep=0pt减少 左右两侧的空格。tabular@{}c@{}c

但重点是,的宽度\psdiabox是其高度的两倍。要改变这一点,您可以重新定义内部命令\tx@Diamond以更改纵横比:

\documentclass[pstricks, border=3pt]{standalone}
\usepackage{pst-node}
\usepackage{array}

\makeatletter
\pst@def{Diamond}<%
  /mtrx CM def 
  T rotate 
  1.2 mul /h ED % added the 1.2 mul
  0.8 mul /w ED % added the 0.8 mul
  dup 0 eq { pop } { CLW mul neg 
    /d ED 
    /a w h Atan def 
    /h d a sin Div h add def 
    /w d a cos Div w add def } ifelse 
  mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div 
  /ArrowA { moveto } def 
  /ArrowB { } def 
  false Line 
  closepath mtrx setmatrix
>
\makeatother

\begin{document}
\begin{pspicture}(6,2)
  \rput(3,1){%
    \psdiabox[framesep=0pt]
      { \begin{tabular}{@{}>{\itshape}c@{}}
        ?`Pueden estar repetidos\\
        los p que vaya a tomar? \\
      \end{tabular}}}
\end{pspicture}
\end{document}

结果是:

在此处输入图片描述

这里,我将高度改为了1.2,将宽度改为了0.8。您可以根据需要进行更改。

如果您有其他不应更改的钻石,那么您必须在本地进行此更改。

我强烈建议您查看pst-tree、参阅texdoc pst-tree并浏览文档!以了解自动节点对齐和节点连接。

相关内容