XeLaTeX und die Pakete "mathspec" und "siunit

Formelsatz für Mathematik, Naturwissenschaften und Technik


Nym
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 14. Feb 2009, 22:13

XeLaTeX und die Pakete "mathspec" und "siunit

Beitrag von Nym »

Hallo liebe TeX-Freunde,

ich kenne LaTeX seit einigen Jahren und habe schon viele Versuche unternommen Fuß in dieser Welt zu fassen. Doch jedes Mal habe ich nach einigen Versuchen andere Schriftarten in LaTeX verfügbar zu machen die Flinte ins Korn geworfen.

Als alter Adobe-Sympathisant, bin ich ein Freund von "Minion Pro", welche meine Schrift für nahezu jede Lebenslage ist. (Und auch frei dem Acrobat Reader beiliegt!)
Da ich diese auch in LaTeX nutzen wollte habe ich vor zwei Wochen etwas tiefer in der Materie gegraben und mich mit der Verwendung der LCDF Typetools auseinander gesetzt. - Der Erfolg war leider nur mäßig :(

Ich habe recherchiert und im Blog von Marcus Winter zum ersten Mal von XeTeX gehört.
Ohne Probleme konnte ich die xelatex.exe in WinShell eintragen und die Textdarstellung funktionierte mit allen von mir benötigten Schriftschnitten einwandfrei! :)

...bis ich die Mathe-Umgebung nutzen musste.
Aber Marcus Winter hat mir erneut geholfen. Als ich mich für dieses workaround bei ihm bedankt habe, setzte er mich in Kenntnis, dass das Paket mathspec auf etwas elegantere Weise das gleiche macht. - Grandios, es funktioniert besser den je!

...bis ich das Paket siunitx nutzen wollte.
Dieses ist scheinbar nicht für XeTeX ausgelegt, versucht OT1-Fonts einzubinden, weswegen mir die Einheiten in Computer Modern ausgegeben werden.

Anbei mal ein Minimalbeispiel:

Code: Alles auswählen

% Minimalbeispiel XeTeX + Mathefonts + SIunitx
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{mathspec}
\usepackage{xltxtra}
\usepackage[per=slash, decimalsymbol=comma, loctolang={DE:ngerman,UK:english}]{siunitx}
\usepackage[ngerman]{babel}
\setmathfont[Set=Latin, Numbers=OldStyle]{Minion Pro}
\defaultfontfeatures{Mapping=tex-text} 
\setmainfont[Numbers=OldStyle]{Minion Pro}
\setsansfont{Myriad Pro}
\begin{document}
\section{Test}
\subsection{Gleichungstest}
\begin{align} 
(a+b)^3 &= (a+b)^2(a+b)\\
&=(a^2+2ab+b^2)(a+b)\\
&=(a^3+2a^2b+ab^2) + (a^2b+2ab^2+b^3)\\
&=a^3+3a^2b+3ab^2+b^3
\end{align}
Alles korrekt mit Minion Pro dargestellt!

\subsection{Zahlen im normalen Fließtext}
13 mm\\
13\,mm -- Korrekter Abstand\\

\subsection{Zahlen und Einheiten im math-mode}
$13\,mm$ -- Buchstaben wie Variablen\\
$13\text{\,mm}$ -- Buchstaben als Text, mit korrektem Abstand\\

