Я пытаюсь создать вопросник для учеников, в котором им нужно будет указать протонные и атомные номера элементов после того, как они подверглись радиоактивному распаду.
Мне удалось использовать среду 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
тип столбца, который применяет макрос mhchem
s \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}