Выравнивание в среде enumerate и mhchem

Выравнивание в среде enumerate и mhchem

Я пытаюсь создать вопросник для учеников, в котором им нужно будет указать протонные и атомные номера элементов после того, как они подверглись радиоактивному распаду.

Мне удалось использовать среду mhchem и tikz для создания следующего рабочего листа:

введите описание изображения здесь

используя следующий код:

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{tikz}
\usepackage[version=4]{mhchem}

\newcommand\isotope{
\begin{tikzpicture}[scale=0.5, baseline=-4pt]
\draw (0,0.1) rectangle (1.5,1.1)
(0,-0.1) rectangle (1.5,-1.1)
(1.7,-1.1) rectangle (3.8,1.1);
\end{tikzpicture}}

\begin{document}

\begin{enumerate}
\begin{huge}
\item $\!\begin{aligned}[t] 
 \ce{^213_90Th -> ^4_2\alpha{} + & \isotope} \\
 \end{aligned}$
\item $\begin{aligned}[t] 
 \ce{^194_86Rn -> ^4_2\alpha{} + & \isotope} \\
 \end{aligned}$
\item $\begin{aligned}[t] 
 \ce{^217_91Pa -> ^4_2\alpha{} + &  \isotope} \\
 \end{aligned}$
\item $\begin{aligned}[t] 
 \ce{^221_90Th -> ^4_2\alpha{} + & \isotope} 
 \end{aligned}$
  \end{huge}
\end{enumerate}


\end{document}

Однако обратите внимание, что коробки не совпадают друг с другом, и это сводит меня с ума.

Я пытался использовать среду align* вместе со средой enumerate, но безрезультатно.

Моя последняя попытка связана со средойalign[t], но, как вы видите, это не решило проблему.

Есть идеи, как это исправить?

решение1

Обновленный ответ, без автомагических изотопов:

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{tikz}
\usepackage[version=4]{mhchem}

\newcommand\isotope{
\medskip\par
\begin{tikzpicture}[scale=0.5, baseline=-4pt]
\draw (0,0.1) rectangle (1.5,1.1)
(0,-0.1) rectangle (1.5,-1.1)
(1.7,-1.1) rectangle (3.8,1.1);
\end{tikzpicture}}


\usepackage{array}
\newcounter{rows}
\newcolumntype{C}{>{\stepcounter{rows}}l<{\arabic{rows}.}}
\newcolumntype{A}{c<{\ce{->}}}

\setlength{\tabcolsep}{4pt}

\begin{document}

\begin{tabular}{ClAll}
  & \ce{^213_90Th} &  &  \ce{^4_2\alpha{}}  &  + \isotope \\
  & \ce{^194_86Rn} &  &  \ce{^4_2\alpha{}}  &  + \isotope \\
\end{tabular}

\end{document}

Это дает

введите описание изображения здесь

Объяснение: мы используем a tabularвместо an enumerateдля достижения выравнивания. Счетчик генерируется специальным типом столбца C, который дополняет счетчик и набирает значение; в таблице вам не нужно ничего заполнять. Мы используем похожий трюк для стрелки реакции; он предоставляется пользовательским типом Aстолбца, так что все, что вам нужно сделать, это вставить пустую ячейку таблицы.

Поставленная проблема также является хорошей возможностью продемонстрировать collcellпакет Мартина Шаррера, который предоставляет простой способ применения макроса к содержимому каждой ячейки таблицы. Здесь мы определяем Eтип столбца, который применяет макрос mhchems \ceк каждой ячейке. Более того, мы создаем другой Iтип столбца, который заполняет каждую ячейку пользовательским макросом \isotope:

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{tikz}
\usepackage[version=4]{mhchem}
\usepackage{collcell}

\newcommand\isotope{
\medskip\par
\begin{tikzpicture}[scale=0.5, baseline=-4pt]
\draw (0,0.1) rectangle (1.5,1.1)
(0,-0.1) rectangle (1.5,-1.1)
(1.7,-1.1) rectangle (3.8,1.1);
\end{tikzpicture}}


\usepackage{array}
\newcounter{rows}
\newcolumntype{C}{>{\stepcounter{rows}}l<{\arabic{rows}.}}
\newcolumntype{A}{c<{\ce{->}}}
\newcolumntype{I}{l<{+ \isotope}}
\newcolumntype{E}{>{\collectcell\ce}l<{\endcollectcell}}


\setlength{\tabcolsep}{4pt}

\begin{document}

\begin{tabular}{CEAEI}
  & ^213_90Th &  &  ^4_2\alpha  &  \\
  & ^194_86Rn &  &  ^4_2\alpha  &  \\
\end{tabular}

\end{document}

Результат будет таким же, как показано выше.

решение2

Предлагаю решение с listliketabпакетом, вместо настоящего списка. «Элементы» могут быть перекрестно-связанными.

Я также определил \myisotopeкоманду, которая не требует tikz, а просто полагается на hhline:

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{tikz}
\usepackage[version=4]{mhchem}
\usepackage{array, hhline, enumitem, listliketab}

\newcommand\isotope{%
\begin{tikzpicture}[scale=0.5, baseline=-4pt]
\draw (0,0.1) rectangle (1.5,1.1)
(0,-0.1) rectangle (1.5,-1.1)
(1.7,-1.1) rectangle (3.8,1.1);
\end{tikzpicture}}
\newcommand\myisotope{\renewcommand{\arraystretch}{0.6}\setlength\extrarowheight{12pt}\begin{tabular}{|p{10pt}||p{18pt}|}\hhline{-||-}& \\\hhline{:=:|~|} & \\\hhline{|-||-|}\end{tabular}}%&

\begin{document}

\storestyleof{enumerate}
\begin{listliketab}
\newcounter{tabenum}\setcounter{tabenum}{0}
\newcommand{\tabitem}{\refstepcounter{tabenum}\thetabenum.}
\begin{tabular}{Lr@{}l}
\tabitem\label{th} & \ce{^213_90Th -> ^4_2\alpha{} +} & \myisotope\\[20pt]
\tabitem & \ce{^194_86Rn -> ^4_2\alpha{} +} & \myisotope\\[20pt]
\tabitem & \ce{^217_91Pa -> ^4_2\alpha{} +} & \myisotope \\[20pt]
\tabitem & \ce{^221_90Th -> ^4_2\alpha{} +} & \myisotope
\end{tabular}
\end{listliketab}

Reaction \ref{th}

\end{document} 

введите описание изображения здесь

Связанный контент