![相同数学环境中的不同字体](https://linux22.com/image/303626/%E7%9B%B8%E5%90%8C%E6%95%B0%E5%AD%A6%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E4%B8%8D%E5%90%8C%E5%AD%97%E4%BD%93.png)
我希望显示类似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$}