如何更改标准的“数学字体”?

如何更改标准的“数学字体”?

我可以说,您获得的字体看起来像标准的“书本”字体,只是倾斜了。我怎样才能获得具有直脊的等宽字体,例如您获得的字体texttt

我对其他一切都很满意,包括界面,因此,在设置时,我不想以标准$ ... $舞蹈以外的任何其他方式调用它。

答案1

数学文本包可能满足您的需求。默认情况下,该包会为您提供用于数学材料的直立罗马字体,但除此之外,它可能完全满足您的需求。

以下 MWE 说明了该包的默认行为:

\documentclass{article}
\usepackage{mathastext}
\begin{document}
Hello, Pythagoras. $a^2 + b^2 = c^2$. Goodbye, mathematics.
\end{document}

在此处输入图片描述

答案2

你可以放

\DeclareSymbolFont{letters}{OT1}{cmtt}{m}{n}

在文档的序言中。虽然我不确定你为什么要使用它作为默认数学字体。此外,通过做出此声明,一些符号被错误地呈现:

\documentclass{article}
\usepackage{amsmath,amssymb}
\DeclareSymbolFont{letters}{OT1}{cmtt}{m}{n}

\begin{document}
Hello world:
\[
    x^2 + y^2 = \tan(\theta)
\]
\end{document}

渲染结果如下:

在此处输入图片描述

还有另一种方法。但需要做更多工作。

首先,声明一个符号字体名称

\DeclareFontSubstitution{OT1}{cmtt}{m}{n}
\DeclareSymbolFont{myletters}{OT1}{cmtt}{m}{n}
\DeclareSymbolFontAlphabet{\mathnormal}{myletters}

但这还不足以实现您想要的更改。现在您必须对要以此样式设置的每个符号进行检查并声明它:

\DeclareMathSymbol{a}{\mathalpha}{myletters}{`a}
\DeclareMathSymbol{b}{\mathalpha}{myletters}{`b}
\DeclareMathSymbol{c}{\mathalpha}{myletters}{`c}
\DeclareMathSymbol{d}{\mathalpha}{myletters}{`d}
\DeclareMathSymbol{e}{\mathalpha}{myletters}{`e}

等等,然后

\DeclareMathSymbol{A}{\mathalpha}{myletters}{`A}
\DeclareMathSymbol{B}{\mathalpha}{myletters}{`B}
\DeclareMathSymbol{C}{\mathalpha}{myletters}{`C}
\DeclareMathSymbol{D}{\mathalpha}{myletters}{`D}
\DeclareMathSymbol{E}{\mathalpha}{myletters}{`E}

等等。这需要做很多工作。你会失去很多其他人已经完成的工作。

到目前为止,我发现我的答案有点可疑。例如,即使在我发布的原始解决方案中,\tan排版也是使用通常的默认字体,而我上面建议的任何更改似乎都无法改变这一点。

答案3

要获取数学模式下字母、数字和一些符号的打字机字体,您可以使用数学文本按照建议Mico 的回答,并进行一些额外的设置:

\documentclass{article}
\usepackage{mathastext}
\MTfamily{\ttdefault}\Mathastext % this tells mathastext to use typewriter
\begin{document}
Hello, Pythagoras. $a^2 + b^2 = c^2$. Goodbye, mathematics.
\end{document}

数学文本 tt

答案4

您还可以查看 (La)TeX 的字体调查: http://mirror.ctan.org/info/Free_Math_Font_Survey/survey.html

在那里你会发现很多数学(和文本)字体。也许其中一些会满足你的需要。

相关内容