hepnames 包中的非斜体符号无法使用 pdflatex 打印

hepnames 包中的非斜体符号无法使用 pdflatex 打印

为了排版物理学中的粒子,通常使用 hepnames 包。升级到 win10 PC 后,我发现符号不再打印 - 没有错误消息。

我使用 pdfLatex 并找到了相关主题

这是我的最小示例:

  \documentclass{report}
  \usepackage{hepnames}

  \begin{document}  

    \begin{itemize}
      \item $\Pneutron$ should give $\mathrm{n}$   %does not print
      \item $\Pfermion$ should give an $f$         %prints 
      \item $\APnue$ should give $\bar{\nu}$       %does not print
    \end{itemize}   

\end{document}

在此处输入图片描述

这可能与斜体字体样式有关。使用

\usepackage[italic]{hepnames}

将打印以上所有示例。

然而,这对于软件包来说并不是一个好的修复,并且会将所有粒子符号排版为斜体。不幸的是,pdflatex 在编译期间不会抛出错误或警告。

有什么建议么?

马克,祝好

答案1

hepnames包依赖\updefaultn,但是已更改为upn现在是\shapedefault

使固定:

\documentclass{report}
\usepackage{hepnames}
\usepackage{xpatch}

\makeatletter
\xpatchcmd\@HepConStyle
 {\edef\@upcode{\updefault}}
 {\ifdefined\shapedefault\edef\@upcode{\shapedefault}\else\edef\@upcode{\updefault}\fi}
 {}{}
\makeatother

\begin{document}

\begin{itemize}
\item $\Pneutron$ should give $\mathrm{n}$   %does not print

\item $\Pfermion$ should give an $f$         %prints

\item $\APnue$ should give $\bar{\nu}$       %does not print
\end{itemize}

\end{document}

在此处输入图片描述

相关内容