Fontspec geladenVorHEP-Pakete

Fontspec geladenVorHEP-Pakete

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:

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

xelatex

Alle Glyphen verwenden den richtigen Stil, aber alle haben die falsche Schriftartaußerdie Serifen-Kursiv-Glyphe.

Bildbeschreibung hier eingeben

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.)

Bildbeschreibung hier eingeben

xelatex

Der normale Glyph verwendet die falsche Schriftart, der SF-Glyph verwendet die falsche SchriftartUndSerifen, aber die kursiven Versionen sind beide korrekt:

Bildbeschreibung hier eingeben

Antwort1

OK, also hat mich egregs Kommentar in die richtige Richtung gelenkt. Ich habe versucht, mathspecdie 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 hepparticlesverwenden . Ich konnte nicht herausfinden, wie man diese mit ändert , also wechselte ich zu und fand eine funktionierende Konfiguration, die ein zufriedenstellendes Ergebnis liefert:\mathupmathspecunicode-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}

Bildbeschreibung hier eingeben

Bearbeiten:Ich bin auf ein Folgeproblem gestoßen, das inein weiterer Thread.

verwandte Informationen