Wie unten im MWE angegeben, bin ich auf der Suche nach einer Funktion, die für eine beliebige aber unbekannte Anzahl an Variablen, die mit diesem Script erstellt werden addieren soll. Weitere Kommentare sind im Minimalbeispiel.
EDIT1: Wichtig ist, dass
Die Vorgestellten Versionen erfüllen ohne pgfmath diese Forderung (wie ich bemerkt habe) nicht. Ich würde mir unter dieser Maßgabe, dass Assignvalues prinzipiell mit beliebige Eingabetypen arbeiten kann eben genau diese Funktion wünschen, eine
Falls Der Funktion ist NICHT bekannt, wieviele Additionen durchgeführt werden, das ergibt sich nur durch das Trennzeichen. Ich hoffe, deutlicher erklärt zu haben, was ich mir wünschen würde. EDIT2: Dieses Codesample tut bei mir nicht... und meldet....undefined control sequence argument goldnas@currentValueA ...
LG Peter gefragt 01 Sep '13, 12:49 Goldnas
Ergebnis 5 von 8
show 3 more comments
|
Dein BeispielWenn du
und mit
verwendest, enthält
wobei dann VerbesserungAnstatt Macro-Sequenzen wie
wobei an den mit
vielleicht PGFmath?Aber warum denn die Mathematik neu definieren? Das Paket Ein kleiner Anfang:
beantwortet 01 Sep '13, 13:01 Qrrbrbirlbel Hallo Qrrbrirlbel, Dein Beispiel welches assignvalues umdefiniert funktioniert genau dann nicht, wenn ich Textzuweise. Ab diesem Zeitpunkt kann ich eben nur noch Zahlen zuweisen. assignvalues soll aber für beliebige Inputtypen funktionieren. Beispielsweise ist es notwendig, dass, folgender Aufruf ebenfalls funktioniert.
Deine Alternative mit pgf ist zwar gut, dazu müßte ich aber ALLE Zuweisungen ändern. Das würde ich gerne vermeiden, wenn es aber nicht anders geht natürlich machen, da es ja eine Lösung ist. EDIT des Orginals...
(01 Sep '13, 14:18)
Goldnas
@Goldnas Mit
setzt
(01 Sep '13, 14:34)
Qrrbrbirlbel
Vielleicht mach ich was fundamental falsch.... ich hab einen zweiten Edit angefügt....
(01 Sep '13, 14:40)
Goldnas
|
Falls du den Code selbst geschrieben hast, wäre eine Kommentierung ganz praktisch, was was macht; falls du ihn irgendwo her hast, wäre eine Quelle hilfreich. – Werden nur Integer erwartet oder auch Floats? Ist die Verwendung von
fp
Pflicht? Für was ist das zweite Argumentsumme
von\addall
?Kannst Du dazu sagen, was
\assignvalues
macht? Wenn ich mich recht erinnere, definiert es im Beispiel Makro\A
=>5
, Makro\B
=> 10 usw. Mir ist aus der Frage nicht klar, wie Du\addall
konkret verwenden willst. So:\addall{A|B|C|D}{\summe}
=> definiert Makro\summe
zu50
?Die
\ifinstr
Definition scheint mir übrigens unnötig. Sowohletoolbox
als auchKOMA-Script
(die Du beide lädst) stellen ein entsprechendes Makro bereit.Hallo du.
Antwort 1: Nicht selbst geschrieben, daher gebe ich dir die Quellen an.
Primärquelle, die dann später noch wegen Umlaute modifiziert werden mußte. http://www.mrunix.de/forums/showthread.php?t=73700&page=2&highlight=Goldnas
Quelle, nach Modifzierung. http://tex.stackexchange.com/questions/70246/special-command-and-caption
Es werden auch floats erwartet. Ich verwende fp massiv für die Zuweisung von Variablen, ich bin allerdings auch offen für andere Lösungen, daher ist meine Antwort nein.
;)
LG Peter
@Clemens: assignvalues{A|B|C|D|E}{5|10|15|20|Österreich}
A => 5 B => 10 C => 15 D => 20 D => Österreich
Ich würde gerne eine Funktion haben wie sie von Qrrbrbirbel gerade vorschlagen worden ist....am liebsten wäre mir halt noch wenn ich diese Funktion mit 2 Parameter bekommen könnte, aber so ist es schon sehr gut. ;)
wegen ifinstr.... dazu kann ich nichts sagen......
LG Peter
@Goldnas welchen zusätzlichen Parameter benötigst Du noch? @Qrrbrbirlbel hat ja nur die Klammern um
\summe
nicht hingeschrieben. Ist aber gleichbedeutend mit\addall{A|B|C|D}{\summe}
.Du meinst sicher
\A
=> 5\B
=> 10\C
=> 15\D
=> 20\E
=> Österreich (mit Backslashs).@Clemens:
Wenn ich A aufrufe (wie ein Kommando ohne Argument) dann schreibt er mir eben die Zahl hin. Das Kommando von Qrrbrirlbel rechnet bei mir nicht. Hm....und wieso nicht so
addall{A|B|C|D}{summe} formuliert wurde, verstehe ich auch nicht, das wäre doch konsistent, alles sind variablen, die hier im kommando so aufgerufen werden und wenn sie ausserhalb des kommandos verwendet werden, gibt es den content....
summe => 50
LG Peter
@Goldnas könntest Du bitte versuchen, markdown zu verwenden? sonst werden Backslashs einfach verschluckt. Code wird zwischen Backticks eingegeben. Die Eingabe
`\A`
gibt dann\A
.Re »Das Kommando von Qrrbrirlbel rechnet bei mir nicht.« Dann editiere doch Deine Frage dahingehend, wie genau Du Dir die Lösung vorstellst und wieso die Lösung nicht reicht.
Die Meldung
! Undefined control sequence. \goldnas@currentValueA
sieht nach einem Schreibfehler aus (großes V statt kleinem). Der Code, den Du gepostet hast, liefert aber tatsächlich eine andere Meldung:! Undefined control sequence. \assignvalues
! Wenn ich die fehlenden Definitionen aber hinzufüge, funktioniert er wie erwartet...