Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Xelatex und siunitx?

86 views
Skip to first unread message

Gudrun

unread,
Oct 9, 2014, 3:13:43 PM10/9/14
to
Guten Abend, DCTT Mitglieder.

Ich produziere gerade via Gnuplot mit tikz ein LaTeX Dokument, welches ich mit xelatex kompilieren lasse.

Dort gibt es eine Zeile, bei der die Zahlen nicht in Arial gesetzt werden. Alle andere Zahlen (x,y Achse) werden es. Nur nicht jene Zahlen im Titel und in den Titeln für die plots.
Ich konnte das Problem in einem einfachen Dokument reproduzieren.

Das Minibeispiel sieht so aus

\documentclass[12pt]{article}

\usepackage{amsmath} % More math formatting
\usepackage{amssymb}
\usepackage{graphicx} % Include graphics
\usepackage{tgtermes} % use termes instead

\usepackage[version=3]{mhchem}


\usepackage[no-math]{fontspec}

\usepackage{unicode-math}

\usepackage[noendash]{mathastext}
\setmainfont{Arial}
\setmathfont{Arial}

\usepackage{siunitx}
\sisetup{detect-family,detect-display-math = false}
\sisetup{detect-inline-family = text}

\begin{document}
\SI{1.19}{mM} substance \SI{0.4}{M} \ce{Mg^{+}}

\SI{-1000}{eV}

\end{document}

Die Zahlen 1.19 und 1000 , sowie 0.4 sehen vollkommen anders aus. Wie kann ich das Problem bitte beheben?
Vielen Dank.
Gruss
Gudrun

Gudrun

unread,
Oct 9, 2014, 3:50:18 PM10/9/14
to
Ich würde gerne noch zu meinem Minibeispiel die Zeile

$Fv$

hinzufuegen.
Diese wird leider auch nicht korrekt gesetzt.

Albert Kapune

unread,
Oct 9, 2014, 4:32:43 PM10/9/14
to
Hallo Gudrun,

offensichtlich beißen sich die Pakete. Schmeiß mal
\usepackage[noendash]{mathastext} raus; Du kommst dann Deinem Ziel ziemlich
nahe (zumindest in Deinem Beispiel).

Herzliche Grüße
Albert

Gudrun

unread,
Oct 9, 2014, 8:49:36 PM10/9/14
to
Hallo Albert,
es funktioniert. Vielen Dank.
Es gibt noch zwei Probleme. cdot und \beta werden als Quadrate bei mir mit Arial dargestellt.
Das Minibeispiel dazu wäre:

\documentclass[12pt]{article}

\usepackage{amsmath} % More math formatting
\usepackage{amssymb}


\usepackage[no-math]{fontspec}
\usepackage{mathspec}

\usepackage{unicode-math}


\setmainfont{Arial}
\setmathfont{Arial}

\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Arial}
\setmathsf{Arial}
\setmathrm{Arial}
\setmathtt{Arial}

\usepackage{siunitx}
\sisetup{detect-family,detect-display-math = false}
\sisetup{detect-inline-family = text}

\begin{document}

$\cdot$ $\beta$ %wird hier bei mir nicht dargestellt.

\end{document}

Albert Kapune

unread,
Oct 10, 2014, 3:39:19 AM10/10/14
to
Hallo Gudrun,

das mag damit zusammenhängen, dass Deine Arial-Version die beiden Zeichen
nicht besitzt – meine stellt das Beta dar. Ersetze ich »Arial« durch die
Unicode-Version »Arial Unicode MS« (hat einen deutlich erweiterten
Zeichenumfang), dann sehe ich beide.

Freundliche Grüße
Albert

Ulrike Fischer

unread,
Oct 10, 2014, 3:47:03 AM10/10/14
to
Am Thu, 9 Oct 2014 17:49:36 -0700 (PDT) schrieb Gudrun:

> Hallo Albert,
> es funktioniert. Vielen Dank.
> Es gibt noch zwei Probleme. cdot und \beta werden als Quadrate bei mir mit Arial dargestellt.
> Das Minibeispiel dazu w�re:
>
> \documentclass[12pt]{article}
>
> \usepackage{amsmath} % More math formatting
> \usepackage{amssymb}
>
>
> \usepackage[no-math]{fontspec}
> \usepackage{mathspec}
>
> \usepackage{unicode-math}
>
>
> \setmainfont{Arial}
> \setmathfont{Arial}
>
> \setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Arial}
> \setmathsf{Arial}
> \setmathrm{Arial}
> \setmathtt{Arial}
>
> \usepackage{siunitx}
> \sisetup{detect-family,detect-display-math = false}
> \sisetup{detect-inline-family = text}
>
> \begin{document}
>
> $\cdot$ $\beta$ %wird hier bei mir nicht dargestellt.
>
> \end{document}

