وقتی شما میگید \index{a} (منظورم اولین نمایه شماست) در سطح پائین این اتفاقی هست که میفته
\write\@indexfile%
{\string\indexentry{a}{\thepage}}
نمایه شما با استفاده از دستور بدوی \write به فایل .idx نوشته میشود. تک وقتی دستور \write رو میبینه همون موقع process نمیکنه بلکه پردازشش تا زمانی که تک صفحه رو در زمان shipout میسازه به تأخیر میانجامه. به عنوان نمونه اگر شما فایل نمونه زیر رو اجرا کنید:
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
\index{a}
\printindex
\end{document}
در فایل .idx هیچ چیزی وجود نداره چون در صفحه چیزی وجود نداره. در مورد نمونه شما
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
\index{a}
\index {a}
\printindex
\end{document}
در مورد نمایه دوم یعنی \index {a} آرگومان \index فاصله خالی بعدش هست و {a} بصورت معمولی و نه آرگومان دستور \index چاپ میشه. برای اطلاعات بیشتر فصل ۲۱ کتاب TeXBook کنوث صفحه ۲۲۷ رو بخونید.