Seite 1 von 1

Symbolverzeichnis .. und auf einmal geht nichts mehr

Verfasst: Do 26. Sep 2013, 19:38
von Mr1500
Hallo miteinander,

zuerst einmal Entschuldigung für den kryptischen Threadnamen. Ich bin inzwischen mit den Nerven am Ende und weiß kaum, wie ich mein Problem beschrieben soll. Ein Versuch:

Ich hab vorhin über glossaries ein Symbolverzeichnis angelegt und für 3 Symbole zum Laufen bekommen. Nachdem ich weitergearbeitet habe, bekam ich aber einen Fehler, den ich mittlerweile seit 5 Stunden erfolgreich zu beheben versuche.

Eins der Symbole war wiefolgt definiert:
\newglossaryentry{symb:Potenzmenge}{
name=$\mathcal{P}(\Omega)$,
description={Potenzmenge von $Omega$},
sort=symbolPomega, type=symbolslist
}
Im Text bspw. an einer steht an einer Stelle
Dann heißt das Mengensystem \[\sigma(\mathcal{F}):=\cap\{\mathcal{A}\subseteq \mathcal{P}(\Omega)|\mathcal{A}
, und LaTeX bringt beim abschließenden \mathcal{A} den Fehler
LaTeX Error: \mathcal only allowed in math mode
Ich verstehe, dass das mit der Einbettung von \mathcal{P}(\Omega) in die $-Zeichen zu tun hat und deswegen fälschlicherweise der math mode verlassen wird, aber ich kann den Fehler nicht beheben. Ich habe die letzten 5 Stunden damit verbracht das Symbolverzeichnis zu korrigieren (z.b. mittels \ensuremath), aus meiner Datei zu entfernen und immer wieder neu zu kompilieren. Ich habe bis auf die .tex-Datei alles gelöscht (aux,syg,...), ich habe über die Eingabeaufforderung kompiliert... ich kriege es einfach nicht mehr zum Laufen. Und wenn ich Kapitel oder Zeile wegkommentiere, geht es in der nächsten Formel mit einem Omega so weiter. Es ist zum heulen...

Könnt ihr mir weiterhelfen? Hat sich der Fehler vlt. irgendwo in MikTeX eingepflanzt (ich benutze MikTeX 2.9 und als Editoren Led und Texniccenter.. hat beides nicht geklappt). Ich vermute dies, da ich den Fehler auf meinem Laptop nicht kriege.

Vielen Dank schonmal für eure Hilfe!

Verfasst: Do 26. Sep 2013, 20:30
von u_fischer
Wenn der Fehler sich so fortplanzt wie du das sagst, ist die Fehlerquelle wahrscheinlich ganz woanders. Bist du dir sicher, dass du \Omega nicht irgendwie umdefiniert hast und es deswegen deinen Code zerlegt? Was sagt denn \show\Omega?

Verfasst: Do 26. Sep 2013, 21:10
von Mr1500
Vielen Dank für deine Antwort, Ulrike.

\show\Omega führt zu \Omega = \mathchar"700A
\show\mathcal führt zu \mathcal=macro: \protect \mathcal

Im Anschluss hatte ich nur noch das Package program eingebunden und ein Kapitel mit dem Beispielcode
\begin{program}
\mbox{A fast exponentiation procedure:}
\BEGIN \\ %
  \FOR i:=1 \TO 10 \STEP 1 \DO
     |expt|(2,i); \\ |newline|() \OD %
\rcomment{This text will be set flush to the right margin}
\WHERE
\PROC |expt|(x,n) \BODY
          z:=1;
          \DO \IF n=0 \THEN \EXIT \FI;
             \DO \IF |odd|(n) \THEN \EXIT \FI;
\COMMENT{This is a comment statement};
                n:=n/2; x:=x*x \OD;
             \{ n>0 \};
             n:=n-1; z:=z*x \OD;
          |print|(z) \ENDPROC
\END
\end{program}
erstellt.

Wenn ich das entferne kann ich auf meinem Laptop (ebenfalls LeD und Miktex 2.9) alles kompilieren. Nur auf dem PC geht es weiterhin nicht. Daher befürchte ich, dass lokal irgendwas überschrieben wurde, aber die Dateien an sich sauber sind.

Könnte eine Neuinstallation von Miktex Aussicht auf Besserung liefern?

Verfasst: Do 26. Sep 2013, 21:21
von Mr1500
Mir fällt grad auf, dass die Fehler immer dort kommen, wo ich das Symbol "|" verwende (also im Sinne von "für die gilt").

\show\| führt zu \|=macro: \delimiter "026B30D

Edit 1: Vielleicht hat der obige code das Symbol irgendwie umdefiniert? Ich sehe aber nicht wo/wie... :?

Edit 2: Habe eben \newcommand{|}{\vert} probiert. Dann funktionieren meine Tabellen leider nicht mehr. (Spalten-Linien)

Verfasst: Do 26. Sep 2013, 21:55
von u_fischer
Also eine Neuinstallation dürfte wenig sinnvoll sein: Wenn die neueste Version oder dein Dokument eines Paketes schuld ist, nützt es nichts, wenn eine ältere Version schuld ist, kannst du ja einfach updaten. Abgesehen davon: ohne konkreten Code ist es schwierig zu helfen.

Verfasst: Fr 27. Sep 2013, 13:07
von sudo
Mr1500 hat geschrieben:Habe eben \newcommand{|}{\vert} probiert. Dann funktionieren meine Tabellen leider nicht mehr. (Spalten-Linien)
Und wie sieht es aus, wenn du in den Gleichungen statt | \vert verwendest?

Wenn das nicht funktioniert: VM!

Verfasst: Fr 27. Sep 2013, 13:18
von u_fischer
Nun, dieses program.sty ist eindeutig schuld. Es macht | aktiv. Du kannst es mal mit \normalbaroutside am Anfang des Dokuments versuchen. Aber ich würde program.sty lieber nicht verwenden. Es macht nicht den Eindruck, als wüsste der Autor, wie man Nebeneffekte vermeidet. Das hier z.B. gibt auch Fehler:
\documentclass{article}

\usepackage[tikz]{mdframed}
\usepackage{program}
\begin{document}
abc
\end{document}

Verfasst: Fr 27. Sep 2013, 22:26
von Mr1500
Hallo Ulrike,

vielen Dank für deine Hilfe. Inzwischen habe ich das package program entfernt und durch algorithm2e ersetzt. Alles funktioniert wieder wie es soll und nach Studium der Dokumentation ist auch das Ergebnis sehr ansehnlich. :)

Jetzt geht's mit dem Symbolverzeichnis weiter, hoffentlich besser als noch gestern.

Viele Grüße und noch einmal herzlichen Dank!