Du mischst immer noch zwei Pakete (mathspec und unicode-math), was
keine gute Idee ist.

Abgesehen davon: Arial ist keine Mathematikschrift. Als
"Hauptmathfont" von unicode-math mit \setmathfont solltest du die
nicht benutzen. Sie sollte nur f�r Bereiche (range) eingesetzt
werden.

Es gibt meines Wissens keine sans-serif-Mathematikschrift, du musst
halt testen, welche Schrift dir am besten zu Arial gef�llt.

\documentclass[12pt]{article}

\usepackage{amsmath} % More math formatting
\usepackage{amssymb}

\usepackage{unicode-math}

\setmainfont{Arial}

\setmathfont{Cambria Math}
\setmathfont[range=\mathbb]{Arial}
\setmathfont[range=\mathrm]{Arial}
\setmathfont[range=\mathsf]{Arial}
\setmathfont[range=\mathit]{Arial-ItalicMT}
\setmathfont[range=\int]{Cambria Math} %als letztes immer ein
% richtiger Mathfont, damit diverse Werte korrekt gesetzt werden.

\usepackage{siunitx}
\sisetup{detect-family,detect-display-math = false}
\sisetup{detect-inline-family = text}

\begin{document}

$a=b \cdot \beta \int$

\end{document}

Wenn Zeichen fehlen, kann es auch helfen statt Arial Arial Unicode
MS zu versuchen.



--
Ulrike Fischer
http://www.troubleshooting-tex.de/

Rolf Niepraschk

unread,
Oct 10, 2014, 4:53:00 AM10/10/14
to

Ich hatte vor einiger Zeit ebenfalls die Notwendigkeit, Formeln in einem
Text mit serifenloser Schrift einzufügen. Die folgenden Definitionen
führten zu einem leidlich brauchbaren Ergebnis:

%-------------------------------------------------------
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures=TeX]{TeX Gyre Heros}
\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
\usepackage{unicode-math}

%\setmathfont[math-style=ISO,bold-style=ISO]{XITS Math}
\setmathfont[math-style=ISO,bold-style=ISO]{Asana Math}
\setmathfont[range=\mathup,Scale=MatchLowercase]{TeXGyreHeros-Regular}
\setmathfont[range=\mathit,Scale=MatchLowercase]{TeXGyreHeros-Italic}
\setmathfont[range=\mathbfup,Scale=MatchLowercase]{TeXGyreHeros-Bold}
\setmathfont[range=\mathbfit,Scale=MatchLowercase]{TeXGyreHeros-BoldItalic}
\setmathfont[range=\mathsfup,Scale=MatchLowercase]{TeXGyreHeros-Regular}
\setmathfont[range=\mathsfit,Scale=MatchLowercase]{TeXGyreHeros-Italic}
\setmathfont[range=\mathbfsfup,Scale=MatchLowercase]{TeXGyreHeros-Bold}
\setmathfont[range=\mathbfsfit,Scale=MatchLowercase]{TeXGyreHeros-BoldItalic}
\setmathfont[range=\mathpunct]{TeXGyreHeros-Regular}
%-------------------------------------------------------

Zumindest können sie als Grundlage für eigene Experimente dienen.

Sollten bei der verwendeten Schriftart Unicode-Zeichen fehlen, kann man
das Paket "newunicodechar" zu Hilfe holen. In meinem Falle betraf es die
folgenden Zeichen:

\usepackage{newunicodechar}
\newunicodechar{^^^^202f}{\,}% 'NARROW NO-BREAK SPACE' (\u202F, 8239)
\newunicodechar{^^^^2009}{\,\hspace{0pt}}% 'THIN SPACE'
\newunicodechar{^^^^00ad}{\-}% 'SOFT HYPHEN'
\newunicodechar{^^^^2207}{{\setmathfont{Asana Math}^^^^2207}}% 'NABLA'

...Rolf

0 new messages