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}
Естественно, отображения должны быть установленыпрежнийдля загрузки данных с
\DTLloadrawdb
.