Odatatool
guia de usuariomenciona que certos caracteres especiais são automaticamente mapeados para o equivalente de composição ao carregar um banco de dados emcrumodo (através de \DTLloadrawdb
). Se você quiser alterar o mapeamento, use (por exemplo)
\DTLrawmap{£}{\pounds}
No entanto, como faço para mapearativocaracteres como %
, $
, &
, _
, ... para outra coisa? O exemplo mínimo a seguir não é mapeado %
para algo diferente de \%
(por razões óbvias; %
é um caractere de comentário ativo):
\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}
Responder1
Use oescapouversão do personagem na <string>
parte de \DTLrawmap{<string>}{<replacement>}
. Por exemplo,
\DTLrawmap{\%}{\$}
substituiria %
no CSV de origem por \$
:
\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}
Naturalmente, os mapeamentos devem ser definidosanteriorpara carregar os dados com
\DTLloadrawdb
.