
Estou escrevendo um artigo sobre astronomia e tenho alguns símbolos e variáveis que são comuns. Está se tornando complicado escrevê-los todas as vezes. Existe uma maneira de criar uma espécie de atalho para eles? Observe que a maioria está no modo matemático.
Por exemplo:
log(Oi)
$\log(\textrm{H}\textsc{i})$
registro(SFR/M*)
$\log(\textrm{SFR} / \textrm{M}_{\odot})$
Responder1
Criar macros que forneçam atalhos para strings usadas com frequência é uma ideia muito boa. Para uma introdução básica aos usos da \newcommand
diretiva LaTeX veja, por exemplo, o Capítulo 6, "Personalizando o LaTeX", do guiaA introdução não tão curta ao LATEX2e.
Por exemplo, você poderia emitir as instruções
\newcommand\loghi{\log(\mathrm{H}\textsc{i})}
\newcommand\sfrm{\log(\mathrm{SFR} / \mathrm{M}_{\odot})}
no preâmbulo e, posteriormente, no corpo do texto, escreva algo como
bleet bleet $\loghi=\sfrm$ more bleet bleet
Como você já observou em um comentário, surge uma complicação se essas macros também puderem ser usadas emaudaciosoarredores, como cabeçalhos de seccionamento. Especificamente, dada a definição acima de \loghi
, o LaTeX tentará compor a letra i
em negrito e maiúsculo. Como você descobriu, se a família de fontes que você está usando não apresenta uma fonte em negrito e maiúsculo, a letra será definida em negrito "comum", ou seja, comoeu. Não é o efeito desejado, certo?!
O que fazer? Acho que você tem (pelo menos) duas opções. A primeira é usar uma família de fontes que apresente uma fonte em negrito e maiúsculo. Duas dessas famílias são newt xtext
/ newtxmath
e newpxtext
/ newpxmath
. O primeiro oferece um visual "Times Roman", o último um visual "Palatino". Isso pode (ou não...) ser aceitável para você.
Segundo, você pode configurar a macro que define \loghi
de tal forma que ela nem mesmo tente usar um glifo em negrito (possivelmente inexistente). Por exemplo,
\newcommand\loghi{\log(\mathrm{H}\textsc{\mdseries i})}
(observe a adição de \mdseries
ao argumento de \textsc
) instrui o LaTeX a se aplicar \textsc
a uma versão de "peso médio" (em vez de "peso em negrito") de i
. Contanto que a fonte de peso médio contenha glifos em letras minúsculas, você terá sucesso garantido.
Responder2
Eu dividiria o problema em duas partes. Primeiro você define os símbolos elementares, depois as expressões em termos deles:
\documentclass{article}
\usepackage{amsmath}
%% first the symbols
\newcommand{\Hi}{\textnormal{H\kern-.1em\textsc{i}}}
\newcommand{\SFR}{\mathrm{SFR}}
\newcommand{\Mo}{\mathrm{M}_{\odot}}
%% then common expressions
\newcommand{\lHi}{\log\Hi}
\newcommand{\lsfrmo}{\log(\SFR/\Mo)}
\begin{document}
\begin{gather*}
\log\Hi + \log(\SFR/\Mo)\\
\lHi+\lsfrmo
\end{gather*}
\end{document}
Adicionei um pouco à definição de \Hi
apenas para mostrar como você pode redefinir o símbolo elementar sem qualquer necessidade de modificar também a definição da expressão definida em termos dele.
Com \textnormal{...}
garantimos que a fonte será a “inicial”, independentemente do contexto. Isto é necessário para \Hi
, mas não para \SFR
; como \mathrm
é mais eficiente que \textnormal
, é preferível quando for possível utilizá-lo.