答案1
自动调整大小的两种替代方案N
:
\documentclass{article}
\usepackage{amstext}% or package amsmath for \text
\newcommand*{\ttmath}[1]{%
\texttt{\mdseries\upshape#1}%
}
\begin{document}
$2^{\verb|N|-1}$ {\small(\verb|\verb|)}
$2^{\texttt{N}-1}$ {\small(\verb|\texttt| with \verb|amstext|)}
\textit{Italics $2^{\ttmath{N}-1}$ context} {\small(macro \verb|\ttmath|)}
$2^{\mathtt{N}-1}$ {\small(\verb|\mathtt|)}
\end{document}
评论:
\texttt
这里使用数学模式自动调整大小,因为它内部使用了\nfss@text
在包中重新定义amstext
为的\text
。宏
\ttmath
还重置字体属性系列和形状以独立于当前文本字体设置。\mathtt
是最有效的命令,并使用配置的打字机字体进行数学运算。这通常与 相同\ttfamily
。一些字体包会同时切换两种字体,就像 一样lmodern
,而其他字体包则不会。因此,是否可以使用 代替或beramono
取决于字体设置。\mathtt
\verb
\texttt
答案2
LaTeX 内核已定义\mathtt
,其他的就不需要了。顺便说一句,\verb
不要滥用打字机字体进行打印,通常\texttt
就足够了,而\verb
打印带有特殊字符的 TeX 代码则需要。
\documentclass{article}
\begin{document}
$2^{\mathtt{N}-1}$
$2^{\mathtt{N}^{\mathtt{M}}}$
\end{document}
定义自己的语义命令可能很有用,比如
\newcommand{\tvar}[1]{\mathtt{#1}}
并使用$2^{\tvar{N}}$
。这样,您就不会受限于特定的表示形式,您可以随时通过修改定义来更改它。
可能会发生选择不同的字体集不会更新的情况\mathtt
。该解决方案很简单,并且相对于其他解决方案的优势\text
在于,它可以轻松适应\boldmath
开箱即用的支持。
\documentclass{article}
\usepackage[T1]{fontenc} % necessary for beramono
\usepackage{amsmath}
\usepackage{beramono}
% update \mathtt to use the same font as \ttfamily
\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n}
% if the monospaced font also supports boldface (b or bx)
\SetMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{b}{n}
\newtheorem{theorem}{Theorem}
\begin{document}
$2^{\mathtt{N}-1}$ and \texttt{N}
\begin{theorem}
Something about $2^{\mathtt{N}-1}$
\end{theorem}
\end{document}
边注
使用\texttt
是错误的,如下面的代码所示。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\tvar}[1]{\mathtt{#1}}
\newtheorem{theorem}{Theorem}
\begin{document}
\section*{Right}
$2^{\tvar{N}-1}$
\begin{theorem}
Something about $2^{\tvar{N}-1}$
\end{theorem}
\section*{Wrong}
$2^{\texttt{N}-1}$
\begin{theorem}
Something about $2^{\texttt{N}-1}$
\end{theorem}
\end{document}
答案3
使用 Werner 的这个答案的解决方案:https://tex.stackexchange.com/a/120694/120578
\documentclass{article}
\usepackage{verbatim}% http://ctan.org/pkg/verbatimes
\usepackage{pgf}
\makeatletter
\newcommand{\mverbatimfont}{\def\verbatim@font{\ttfamily}}%
\makeatother
\def\verbatimfont#1{\pgfmathsetmacro\bls{1.2*#1}\mverbatimfont\fontsize{#1}{\bls}\selectfont}
\begin{document}
\verbatimfont{6}
$2^{\verb|N|-1}$
\verbatimfont{9}
$\verb|N|^{\verbatimfont{6}\verb|N|-1}$
\end{document}
输出: