Как сопоставить специальные символы в CSV с чем-то другим при обработке с помощью datatool

Как сопоставить специальные символы в CSV с чем-то другим при обработке с помощью datatool

Thedatatool гид пользователяупоминает, что некоторые специальные символы автоматически сопоставляются с эквивалентом набора при загрузке базы данных всыройрежим (через \DTLloadrawdb). Если вы хотите изменить отображение, используйте (например)

\DTLrawmap{£}{\pounds}

Однако, как мне составить карту?активныйсимволы типа %, $, &, _, ... на что-то еще? Следующий минимальный пример не может быть сопоставлен %с чем-то иным, кроме \%(по понятным причинам; %это активный символ комментария):

\documentclass{article}

\usepackage{filecontents,datatool}
\begin{filecontents*}{scores.csv}
Name, Score
Alpha, 80.2%
Beta, 91.3%
Average, 85.75%
\end{filecontents*}

\begin{document}

\DTLrawmap{%}{\$}% <--- this fails...
\DTLloadrawdb{scores}{scores.csv}
\DTLdisplaydb{scores}

\end{document}

решение1

Использоватьсбежалверсия персонажа в <string>части \DTLrawmap{<string>}{<replacement>}. Например,

\DTLrawmap{\%}{\$}

заменил бы %в исходном CSV на \$:

введите описание изображения здесь

\documentclass{article}

\usepackage{filecontents,datatool}
\begin{filecontents*}{scores.csv}
Name, Score
Alpha, 80.2%
Beta, 91.3%
Average, 85.75%
\end{filecontents*}

\begin{document}

\DTLloadrawdb{scoresA}{scores.csv}
\DTLdisplaydb{scoresA}

\DTLrawmap{\%}{\$}% Map % to \$
\DTLloadrawdb{scoresB}{scores.csv}
\DTLdisplaydb{scoresB}

\end{document}

Изdatatool гид пользователя:

Естественно, отображения должны быть установленыпрежнийдля загрузки данных с \DTLloadrawdb.

Связанный контент