Korrektes Unicode-Mapping

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Korrektes Unicode-Mapping

Jepp

von Robert T. » So 25. Nov 2012, 18:42

Sorry für die verspätete Antwort. So hat es geklappt.

Danke!

R.

von Gast » Do 8. Nov 2012, 09:36

\AtBeginDocument{\XeTeXDeclareMathSymbol{-}{\mathbin}{\eu@LatinLowercase@symfont}{"2212}}
Oder probiere den Code von Philipp here
http://tex.stackexchange.com/questions/ ... 7280#17280

(Grundproblem ist, dass amsmath bei \begin{document} den \mathcode von - verwenden will, und das scheitert, wenn du ihn vorher änderst.)

Ulrike Fischer
www.troubleshooting-tex.de

Doch noch nicht

von Robert T. » Do 8. Nov 2012, 00:54

Die Lösung klappt nicht mehr, wenn ich amsmath verwende.

Das folgende Minimalbeispiel
\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{mathspec}
\usepackage{polyglossia}
 
\setallmainfonts{Linux Libertine O}

\makeatletter
 \XeTeXDeclareMathSymbol{-}{\mathbin}{\eu@LatinLowercase@symfont}{"2212}
\makeatother

\setmainlanguage{german}

\begin{document}

 Das Minus-Zeichen sieht im normalen Satz so aus: −

 Das Minus-Zeichen sieht im Mathematiksatz so aus: $-$

\end{document}
liefert mir die Fehlermeldung
! Extended mathchar used as mathchar (104866322).
<to be read again> 
                   \relax 
l.15 \begin{document}
                     
? 
Ich stehe ob dieser Meldung vor einem Rätsel. Hatte eigentlich gedacht, dass die Kombination von mathspec mit amsmath keine so seltene Kombination ist.

R.

Das ist die Lösung

von Robert T. » Do 25. Okt 2012, 22:26

Perfekt, klappt wunderbar. Wäre ich nie im Leben drauf gekommen.

Vielen, vielen Dank!

R.


PS: Der Vollständigkeit halber noch mal die Lösung.
\documentclass{scrartcl}

\usepackage{mathspec}
\usepackage{polyglossia}
 
\setallmainfonts{Linux Libertine O}

\makeatletter
 \XeTeXDeclareMathSymbol{-}{\mathbin}{\eu@LatinLowercase@symfont}{"2212}
\makeatother

\setmainlanguage{german}

\begin{document}

 Das Minus-Zeichen sieht im normalen Satz so aus: −

 Das Minus-Zeichen sieht im Mathematiksatz so aus: $-$

\end{document}

von phi » Do 25. Okt 2012, 21:38

\DeclateMathSymbol unterstützt nur Zeichen mit Codes bis 255, für deinen Fall musst du stattdessen \XeTeXDeclareMathSymbol (gleiche Syntax) benutzen.

Korrektes Unicode-Mapping

von Robert T. » Do 25. Okt 2012, 19:51

Moin moin,

ich benutze XeLaTex, hauptsächlich weil es mir die Eingabe erleichtert und Verwendung fremder Schriften erlaubt. Das funktioniert im Textsatz super, allerdings liegt es ja nahe, die Schriftart im Mathematiksatz ebenfalls anzupassen.

Dazu habe ich bis jetzt unicode-math und mathspec gefunden. unicode-math ist wohl noch experimentell und unterstützt – wenn ich es richtig sehe – bislang nur drei Schriften. Auf jeden Fall nicht diejenige, die ich verwenden möchte, sodass ich bei mathspec hängen geblieben bin.

Damit wird auch der Matheteil korrekt gesetzt, allerdings doch wieder die Standardschrift im fertigen Dokument eingebunden. Ich habe jetzt mal versucht mich ein wenig schlau zu machen und wenn ich es richtig sehe, liegt das daran, dass mathspec nur einige wenige Zeichen übernimmt. In den Weiten des Internets habe ich den Befehl
\DeclareMathSymbol
gefunden. Um ehrlich zu sein, übersteigt alles was dort angegeben ist, mein LaTeX-Verständnis, aber per Copy & Paste komme ich bei einigen Zeichen zu vernünftigen Ergebnissen.

Bei anderen allerdings nicht. Um jetzt nicht gleich mit etwas Exotischem anzufangen als Beispiel mal das Minus-Zeichen. Das ist in Unicode auf 2212 gemappt. Wenn ich das aber eingebe, erhalte ich ein anderes Zeichen. Welches hängt von den Parametern von \DeclareMathSymbol ab, was ich mir überhaupt nicht mehr erklären kann. Ich habe anfangs gedacht, dass das ein Problem der verwendeten Schriftart ist, aber bis jetzt konnte ich das noch mit jeder Schrift reproduzieren.

Folgendes Minimalbeispiel dazu (mit Linux Libertine, weil die frei und weit ausgebaut ist; wie gesagt: ich konnte das auch mit anderen Schriften reproduzieren):
\documentclass{scrartcl}

\usepackage{mathspec}
\usepackage{polyglossia}
 
\setallmainfonts{Linux Libertine O}

\makeatletter
 \DeclareMathSymbol{-}{\mathbin}{\eu@LatinLowercase@symfont}{"2212}
\makeatother

\setmainlanguage{german}

\begin{document}

 Das Minus-Zeichen sieht im normalen Satz so aus: −

 Das Minus-Zeichen sieht im Mathematiksatz so aus: $-$

\end{document}
Irgendwie hat das Forum Probleme mit der Angabe der Unicode-Zeichen. Bitte
durch das korrekte Minuszeichen (−) ersetzen. Zum Verständnis des ursprünglichen Problems einfach
\makeatletter
 \DeclareMathSymbol{-}{\mathbin}{\eu@LatinLowercase@symfont}{"2212}
\makeatother
auskommentieren.

Verwenden von `− statt "2212 oder direkte Eingabe von − hilft auch nicht weiter.

Zugegeben: wenn man Linux Libertine verwendet, muss man schon genau hinsehen, um die Unterschiede zwischen den Zeichen zu entdecken. Bei anderen Schriften ist das aber gravierender.

Weiß jemand Rat?

R.

Nach oben