Seite 1 von 1

FPadd verändert Wert nur innerhalb der Umgebung

Verfasst: Di 10. Aug 2010, 17:51
von iTob
Nabend,

eigentlich geht das Problem aus dem Minimalbeispiel hervor.
Ich würde gerne eine Summe \erg über das gesamte Dokument aufsummieren. Aber alle \FPadd-Befehle, die in einer Umgebung stehen, werden am ende der Umgebung rückgängig gemacht. Ich brauche den Befehl aber in der Umgebung, weil er ein Argument einer eigenen Umgebung (Punktzahl) zu \erg (Gesamtpunktzahl) addieren soll.

Hier das Beispiel:
\documentclass[11pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{fp}
\setlength{\parindent}{0pt}

\begin{document}
\FPset\erg{0}
\verb|\erg| wurde auf 0 gesetzt: \erg

\FPadd\erg{\erg}{2.5}
zu \verb|\erg| wurden 2,5 addiert: \erg
\begin{quote}
\FPadd\erg{\erg}{10}
In der \verb|qoute|-Umgebung sollen nochmal 10
addiert werden: \erg
\end{quote}
Nach einer Umgebung hat \verb|\erg|  aber denselben Wert,
wie zuvor: \erg

Es soll aber der Wert aus der Umgebung erhalten bleiben.

\end{document}
Hat jemand eine Idee?

Vielen Dank,
liebe Grüße
und einen schönen Abend!
Tobi

Lokales Ergebnis global bekanntmachen

Verfasst: Di 10. Aug 2010, 20:27
von Stefan Kottwitz
Hallo Tobi,

notfalls geht es damit:
\expandafter\xdef\expandafter\erg{\erg}
Das kannst Du natürlich auch in ein Makro fassen.

Stefan

Verfasst: Di 10. Aug 2010, 20:52
von bloodworks
Hallo ich weiß nicht was du genau machen willst, noch ob dir das hilft, aber vll schaust du dir mal pgfmath an.

Im übrigen ein netter Blog zu fixed point Rechnungen in TeX: http://www.texdev.net/2010/06/19/fixed- ... ns-in-tex/

Re: FPadd verändert Wert nur innerhalb der Umgebung

Verfasst: Di 10. Aug 2010, 21:34
von CrazyHorse
iTob hat geschrieben:
eigentlich geht das Problem aus dem Minimalbeispiel hervor.
Ich würde gerne eine Summe \erg über das gesamte Dokument aufsummieren. Aber alle \FPadd-Befehle, die in einer Umgebung stehen, werden am ende der Umgebung rückgängig gemacht. Ich brauche den Befehl aber in der Umgebung, weil er ein Argument einer eigenen Umgebung (Punktzahl) zu \erg (Gesamtpunktzahl) addieren soll.

Hat jemand eine Idee?
vor \end{quote} einfach den \erg-Wert global definieren:
...
\xdef\erg{\erg}
\end{quote}

Verfasst: Di 10. Aug 2010, 21:41
von Stefan Kottwitz
Ja, die \expandafter im 2. Beitrag kann man weglassen, ich wollte es zunächst anders vorschlagen und hatte die noch drin.

Stefan

Verfasst: Mi 11. Aug 2010, 18:01
von iTob
Danke für die Antworte, werde das nachher mal versuchen.

pgfmath schaue ich mir auch an, aber ich bin noch nicht sicher, ob ich Lust habe alles von FP auf pgs umstuzellen.

Verfasst: Do 12. Aug 2010, 12:39
von iTob
Guten Morgen... 8)

die Definition einer globalen Variable hat mein Problem gelöst, mit pgfmath hab ich mich aber noch nicht beschäftigt, mal sehen, wann ich dazu Lust hab..

Danke nochmal!
Viele Grüße
Tobi