Frank Stähr wrote:
> Am Freitag, den 09.04.2010, 00:33 +0200 schrieb Arno Trautmann:
>> Dann am besten \ifmmode \ldots \else \textellipsis \fi verwenden. Dann
>> wird das eingefügt, was am besten passt.
> 
>> Da sollte unbedingt \ensuremath verwendet werden. Wer im Text ¹²
>> eingeben will, fällt sonst ziemlich auf die Schnauze.
> 
> Super, was tex alles kann! Kann man das irgendwie kombinieren? Die
> Mathe-¹ sieht nämlich anders als die Text-¹ aus.

Inwiefern? Ist es eine andere Schrift? Wie gibst du denn die Text-¹ ein?
Für solche Sachen wäre ein Minimalbeispiel extrem hilfreich, so kann ich
nur raten, was du meinst …

> Aber
> \DeclareUnicodeCharacter{00B9}{\ifmmode ^1 \else ¹ \fi}
> klappt nicht (Fatal error occurred, no output PDF file produced!).

… und auch nur raten, was nicht funktioniert.
Ich vermute, was du gerade versuchst, ist, das Zeichen ¹ (als 00B9) zu
definieren, dass es im Textmodus ¹ ausgibt. Das ergibt eine nicht
lösbare Rekursion, die ich momentan auch nicht lösen kann.
Lädt man inputenc übrigens mit utf8x statt mit utf8, funktioniert ¹
schon, im Text- und Mathemodus, sieht aber beidesmal gleich aus.

> \textsuperscript 1 statt ¹ bringt dann zwar keinen Fehler, aber auch nur
> die Mathe- statt der Text-¹.

Das kommt dann auf die verwendete Schrift an.

>>> • Warum klappt ≙ nicht? Auch nicht direkt mit Hilfe von \hateq!
>>
>> Was heißt „klappt nicht“?
> 
> Na
> ! Package inputenc Error: Unicode char \u8:≙ not set up for use with
> LaTeX.
> ist klar, aber bei \hateq kommt
> ! Undefined control sequence.

Ja, es ist nicht defieniert. Und \hateq kennt LaTeX nicht. Wo sollte es
denn definiert sein?

>>> • Und was mich schon immer störte: Warum funktionieren die Befehle
>>> \eqcolon und \coloneq in latex nicht?
>>
>> Was sollte es denn produzieren? Wie kommst du darauf, dass die Befehle
>> etwas tun sollten, woher hast du sie und was passiert, wenn du sie
>> verwendest?
> 
> Ebenfalls undefined con… Ich habe all diese Befehle aus
> <http://mirror.ctan.org/info/symbols/comprehensive/symbols-a4.pdf>.
> Sie sollten die Zeichen ≕ (=:) und ≔ (:=) erzeugen.
> Fehlt da einfach nur ein Paket? Wo kann man das erkennen in dieser PDF?

\hateq steht auf S. 32. Oberhalb der Tabell, die es enthält, steht
„Table 76: MnSymbol Binary Relations“
Das heißt, du musst das Paket MnSymbol laden. Gleiches für \doteq.
Irgendwo ganz am Anfang des Dokumentes müsste stehen, dass entsprechende
Pakete geladen werden müssen.

> Frank (der sich wundert, warum ihr das alles so spielend leicht
> hinkriegt)

Entweder, weil wir uns seit einigen Jahren intensiv mit TeX, Kodierungen
und Schriften beschäftigen – oder, weil wir XeTeX verwenden, wo dieses
ganze extremst hässliche Zeug einfach nicht nötig ist. Vielleicht
erkennst du langsam die Probeme beim Umgang mit pdfTeX, wenn man utf8
voll nutzen will. Wenn natürlich jemand ein Paket schreibt, dass den
ganzen „Dreck“ schweigend im Hintergrund macht, ist man froh, dass es
einfach nur funktioniert. Aber du siehst, dass wir schon bei so
einfachen Sachen wie ¹ überfordert sind.
Verwendet man XeLateX mit dem xltxtra-Paket, bekommt man fast, was man
will; im Mathemodus wird das ¹ aus der Brotschrift gesetzt, wie es
eigentlich sein sollte, weil das das geforderte Zeichen ist. Kann man
anpassen mit

\let\mysuperi¹
\catcode`\¹13
\def¹{\ifmmode ^1 \else \mysuperi \fi}

dann bekommt man das, was du willst. Mit unicode-math sähe das nochmal
anders aus, da müsste diese Definition überflüssig sein.

Gruſs
Arno

Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an