如何防止 \underbrace 与 \chemfig 重叠?

如何防止 \underbrace 与 \chemfig 重叠?

我正在注释的化学式与下括号重叠,除非我使用括号。如何在不使用括号的情况下防止重叠?

梅威瑟:

\documentclass{article}
\usepackage{chemfig}

\begin{document}
$\underbrace{\chemfig{*6(-\chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}}_{\textnormal{glycine anhydride}}$
 vs. 
$\underbrace{\left[\chemfig{*6(-\chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}\right]}_{\textnormal{glycine anhydride}}$
\end{document}

结果:

在此处输入图片描述

答案1

您可以使用大写版本\Chembelow(还有\Chemabove)来扩展分子的边界框:

$\underbrace{
  \chemfig{*6(-\Chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}
}_{\textnormal{glycine anhydride}}$

顺便说一句:您可以使用chemfig的工具并完全避免使用数学模式:

\schemestart[-90]
  \chemup.
  \chemfig{*6(-\Chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}
  \chemdown\}
  \arrow{0}[,0]
  glycine anhydride
\schemestop

完整示例:

\documentclass{article}
\usepackage{chemfig}
\begin{document}

$\underbrace{
  \chemfig{*6(-\Chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}
}_{\textnormal{glycine anhydride}}$

\bigskip

\schemestart[-90]
  \chemup.
  \chemfig{*6(-\Chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}
  \chemdown\}
  \arrow{0}[,0]
  glycine anhydride
\schemestop

\end{document}

在此处输入图片描述

答案2

这里,我只\addstackgap[10pt]{}需要\chemfig,用可选参数大小的缓冲区(默认为 3pt)填充参数的顶部和底部。

另外,也可以通过添加 来完成此操作,而无需使用包\rule。下面的 MWE 显示了这两种方法。

\documentclass{article}
\usepackage{chemfig,stackengine}

\begin{document}
$\underbrace{\addstackgap[10pt]{\chemfig{*6(-\chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}}}_{\textnormal{glycine anhydride}}$
\quad
$\underbrace{\rule[-30pt]{0pt}{30pt}\chemfig{*6(-\chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)}}_{\textnormal{glycine anhydride}}$
\end{document}

在此处输入图片描述

相关内容