Tome el archivo fuente de látex simple:
\documentclass{article}
\usepackage{lipsum}
\usepackage{amsgen}
\begin{document}
\lipsum[1-10]
\end{document}
Cuando se procesa con "látex", siempre se obtiene el mismo archivo DVI, idéntico en todas partes excepto en la fecha.
Cuando se procesa (varias veces) con "pdflatex", se obtiene el mismo archivo PDF, con la excepción de un ID y la fecha, y lo mismo para "lualatex".
Pero cuando se procesa (varias veces) con "xelatex", se obtienen archivos PDF muy diferentes, con diferentes tamaños. Se pueden ver las diferencias fácilmente con "vimdiff".
¿Por qué el procesamiento con "xelatex" no es determinista y no es el mismo para las mismas fuentes?
Respuesta1
El problema está relacionado con el controlador: xdvipdfmx. Para generar etiquetas únicas para fuentes, se utilizan números aleatorios. Intentar
xelatex -no-pdf test
xdvipdfmx test.xdv
pdffonts test.pdf
La etiqueta cambiará como
LYKESP+CMR10
CBIVMK+CMR10
...
cada vez que corres
xdvipdfmx test.xdv
Respuesta2
Lo que parece diferir son las codificaciones binarias reales de algunas partes. Confío en que el renderizado del pdf no varíe en absoluto. En mi experiencia, el tamaño del archivo cambió solo en más o menos 1 byte (mac os x). He hecho un ediff en modo hexadecimal de dos de estos PDF, aquí hay una instantánea de donde aparecen las primeras diferencias:
Esta primera diferencia se produce, por tanto, en una parte del pdf con respecto a la fuente parcialmente incrustada. No sé qué causa esto.
En términos generales, puedo imaginar que si tiene, por ejemplo, algo de 213 bytes que debe almacenarse en 256 bytes, entonces los últimos 43 bytes pueden ser memoria aleatoria; si, además, una o muchas de esas cosas juntas se comprimen, obtendrá resultados variables. Al descomprimir, habrá basura aleatoria variable después de los terminadores de estructuras (o después de un número determinado de bytes). Como ADN no codificante. Lo cual quizás no sea tanto una falta de codificación, pero no nos desvayamos.
Supongo que sólo alguien familiarizado con el código fuente de XeTeX puede responder de manera convincente.
No te preocupes por lo C-M-'
indefinido, estaba tratando de capturarlo mediante atajos de teclado que había olvidado.