von Studi » Mo 27. Jan 2014, 15:13
dribkcalb hat geschrieben:Jetzt würde mich ja nur noch interessieren, wie man die Definition \widestExpression hinbekommt. Das ist doch rekursiv, oder? Hab das mal versucht, selbst zu durchdenken und hab jetzt nen Knoten im Kopf....
Am einfachsten, einfach mit \renewcommand*{\widestExpression}{...} setzen, kann man auch direkt im Text. Oben hab ich ein Makro \widest dafür gemacht, damit man es per Makro und Argument setzen kann. Könnte ja bequemer und besser im Dokument zu lesen sein.
Ich habe auch daran gedacht, es per optionales Argument an \widerel setzen zu lassen, also verwenden (wenn optionales Argument nicht gegeben) oder setzen (wenn optionales Argument angeben ist). Optionales Argument mit Voreinstellung \widestExpression, später wird \widestExpression auf den Wert des optionalen Arguments gesetzt. Klingt auch nach Rekursion.

"Rekursive" Sachen kriegt man auch hin, indem man die Expansionsreihenfolge ändert. Wenn Du sowas wirklich willst, frag genauer, ich seh nicht, was exakt Du meinst.
Man kann das breiteste Element auch automatisch bestimmen lassen wenn es mehrere gibt.
Die letzten beiden Gedanken sind aber sicherlich übertrieben, in der Praxis muss man nicht alles austüfteln, was man automatisieren könnte, das kostet viel Zeit, wenn man das gleiche Ergebnis wie oben genauso hinkriegt. Bei \widerela würde ich das eine = drinnen auch noch ersetzen, und das Argument optional machen mit Voreinstellung =, also \newcommand*{\widerela}[1][=]{...}
Studi
[quote="dribkcalb"]Jetzt würde mich ja nur noch interessieren, wie man die Definition \widestExpression hinbekommt. Das ist doch rekursiv, oder? Hab das mal versucht, selbst zu durchdenken und hab jetzt nen Knoten im Kopf....[/quote]
Am einfachsten, einfach mit \renewcommand*{\widestExpression}{...} setzen, kann man auch direkt im Text. Oben hab ich ein Makro \widest dafür gemacht, damit man es per Makro und Argument setzen kann. Könnte ja bequemer und besser im Dokument zu lesen sein.
Ich habe auch daran gedacht, es per optionales Argument an \widerel setzen zu lassen, also verwenden (wenn optionales Argument nicht gegeben) oder setzen (wenn optionales Argument angeben ist). Optionales Argument mit Voreinstellung \widestExpression, später wird \widestExpression auf den Wert des optionalen Arguments gesetzt. Klingt auch nach Rekursion. ;-) "Rekursive" Sachen kriegt man auch hin, indem man die Expansionsreihenfolge ändert. Wenn Du sowas wirklich willst, frag genauer, ich seh nicht, was exakt Du meinst.
Man kann das breiteste Element auch automatisch bestimmen lassen wenn es mehrere gibt.
Die letzten beiden Gedanken sind aber sicherlich übertrieben, in der Praxis muss man nicht alles austüfteln, was man automatisieren könnte, das kostet viel Zeit, wenn man das gleiche Ergebnis wie oben genauso hinkriegt. Bei \widerela würde ich das eine = drinnen auch noch ersetzen, und das Argument optional machen mit Voreinstellung =, also \newcommand*{\widerela}[1][=]{...}
Studi