Can a MWE be given showing the difference, relationship and usage of
\makeatletter and \makeatother ? The existing answer explain these commands but do not provide a useful MWE which would show the usage of them.
They say
\makeatletter % changes the catcode of @ to 11
<your changes here>
\makeatother % changes the catcode of @ back to 12
@in the name, as a form of protection...users cannot accidentally oveerwrite a macro of the same name or accidentally use it, since in your normal code, a macro name with@in it is forbidden. Thus, the\makeatletter...\makeatothertechnique is a way to override the protection, allowing the...code, as it appears in a normal LaTeX document, to access macros that have@in their name. – Steven B. Segletes Jul 21 '20 at 18:28\makeat...that you're confused about? – Teepeemm Jul 21 '20 at 18:30<your changes here>in my OQ. – user2925716 Jul 21 '20 at 18:31\makeatletterwill provide any number of concrete examples of use. Just this morning, I gave this answer, https://tex.stackexchange.com/questions/554444/defining-a-new-command-using-a-conditional/554455#554455, in which I wrote a user macro that needed to take advantage of the internal macro\@ifnextchar. In order to access the macro, I had to surround the definition with\makeatletterand\makeatother. Important: you generally want the whole definition (not just some inner part) encased in the\makeat.., so that the argument is absorbed with @_11 catcode – Steven B. Segletes Jul 21 '20 at 18:39