Изменить размер дословно в режиме уравнения экспоненты

Изменить размер дословно в режиме уравнения экспоненты

У меня есть это встроенное уравнение

$2^{\verb|N|-1}$

что дает такой результат

введите описание изображения здесь

Проблема в том, что я использую \verb|N|листья Nтого же размера, что и на рисунке, \displaystyleно хочу, чтобы они были меньше.

Как я могу сделать?

решение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

Решение с использованием этого ответа Вернера: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}

Выход:

введите описание изображения здесь

Связанный контент