Konflikt bei den Ziffern im Mathematikmodus zwischen den Paketen gfsporson und newtxmath in pdfLaTeX

Konflikt bei den Ziffern im Mathematikmodus zwischen den Paketen gfsporson und newtxmath in pdfLaTeX

Ich würde für die Kompilierung gerne pdfLaTeXdas Paket gfsporsonfür den griechischen Schriftsatz (innerhalb eines größeren LaTeX-Setups als dem MWE weiter unten) zusammen mit newtxmathafter verwenden newtxtext, habe aber gerade festgestellt, dass ersteres irgendwie mit den Ziffern im Mathematikmodus in Konflikt gerät und die standardmäßigen cmr-basierten Schriftarten anstelle der vom newtxmathPaket bereitgestellten (tatsächlich aus übernommenen newtxtext) Schriftarten einstellt.

Ich wäre für eine Lösung dankbar, die es mir ermöglicht, beide Pakete mit den im „Paket“ festgelegten Zahlen im Mathematikmodus zu verwenden newtx.

Folgt einem MWE:

\documentclass{memoir}

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

  \usepackage{newtxtext}    
  \usepackage{newtxmath}

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

Antwort1

Sofern Sie die Porson-Symbolschriftart nicht für etwas anderes benötigen (sie wird nur für die vom Paket konfigurierten Zahlen verwendet), können Sie sie einfach überschreiben, indem Sie die Schriftart neu definieren. Andernfalls müssten Sie die spezifischen Änderungen rückgängig machen, die sie vornimmt, wie Steven B. Segletes vorschlägt. Aber da Sie vermeiden möchten, dass sie die Mathematik vollständig beeinflusst, scheint dies ziemlich sicher zu sein.

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

Konsistente Zahlen

Antwort2

Das gfsporsonPaket ergreift die Initiative und definiert die mathematischen Symboltabellen neu, um Porson für die Ziffern zu verwenden.

Es ist viel besser, Folgendes zu verwenden \DeclareFontFamilySubstitution:

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

\usepackage{newtxtext}
\usepackage{newtxmath}

\DeclareFontFamilySubstitution{LGR}{ntxtlf}{porson}

\begin{document}

123 $123$

\textgreek{abgdezhq}

\end{document}

Bildbeschreibung hier eingeben

Hinweis: Im Bearbeitungsverlauf finden Sie eine frühere Lösung mit dem Substitutefont-Paket, das jetzt als veraltet gilt.

Antwort3

Sie müssen die gfsporsonDeklaration, dass die Ziffern zur Symbolschrift gehören, rückgängig machen porsonnumbers. In der Stildatei finden Sie dies

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

Daher muss es in der Präambel Ihres Dokuments zurückgesetzt werden.

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

Bildbeschreibung hier eingeben

verwandte Informationen