Seite 1 von 1

Vereinigung von Listen

Verfasst: Mi 9. Mär 2016, 16:26
von ravintastentyp123
Hallo zusammen,
weiß hier jemand, wie ich Listen in Latex (d.h. beispielsweise {T1, T2, T3} und {T1, T4}) mathematisch vereinigen kann? Mit mathematisch meine ich, dass doppelte Einträge gelöscht, werden, d.h. für obiges Beispiel suche ich einen Befehl \mathmverei,, folgendes leistet:

\mathmverei{{T1, T2, T3},{T1, T4}} liefert {T1,T2,T3,T4}

Vielen Dank schon einmal, und viele Grüße
Christian

Verfasst: Mi 9. Mär 2016, 17:08
von u_fischer
Nun, es ist ziemlich unklar, was du mit "liefern" meinst, aber im Prinzip kannst du Kommalisten z.B. mit expl3 bearbeiten:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand\mathmverei{ m m }
{ 
 \clist_set:Nn \l_tmpa_clist {#1,#2}
 \clist_remove_duplicates:N \l_tmpa_clist
 \clist_use:Nn \l_tmpa_clist{,}
 
}
\ExplSyntaxOff
\begin{document}
\mathmverei{T1, T2, T3}{T1, T4} 
\end{document}

Verfasst: Mi 9. Mär 2016, 17:40
von ravintastentyp123
Mit liefern meine ich, dass im Fließtext dann beipielsweise T1, T2, T3, T4 auftaucht, wenn ich diesen Befehl verwende. Danke für die Antwort, ich werde es morgen ausprobieren!

Verfasst: Do 10. Mär 2016, 10:08
von ravintastentyp123
So, also der Befehl funktioniert super, allerdings erhält auch der letzte Eintrag der neuen Liste ein Komma :/ wie könnte ich das loswerden?

Verfasst: Do 10. Mär 2016, 10:11
von u_fischer
Ich bekomme "T1,T2,T3,T4" raus. Abgesehen davon kannst du in source3.pdf nachlesen, was es sonst noch an clist-Befehlen gibt.

Verfasst: Do 10. Mär 2016, 10:26
von iTob
Eigentlich sollte das finale Komma auch bei \clist_use:Nn nicht erscheinen. Vielleicht musst du mal deine Pakete aktualisieren …

Verfasst: Do 10. Mär 2016, 18:14
von ravintastentyp123
Hab nun herausgefunden, was das Problem war: das Komma zu viel erscheint, wenn eine der beiden Mengen leer ist. Hab mir was mit \ifthenelse gebastelt, sodass die Vereinigung nur angewendet wird, wenn beide meinen nicht-leer sind. Aber danke euch!

Verfasst: Do 10. Mär 2016, 18:19
von u_fischer
ravintastentyp123 hat geschrieben:Hab nun herausgefunden, was das Problem war: das Komma zu viel erscheint, wenn eine der beiden Mengen leer ist. Hab mir was mit \ifthenelse gebastelt, sodass die Vereinigung nur angewendet wird, wenn beide meinen nicht-leer sind. Aber danke euch!
Kann ich nicht nachvollziehen.