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 の上にあります。この距離を増やすにはどうすればよいですか?


編集: 以下の例のとおりです。何らかの理由で、オプションの引数が期待どおりに動作しません。少なくとも私のフォント設定ではそうではありません。

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

ここに画像の説明を入力してください

関連情報