Qual seria a melhor maneira de compor HI para designar gás molecular como emo título deste artigo, com maiúscula H
e um número um pouco menor I
? Estou usando a scrbook
classe.
Eu tentei definir
\newcommand{\HI}{H {\uppercase{\romannumeral 1}} }
mas isso resulta em H i
, com letras minúsculas i
.
Eu também tentei
\newcommand*{\HI}{\textsc{Hi}}
mas isso não se comporta corretamente quando eu uso \section{}
, resultando em "H i" em vez de "H I".
Também não encontrei nada parecido em chemmacros
, que é mais voltado para químicos.
Esta é uma forma padrão de escrever moléculas em astrofísica, então estou surpreso que não exista um pacote que faça isso facilmente.
Responder1
Use o tamanho dos subscritos vinculados ao tamanho da fonte atual.
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\DeclareRobustCommand{\HI}{%
\mbox{H\check@mathfonts\fontsize\sf@size\z@\selectfont I}%
}
\makeatother
\textheight=3cm % just to shorten the image
\begin{document}
\section{About \HI}
Here we talk about \HI.\footnote{Yes, about \HI.}
\end{document}
O comando do kernel \check@mathfonts
calcula \sf@size
e \ssf@size
inicia a partir do tamanho da fonte atual, com os parâmetros armazenados \DeclareMathSizes
ou com uma heurística.
Responder2
Ajuste 1.2ex
para se adequar.
\documentclass{article}
\usepackage{scalerel}
\newcommand\HI{H\protect\scaleto{$I$}{1.2ex}}
\begin{document}
\tableofcontents
\section{This is \HI}
And in text: \HI{} and \LARGE \HI
\end{document}
Porque scalerel
opera, por padrão, no modo matemático, $I$
é na verdade uma fugafora demodo matemático. Se isso for muito confuso, você pode simplesmente operar no modo matemático como:\newcommand\HI{H\protect\scaleto{\textrm{I}}{1.2ex}}
Se você quisesse uma versão sem pacotes, você poderia fazer isso, mas isso requer uma macro separada para estilo em negrito:
\documentclass{article}
\newcommand\HI{$\textrm{H}\scriptstyle\mathrm{I}$}
\newcommand\HIbold{$\textbf{H}\scriptstyle\mathbf{I}$}
\begin{document}
\tableofcontents
\section{This is \HIbold}
And in text: \HI{} and \LARGE \HI
\end{document}
Responder3
Outra maneira de fazer isso é a forma como é implementado peloAula de Astronomia e Astrofísica.
Adicione esta declaração ao cabeçalho:
\DeclareRobustCommand{\ion}[2]{%
\relax\ifmmode
\ifx\testbx\f@series
{\mathbf{#1\,\mathsc{#2}}}\else
{\mathrm{#1\,\mathsc{#2}}}\fi
\else\textup{#1\,{\mdseries\textsc{#2}}}%
\fi}
Então, no corpo do documento, use
\ion{H}{I}