与此相关问题我正在尝试使用 chemfig 包生成图形。实际上,我的问题是图形的下半部分被裁剪了,特别是 N 下面的 H。
这是代码:
\documentclass{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{*6(-\chembelow{\color{blue}N}{H}-(={\color{red}O})-{\color{blue}N}=(-{\color{blue}N}H_2)-=)}
\end{document}
下面,您可以看到我得到的图:
并且应该是:
答案1
使用\Chembelow
(大写!) 代替\chembelow
。摘自手册(我强调):
宏[...]
\chembelow[<dim>]{<code>}{<stuff>}
将[...]放置在[
<stuff>
...]下方<code>
不改变边界框<code>
。
另一方面,大写版本does
扩展了边界框。(顺便说一下,具有相同的关系。\lewis
)\Lewis
答案2
可以使用宏Chembelow
,但结果是不是完美,因为边界框(太高)修改了键的进入和离开的位置N
:
\Chembelow
无法给出良好的结果,\chembelow
并发送到H
裁剪之外。一种解决方案是使用不可见的键(.25
使用 try/error 找到的长度):
\documentclass{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{*6(-\color{blue}{N}(-[,.25,,,draw=none]H)-(={\color{red}O})-{\color{blue}N}=(-{\color{blue}N}H_2)-=)}
\end{document}
也许更好的解决方案,但更冗长,是使用\chemfig*
(带星号),因为它可以将不可见键的长度设置为 0(对于 tikz,0 是 0.0001):
\chemfig*{*6(-\color{blue}{N}(-[,.0001,,,draw=none]{\lower0.25ex\hbox{H}})-(={\color{red}O})-{\color{blue}N}=(-{\color{blue}N}H_2)-=)}