如何在 LaTeX 中排版四重键?我尝试了几种方法:垂直堆叠等号、在表格中放置线条等。
单键至三键很容易(通过使用化学无花果包裹,https://www.sharelatex.com/learn/Chemistry_formulae),但四重键似乎有所不同。
我通过以下方式创建了“四重键”:
\begin{table}
\resizebox{5mm}{!}{
\begin{tabular}{c}
\rule[0mm]{22mm}{1pt} \\
\rule[0mm]{22mm}{1pt} \\
\rule[0mm]{22mm}{1pt} \\
\rule[0mm]{22mm}{1pt}
\end{tabular}
}
\end{table}
仍在尝试找出一种将其置于线上的方法。
答案1
如果按照你的评论,你只是想将键绘制为一行文本的一部分,我会直接选择底层的 Tikz chemfig
:
\newcommand{\quadruplebond}[2]{
\begin{tikzpicture}[x=3em, y=0.2ex]
\node (a1) at (0,0) {#1};
\node (a2) at (1,0) {#2};
\foreach \i in {-3,-1,1,3} {
\path (a2.west) +(0,\i) node[coordinate] (t\i) {};
\draw (a1.east) +(0,\i) -- (t\i);
}
\end{tikzpicture}
}
可以让你写\quadruplebond{Ti}{Ti}
并得到。更改x
和y
值以调整键长和间距。这不是可以想象的最复杂的代码,但至少可以随文本大小缩放。
(一般来说,要使用此代码,您将需要\usepackage{tikz}
,但如果您已在加载,chemfig
则系统已为您完成。)
答案2
以下是实现四键的另一种方法:
\documentclass{article}
\usepackage{chemfig}
\def\fourbondsep{1pt}
\usetikzlibrary{decorations}
\pgfdeclaredecoration{ddddb}{initial}{
\state{initial}[width=\pgfdecoratedremainingdistance]
{\foreach\i in{1.5,0.5,-0.5,-1.5}{%
\pgfpathmoveto{\pgfpoint{0pt}{\i*\fourbondsep}}\pgfpathlineto{\pgfpoint{\pgfdecoratedremainingdistance}{\i*\fourbondsep}}}
}
\state{final}
{}
}
\tikzset{4bond/.style={decorate,decoration=ddddb}}
\begin{document}
\chemfig{Ti-[,,,,4bond]Ti}
\end{document}
答案3
如果您想要将其用于内联公式,我建议使用chemformula
它,它可以让您轻松定义新的键类型。如手册中所述,它使用 TikZ 和节点(chemformula-bond-start)
和(chemformula-bond-end)
。以下是可能的四重键定义的示例:
\NewChemBond{quadruple}{
\foreach \i in {-.15em,-.05em,.05em,.15em}{
\draw[chembond]
([yshift=\i]chemformula-bond-start) -- ([yshift=\i]chemformula-bond-end) ;
}
}
然后,我们可以使用\bond{quadruple}
中的chemformula
来\ch
表示债券 ( \ch{Ti\bond{quadruple}Ti}
)。为了方便起见,还可以为债券添加替换符号,尤其是当该债券要多次使用时:
\NewChemCompoundProperty{\#}{\bond{quadruple}}
然后可以改用该符号 ( \ch{Ti\#Ti}
) 来获得四重键。
完整示例:
\documentclass{article}
\usepackage{chemformula}
% define the bond:
\NewChemBond{quadruple}{
\foreach \i in {-.15em,-.05em,.05em,.15em}{
\draw[chembond]
([yshift=\i]chemformula-bond-start) -- ([yshift=\i]chemformula-bond-end) ;
}
}
% define the replacement symbol for the new bond:
\NewChemCompoundProperty{\#}{\bond{quadruple}}
\begin{document}
\ch{Ti\bond{quadruple}Ti}
\ch{Ti\#Ti}
\end{document}