不使用 mhchem 包编写核反应

不使用 mhchem 包编写核反应

我想编写核反应,但不想使用 mhchem 包,因为它与其他化学包不兼容。

例如我该如何获得这种类型: 在此处输入图片描述

谢谢

答案1

这是一种方法,摘自并改编自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}

结果

答案2

您可以\nuc使用 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}
$$

答案3

\ch如果要使用里面的东西chemmacros,你还需要做更多的工作。

\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}

在此处输入图片描述

答案4

使用isotope包。

\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}

在此处输入图片描述

tensor包:

\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}

在此处输入图片描述

相关内容