5

I'm trying to create a diagram in the psmatrix environment which has a double line connecting to a node and then has two separate lines coming from the node, one line coming from each of the two double lines.

Here is a 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}

It is working how I want to with the double line, however the lines from (2,2) to (3,1) and from (2,2) to (3,3) are coming from the same part of the node at (2,2). I want the line from (2,2) to (3,1) to connect to the left-hand line from the doubleline and the line from (2,2) to (3,3) to connect to the right-hand line from the doubleline.

I am processing the file through LaTeX -> PS -> PDF.

3

The easiest way to achieve your goal is to offset each of the \nclines:

enter image description here

\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}
1

I do not understand the sense of [mnode=dot,dotscale=.00001]. However, you can also use \psline for a connection over three nodes:

\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}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.