Atalho para escrever expressões longas e comuns?

Atalho para escrever expressões longas e comuns?

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 \newcommanddiretiva 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 iem 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/ newtxmathe 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 \loghide 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 \mdseriesao argumento de \textsc) instrui o LaTeX a se aplicar \textsca 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 \Hiapenas 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.

insira a descrição da imagem aqui

informação relacionada