Escribir en el archivo de registro

Escribir en el archivo de registro

Quiero escribir algunas cosas en el archivo de registro. ¿Cuál es la mejor práctica para esto? ¿Es \message{}o \typeout{}o qué?

Respuesta1

El comando Plain TeX \wlogtambién está disponible en LaTeX

\wlog{This will be written in the log file}

La macro \wlogse expande a \immediate\write-1y, por regla general, el argumento se escribirá solo en el archivo de registro y no aparecerá en la terminal.


Cuando \writeva seguido de un número entre 0 y 15 (incluido), la operación de escritura se realiza en el flujo de salida con ese número si está abierto en el momento en que se realiza la escritura (inmediatamente o cuando la rutina de salida está en acción, según \immediatepreceda \writeo no). Si el flujo de salida no está abiertooel número no es negativo, el argumento \writese escribe en el terminal y en el archivo de registro. Por el contrario, cuando el número es negativo, el argumento se escribe sólo en el archivo de registro.

Excepción: en la mayoría de las distribuciones TeX, \write18pasa el argumento al sistema operativo, siempre que el escape del shell esté habilitado (posiblemente en modo restringido, consulte el manual de TeX Live o MiKTeX).

El comando LaTeX \typeoutlo hace \immediate\write\@unused, por lo que escribe el argumento tanto en la terminal como en el archivo de registro. No existe ningún comando predefinido de este tipo en Plain TeX. De hecho, \typeouttambién da \protectun significado adecuado para hacer frente a órdenes frágiles en el argumento. La \@unusedsecuencia no está asignada permanentemente a un archivo.

También \messageescribe tanto en la terminal como en el archivo de registro, pero no fuerza una nueva línea, lo que se hace \writecuando la salida se dirige al archivo de registro.

información relacionada