Изменение пространства между атомами в Chemabove

Изменение пространства между атомами в Chemabove

Рассмотрим такой пример:

  \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. Как можно увеличить это расстояние?


EDIT: Как видно из примера ниже. По какой-то причине необязательный аргумент не ведет себя так, как ожидалось. По крайней мере, не с моей настройкой шрифта.

  \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}

введите описание изображения здесь

Связанный контент