|
237 | 237 | \newcommand{\defnxname}[1]{\indextext{\idxxname{#1}}\xname{#1}}
|
238 | 238 | \newcommand{\defnlibxname}[1]{\indexlibrary{\idxxname{#1}}\xname{#1}}
|
239 | 239 |
|
| 240 | +% term.* labels |
| 241 | +\newcommand{\termlabel}[1]{\label{term.\temp}} |
| 242 | +% convert space-separated phrase to dot-separated label name |
| 243 | +\newcommand{\newtermlabelx}[1]{% |
| 244 | +{% remove all formatting instructions |
| 245 | + \let\idxcode=\nocode% |
| 246 | + \let\tcode=\nocode% |
| 247 | + \let\idxgram=\nocode% |
| 248 | + \let\fakegrammarterm=\nocode% |
| 249 | + \let\Cpp=\idxCpp% |
| 250 | + \let\oldconcept\oldconceptname% |
| 251 | + \renewcommand{\ntbs}{ntbs}% |
| 252 | + \renewcommand{\ntmbs}{ntmbs}% |
| 253 | + \StrSubstitute{#1}{ }{.}[\temp]% |
| 254 | + \termlabel{\temp}% |
| 255 | +}} |
| 256 | + |
240 | 257 | % Non-compound defined term.
|
241 | 258 | \newcommand{\defn}[1]{\defnx{#1}{#1}}
|
242 | 259 | % Defined term with different index entry.
|
243 |
| -\newcommand{\defnx}[2]{\indexdefn{#2}\textit{#1}} |
| 260 | +\newcommand{\defnx}[2]{\indexdefn{#2}\newtermlabelx{#2}\textit{#1}} |
244 | 261 | % Compound defined term with 'see' for primary term.
|
245 | 262 | % Usage: \defnadj{trivial}{class}
|
246 |
| -\newcommand{\defnadj}[2]{\indextext{#1 #2|see{#2, #1}}\indexdefn{#2!#1}\textit{#1 #2}} |
| 263 | +\newcommand{\defnadj}[2]{\defnadjx{#1}{#2}{#2}} |
247 | 264 | % Compound defined term with a different form for the primary noun.
|
248 | 265 | % Usage: \defnadjx{scalar}{types}{type}
|
249 |
| -\newcommand{\defnadjx}[3]{\indextext{#1 #3|see{#3, #1}}\indexdefn{#3!#1}\textit{#1 #2}} |
| 266 | +\newcommand{\defnadjx}[3]{\indextext{#1 #3|see{#3, #1}}\indexdefn{#3!#1}\newtermlabelx{#1 #3}\textit{#1 #2}} |
250 | 267 |
|
251 | 268 | %%--------------------------------------------------
|
252 | 269 | %% allow line break if needed for justification
|
|
0 commit comments