
Respuesta1
Dos alternativas con cambio de tamaño automático 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}
Observaciones:
\texttt
aquí funciona con el cambio de tamaño automático en modo matemático porque utiliza internamente\nfss@text
que se redefine en el paqueteamstext
como\text
.La macro
\ttmath
también restablece la serie y la forma de los atributos de fuente para independizarse de la configuración de fuente de texto actual.\mathtt
es el comando más eficiente y utiliza la fuente de máquina de escribir configurada para matemáticas. Esto suele ser lo mismo que\ttfamily
. Algunos paquetes de fuentes cambian ambas fuentes al mismo tiempolmodern
, otros noberamono
. Por lo tanto, depende de la configuración de la fuente si\mathtt
se puede utilizar en lugar de\verb
o\texttt
.
Respuesta2
El kernel LaTeX define \mathtt
y no es necesario nada más. Por cierto, \verb
no se debe abusar de él para imprimir en fuente de máquina de escribir, normalmente \texttt
es suficiente, mientras que \verb
es necesario para imprimir código TeX con caracteres especiales.
\documentclass{article}
\begin{document}
$2^{\mathtt{N}-1}$
$2^{\mathtt{N}^{\mathtt{M}}}$
\end{document}
Probablemente sea útil definir su propio comando semántico, digamos
\newcommand{\tvar}[1]{\mathtt{#1}}
y use $2^{\tvar{N}}$
. De esta manera no estás atado a la representación particular que puedes cambiar en cualquier momento simplemente modificando la definición.
Puede suceder que la elección de un conjunto de fuentes diferente no se actualice \mathtt
. La solución es simple y la ventaja sobre otras soluciones \text
es que se puede adaptar fácilmente al soporte \boldmath
listo para usar.
\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}
Nota al margen
El uso \texttt
es incorrecto, como lo ejemplifica el siguiente código.
\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}
Respuesta3
Una solución usando esta respuesta de 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}
Producción: