Parece-me que você obtém um kerning diferente se usar say\index{say}.
e se usar. say.\index{say}
O seguinte exemplo bobo é onde posso vê-lo:
\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}
Eles parecem diferentes para mim:
e então eu pergunto, é o método adequado say.\index{say}
? Algum comando deve vir após a pontuação (ou seja, \label
etc)?
Responder1
É mais fácil ver a diferença no arquivo de log.
\documentclass[12pt]{memoir}
\usepackage{microtype}
\begin{document}
\showoutput
1say.\index{say}
2say\index{say}.
\end{document}
mostra
....\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
O que confirma, como você sugere na pergunta, que você perde o kern especificado pela fonte corrigindo o espaço antes de .
neste caso -0.97916pt
.
Pelo que vejo, egreg acabou de comentar, é melhor colocar o\index
antesa palavra para evitar esses problemas.