LaTeX 核心更新后,Typeface 返回致命的编码错误

LaTeX 核心更新后,Typeface 返回致命的编码错误

多年来,我一直使用该typeface软件包来加载我喜欢在文档中使用的字体,并防止出现与数学字体相关的错误。直到 2022 年 7 月左右,我的 MikTeX 发行版才允许使用该软件包。

然而,在 2022 年 7 月更新之后,该typeface包不再起作用,并在包的代码中出现两个错误:

line 825 Missing control sequence inserted. ...ption}{rm,sf,tt,math,symbols,textfigures}line 929 Missing control sequence inserted. ...fontencoding,inputencoding,textcomp,cmap}

这些行包含编码:( \forcsvlist{\tf@reconfigurefontoption}{rm,sf,tt,math,symbols,textfigures}第 825 行)和\forcsvlist{\tf@@pkgoptionsvalidation}{fontencoding,inputencoding,textcomp,cmap}(第 929 行)。

现在,我可以通过以通常的方式加载字体包来避免这些致命错误。但这会导致gfsartemisia与以下方法结合使用时出错chemfig(请参阅问题Chemfig 在选择罗马字体和数学字体时出现问题)。在包含的 MWE 中,此选项被注释掉。

当将字体加载从 切换typefaceusepackage{font}选项时,会发生另一件奇怪的事情:第一个 lipsum 条目没有打印在gfsartemisia而是打印在computer modern... 虽然这并不重要,但真的很奇怪,因为人们会期望与 相同的结果\textrm{}

\documentclass[11pt]{article}

\usepackage[
    typeface=gfsartemisia,
    sanstypeface=tgheros:scale:0.9,
    mathtypeface=mathdesign:charter,
    ]{typeface}

%\usepackage[charter]{mathdesign}
%\usepackage{gfsartemisia}
%\usepackage[scale=0.9]{tgheros}

%----- layout pakketten -----
\usepackage[a4paper,text={18.0cm,26cm},top=2.0cm,left=2.0cm]{geometry}

%----- aanvullende pakketten ----
\usepackage{lipsum}

\begin{document}
    
    {\fontfamily{gfsartemisia}\selectfont   \lipsum[1]  }
    
    \textrm{\lipsum[2-3]}
    
    \textsf{\lipsum[4-5]}
    
\end{document}

答案1

该包\MakeUppercase以“创造性”的方式使用。这在本地以仍然有效的方式定义它

\documentclass[11pt]{article}

\let\MakeUppercasesaved\MakeUppercase
\def\MakeUppercase#1{\expanded{\uppercase{#1}}}

\usepackage[
    typeface=gfsartemisia,
    sanstypeface=tgheros:scale:0.9,
    mathtypeface=mathdesign:charter,
    ]{typeface}

\let\MakeUppercase\MakeUppercasesaved

%\usepackage[charter]{mathdesign}
%\usepackage{gfsartemisia}
%\usepackage[scale=0.9]{tgheros}

%----- layout pakketten -----
\usepackage[a4paper,text={18.0cm,26cm},top=2.0cm,left=2.0cm]{geometry}

%----- aanvullende pakketten ----
\usepackage{lipsum}

\begin{document}
    
    {\fontfamily{gfsartemisia}\selectfont   \lipsum[1]  }
    
    \textrm{\lipsum[2-3]}
    
    \textsf{\lipsum[4-5]}
    
\end{document}

请注意,您会收到警告

LaTeX Font Warning: Font shape `T1/gfsartemisia/m/n' undefined
(Font)              using `T1/cmr/m/n' instead on input line 26.

这就解释了为什么在这种情况下你会得到现代化的计算机

\textrm\T1/artemisia/m/n/10.95所以 姓氏 artemisia不是gfsartemisia.

相关内容