\subsection{SIunitx-Pakettest}
\SI{13}{mm}\\
\SI{13}{\millimetre}\\
Falsch: Computer Modern für die Einheit.\\
\end{document}
Neben der Warnungen, dass \setmathrm, \setmathsf und \setmathtt redefiniert wurden erhalte ich bei meiner Hauptarbeit auch noch diese Warnungen:
(1): LaTeX Font Warning: Font shape `OT1/MinionPro(1)/m/n' undefined
(1): LaTeX Font Warning: Size substitutions with differences
(1): LaTeX Font Warning: Some font shapes were not available, defaults substituted.
Ich weiß nicht genau waurm dies im Minimalbeispiel nicht ausgegeben wird, aber dennoch auf Computer Modern zurückgegriffen wird.

Weiß jemand Rat?
Die Docs zu mathspec und siunitx haben mir leider nicht weiterhelfen können, obwohl dort Stellen zur Nutzung unterschiedlicher Fonts enthalten sind :(
Scheinbar reichen meine LaTeX-Kenntnisse dazu noch nicht aus.

Vielen Dank!

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Hallo,
ich kann selber dazu leider nichts beitragen, aber versuche doch mal, den Autor von siunitx (Joseph Wright) zu fragen. Er ist beispielsweise auf latex-community.org und in comp.text.tex unterwegs und sehr hilfsbereit.
http://www.texdev.net/2009/02/05/package-support/

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2641
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Das Paket SIunits enthält eigene Font-Deklarationen (\DeclareFontEncoding, \DeclareFontSubstitution, \DeclareFontFamily etc.) und verwendetet diese eigenen Deklarationen. Da XeTeX nicht auf diese untere Ebene des NFSS2 von LaTeX zurückgreift, sondern nur die höhere Schicht nachbildet, muss man feststellen, dass XeTeX und SIunits nicht gut miteinander verträglich sind. Eventuell ist das Paket units eine Alternative für Dich.

Daneben sei noch erwähnt, dass es seit Jahren eine LaTeX-Einbindung für Minion Pro gibt. Bei TeXLive ist dieses AFAIK eine der Einbindungen, die per getnonfreefonts bzw. als root für alle per getnonfreefonts-sys samt Fonts (jedenfalls soweit diese als Teil anderer Software kostenlos verfügbar sind) besorgt werden kann. Ob etwas vergleichbares für MiKTeX existiert kann ich nicht sagen.

Für fertige Fonteinbindungen fallen mir, vom Verzeichnis fonts auf CTAN abgesehen, auf Anhieb jedoch noch zwei Links ein. Dabei ist zu beachten, dass es sich dabei nur um die Fonteinbindungen handelt. Die kommerziellen Fonts selbst sind selbstverständlich nicht enthalten:
Zuletzt geändert von KOMA am Mo 16. Feb 2009, 08:40, insgesamt 1-mal geändert.

Nym
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 14. Feb 2009, 22:13

Beitrag von Nym »

KOMA:
Vielen Dank! Minion Pro hatte tatsächlich mit dem Paket konvertiert und bereit gestellt, doch XeTeX schien mir auf Dauer gesehen komfortabler.

Mir, als Laie, kommt angesichts der Font-Deklarationen eine Idee:
Kann man diese nicht irgendwie austricksen?
Ich habe versucht das Paket "MinionPro" in XeTeX zu verwenden. In der Hoffnung, dass so nicht weiter auf Computer Modern als Standarfont zurückgegriffen wird, wenn siunitx es verlangt. - Leider Erfolglos :(

phi:
Ebenfalls danke für die hilfreichen Hinweise!
Jetzt stehe ich nur noch vor dem Problem, dass ich nicht weiß wie ich meine Anfrage an Joseph Wright formulieren soll. :?
Ich denke nicht, dass er sein Paket für XeTeX portieren wird :oops:

Liebe Grüße

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

KOMA hat geschrieben:Bei TeXLive ist dieses AFAIK eine der Einbindungen, die per getnonfreefonts bzw. als root für alle per getnonfreefonts-sys samt Fonts (jedenfalls soweit diese als Teil anderer Software kostenlos verfügbar sein) besorgt werden kann.
Ich habe das heute mit TeX Live 2008 ausprobiert, Minion Pro ist nicht dabei. Hier dürfte es rechtliche Probleme geben, da Minion Pro nicht einfach nur nicht Open Source, sondern auch nicht kostenlos ist. Minion Pro und Myriad Pro werden mit dem Adobe Reader mitgeliefert und stehen somit theoretisch jedem zur Verfügung. Ob allerdings auch eine Benutzung gestattet ist, ist wohl eher fraglich. Die Profi-Varianten dieser Schriften (mit mehr Schnitten und optischer Skalierung) sind auf jeden Fall kommerziell.
Die Kombination MinionPro + MnSymbol + MyriadPro könnte allerdings eine echte Alternative zu Latin Modern + AMSFonts darstellen, da beinahe alle AMS-Symbole von MnSymbol bereitgestellt werden. Über die Qualität von MnSymbol im Vergleich mit Computer Modern/AMS kann ich aber nichts sagen.
Nym hat geschrieben:Minion Pro hatte tatsächlich mit dem Paket konvertiert und bereit gestellt, doch XeTeX schien mir auf Dauer gesehen komfortabler.
XeTeX ist im Bereich der Schriftauswahl auf jeden Fall komfortabler, hat aber anderswo Probleme, beispielsweise fehlen die Mikrotypografiefeatures von pdfTeX. Es sieht meiner Meinung nach etwas seltsam aus, wenn du eine professionelle Schrift wie Minion ohne optischen Randausgleich oder Fontexpansion verwendest. Falls du hingegen auf OpenType/AAT-Features angewiesen bist, gibt es zu XeTeX natürlich keine Alternative in der TeX-Welt.
Nym hat geschrieben:Mir, als Laie, kommt angesichts der Font-Deklarationen eine Idee:
Kann man diese nicht irgendwie austricksen?
Ich habe versucht das Paket "MinionPro" in XeTeX zu verwenden. In der Hoffnung, dass so nicht weiter auf Computer Modern als Standarfont zurückgegriffen wird, wenn siunitx es verlangt. - Leider Erfolglos
So einfach ist das leider nicht. Wie Markus schon erwähnt hat, ist die Methode der Schrifteinbindung bei XeTeX und pdfTeX grundverschieden. Die nicht zeitgemäße Schriftunterstützung von TeX/pdfTeX war gerade der Grund, warum XeTeX überhaupt entwickelt wurde. Ich denke nicht, dass es einen einfachen Trick gibt, um die beiden Systeme zusammenzubringen – auf ein Programm, welches XeTeX und LuaTeX (den Nachfolger von pdfTeX) zusammenbringt, wartet die TeX-Gemeinde seit Jahren.
Nym hat geschrieben:Jetzt stehe ich nur noch vor dem Problem, dass ich nicht weiß wie ich meine Anfrage an Joseph Wright formulieren soll.
Ich denke nicht, dass er sein Paket für XeTeX portieren wird
Du kannst das Problem ja einfach mal an ihn herantragen. Vermutlich ist es allerdings nicht so leicht zu lösen und er wird es auf siunitx 2 verschieben, an dem er gerade arbeitet. Andererseits kannst du es mit der Einbindung von Minion Pro in pdfTeX versuchen. Die Anleitung hat Markus ja schon verlinkt. Ich habe das ebenfalls durchgeführt und hatte keine Probleme mit der Installation.

Antworten