Redimensionar literalmente no modo de equação de expoente

Redimensionar literalmente no modo de equação de expoente

Eu tenho essa equação embutida

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

que dá esse resultado

insira a descrição da imagem aqui

O problema é que uso \verb|N|folhas Ncom o mesmo tamanho que em \displaystylemas quero que sejam menores.

Como eu posso fazer?

Responder1

Duas alternativas com redimensionamento 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}

Resultado

Observações:

  • \textttaqui funciona com redimensionamento automático no modo matemático porque usa internamente \nfss@texto que é redefinido no pacote amstextcomo \text.

  • A macro \ttmathtambém redefine a série e a forma dos atributos da fonte para se tornar independente da configuração atual da fonte do texto.

  • \mathtté o comando mais eficiente e usa a fonte de máquina de escrever configurada para matemática. Geralmente é o mesmo que \ttfamily. Alguns pacotes de fontes trocam ambas as fontes ao mesmo tempo como lmodern, outros não beramono. Portanto, depende da configuração da fonte, se \mathttpode ser usada no lugar de \verbou \texttt.

Responder2

O kernel do LaTeX define \mathtte nada mais é necessário. A propósito, \verbnão deve ser abusado para imprimir na fonte da máquina de escrever, geralmente \texttté suficiente, enquanto \verbé necessário para imprimir código TeX com caracteres especiais.

\documentclass{article}

\begin{document}

$2^{\mathtt{N}-1}$

$2^{\mathtt{N}^{\mathtt{M}}}$

\end{document}

insira a descrição da imagem aqui

Provavelmente é útil definir seu próprio comando semântico, digamos

\newcommand{\tvar}[1]{\mathtt{#1}}

E use $2^{\tvar{N}}$. Dessa forma, você não fica preso à representação específica que pode ser alterada a qualquer momento, apenas modificando a definição.

Pode acontecer que a escolha de um conjunto de fontes diferente não seja atualizada \mathtt. A solução é simples e a vantagem sobre outras soluções envolvidas \texté que pode ser facilmente adaptada para suporte \boldmathimediato.

\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}

insira a descrição da imagem aqui


Nota

Usar \textttestá errado, conforme exemplificado pelo código a seguir.

\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}

insira a descrição da imagem aqui

Responder3

Uma solução usando esta resposta 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}

Saída:

insira a descrição da imagem aqui

informação relacionada