
Antwort1
Zwei Alternativen mit automatischer Größenanpassung 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}
Bemerkungen:
\texttt
hier funktioniert die automatische Größenanpassung im Mathematikmodus, da intern verwendet wird, was im Paket als\nfss@text
neu definiert wird .amstext
\text
Das Makro
\ttmath
setzt außerdem die Schriftattribute, -reihen und -formen zurück, um sie von der aktuellen Textschriftarteinstellung unabhängig zu machen.\mathtt
ist der effizienteste Befehl und verwendet die konfigurierte Schreibmaschinenschriftart für Mathematik. Dies ist oft dasselbe wie\ttfamily
. Einige Schriftpakete schalten beide Schriftarten gleichzeitig um wielmodern
, andere nicht wieberamono
. Daher hängt es von der Schriftartkonfiguration ab, ob anstelle von oder\mathtt
verwendet werden kann .\verb
\texttt
Antwort2
Der LaTeX-Kernel definiert es \mathtt
und nichts anderes ist notwendig. Übrigens \verb
sollte es nicht zum Drucken in der Schreibmaschinenschriftart missbraucht werden, normalerweise \texttt
reicht es aus, wohingegen \verb
zum Drucken von TeX-Code mit Sonderzeichen erforderlich ist.
\documentclass{article}
\begin{document}
$2^{\mathtt{N}-1}$
$2^{\mathtt{N}^{\mathtt{M}}}$
\end{document}
Es ist wahrscheinlich nützlich, einen eigenen semantischen Befehl zu definieren, sagen wir
\newcommand{\tvar}[1]{\mathtt{#1}}
und verwenden Sie $2^{\tvar{N}}$
. Auf diese Weise sind Sie nicht an die jeweilige Darstellung gebunden, die Sie jederzeit ändern können, indem Sie einfach die Definition ändern.
Es kann vorkommen, dass die Auswahl eines anderen Schriftartensatzes nicht aktualisiert wird \mathtt
. Die Lösung ist einfach und der Vorteil gegenüber anderen Lösungen besteht \text
darin, dass sie leicht angepasst werden kann, um \boldmath
sofort einsatzbereite Unterstützung zu bieten.
\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}
Randnotiz
Die Verwendung \texttt
ist falsch, wie der folgende Code zeigt.
\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}
Antwort3
Eine Lösung unter Verwendung dieser Antwort von 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}
Ausgabe: