\protect-ratlosigkeit

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: \protect-ratlosigkeit

von phi » Fr 21. Aug 2009, 10:39

Bei solchen Anwendungen muss das Argument in der Regel expandierbar sein. Hier ist eine expandierbare (aber nicht endrekursive) Variante von \ntimes:
\newcommand*{\ntimes}[2]{%
  \ifnum\numexpr#1>0
    #2%
    \expandafter\ntimes\expandafter{\number\numexpr#1-1}{#2}%
  \fi
}

\protect-ratlosigkeit

von flying sheep » Do 20. Aug 2009, 16:55

hier mein minimalbeispiel.
minimaler gehts nicht, da ich keine ahnung habe, was hier fragil ist und was robust.
\usetikzlibrary{shapes.multipart}
\begin{tikzpicture}
	\newcommand{\ntimes}[2]{
		\newcounter{i}
		\setcounter{i}{0}
		\whiledo{\value{i}<#1}{\stepcounter{i}#2}
	}
	\newcommand{\toword}[1]{
		\ifcase#1 \relax
		\or       one
		\or       two
		\or       three
		\or       four
		\or       five
		\or       six
		\or       seven
		\or       eight
		\or       nine
		\else     \relax
		\fi
	}
	\pgfmathtruncatemacro{\maxcount}{3*2+1}
	\node (test) [
		rectangle split,
		rectangle split horizontal,
		rectangle split parts=\protect\maxcount,
		rectangle split part fill={orange\ntimes{3}{,white,orange}},
		draw
	] at (0,0) {
		\foreach \x in {1,...,3}
			\pgftruncatemacro{\twox}{2*\x}
			\nodepart{\toword{\twox}}
			\toword{\x}
	};
\end{tikzpicture}
im anhang meine vorlage für ktikz, für nicht-ktikz-benutzer einfach „<>“ durch obigen code ersetzen.

ziel: ich möchte einen multipart-node erstellen, bei dem jeder ungerade part orange und schmal ist, jeder gerade weiß und mit kₐ beschriftet, wobei a eine fortlaufende nummer ist. sinn ist es, einen b-baum darzustellen, die orangen nodes sind pointer, die weißen werte.
im beispielcode hab ich, anstatt ein neues kommando zu erstellen, konstanten eingesetzt (variablen werden im fertigen code alle vorkommen von „3“ sein, die koordinate des knoten (0,0) und sein name (test))

problem: latex macht mir einen strich durch die rechnung und motzt mit
Argument of \pgffor@next has an extra }
, was (wie ich mir schon angelesen habe) bedeutet, dass eben ein fragiles kommando in einem beweglichen argument ist. kann mir jemand die fragilen kommandos erjagen und zur strecke bringen?
Dateianhänge
sansserif.tex
(446 Bytes) 761-mal heruntergeladen

Nach oben