Escrevendo reações nucleares sem o pacote mhchem

Escrevendo reações nucleares sem o pacote mhchem

Gostaria de escrever reações nucleares, mas não com o pacote mhchem porque tenho incompatibilidades com outros pacotes químicos.

Como posso proceder por exemplo para obter este tipo: insira a descrição da imagem aqui

Obrigado

Responder1

Aqui está uma maneira de fazer isso, espiada e adaptada dopacote nuc.

\documentclass[10pt,a4paper]{article}
\usepackage{ifthen}

\newcommand{\nuc}[3]{\ensuremath{{}^{#2}_{#3} \textrm{#1}}}

\begin{document}
 
$ \nuc{X}{A}{Z} \rightarrow  \nuc{Y}{A-a}{Z-z} + \nuc{p}{a}{z} $
 
\end{document}

resultado

Responder2

Você pode definir a \nucmacro usando primitivas TeX:

\def\nuc#1#2#3{\vcenter{\baselineskip=1.7ex\halign{\hfil##\cr$\nucstyle{#2}$\cr$\nucstyle{#3}$\cr}}{\rm#1}}
\def\nucstyle{\scriptstyle\rm}

Test:
$$
   \nuc{X}{A}{Z} \rightarrow  \nuc{Y}{A-a}{Z-z} + \nuc{p}{a}{z}
$$

Responder3

Se você usar o que está dentro \chde chemmacros, precisará de mais trabalho.

\documentclass{article}
\usepackage{chemmacros}
\usepackage{amsmath}

\ExplSyntaxOn
\NewDocumentCommand{\Isotope}{mmm}
 {
  \nicolas_isotope:nn { #1 } { #2 } \ensuremath{ \mathrm{#3} }
 }

\tl_new:N \l__nicolas_isotope_sup_tl
\tl_new:N \l__nicolas_isotope_sub_tl
\box_new:N \l__nicolas_isotope_sup_box
\box_new:N \l__nicolas_isotope_sub_box
\dim_new:N \l__nicolas_isotope_wd_dim

\cs_new_protected:Nn \nicolas_isotope:nn
 {
  \group_begin:
  % override the substitutions made by chemformula
  \cs_set:Nn \chemformula_single_bond: { - }
  \cs_set:Nn \chemformula_triple_bond: { + }
  \hbox_set:Nn \l__nicolas_isotope_sup_box { $\scriptstyle\mathrm{#1}$ }
  \hbox_set:Nn \l__nicolas_isotope_sub_box { $\scriptstyle\mathrm{#2}$ }
  \dim_set:Nn \l__nicolas_isotope_wd_dim
   {
    \dim_max:nn
     { \box_wd:N \l__nicolas_isotope_sup_box }
     { \box_wd:N \l__nicolas_isotope_sub_box }
   }
  \ensuremath
   {
    \sp{\makebox[\l__nicolas_isotope_wd_dim][r]{\box_use:N \l__nicolas_isotope_sup_box}}
    \sb{\makebox[\l__nicolas_isotope_wd_dim][r]{\box_use:N \l__nicolas_isotope_sub_box}}
   }
  \group_end:
 }

\ExplSyntaxOff

\begin{document}
\[
\ch{\Isotope{A}{Z}{X} -> \Isotope{A-a}{Z-z}{X} + \Isotope{a}{z}{p}}
\]
\[
\Isotope{A-a}{Z-z}X
\]

\end{document}

insira a descrição da imagem aqui

Responder4

Usando isotopepacote.

\documentclass[a4paper,12pt]{article}
\usepackage{isotope}

\begin{document}
$\isotope[\mathrm A][\mathrm Z]{\mathrm X}\to \isotope[\mathrm{A-a}][\mathrm{Z-z}]{\mathrm Y}+\isotope[a][z]{\mathrm p}$
\end{document}

insira a descrição da imagem aqui

ou tensorpacote:

\documentclass[a4paper,12pt]{article}
\usepackage{tensor}

\begin{document}
$\tensor*[^{\mathrm A}_{\mathrm Z}]{\mathrm{X}}{}\to \tensor*[^{\mathrm{A-a}}_{\mathrm{Z-z}}]{\mathrm Y}{}+\tensor*[^{a}_{z}]{\mathrm p}{}$
\end{document}

insira a descrição da imagem aqui

informação relacionada