pdfLaTeX 中 gfsporson 和 newtxmath 包之间的数学模式数字冲突

pdfLaTeX 中 gfsporson 和 newtxmath 包之间的数学模式数字冲突

对于编译,我想将希腊语排版pdfLaTeXgfsporson(在比下面的 MWE 更大的 LaTeX 设置中)与newtxmathafter一起使用newtxtext,但我发现前者在某种程度上与数学模式数字相冲突,并且设置了默认的基于 cmr 的字体,而不是包提供的字体newtxmath(实际上取自newtxtext)。

我希望有一个解决方案,可以让我同时使用这两个包以及“捆绑”所设置的数学模式数字newtx

遵循 MWE:

\documentclass{memoir}

  %\usepackage{gfsporson} %<- uncomment to check for the difference in math mode    

  \usepackage{newtxtext}    
  \usepackage{newtxmath}

\begin{document}
123 $123$
\end{document}

答案1

除非您需要将 Porson 符号字体用于其他用途(它仅用于软件包配置的数字),否则您只需重新定义该字体即可轻松覆盖它。否则,您需要撤消它所做的特定更改,正如 Steven B. Segletes 所建议的那样。但由于您想完全避免它影响数学,这似乎很安全。

\documentclass{memoir}
\usepackage{gfsporson} %<- uncomment to check for the difference in math mode
\usepackage{newtxtext}
\usepackage{newtxmath}
\DeclareSymbolFont{porsonnumbers}{OT1}{qtm}{m}{n}
\begin{document}
123 $123$
\end{document}

一致的数字

答案2

gfsporson包抓住主动权并重新定义数学符号表以使用 Porson 作为数字。

更好的方法是使用\DeclareFontFamilySubstitution

\documentclass{memoir}
\usepackage[polutonikogreek,english]{babel}

\usepackage{newtxtext}
\usepackage{newtxmath}

\DeclareFontFamilySubstitution{LGR}{ntxtlf}{porson}

\begin{document}

123 $123$

\textgreek{abgdezhq}

\end{document}

在此处输入图片描述

注意:请参阅编辑历史以了解使用 substitutefont 包的先前解决方案,该包现已被宣布为过时。

答案3

您必须撤消gfsporson将数字设为符号字体的声明porsonnumbers。在样式文件中,您将找到此内容

\DeclareSymbolFont{porsonnumbers}{OT1}{porson}{m}{n}
\DeclareMathSymbol{0}{\mathalpha}{porsonnumbers}{`0}
\DeclareMathSymbol{1}{\mathalpha}{porsonnumbers}{`1}
\DeclareMathSymbol{2}{\mathalpha}{porsonnumbers}{`2}
\DeclareMathSymbol{3}{\mathalpha}{porsonnumbers}{`3}
\DeclareMathSymbol{4}{\mathalpha}{porsonnumbers}{`4}
\DeclareMathSymbol{5}{\mathalpha}{porsonnumbers}{`5}
\DeclareMathSymbol{6}{\mathalpha}{porsonnumbers}{`6}
\DeclareMathSymbol{7}{\mathalpha}{porsonnumbers}{`7}
\DeclareMathSymbol{8}{\mathalpha}{porsonnumbers}{`8}
\DeclareMathSymbol{9}{\mathalpha}{porsonnumbers}{`9}

因此必须在文档的序言中重置它。

\documentclass{memoir}
\usepackage[T1]{fontenc}

  \usepackage{gfsporson} %<- uncomment to check for the difference in math mode    

  \usepackage{newtxtext}    
  \usepackage{newtxmath}

\DeclareMathSymbol{0}{\mathalpha}{letters}{`0}
\DeclareMathSymbol{1}{\mathalpha}{letters}{`1}
\DeclareMathSymbol{2}{\mathalpha}{letters}{`2}
\DeclareMathSymbol{3}{\mathalpha}{letters}{`3}
\DeclareMathSymbol{4}{\mathalpha}{letters}{`4}
\DeclareMathSymbol{5}{\mathalpha}{letters}{`5}
\DeclareMathSymbol{6}{\mathalpha}{letters}{`6}
\DeclareMathSymbol{7}{\mathalpha}{letters}{`7}
\DeclareMathSymbol{8}{\mathalpha}{letters}{`8}
\DeclareMathSymbol{9}{\mathalpha}{letters}{`9}

\begin{document}
123 $123$
\end{document}

在此处输入图片描述

相关内容