PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldung Command \U already defined



kurunta
11-01-2012, 15:32
Hallo zusammen,
Ich bin noch Anfänger was LaTeX angeht, deshalb bitte ich um Nachsicht, wenn ich etwas schwer von Begriff sein sollte.
Ich habe kürzlich angefangen einen längeren Text auf XeLaTeX zu schreiben, und hatte auch keine Probleme damit. Nun habe ich einen zweiten Computer an der Uni auf dem ich ebenfalls LaTeX installiert habe. Und wenn ich nun dasselbe File zuhause bearbeite funktioniert alles ohne Probleme, an der Uni bekomme ich aber die obengenannte Fehlermeldung.
Es scheint als kämen sich die packages semtrans, tipx und fontspec in die Quere, aber ich finde nicht heraus wie und warum. All diese packages hatte ich auch früher schon auf meinem Laptop zuhause verwendet. Und da gab es nie Probleme.
Woran könnte das liegen, resp. wie kann ich den Fehler ausmerzen?
Console-file des funktionierenden Ablaufs kann ich heute abend nachliefern.

sommerfee
11-01-2012, 15:55
\U wird sowohl von fontspec als auch von semtrans definiert.

Abhilfe: Sich für eines der beiden Definitionen entscheiden. Wenn man z.B. die von fontspec behalten möchte, kann man vor dem Laden von semtrans die Definition sichern, dem semtrans-Paket vorgaukeln, \U sei noch nicht definiert, und nach dem Laden die Definition restaurieren, z.B. so:



...
\let\SavedU\U % \U sichern
\let\U\undefined % Definition von \U löschen, damit semtrans nicht mosert
\usepackage{semtrans}
\let\U\SavedU % \U restaurieren
...


Alternativ könnte man auch die andere Definition retten, indem man sie via \let in ein anderes Makro kopiert, bevor man \U restauriert, etwa:



...
\let\SavedU\U % \U sichern
\let\U\undefined % Definition von \U löschen, damit semtrans nicht mosert
\usepackage{semtrans}
\let\SemtransU\U % \U nach \SemtransU kopieren
\let\U\SavedU % \U restaurieren
...


Anschließend wäre das \U von fontspec als \U verfügbar, das \U von semtrans als \SemtransU.

Das ganze läßt sich beliebig variieren, je nachdem, welches \U du gerne unter welchem Kommando haben möchtest.

sommerfee
11-01-2012, 16:14
Nachtrag: Den Konflikt kann man auch (eleganter) mit Hilfe des savesym-Paketes lösen:

http://ctan.org/pkg/savesym

kurunta
12-01-2012, 09:59
Vielen Dank für die prompte Antwort. Habe das Problem mit savesym beheben können.
Allerdings haben einige Befehle von tipx ebenfalls Probleme gemacht. Ich habe es mal rausgenommen, weiß nicht wofür ich das gebraucht hatte.

Nun ist aber eine weitere Frage aufgetaucht, als ich die Lösung vom Minimalbeispiel in mein File übertragen wollte. Nun werden die h mit Kringel unten als h mit Strichen oben dargestellt. Ich glaube hyperref als Schuldigen ausgemacht zu haben. Ein Fehler wird mir aber nicht angezeigt.

Übrigens:
Aber wenn ich tipx behalten wollte müsste ich dann alle Befehle einzeln umdefinieren?
Muss ich da jeweils alles komplett angeben, für jeden einzelnen Befehl? Oder wären da einige Dinge überflüßig?
Also:

\usepackage{savesym}
\usepackage{tipx}
\savesymbol{Befehl1}
\usepackage{fontspec}
\restoresymbol{fs}{Befehl1}

\usepackage{savesym}
\usepackage{tipx}
\savesymbol{Befehl2}
\usepackage{fontspec}
\restoresymbol{fs}{Befehl2}

und so weiter?