especificación de fuente cargadaantesPaquetes HEP

especificación de fuente cargadaantesPaquetes HEP

Estoy intentando que los paquetes heparticles/hepnames funcionen con XeLaTeX. Estoy usando Libertine como fuente serif y Biolinum como fuente sin. De alguna manera, los nombres de las partículas se representan con una fuente incorrecta.

Los paquetes HEP insertan glifos para los nombres de partículas utilizadas en la física de altas energías. Deberían (creo) usar la fuente y el estilo actuales, pero la fuente que realmente usan es inconsistente. En los MWE siguientes, utilicé un nombre de partícula simple (B) para comparar una representación normal de la letra B y el nombre de partícula insertado con la macro \PB, que debería ser idéntico.

Probé diferentes órdenes para la carga de los paquetes:

especificación de fuente cargadaantesPaquetes HEP

\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}

El glifo normal usa la fuente incorrecta, el glifo sf usa la fuente incorrectayserifas, pero las versiones en cursiva son correctas:

ingrese la descripción de la imagen aquí

especificación de fuente cargadadespuésPaquetes HEP

\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}

Todos los glifos usan el estilo correcto, pero todos tienen la fuente incorrectaexceptoel glifo serif-cursiva.

ingrese la descripción de la imagen aquí

A continuación utilicé los paquetes libertine/biolinum en lugar de fontspec y también compilé el archivo con pdflatex para comparar:

paquetes de fuentes cargadosdespuésPaquetes HEP

\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}

pdflátex

Todos los glifos tienen un estilo correcto y una fuente incorrecta:

ingrese la descripción de la imagen aquí

xelatex

Todos los glifos usan el estilo correcto, pero todos tienen la fuente incorrectaexceptoel glifo serif-cursiva.

ingrese la descripción de la imagen aquí

paquetes de fuentes cargadosantesPaquetes HEP

\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}

pdflátex

Todos los glifos usan el estilo correcto y todos tienen la fuente correcta.exceptoel glifo serif-cursiva. (Esto estaría bien para mí, excepto que quiero usar xelatex).

ingrese la descripción de la imagen aquí

xelatex

El glifo normal usa la fuente incorrecta, el glifo sf usa la fuente incorrectayserifas, pero las versiones en cursiva son correctas:

ingrese la descripción de la imagen aquí

Respuesta1

Bien, entonces el comentario de egreg me indicó la dirección correcta. Intenté usar mathspecpara cambiar las fuentes matemáticas, sin suerte. Después de observar más de cerca las macros en hepparticles, descubrí que usan \mathupmacros similares para representar los nombres de las partículas. No pude encontrar cómo cambiarlos con mathspec, así que cambié unicode-mathy encontré una configuración funcional que da un resultado satisfactorio:

\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}

ingrese la descripción de la imagen aquí

Editar:Me encontré con un problema de seguimiento, que se analiza enotro hilo.

información relacionada