改變 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}

在此輸入影像描述

相關內容