Aufteilen des Textes von \foo{Text} an einem bestimmten Char

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: Aufteilen des Textes von \foo{Text} an einem bestimmten Char

von Sirius3 » Mi 19. Dez 2012, 08:53

Du hast Dir aus was eine wem herausgesucht und nach welcher Fehlermeldung gefragt?

von stonjohn4 » Mi 19. Dez 2012, 07:13

Ich habe mir hier aus dem eine Definierte Umgebung heraus gesucht und nach einer weiteren hatte ich selber gefragt. Nun wollte ich die zwei einmal zusammen verwenden, es kommt dabei aber nur eine Fehlermeldung

von chris#434b » Do 11. Okt 2012, 14:13

Hallo Sirius

> was hast Du schon alles versucht?

Nun mein archäologisches Gedächtnis hatte sich genau an so ein \def#1:#2{...} Konstrukt erinnert. Jedoch kam ich nicht mit der wahlweisen Optionalität vor dem Doppelpunkt klar.

Danach wollte ich dann auf das \vokale{...} Beispiel aus dem Buch "Einführung in TeX" von "Norbert Schwarz" Seite 120 (Mittlerweile im Netz verfügbar) zurückgreifen, was dann nach meinen Anpassungen in 100 mal "...missing \cr" bei gleicher "Zeilennummer" und dem dann folgenden FATAL-Ausstieg von pdflatex mit einem beinahe "Absturz" meiner Exclipse-Texlipse Umgebung endete.

Aber danke Dir, Deine Lösung funktioniert wunderbar. Ich habe nur das \end durch ein \relax ausgetauscht. Da sich sonst der Texlipse Parser ganz wunderbar über dieses obskure \end echauffiert.

Christian

von Sirius3 » Mi 10. Okt 2012, 22:17

Hallo Chris,

was hast Du schon alles versucht?
\def\bazI#1:#2:\hoffset#3\end{\ifx\hoffset#2#1\else#2\fi}
\def\baz#1{\bazI#1:\hoffset:\hoffset\end}
Ich hoffe, Du willst alles hinter dem ersten ":", und nicht hinter dem letzten ":".
Zweiteres wäre schwieriger.
\baz{Tom: Was sagt Tim?} -> Was sagt Tim?
\baz{Kim: Tim sagt: Tom komm!} -> Tim sagt: Tom komm!
\baz{Tom geht.}  -> Tom geht.
Grüße
Sirius

Aufteilen des Textes von \foo{Text} an einem bestimmten Char

von chris#434b » Mi 10. Okt 2012, 17:14

Hallo,

ich habe gerade die Ehre Dukmentation zu erstellen. Die Quellen der einzelnen Kapitel komm,en von unterschiedlichsten Systemen, u.a. auch aus einer Host-Datenbank, deren Output in geringen maße angepasst werden konnte. Daher viel die Wahl auf (La)TeX. Jetzt zum Problem:

Durch die Anpassungen gibt es Textteile der Form [code]\foo{Text}[/code].

[code]\foo[code] ist definiert als:

[code]\newcommand{\foo}[1]{#1\bar{#1}}[/code]

Soweit so gut. Nun zeigte es sich aber, daß manchmal on #1 ein Doppelpunkt vorkommt. Der Text vor bis einschließlich des Doppelpunktes soll jetzt aber nicht ausgegeben werden.

Das heißt ich benötige jetzt ein Makro [code]\baz#1{...}[/code] innerhalb der geänderten \foo

[code]\newcommand{\foo}[1]{\baz{#1}\bar{#1}}[/code]

das aus seinem Argument vom Anfang bis zum Doppelpunkt (einschließlich) alles entfernt und nur den Rest (der Alles ist wenn *kein* Doppelpunkt vorkommt) "durchläßt"

Hat jemand eine Idee. Meine sind alle im Sande verlaufen oder haben sich in Endlosschleifen fangen lassen. ;-)

Danke
[/code]

Nach oben