Derdatatool
Benutzerhandbucherwähnt, dass bestimmte Sonderzeichen beim Laden einer Datenbank inrohModus (über \DTLloadrawdb
). Wenn Sie die Zuordnung ändern möchten, verwenden Sie (zum Beispiel)
\DTLrawmap{£}{\pounds}
Wie kann ich jedochaktivZeichen wie %
, $
, &
, _
, ... auf etwas anderes abbilden? Das folgende Minimalbeispiel kann nicht %
auf etwas anderes abgebildet werden als \%
(aus offensichtlichen Gründen; %
es handelt sich um ein aktives Kommentarzeichen):
\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}
Antwort1
Verwenden Sie dieentkamVersion des Charakters im <string>
Teil von \DTLrawmap{<string>}{<replacement>}
. Zum Beispiel,
\DTLrawmap{\%}{\$}
würde %
in der Quell-CSV durch Folgendes ersetzen \$
:
\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}
Von demdatatool
Benutzerhandbuch:
Natürlich müssen die Zuordnungen eingestellt werdenvorzum Laden der Daten mit
\DTLloadrawdb
.