Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
kleine Bearbeitung wegen Syntax-Hervorhebung

13 Jan '20, 01:58

stefan's gravatar image

stefan
18.4k163148

Variablen beliebig oft konkatinieren und überschreiben

Hey Leute, ich versuche 3 Variablen beliebig oft zu konkatinieren und zwischendrin zu ändern. Also im Grunde var concat = "" var system = "System 1" var notiz = "Eine Notiz" concat = concat + " " + system + ":" + notiz system = "System 2" notiz = "Notiz 2" concat = concat + " " + system + ":" + notiz usw. sodass am Ende eine Variable raus kommt, die beliebig viele Systeme mit vielen Noitzen auflistet. Ich habe mir dafür nun folgendes zusammengegoogelt: \documentclass[12pt]{article} \begin{document} % 0. Definiere TextString \newcommand{\textstring}{} % 1. Definiere Variablen \edef\system{System 1: } \edef\notiz{Online; } % 2. Konkatiniere den String \expandafter\def\expandafter\textstring\expandafter{\textstring { }\system \notiz} % 3. Ausgabe zu Testzwecken \textstring ~ \newline % Wiederhole Schritt 1-3 beliebig oft \edef\system{System 2: } \edef\notiz{Offline; } \expandafter\def\expandafter\textstring\expandafter{\textstring { }\system \notiz} \textstring \end{document} Wie nun zu sehen klappt das aber nicht wie gewünscht. [![alt text][1]][1] System und Notiz sollen beliebig oft überschrieben werden können und anschließend jedes mal das Konkatinieren durchgeführt werden. Was mache ich bloß falsch? Ich habe gefült überall schon \expandafter dran gehangen aber es klappt nichts. Grüße: Jonas [1]: https://i.imgur.com/qEcFwNB.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

10 Jan '20, 14:40

JonnyKnipst's gravatar image

JonnyKnipst
2113

Variablen beliebig oft konkatinieren und überschreiben

Hey Leute, ich versuche 3 Variablen beliebig oft zu konkatinieren und zwischendrin zu ändern. Also im Grunde var concat = "" var system = "System 1" var notiz = "Eine Notiz" concat = concat + " " + system + ":" + notiz system = "System 2" notiz = "Notiz 2" concat = concat + " " + system + ":" + notiz usw. sodass am Ende eine Variable raus kommt, die beliebig viele Systeme mit vielen Noitzen auflistet. Ich habe mir dafür nun folgendes zusammengegoogelt: \documentclass[12pt]{article} \begin{document} % 0. Definiere TextString \newcommand{\textstring}{} % 1. Definiere Variablen \edef\system{System 1: } \edef\notiz{Online; } % 2. Konkatiniere den String \expandafter\def\expandafter\textstring\expandafter{\textstring { }\system \notiz} % 3. Ausgabe zu Testzwecken \textstring ~ \newline % Wiederhole Schritt 1-3 beliebig oft \edef\system{System 2: } \edef\notiz{Offline; } \expandafter\def\expandafter\textstring\expandafter{\textstring { }\system \notiz} \textstring \end{document} Wie nun zu sehen klappt das aber nicht wie gewünscht. [![alt text][1]][1] System und Notiz sollen beliebig oft überschrieben werden können und anschließend jedes mal das Konkatinieren durchgeführt werden. Was mache ich bloß falsch? Ich habe gefült überall schon \expandafter dran gehangen aber es klappt nichts. Grüße: Jonas [1]: https://i.imgur.com/qEcFwNB.png