Vereinigung von Listen

Formelsatz für Mathematik, Naturwissenschaften und Technik


ravintastentyp123
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 1. Mär 2016, 10:41

Vereinigung von Listen

Beitrag 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

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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}

ravintastentyp123
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 1. Mär 2016, 10:41

Beitrag 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!

ravintastentyp123
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 1. Mär 2016, 10:41

Beitrag 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?

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Eigentlich sollte das finale Komma auch bei \clist_use:Nn nicht erscheinen. Vielleicht musst du mal deine Pakete aktualisieren …
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

ravintastentyp123
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 1. Mär 2016, 10:41

Beitrag 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!

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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.

Antworten