PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String automatisch editieren



Titux
08-07-2008, 20:42
Hallo zusammen!

Gibt es eine Möglichkeit, in Latex einzelne Zeichen eines Strings zu löschen bzw. einzelne Zeichen einzufügen?

So weit ich weiß, müsste das über die guten alten TeX-Befehle gehen, mit denen ich mich nicht so gut auskenne.

Genauer habe ich eigentlich folgendes vor:
Ein anderes Programm schreibt mir Kommazahlen automatisiert in die TeX-Datei;
man stelle sich vor, meine Datei enthalte die Zeile


Dieser Berg ist \input{hoehe} Meter hoch

und die Datei hoehe.tex bestehe aus der einen Zeile

513,12

Nun möchte ich solche Zahlen addieren.
Das ist (wie man etwa in diesem Forum herausfinden kann) kein Problem,
so lange es um ganze Zahlen geht.
Das heißt, wenn meine Zahlen mit gleicher Genauigkeit angegeben sind,
könnte ich sie addieren, wenn ich vorher die Kommas aus dem Ziffernstring
entfernen und nach dem Rechnen wieder eines vor der zweitletzten (z.B.) Stelle einfügen
kann.

Ich frage mich also, wie man einen Befehl

\newcommand\KommaWeg[1]{.....}

definieren kann, so dass aus
\KommaWeg{513,12} 51312
wird, und einen Befehl

\newcommand\KommaSetzen[2][2]{...},

so dass aus

\KommaSetzen{51312} 513,12
und (eventuell) aus
\KommaSetzen[3]{51312} 51,312
wird?


Vielen Dank für Eure Hinweise!

Stefan_K
08-07-2008, 21:06
Hallo Titux,

das geht recht einfach mit dem xstrings-Paket (http://tug.ctan.org/tex-archive/macros/latex/contrib/xstring/):

\usepackage{xstring}
\newcommand*\KommaWeg[1]{\StrDel[0]{#1}{,}}
\newcommand*\KommaSetzen[2][2]{\StrGobbleRight{#2}{#1},\StrRight{#2}{#1}}


Viele Grüße,

Stefan