Ich versuche, die Pakete heparticles/hepnames mit XeLaTeX zum Laufen zu bringen. Ich verwende Libertine als Serifenschriftart und Biolinum als serifenlose Schriftart. Die Partikelnamen werden irgendwie in der falschen Schriftart wiedergegeben.
Die HEP-Pakete fügen Glyphen für Partikelnamen ein, die in der Hochenergiephysik verwendet werden. Sie sollten (glaube ich) die aktuelle Schriftart und den aktuellen Stil verwenden, aber welche Schriftart sie tatsächlich verwenden, ist inkonsistent. In den folgenden MWEs habe ich einen einfachen Partikelnamen (B) zum Vergleich einer normalen Darstellung des Buchstabens B und des mit dem \PB-Makro eingefügten Partikelnamens verwendet, der identisch sein sollte.
Ich habe verschiedene Reihenfolgen zum Laden der Pakete ausprobiert:
Fontspec geladenVorHEP-Pakete
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont{Linux Biolinum}
\usepackage{hepparticles}
\usepackage{hepnames}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
Der normale Glyph verwendet die falsche Schriftart, der SF-Glyph verwendet die falsche SchriftartUndSerifen, aber die kursiven Versionen sind beide korrekt:
Fontspec geladennachHEP-Pakete
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont{Linux Biolinum}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
Alle Glyphen verwenden den richtigen Stil, aber alle haben die falsche Schriftartaußerdie Serifen-Kursiv-Glyphe.
Als nächstes habe ich die Pakete libertine/biolinum anstelle von fontspec verwendet und die Datei zum Vergleich auch mit pdflatex kompiliert:
Schriftpakete geladennachHEP-Pakete
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{libertineRoman}
\usepackage{biolinum}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textif & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
pdflatex
Alle Glyphen haben den richtigen Stil und eine falsche Schriftart:
xelatex
Alle Glyphen verwenden den richtigen Stil, aber alle haben die falsche Schriftartaußerdie Serifen-Kursiv-Glyphe.
Schriftpakete geladenVorHEP-Pakete
\documentclass{minimal}
\usepackage{libertineRoman}
\usepackage{biolinum}
\usepackage{hepparticles}
\usepackage{hepnames}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
pdflatex
Alle Glyphen verwenden den richtigen Stil und alle haben die richtige Schriftartaußerdie Serifen-Kursivschrift-Glyphe. (Das wäre für mich in Ordnung, aber ich möchte Xelatex verwenden.)
xelatex
Der normale Glyph verwendet die falsche Schriftart, der SF-Glyph verwendet die falsche SchriftartUndSerifen, aber die kursiven Versionen sind beide korrekt:
Antwort1
OK, also hat mich egregs Kommentar in die richtige Richtung gelenkt. Ich habe versucht, mathspec
die mathematischen Schriftarten mit zu ändern, aber ohne Erfolg. Nachdem ich mir die Makros in genauer angesehen hatte , stellte ich fest, dass sie und ähnliche Makros zum Rendern der Partikelnamen hepparticles
verwenden . Ich konnte nicht herausfinden, wie man diese mit ändert , also wechselte ich zu und fand eine funktionierende Konfiguration, die ein zufriedenstellendes Ergebnis liefert:\mathup
mathspec
unicode-math
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont[BoldItalicFont=Linux Biolinum O Bold Oblique]{Linux Biolinum}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont{Linux Libertine}
\setmathfont[range=\mathrm]{Linux Libertine}
\setmathfont[range=\mathup]{Linux Libertine}
\setmathfont[range=\mathit]{Linux Libertine Italic}
\setmathfont[range=\mathbf]{Linux Libertine Bold}
\setmathfont[range=\mathbfit]{Linux Libertine Bold Italic}
\setmathfont[range=\mathsf]{Linux Biolinum}
\setmathfont[range=\mathsfup]{Linux Biolinum}
\setmathfont[range=\mathsfit]{Linux Biolinum Italic}
\setmathfont[range=\mathbfsf]{Linux Biolinum Bold}
\setmathfont[range=\mathbfsfit]{Linux Biolinum O Bold Oblique}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
Bearbeiten:Ich bin auf ein Folgeproblem gestoßen, das inein weiterer Thread.