Alterando o espaço entre átomos em Chemabove

Alterando o espaço entre átomos em Chemabove

Considere este exemplo:

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

insira a descrição da imagem aqui

O N fica mais ou menos em cima do H. Como posso aumentar essa distância?


EDIT: Como visto no exemplo abaixo. Por alguma razão, o argumento opcional não se comporta conforme o esperado. Pelo menos não com minha fonte configurada.

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

insira a descrição da imagem aqui

Responder1

Uma solução rápida seria usar \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}

insira a descrição da imagem aqui

Responder2

Os argumentos opcionais de \chemabovee \chembelowfazem exatamente isso! Citando chemfigo manual de:

As macros \chemabove[<dim>]{<code>}{<stuff>}colocam \chembelow[<dim>]{<code>}{<stuff>}acima <stuff>e abaixo <code>respectivamente a uma distância vertical <dim>, sem alterar a caixa delimitadora de <code>. O argumento opcional permite, se escrito, especificar esta dimensão em cada chamada. Se o argumento opcional não for utilizado, será adotado um tamanho padrão: seu valor é 1.5ptmas pode ser modificado com a macro \setstacksep{<dimension>}. Esses comandos são independentes da macro \chemfige podem ser usados ​​dentro ou fora de seu argumento.

Observe o

sem alterar a caixa delimitadora de<code>

parte que é exatamente o que diferencia essas macros das versões em maiúsculas \Chemabovee \Chembelowquefazermude a caixa delimitadora! (Há outro par de macros com a mesma diferença: \lewise \Lewis.)

Vamos ver se funciona.


A distância padrão ( 1.5pt):

\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}

\chemfig{HO-[:30]**6(---(-\chemabove{N}{H}-[:-30](=[6]O)-[:30])---)}

\end{document}

insira a descrição da imagem aqui


Uma distância maior ( 5pt):

\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}

\chemfig{HO-[:30]**6(---(-\chemabove[5pt]{N}{H}-[:-30](=[6]O)-[:30])---)}

\end{document}

insira a descrição da imagem aqui


Uma distância maior ( 5pt) e \Chemabove- observe que Nnão está mais posicionado corretamente em relação aos títulos devido à caixa delimitadora alterada:

\documentclass[margin=.75cm]{standalone}
\usepackage{chemfig}
\begin{document}

\chemfig{HO-[:30]**6(---(-\Chemabove[5pt]{N}{H}-[:-30](=[6]O)-[:30])---)}

\end{document}

insira a descrição da imagem aqui

informação relacionada