如何在 chemfig 中写入 si 单位?
我需要用埃符号来代替“A”。
以下是我的想法:
\documentclass[preview,border=10pt]{standalone}
\usepackage{chemfig}
\usepackage{tikz}
\begin{document}
\schemestart
\chemfig{
(-[:25]O-[:-25,1.3]
(-[@{e1}:20]X-[:-50,,,,draw=none]@{e2}1,781A)
-[:45,1.3])
-[:45,1.3]-[:-25,1.3]O-[@{a2}:25]
(-[@{a1}:90]
X-[:-20,1.3,,,draw=none]@{a2}1.819A)
}
\schemestop
\chemmove{
\draw(a2) -- (a1);
\draw(e2) -- (e1);
}
\end{document}
ps 我还有另一个问题:那个丑陋的箭头从 1 的顶部开始,我更喜欢其他箭头样式。
答案1
该包siunitx
运行良好,因此我会使用它:\SI{1.819}{\angstrom}
。要更改所谓的箭头样式,您只需让线条从 TikZ 在绘制节点时自动定义的几个锚点之一开始即可。要访问它们,请使用语法,其中锚点<node_name>.anchor
可以是south
、、east
和( 在这种情况下最合适)。west
north
center
west
\documentclass[preview,border=10pt]{standalone}
\usepackage{chemfig}
%\usepackage{tikz}
\usepackage{siunitx}
\begin{document}
\schemestart
\chemfig{
(-[:25]O-[:-25,1.3]
(-[@{e1}:20]X-[:-50,,,,draw=none]@{e2}\SI{1,781}{\angstrom})
-[:45,1.3])
-[:45,1.3]-[:-25,1.3]O-[@{a2}:25]
(-[@{a1}:90]
X-[:-20,1.3,,,draw=none]@{a2}\SI{1.819}{\angstrom})
}
\schemestop
\chemmove{
\draw[-stealth](a2) -- (a1);
\draw[-stealth](e2.west) -- (e1);
}
\end{document}
答案2
要打印埃符号,请\AA
在数学模式下使用,而不是A
所以它会是这样的
(-[@{e1}:20]X-[:-50,,,,draw=none]@{e2}1,781$\AA$)
代替
(-[@{e1}:20]X-[:-50,,,,draw=none]@{e2}1,781A)
必须承认,这会产生一些错误,但在我的位置上它渲染正确。所以我认为你可以忽略它。