Me parece que obtienes un kerning diferente si lo usas say\index{say}.
que si lo usas. say.\index{say}
El siguiente ejemplo tonto es donde puedo verlo:
\documentclass[12pt]{memoir}
\usepackage{microtype}
\begin{document}
Some simple text about say.\index{say}
Additional text about say\index{say}.
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say.\index{say} say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
say\index{say}. say.\index{say}
Can you see that there are lots of say\index{say}?
\end{document}
A mi me parecen diferentes:
y entonces pregunto, ¿es el método adecuado say.\index{say}
? ¿Debería aparecer algún comando después de la puntuación (es decir, \label
etc.)?
Respuesta1
Es más fácil ver la diferencia en el archivo de registro.
\documentclass[12pt]{memoir}
\usepackage{microtype}
\begin{document}
\showoutput
1say.\index{say}
2say\index{say}.
\end{document}
muestra
....\OT1/cmr/m/n/12 1
....\OT1/cmr/m/n/12 s
....\OT1/cmr/m/n/12 a
....\kern-0.32639
....\OT1/cmr/m/n/12 y
....\kern-0.97916
....\OT1/cmr/m/n/12 .
....\penalty 10000
....\OT1/cmr/m/n/12 2
....\OT1/cmr/m/n/12 s
....\OT1/cmr/m/n/12 a
....\kern-0.32639
....\OT1/cmr/m/n/12 y
....\OT1/cmr/m/n/12 .
....\penalty 10000
Lo que confirma, como sugiere en la pregunta, que pierde el kern especificado de fuente corrigiendo el espacio antes de .
en este caso -0.97916pt
.
Como veo que egreg acabo de comentar lo mejor es poner el\index
antesla palabra para evitar estos problemas.