Eldatatool
guía del usuariomenciona que ciertos caracteres especiales se asignan automáticamente al equivalente tipográfico al cargar una base de datos encrudomodo (a través de \DTLloadrawdb
). Si desea cambiar el mapeo, use (por ejemplo)
\DTLrawmap{£}{\pounds}
Sin embargo, ¿cómo puedo mapearactivo¿Personajes como %
, $
, &
, _
, ... a otra cosa? El siguiente ejemplo mínimo no se puede asignar %
a algo que no sea \%
(por razones obvias; %
es un carácter de comentario activo):
\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}
Respuesta1
Utilizar elescapadoversión del personaje en la <string>
parte de \DTLrawmap{<string>}{<replacement>}
. Por ejemplo,
\DTLrawmap{\%}{\$}
reemplazaría %
en el CSV fuente con \$
:
\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}
Desde eldatatool
guía del usuario:
Naturalmente, las asignaciones deben establecersepreviopara cargar los datos con
\DTLloadrawdb
.