答案1
这mhchem 手册给出了这个例子。
\ce{Zn^2+
<=>[+ 2OH-][+ 2H+]
$\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$
<=>[+ 2OH-][+ 2H+]
$\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$
}
旁注:Fe^{+2}
是一个旧的符号,不应再使用。
答案2
这是一个解决方案。我构建了一个顶部对齐的表格,其中第一行以正常大小排版\ce
,但其他行则为\scriptsize
。
由于\ce
扫描\\
,您无法在描述中使用它,但\tabularnewline
也可以正常工作。
\documentclass{article}
\usepackage[version=4]{mhchem}
\newcommand{\ck}[2]{% “compound kind”
\begingroup\scriptsize
\begin{tabular}[t]{@{}c@{}}\normalsize \strut\ce{#1} \\ #2 \end{tabular}%
\endgroup
}
\begin{document}
\ce{
\ck{8H+}{acid} +
\ck{2e-}{reducing \tabularnewline agent} +
\ck{Fe3O4}{oxide} ->
\ck{3Fe^{+2}}{metal ions \tabularnewline in solution} +
4H2O
}
\end{document}
人们可以用类似的方法完成chemformula
已经达到此目的的工作(参见手册第 10 节)。
\documentclass{article}
\usepackage{chemformula}
\newcommand{\stack}[1]{%
\begin{tabular}[t]{@{}c@{}} #1 \end{tabular}%
}
\begin{document}
\ch{
!(\strut acid)( 8 H^+ ) +
!(\stack{reducing \\ agent})( 2 e^- ) +
!(\strut oxide)( Fe3 O4 ) ->
!(\stack{metal ions \tabularnewline in solution})( 3 Fe^{+2} ) +
4 H2 O
}
\end{document}
\strut
对于在各种名称中获得正确的垂直对齐是必要的;已经\stack
自行添加了它。
答案3
阅读关于在化学方程式中注释反应物的问题让我想到了我的做法。我开始使用包mhchem
(在 Mediawiki 上发布页面时仍间接使用它),但很快就切换到 Clemens Niederberger 提供的包集。在 egreg 的回答中已经提到其中一个:chemformula
。为了注释化学方程式中的反应物,我使用包\chemname
中的宏chemfig
。为了确保正确表示电荷,可以使用包\pch[] \mch[]
中的宏。内部使用来自(独立)包的符号,因此无需单独加载该包。 使用宏将注释正确对齐在反应物下方。chemmacros
chemmacros
chemformula
chemfig
\chemnameinit{}
稍微注释一下的逐步 MWE:
\documentclass[a4paper,12pt]{article}
%\usepackage{chemformula}
\usepackage{chemmacros}
\usepackage{chemfig}
\usepackage[left=2cm,top=2cm,text={17cm,26cm}]{geometry}
\begin{document}
\thispagestyle{empty}
Result using \verb|\chemname{}| in a chemfig reaction environment: \\
\schemestart
\chemname{\ch{8 H\pch[]}}{\small acid} \+{1em,1em,}
\chemname{\ch{2 \el}}{\small reducing \\agent} \+{1em,1em,}
\chemname{\ch{Fe3O4}}{\small oxide} \space
\arrow(.mid east--.mid west)[,0.8]
\chemname{\ch{3 Fe\pch[2]}}{\small metal ions \\in solution} \+{1em,1em,}
\ch{4 H2O}
\schemestop
\vspace{24pt}
Adding \verb|\chemnameinit\{ch{Fe3O4}}| aligns the annotations correctly: \\
\chemnameinit{\ch{Fe3O4}}
\schemestart
\chemname{\ch{8 H\pch[]\aq{}}}{\small acid} \+{1ex,1ex,}
\chemname{\ch{2 \el}}{\small reducing \\agent} \+{1ex,1ex,}
\chemname{\ch{Fe3O4}\sld{}}{\small oxide} \space
\arrow(.mid east--.mid west)[,0.8]
\chemname{\ch{3 Fe\pch[2]\aq{}}}{\small metal ions \\in solution} \+{1ex,1ex,}
\chemname{\ch{4 H2O\lqd{}}}{\small solvent}
\schemestop
\chemnameinit{}
\medskip
{\footnotesize \textbf{NB:} Phases are usually ommited from redox reaction schemes, but in this case they amplify the annotations used in this reduction equation.}
\vspace{24pt}
An example in line with the given reduction reaction using \verb|\chemnameinit{<largest reactant>}| in an oxidation reaction of an organic compound: \\
\setchemfig{bond style={line width=1pt},atom sep=2.1em,}
\chemnameinit{\chemfig{H_3C-CH_2-C([1,1.1]=O)([7,1.1]-OH)}}
\schemestart
\chemname{\chemfig{H_3C-CH_2-CH_2-OH}}{\small propane-1-ol} \+{1ex,1ex,} \ch{H2O} % or \chemfig{H_2O}
\arrow(.mid east--.mid west)[,0.8]
\chemname{\chemfig{H_3C-CH_2-C([1,1.1]=O)([7,1.1]-OH)}}{\small propanoic acid}
\+{1ex,1ex,} \ch{4 \el} \+{1ex,1ex,} \ch{4 H\pch[]}
\schemestop
\chemnameinit{}
\end{document}