![在 psmatrix 中,如何将一条线连接到双线中的每条平行线?](https://linux22.com/image/287219/%E5%9C%A8%20psmatrix%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E6%9D%A1%E7%BA%BF%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%8F%8C%E7%BA%BF%E4%B8%AD%E7%9A%84%E6%AF%8F%E6%9D%A1%E5%B9%B3%E8%A1%8C%E7%BA%BF%EF%BC%9F.png)
我正在尝试在环境中创建一个图表psmatrix
,该图表有一条双线连接到一个节点,然后有两条单独的线从该节点引出,每条双线各引出一条线。
以下是 MWE:
\documentclass{article}
\usepackage{pst-node}
\begin{document}
\begin{figure}[H]
\centering
$\psmatrix[colsep=0.3cm,rowsep=.4cm,mnode=circle]
[mnode=dot,dotscale=.00001] \\
[mnode=dot,dotscale=.00001] & [mnode=dot,dotscale=.00001] & [mnode=dot,dotscale=.00001] \\
[mnode=r] && [mnode=r]
\ncline[doubleline=true]{1,1}{2,2}
\ncline{2,2}{3,1}
\ncline{2,2}{3,3}
\psset{linestyle=dashed}\ncline{2,1}{2,3}
\endpsmatrix
$
\end{figure}
\end{document}
双线按照我的要求运行,但是从 (2,2) 到 (3,1) 和从 (2,2) 到 (3,3) 的线来自 (2,2) 节点的同一部分。我希望从 (2,2) 到 (3,1) 的线连接到双线的左侧线,从 (2,2) 到 (3,3) 的线连接到双线的右侧线。
我正在通过 LaTeX -> PS -> PDF 处理文件。
答案1
实现目标的最简单方法offset
是\ncline
:
\documentclass{article}
\usepackage{pst-node}
\begin{document}
\psmatrix[colsep=0.3cm,rowsep=.4cm,mnode=circle]
[mnode=dot,dotscale=.00001] \\
[mnode=dot,dotscale=.00001] & [mnode=dot,dotscale=.00001] & [mnode=dot,dotscale=.00001] \\
[mnode=r] && [mnode=r]
\ncline[doubleline=true]{1,1}{2,2}
\ncline[offset=-\pslinewidth]{2,2}{3,1}
\ncline[offset=\pslinewidth]{2,2}{3,3}
\psset{linestyle=dashed}\ncline{2,1}{2,3}
\endpsmatrix
\end{document}
答案2
我不明白 的意思[mnode=dot,dotscale=.00001]
。但是,您也可以使用\psline
来连接三个节点:
\documentclass{article}
\usepackage{pst-node}
\begin{document}
$\psmatrix[colsep=0.3cm,rowsep=.4cm,mnode=circle]
[mnode=p,name=A]\\
[mnode=p] & [mnode=p,name=B] & [mnode=p]\\
[mnode=r,name=C] && [mnode=r,name=D]
\psline(A)(B)(C)
\pcline[offset=1mm](A)(D)
\ncline[linestyle=dashed]{2,1}{2,3}
\endpsmatrix
$
\end{document}