Prozentzeichen und Leerzeichen im Bilddateinamen

Prozentzeichen und Leerzeichen im Bilddateinamen

In meiner Anwendung erstelle ich (mittels einer Latex-Generierung) eine Tabelle mit Zahlen. Da diese Zahlen schwierige Namen haben können, muss ich sicherstellen, dass der Generator jedelegaler Windows-Nameein gültiger Latex-Dateipfad.

Ich habe mit dem Prozentzeichen begonnen, da ich sicher weiß, dass es in einigen der Dateien vorkommt. (Es ist ein Überbleibsel eines Namens, der ein "/"-Zeichen enthielt, das durch einen anderen Teil in "%2F" umgewandelt wurde.)

Das hat einiges kaputt gemacht, da ich offensichtlich häufig % verwende, um die Lesbarkeit des Codes zu verbessern. Die aktuelle Latex-Datei:

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

Nun besteht das Problem (wie zu erwarten) darin, dass das Prozentzeichen nicht mehr als „Hier Zeile fortsetzen“-Zeichen, sondern als einfaches Zeichen betrachtet und als solches gedruckt wird. Ich habe versucht, es \catcodein die Tabellenzelle einzuschließen:

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

Dies führt jedoch dazu, dass der Latex-Compiler mit „Datei beendete Scannung unter Verwendung von \tabu@collectbody“ abstürzt. Wie kann man das also zum Laufen bringen?

Antwort1

Sie können einen Befehl erstellen, der auf einen sicheren Prozentsatz erweitert

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

verwandte Informationen