影像檔案名稱中的百分號和空格

影像檔案名稱中的百分號和空格

在我的應用程式中,我(透過乳膠產生)創建了一個充滿數字的表格。現在,由於這些數字可能有困難的名稱,我需要確保生成器使每個數字合法的視窗名稱合法的乳膠文件路徑。

我從百分號開始,因為我確信它存在於某些文件中。 (它是包含“/”符號的名稱的剩餘部分,該符號被另一部分轉換為“%2F”)。

現在這破壞了很多東西,因為我顯然大量使用 % 來提高程式碼可讀性,現在乳膠檔案:

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

現在(正如人們所預料的那樣)問題是百分號不再被視為“此處續行”符號,而是一個簡單的字符,並按原樣打印。我嘗試包括\catcode表格單元格內部:

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

但這會破壞乳膠編譯器的「文件結束掃描使用 \tabu@collectbody」。那麼如何使這項工作有效呢?

答案1

您可以建立一個擴展到安全百分比的命令

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

相關內容