signo de porcentaje y espacio en el nombre del archivo de imagen

signo de porcentaje y espacio en el nombre del archivo de imagen

En mi aplicación creo (mediante una generación de látex) una tabla llena de figuras. Ahora bien, como esas figuras pueden tener nombres difíciles, necesito asegurarme de que el generador haga cada una de ellas.nombre legal de windowsuna ruta de archivo de látex legal.

Comencé con el signo de porcentaje, como estoy seguro de que se encuentra en algunos de los archivos. (Es un resto de un nombre que contenía un signo "/" que otra parte convierte en "%2F").

Ahora bien, esto rompió bastantes cosas, ya que obviamente uso % mucho para la legibilidad del código, el archivo latex en este momento:

\documentclass{article}
\usepackage[a4paper, portrait]{geometry}
\usepackage{graphicx}
\usepackage{tabu}


\catcode`\%=12
\begin{document}
\begin{table}
\centering
\begin{tabu}{c}
\includegraphics{{"testing %"}}
\\%
\includegraphics{test2}
\end{tabu}
\end{table}

\end{document}

Ahora (como es de esperar) el problema es que el signo de porcentaje ya no se considera un signo de "línea continua aquí", sino un carácter simple, y se imprime como tal. Intenté incluir el \catcodeinterior de la celda de la tabla:

\begin{tabu}{c}
\catcode`\%=12
\includegraphics{{"testing %"}}
\catcode`\%=14
\\%
\includegraphics{test2}
\end{tabu}

Pero esto rompe el compilador de látex con el "uso de escaneo de archivos finalizados de \tabu@collectbody". Entonces, ¿cómo hacer que esto funcione?

Respuesta1

Puedes crear un comando que se expanda a un porcentaje seguro.

\documentclass{article}
\usepackage[a4paper, portrait]{geometry}
\usepackage{graphicx}
\usepackage{tabu}


\catcode`\%=12
\newcommand\pcnt{%}
\catcode`\%=14

\begin{document}
\begin{table}
\centering
\begin{tabu}{c}
\includegraphics{"testing \pcnt"}\\% this is a comment
\includegraphics{test2}
\end{tabu}
\end{table}

\end{document}

información relacionada