It would help to understand how you actually want to use these structures, but here's my initial suggestion. You don't need Module
and you don't need Print
. Try something like this:
angsym2[n_, s_, l_, j_] :=
With[
{lsym = Switch[l, 0, "S", 1, "P", 2, "D", 3, "F", _, 0]},
Row[{Superscript[n + 1, 2 s + 1], Subscript[lsym, j]}]]
You also don't need Print
to display your rule example:
angsym2[n1, s1, l1, j1] -> angsym2[n2, s2, l2, j2]