Na minha aplicação eu (por meio de geração de látex) crio uma tabela preenchida com figuras. Agora, como esses números podem ter nomes difíceis, preciso ter certeza de que o gerador faz cadanome legal do Windowsum caminho de arquivo de látex legal.
Comecei com o sinal de porcentagem, pois tenho certeza que está em alguns arquivos. (É uma sobra de um nome que continha um sinal "/" que é convertido por outra parte para "%2F").
Agora, isso quebrou algumas coisas, já que obviamente uso muito % para legibilidade do código, o arquivo latex agora:
\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}
Agora (como se pode esperar) o problema é que o sinal de porcentagem não é mais considerado um sinal de "linha contínua aqui", mas sim um caractere simples, e é impresso como tal. Tentei incluir \catcode
dentro da célula da tabela:
\begin{tabu}{c}
\catcode`\%=12
\includegraphics{{"testing %"}}
\catcode`\%=14
\\%
\includegraphics{test2}
\end{tabu}
Mas isso quebra o compilador de látex com "uso de verificação de arquivo finalizado de \tabu@collectbody". Então, como fazer isso funcionar?
Responder1
Você pode criar um comando que se expanda para uma porcentagem segura
\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}