Escribir un % en un archivo

Escribir un % en un archivo

Estoy escribiendo una macro para escribir algunos comandos en un archivo de texto. Se supone que este archivo de texto debe leerse más tarde para ejecutar algunas macros.

La macro:

\documentclass{article}
\begin{document}%
\newwrite\tmpfile%
\immediate\openout\tmpfile=output.tex%
\immediate\write\tmpfile{some text and a percent sign}%
\immediate\closeout\tmpfile%
\end{document}%

El texto exportado

some text and a percent sign

Para evitar espacios en blanco aburridos, necesito terminar mis líneas con un signo de porcentaje:%

Probé esta línea

\immediate\write\tmpfile{some text and a percent sign\%}%

que dio:

some text and a percent sign\% 

y no es lo que quiero. Me gustaría tener :

some text and a percent sign% 

¿Es posible escribir un solo signo de porcentaje (%) en un archivo y cómo hacerlo?

Respuesta1

Como %es el carácter de comentario, debes cambiar su significado del código cat 14 a 12, es decir, una letra. Esto se hace en latex.ltxla definición de \@percentchar, sin embargo, esto introduce otro uso "incómodo" \makeatletter...\makeatother, es por eso que muestro la forma en que latex.ltxlo hace, \writepercentpero omitiendo el \makeatletter...\makeatotherpar.

\documentclass{article}


\catcode`\%=12
\def\writepercent{%}
\catcode`\%=14


%Also possible

\makeatletter
\def\writepercentother{\@percentchar}%
\makeatother

\begin{document}%


\newwrite\tmpfile%

\immediate\openout\tmpfile=output.tex%
\makeatletter
\immediate\write\tmpfile{some text and a percent sign\@percentchar}
\makeatother
\immediate\write\tmpfile{Another important text and a percent sign\writepercent}
\immediate\closeout\tmpfile%
\end{document}

información relacionada