sinal de porcentagem e espaço no nome do arquivo da imagem

sinal de porcentagem e espaço no nome do arquivo da imagem

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 \catcodedentro 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}

informação relacionada