Hi,
After a few days working in "do what the tutorials say" mode, I now want to understand TeX from a programmer's mindset. I have not been able just by practise to work out what the syntactic rules of TeX are, and I am hoping that there is a sensible guide to this somewhere. However, searches for things like "tex syntax" draw a blank. Some of the things I want to understand, for example, are: (1) what is the distinction between square brackets and curly brackets after a command? (2) Why are there sometimes lists of square-bracketed lists after a command, each with lists of seeming arguments inside them? (2) What exactly are the "variables" in a TeX file? (I've seen variable-like things sometimes referred to just plainly, sometimes with preceding backslashes as if they were commands/macros). (4) Why can't I end a square-bracketed section with a final square-bracket on a line of its own, as I may do in other programming languages? (5) How are things like \subsection, \subsubsection, \subsubsubsection, ... implemented? I am used to languages in which there is only a finite set of commands; why is the logic here not more like \section[level=1], \section[level=2], ... ? (6) Perhaps I'm misunderstanding things and all this isn't actually the fundamental syntax of TeX but just adhoc syntax defined by various macros doing different things -- is this the case; to what degree can macros define syntax?
Obviously I don't expect answers to all these here, but can someone point me to somewhere on the 'net that could answer them? The only other possibilities I can see are buying an expensive copy of the TeXbook, etc.
Thanks all,
James Fisher