I started doing an example on the basis of your first example picture, but hopefully you can adapt the ideas.
When constructing TikZ figures, I often find the libraries matrix and chains very helpful. And also thinking about the picture one small piece at a time.
So while waiting for our resident TikZ-deity Jake to show up with something much more elegant, I'd like to present my take on the first example picture (Plain-TeX):
\input tikz
\let\up\uparrow \let\down\downarrow % just to shorten a little
\usetikzlibrary{chains,matrix}
\tikzpicture[
a/.style={on chain,join,draw,rounded corners,minimum size=1.5em,inner sep=1pt},
r/.style={a,text=red},
every scope/.style={start chain,node distance=1mm}
]
\matrix[matrix of nodes,column sep=1.5em,row sep=1.5ex] (mx) {
&\scope[xshift=1em]\coordinate[a](A);
\node[a,label=below:$\sigma_\rho^*$]{};
\coordinate[a](C);\endscope\\
&\scope\coordinate[a](D);
\node[r,label=below:$\pi_x^*$]{$\up$};
\node[r,label=below:$\pi_y^*$]{$\up$};
\coordinate[a](G);\endscope\\
\scope\node[a]{$\up$}; \node[a]{$\up$}; \node[a]{$\up\,\down$};
\coordinate[a](H);\endscope&&
\scope\coordinate[a](I);
\node[a]{$\up\,\down$}; \node[a]{$\down$}; \node[a]{$\down$};\endscope\\
&\scope\coordinate[a](J);
\node[a,label=below:$\pi_x$]{$\up\,\down$};
\node[a,label=below:$\pi_y$]{$\up\,\down$};
\coordinate[a](K);\endscope\\
&\scope[xshift=1em]\coordinate[a](L);
\node[a,label=below:$\sigma_\rho$]{$\up\,\down$};
\coordinate[a](N);\endscope\\
};
\draw (H)--(A) (H)--(D) (H)--(J) (H)--(L)
(I)--(C) (I)--(G) (I)--(K) (I)--(N);
\endtikzpicture
\bye
![enter image description here](https://i.stack.imgur.com/9hRBa.png)
I think you could separate the drawing of the chain to outside of the matrix, and be able to branch things.
I think you're using a somewhat old version from pgf-umlsd.sty which does not support empty diagrams. Version 0.6 should fix this (and does that in my case) and TeX Live 2011 uses 0.5 as far as I could see.
You could download it from: http://code.google.com/p/pgf-umlsd
Best Answer
Wow, I find it unusual that nobody mentioned the best tool around (my opinion) to do high quality Latex schematics (not too hard to learn, best circuits guaranteed) - it's Circuit_macros which are created and maintained by professor J. D. Aplevich.
Examples can be found here, and helpful installation tips are here. You can find manual in every Circuit_macros distribution. Commands for drawing are those of
pic
drawing language, and macros for electrical elements are written inm4
macro language. After writing down schematic in this combination of languages (pic
,m4
), file should be preprocessed withm4
macro processor leaving purepic
drawing behind..pic.
file is after that easily transfered in PSTricks or TiKZ/PGF (first couple pages of manual).m4
anddpic
manually, can easily be avoided using special LaTeX command\mtopgf
defined on the 5th page of the manual.