%% LaTeX2e file `tmp-gen-using-a-primitive-data-type.tex' %% generated by the `filecontents' environment %% from source `codeanatomy.lstlisting' on 2025/10/19. %% \lstset{escapeinside={!}{!}} \begin{lrbox}{\mycodebox} \begin{lstlisting} !\cPart{d}{int a, b;}! !\iPart{v}{a}! = !\cPart{l}{1234}!; !\iPart{a}{b = 99}!; !\cPart{i}{int c = a + b}!; \end{lstlisting} \end{lrbox} \begin{tikzpicture}[ remember picture % ,code annotation/.append style = { % customize style of annotation text font=\sffamily\footnotesize } ] {[on background layer]\draw[code grid debug] (-2.5,-0.5) grid (2.5,2.5);} \node(code) [anatomy] at (0,0){\usebox\mycodebox}; % Annotations \codeAnnotation{declareText} ( 1,2.75 ) {declaration statement} \codeAnnotation{literalText} ( 2.5,1.45) {literal} \codeAnnotation{varText} (-1.5,1.75 ) {variable name} \codeAnnotation{assignText} (-1.5,0.75 ) {assignment\\statement} \codeAnnotation{initText} (-1.5,-0.75) {inline initialization\\statement} % Arrows \draw[->,annotation] (declareText) -- (d); \draw[->,annotation] (literalText) -- (l); \draw[->,annotation] (varText.south east) -- (v); \draw[->,annotation] (assignText) -- (a); \draw[->,annotation] (initText) -- (i.south west); \end{tikzpicture}