::
Se leggessi la documentazione di makeindex (magari anche il tutorial texdoc ind) vedresti che fra le funzionalità di makeindex e quelle di pdlatex (e compagnia) puoi fare cose incredibili; quella che tu vorresti realizzare non è una chimera;
Se poi usi il pacchetto xparse, che estendo enormemente la collezione di comandi per definire altri comandi, avresti ancora più possibilità.
Ti do la scelta fra queste possibilità.
1) un nuovo comando che richiede l’uso del pacchetto etoolbox:
`\newcomamnd\indexabcd[2][]{\ifblank{#1}%
{\index{abcd!#2@#2}}%
{\index{abcd!#2@#2|#1}}%
}`
che puoi usare come [\code]\indexabcd{pippo}
\indexabcd[n]{pippo}
\indexabcd[textbf]{pippo}[/code]
2) un nuovo comando con due argomenti obbligatori; sempre con etoolbok:
`\newcommand\indextwoarg[3]{\ifblank[#1}%
{\index{#3!#2@#2}}%
{\index{#3!#2@#2|#1}}%
}`
dove il terzo argomento è il livello gerarchicamente superiore alla voce che vuoi indicizzare.
3) comando simile al precedente ma con argomenti delimitati; sempre con etoolbox, ma il primo argomento va sempre indicato anche se è vuoto`\def\indexiii[#1]#2sub#3!{\ifblank{#1}%
{\index{#3!#2@#2}}%
{\index{#3!#2@#2|#1}}%
}`
4) due argomenti facoltativi con il pacchetto xparse
`\NewDocumentCommad{o d() m}%
{\IfNoValueTF{#2}{\IfNoValueTF{#1}{\index{#3}{\index#3|#1}%
}{\IfNoValueTF{#1}{\index{#2!#3@#3}}{\index{#2!#3@#3|#1}}%
}%
}`dove il primo argomento facoltativo, da racchiudere eventualmente fra parentesi quadre, è il nome del comando che serve per mettere il numero di pagina in uno stile speciale; il secondo argomento, da racchiudere fra parentesi tonde, serve per mettere la voce gerarchicamente sotto questo secondo argomento; la voce da indicizzare è il terzo argomento.
Come vedi la deifnizione con xparse è un poco più complessa, ma con i test sui due argomenti facoltativi permette con un unico comando di infdicizzare quello che vuoi nel modo che vuoi.
Se ppoi vui qualcosa inserito in corsivo, ti basta aggiungere un altro argomento facoltativo delimitato come ti pare, ma non con quadre o tonde, in modo che se ometti degli argomenti facoltativi dalla lista, il comando è in grado di stabilire da solo quali sono presenti e quali no.
Si può fare di meglio, ma ti lascio esercitare come meglio credi.