相同数学环境中的不同字体

相同数学环境中的不同字体

我希望显示类似0^3 1^5 ...指数(示例中的 3 和 5,可以是任意数字)以通常的数学形式书写的文本,但底数(0 和 1)以打字机字体书写。

我尝试了 (内联) 数学、\verb 和 \texttt 的各种组合,但都看起来不正确。

结果应如下所示:

$
\text{\texttt{0}}^4
\text{\texttt{1}}^3
\text{\texttt{0}}
\text{\texttt{1}}^2
$

但输入起来相当麻烦。

答案1

\documentclass{article}
\begin{document}
  $
  \mathtt{0}^4
  \mathtt{1}^3
  \mathtt{0}
  \mathtt{1}^2
$
\end{document}

在此处输入图片描述

答案2

\documentclass{article}
\everymath{%
\mathtt{\xdef\tmp{\the\fam}}%
\textfont0=\textfont\tmp\relax}
\begin{document}

This isn't supported latex syntax, but


$0^4 1^3 0 1^2$

\end{document}

答案3

如果您想保留公式的正常数学设置,唯一的方法就是标记您想要这些特殊数字的位置。

\documentclass{article}
\usepackage{amsmath,etoolbox}

\DeclareSymbolFont{ttnumbers}{OT1}{cmtt}{m}{n}
\DeclareSymbolFontAlphabet{\mathtt}{ttnumbers}

\makeatletter
\DeclareMathVersion{ttn}
\let\mv@ttn\mv@normal
\begingroup
\def\temp#1#2\@nil{\endgroup\def\mv@ttn{\mod@getanddefine@fonts#2}}%
\expandafter\temp\mv@ttn\@nil

\let\mod@getanddefine@fonts\getanddefine@fonts
\patchcmd\mod@getanddefine@fonts
  {\string #2}
  {OT1/cmtt/m/n}
  {}{}
\makeatother

\newcommand{\ttn}[1]{\text{\mathversion{ttn}$#1$}}

\begin{document}
$a+b=\ttn{2^3\cdot3^5}-\log x$
\end{document}

在此处输入图片描述

请注意,\ttn也可以在普通文本中使用。

答案4

仅供参考:如果符号之间的空间可以接受,则可以写

\texttt{0$^4$ 1$^3$ 0 1$^2$}

在此处输入图片描述

相关内容