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