Draw a network of nodes
CJam, 142
You didn't ask for an optimal, deterministic or fast solution, so here you go:
qN%Sf%::c_s_&amp;:Aff#:E;{A{;[DmrDmr]2f*}%:C;E{Cf=~.-:*}%0m1{E{Cf=$~1$.-_:g:T\:+,1&gt;\ff*\f.+T0=&quot;-|&quot;=f+~}%CA.++:L2f&lt;__&amp;=!}?}gS25*a25*L{~2$4$=\tt}/N*

Try it online
This generates random coordinates for each letter and tests if the layout is acceptable (edge letters lining up and no intersections), until it is. It gets mind-numbingly slow as you add more edges.
The two D letters in the code specify the maximum x and y coordinates; I picked D (=13) because I think it should be sufficient for all cases, feel free to prove me wrong. But you can change them to other values to speed up the program, e.g. the 2nd example should finish within a minute or two if you use 3 and 4 instead.