Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » Liste iterativ aufbauen
Druckversion
Druckversion
Autor
Universität/Hochschule J Liste iterativ aufbauen
thaldyron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.04.2003
Mitteilungen: 76
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2008-01-01


Hallo,
ich frage mich gerade wie man das folgende in \LaTeX macht:
Ursprünglich habe ich ein Makro

\newcommand{\liste}{bla}.

Ich möchte nun einen Befehl \addToList definieren, der mir \liste stückweise größer macht, also nach der Zeile

\addToList{\liste}{bla}

sollte "\liste" zu {blabla} auflösen. Soweit ich weiss, unterstützt LaTeX aber keine rekursiven Definitionen, gibt es eine andere Möglichkeit dies zu bewerkstelligen?




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Stefan_K
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 13.07.2005
Mitteilungen: 4353
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2008-01-01


Hallo thaldyron,

das kann man mit \edef tun:
LaTeX
\newcommand\addToList[2]{\edef#1{#1#2}}

\edef definiert ein Makro, im Gegensatz zu \def wird jedoch die Zuweisung expandiert. Hier wird also der Parameter #2 an das Makro #1 gesetzt, das ganze expandiert und #1 wieder zugewiesen.

Viele Grüße,

StefanK




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
thaldyron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.04.2003
Mitteilungen: 76
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2008-01-01


Danke!




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
thaldyron
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.04.2003
Mitteilungen: 76
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2008-01-01


Mhm, weisst du zufällig warum der Zeilenumbruch in

\newcommand\addToList[2]{\xdef#1{#1\\ #2}}

einen Fehler liefert, bzw was ich stattdessen verwenden müsste?

Danke!



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Stefan_K
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 13.07.2005
Mitteilungen: 4353
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2008-01-02


Probier mal:
LaTeX
\newcommand\addToList[2]{\xdef#1{#1\hfil\break #2}}
\\ ist in latex.ltx aufwendig definiert und verursacht den Fehler beim Expandieren - in plain tex kann man einen Zeilenumbruch innerhalb eines Absatzes mit \hfil\break erzwingen.

StefanK



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
thaldyron hat die Antworten auf ihre/seine Frage gesehen.
thaldyron hat selbst das Ok-Häkchen gesetzt.
thaldyron wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]