% square lattice (width #1, height #2, origin #3) \def\grid#1#2#3{ \foreach\i in {0,...,#2}{ \draw#3++(0,\i)--++(#1,0); } \foreach\i in {0,...,#1}{ \draw#3++(\i,0)--++(0,#2); } } % dimer (bottom-left vertex #1, vertical or horizontal #2) \def\dimer#1#2{ \if#2h \draw[line width=5pt]#1--++(1,0); \fill#1circle(7pt); \fill#1++(1,0)circle(7pt); \else \draw[line width=5pt]#1--++(0,1); \fill#1circle(7pt); \fill#1++(0,1)circle(7pt); \fi } % interactions (bottom-left vertex #1, vertical or horizontal #2) \def\interaction#1#2{ \if#2h \draw[line width=5pt, color=white]#1--++(1,0); \draw[line width=4pt, decorate, decoration={snake}, color=red]#1--++(1,0); \else \draw[line width=5pt, color=white]#1--++(0,1); \draw[line width=4pt, decorate, decoration={snake}, color=red]#1--++(0,1); \fi }