hi, second try (something went wrong the first time...):
I stumbled over the following: I have some ms-macros to collect .NH section headings automatically in a table of content (TOC) with the correct section number. a stripped down variant is attached. in order to account for .SH sections as well I modifed this recently. the calling syntax is .NHH n heading where `n' is the level and `heading' the section header. if `n' is set to 0 a `.SH' section should be inserted, otherwise a level-n `.NH' section. I now noted that inserting .NHH 0 heading calls in the document leads to omission of the \*[SN] information from the TOC despite correct numbering in the document. only if one uncomments the third line in the attached example (i.e. `.rm SN') everything is ok. question: can someone explain to me what actually is going on? somehow something seems to go wrong with the `.als SN SN-DOT' or I unintentionally mask the correct definition of \*[SN] or whatever. I don't get it why the `.NH' calls work, but \*[SN] no longer contains the correct information if I insert the `.SH' option in the macro definition. why have I explicitely `.rm SN' first?? any ideas would be appreciated :-) joerg
.de NHH .ie (\\$1 > 0) \{\ .\"rm SN \"uncomment to `repair' TOC .NH \\$1 \\$2\ \} .el \{\ .SH .\"ds SN this would prevent the `SN undefined' warning \\$2\ \} .XS .ie '\\*[SN]'' \\$2 .el \\*[SN] \\$2 .XE .. .\"------------------------------------------------------------------------------- .NHH 0 heading1 .LP SN register content: >>>\*[SN]<<< .\"------------------------------------------------------------------------------- .NHH 1 heading2 .LP SN register content: >>>\*[SN]<<< .\"------------------------------------------------------------------------------- .NHH 2 heading3 .LP SN register content: >>>\*[SN]<<< .\"------------------------------------------------------------------------------- .PX