Estou tentando escrever o seguinte, $T_E$
mas aparece em itálico. Eu tentei também $\text{T_E}$
, mas o LaTeX me deu um erro.
Responder1
Responder2
Os exemplos a seguir ilustram diversas soluções possíveis.
\documentclass{scrartcl}
\usepackage{amsmath}
\newcommand{\testline}{Text $\mathrm{T}_\mathrm{E}$ or $\text{T}_\text{E}$ or $\textup{T}_\textup{E}$ or T\textsubscript E}
\begin{document}
\testline
\itshape\testline
\sffamily\upshape\testline
\itshape\testline
\rmfamily\upshape\bfseries%as before but bold
\testline
\itshape\testline
\sffamily\upshape\testline
\itshape\testline
\end{document}
Observe que alguns deles adotam o estilo e a fonte do texto.
Responder3
Com o conjunto de ferramentas moderno
Com o unicode-math
pacote (que eu pessoalmente recomendo, embora nem todos concordem), \mathrm
ainda há suporte para compatibilidade com versões anteriores, mas também o é o sinônimo \mathup
e o \symup
.
Se você usar \symup
, poderá especificar uma fonte vertical diferente da fonte de texto normal e de nomes de operadores como log
, sin
e lim
. Meu exemplo principal é definir a identidade de Euler no estilo ISO, ou seja, com constantes simbólicas definidas em fonte vertical, com as constantes e, π e i em Euler e todo o resto em Palatino. É um bom exemplo de por que você pode querer uma fonte vertical diferente para variáveis matemáticas.
\documentclass[varwidth, preview]{standalone}
\usepackage{mathtools}
\usepackage[math-style=ISO]{unicode-math}
\setmainfont{TeX Gyre Pagella}
\defaultfontfeatures{Scale=MatchLowercase}
\setmathfont{Asana Math}
\setmathfont[range={up/{Latin,latin,Greek,greek},
bfup/{Latin,latin,Greek,greek}},
script-features={}, sscript-features={}
]{Neo Euler}
\newcommand\upe{\symup{e}}
\newcommand\upi{\symup{i}}
\begin{document}
\begin{align*}
\upe^{\upi x} &= \cos{x} + \upi \sin{x} \\
\upe^{\upi \uppi} + 1 &= 0
\end{align*}
\end{document}
(Se quiser fazer algo assim com a fonte padrão, você pode tentar Latin Modern Roman Unslanted ou CMU Serif Upright Italic. Aqui está um exemplo do último:
\documentclass[varwidth, preview]{standalone}
\usepackage{amsmath}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range=up/{Latin,latin,Greek,greek}]{CMU Serif Upright Italic}
\begin{document}
\begin{align*}
\symup{e}^{\symup{i} x} &= \cos{x} + \symup{i} \sin{x} \\
\symup{e}^{\symup{i \pi}} + 1 &= 0
\end{align*}
\end{document}
O \symup
comando deve ser usado desta forma. Os comandos \mathrm
e \mathup
são mais para palavras em equações, como nomear variáveis TIME e ENERGY. Outra boa alternativa para palavras inteiras é usar \operatorname
from amsmath
. Isso formata o texto como \log
ou \sin
, ou seja, insere espaçamento como 2 logxem vez de 2logx.
Existem de forma semelhante \mathtt
para \mathsfup
letras monoespaçadas e sem serifa.
Você também poderia, por exemplo, fazer \newcommand\TIME{\mathop{\mbox{\scshape time}}}
para obter TIME em versalete, com espaçamento de um operador.
Você pode tornar variáveis matemáticas verticais o padrão carregando o pacote com \usepackage[math-style=upright]{unicode-math}
.
Com o conjunto de ferramentas legado
O eulerpx
pacote implementa a popular combinação de variáveis matemáticas Euler e texto Palatino, junto com símbolos do newpxmath
. Se você deseja letras verticais no PDFLaTeX, este na minha opinião é o pacote mais atraente para eles.
O cfr-lm
pacote torna o itálico vertical facilmente disponível; com este pacote, você pode escrever \DeclareRobusTCommand\mathui[1]{\mbox{\uishape #1}}
em itálico vertical. O exemplo que dei anteriormente \scshape
para small-caps também funcionaria.
Para formatar um nome de variável na fonte padrão, \operatorname
from amsmath
é uma boa opção.
Para um caso de uso mais complicado, existem \DeclareMathAlphabet
e \DeclareMathSymbol
.