So ordnen Sie Sonderzeichen in CSV bei der Verarbeitung über Datatool etwas anderem zu

So ordnen Sie Sonderzeichen in CSV bei der Verarbeitung über Datatool etwas anderem zu

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 \$:

Bildbeschreibung hier eingeben

\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.

verwandte Informationen