
En otras palabras, ¿el conjunto de todos los archivos de texto que se compilan bajo tex forma un monoide bajo concatenación?
Recientemente incursioné un poco en el texto simple y mis sentidos de araña algebraicos inmediatamente hormiguearon. Pensé en buscar la respuesta en Google con facilidad, pero hasta ahora no he encontrado nada.
Respuesta1
Primero, un archivo tex simple termina en \bye
(y un archivo latex termina en \end{document}
), y todo lo que sigue se ignora. Entonces su afirmación es trivialmente correcta, ya que el segundo archivo se ignora después de la concatenación.
Si lo consideramos \bye
un "metacomando", incluido en una concatenación, entonces su afirmación es incorrecta.
Considere los archivos
\def\aa{0}
\aa
\bye
y
\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye
Cada uno de ellos compila, pero la concatenación no:
\def\aa{0}
\aa
\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye
produce
! Undefined control sequence.
l.5 \ifx\aa\bb\cc
\fi
?
! Emergency stop.
La razón es que indefinido \aa
no está definido en el segundo archivo, pero es el mismo que \bb
en el concatenado.
Respuesta2
En TeX simple, un archivo con el formato adecuado terminará \bye
indicando al compilador que deje de buscar entradas. Por lo tanto, la concatenación solo compilará el primer archivo y luego se ignorará el resto. (Así que no). En LaTeX, un archivo compilable terminará \end{document}
nuevamente para indicarle al compilador que ya está listo. Por lo tanto, solo se compilará el primer archivo de la concatenación y el resto se ignora. Además, el segundo archivo ahora tendrá un preámbulo en una ubicación que generaría un error de compilación si me vieran. (Entonces no.)
No se analizan los impactos adicionales de los paquetes, fuentes, archivos ingresados, etc.