考虑这个例子:
\documentclass{memoir}
\usepackage{fontspec}
\usepackage{chemfig}
\usepackage{unicode-math}
\pdfmapline{+arial arial <8r.enc <sAarial.ttf}
\begin{document}
\setmainfont{arial}
\setmathfont[range=\mathup] {arial}
\chemfig{HO-[:30]**6(---(-\Chemabove[6pt]{N}{H}-[:-30](=[6]O)-[:30])---)}
\end{document}
N 或多或少位于 H 的上方。我怎样才能增加这个距离?
编辑:如下例所示。出于某种原因,可选参数的行为不符合预期。至少在我的字体设置下不是这样。
\documentclass{memoir}
\usepackage{fontspec}
\usepackage{chemfig}
\usepackage{unicode-math}
\pdfmapline{+arial arial <8r.enc <sAarial.ttf}
\begin{document}
\setmainfont{arial}
\setmathfont[range=\mathup] {arial}
\chemfig{HO-[:30]**6(---(-\Chemabove[24pt]{N}{H}-[:-30](=[6]O)-[:30])---)}
\end{document}
答案1
一个快速的解决方案是使用\raisebox
:
\documentclass{memoir}
\usepackage{chemfig}
\begin{document}
\chemfig{HO-[:30]**6(---(-\Chemabove[6pt]{N}{H}-[:-30](=[6]O)-[:30])---)}
\chemfig{HO-[:30]**6(---(-\Chemabove[6pt]{\raisebox{1ex}{N}}{\raisebox{1ex}{H}}-[:-30](=[6]O)-[:30])---)}
\end{document}
答案2
\chemabove
和的可选参数\chembelow
正是这样做的!引用chemfig
的手册:
宏
\chemabove[<dim>]{<code>}{<stuff>}
和 分别\chembelow[<dim>]{<code>}{<stuff>}
将 置于<stuff>
上方和下方,<code>
垂直距离<dim>
,而不改变 的边界框<code>
。可选参数(如果写入)允许在每次调用时指定此维度。如果未使用可选参数,则将采用默认大小:其值为1.5pt
但可以使用宏 进行修改\setstacksep{<dimension>}
。这些命令独立于宏\chemfig
,可在其参数内部或外部使用。
注意
不改变边界框
<code>
这正是这些宏与大写版本的区别所在,\Chemabove
也是\Chembelow
做改变边界框!(还有另一对具有相同区别的宏:\lewis
和\Lewis
。)
让我们看看它是否有效。
默认距离(1.5pt
):
\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{HO-[:30]**6(---(-\chemabove{N}{H}-[:-30](=[6]O)-[:30])---)}
\end{document}
距离较大(5pt
):
\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{HO-[:30]**6(---(-\chemabove[5pt]{N}{H}-[:-30](=[6]O)-[:30])---)}
\end{document}
距离更大(5pt
)并且\Chemabove
- 请注意,N
由于边界框的变化,相对于键不再正确放置:
\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{HO-[:30]**6(---(-\Chemabove[5pt]{N}{H}-[:-30](=[6]O)-[:30])---)}
\end{document}