我正在尝试使用pst-sigsys
...
问题是,使用\ncstar
宏只能将多个输入“合并”为 1,而不能相反......
style=Arrow
我已经设法做到这一点,但是箭头(以及整个选项)很混乱......
有谁有技巧可以正确设置箭头吗?
如果我
\input
在文档中绘制此图,它将\psset{style=Arrow}
与文档中的其他内容发生冲突,并且箭头的大小会有所不同(使用Arrow
或经典 PSTricks 选项创建时)。有什么想法吗?
这是我使用的 MWE:
\documentclass[pstricks, float]{standalone}
\usepackage{graphicx}
\usepackage[table, usenames, dvipsnames]{xcolor}
\usepackage{pstricks, pst-node, pst-circ, pst-plot, pst-3dplot, pst-solides3d, pst-sigsys, pstricks-add, pst-eucl}
\begin{document}
\begin{pspicture}[labelangle=:U, showgrid=false](-5, -2.5)(3.5, 6)
\psset{style = RoundCorners}%, arrowinset=0}
\psfblock[gratioWh=2](-3.5, 1.75){SW}{\parbox[c]{2\psunit}{\centering Type}}
\psfblock[gratioWh=2](0.25, 4.25){C1}{Case 1}
\psfblock[gratioWh=2](0.25, 1.75){C2}{Case 2}
\psfblock[gratioWh=2](0.25, -0.75){C3}{Case 3}
\psset{style = Arrow}
\nclist{->}{ncline}{SW, C2}
\ncdiagg[angleA=180, arm =.5]{C1}{SW}
\ncdiagg[angleA=180, angleB=180]{C3}{SW}
\end{pspicture}
\end{document}
这段代码的结果是:
答案1
psmatrix
环境解决方案
\documentclass[pstricks,border=10pt]{standalone}
\usepackage{pst-node}
\def\PBox#1{\psframebox{\parbox[c][1cm][c]{2cm}{\centering#1}}}
\psset{framearc=0.1,arrowscale=1.5}
\begin{document}
\begin{psmatrix}[colsep=2,rowsep=0.8]
& [name=C1]\PBox{Case 1} \\
[name=SW]\PBox{Type} & [name=C2]\PBox{Case 2} \\
& [name=C3]\PBox{Case 1}
\end{psmatrix}
\ncline{->}{SW}{C2}
\ncdiagg[angleA=180, arm=.5]{->}{C1}{SW}
\ncdiagg[angleA=180, arm=.5]{->}{C3}{SW}
\end{document}
答案2
{->}
正如赫伯特所指出的,通过反转命令中的 可以轻松解决这个问题\psdiagg
。
代码如下:
\documentclass[pstricks, float]{standalone}
\usepackage{graphicx}
\usepackage[table, usenames, dvipsnames]{xcolor}
\usepackage{pstricks, pst-node, pst-circ, pst-plot, pst-3dplot, pst-solides3d, pst-sigsys, pstricks-add, pst-eucl}
\begin{document}
\begin{pspicture}[labelangle=:U, showgrid=false](-5, -2.5)(3.5, 6)
\psset{style = RoundCorners, style = Arrow}%, arrowinset=0}
\psfblock[gratioWh=2](-3.5, 1.75){SW}{\parbox[c]{2\psunit}{\centering Type}}
\psfblock[gratioWh=2](0.25, 3.5){C1}{Case 1}
\psfblock[gratioWh=2](0.25, 1.75){C2}{Case 2}
\psfblock[gratioWh=2](0.25, 0){C3}{Case 3}
\nclist{->}{ncline}{SW, C2}
\ncdiagg[angleA=180, arm =.75]{<-}{C1}{SW} % Add {<-} here
\ncdiagg[angleA=180, arm =.75]{<-}{C3}{SW} % idem
\end{pspicture}
\end{document}
附言:我自己回答了这个问题,因为问题只出在箭头上,我不知道他是如何psmatrix
解决的。不过所有的功劳都归功于赫伯特。