使用 mhchem 和 chemfig:如何使图像变小并让其垂直适应?

使用 mhchem 和 chemfig:如何使图像变小并让其垂直适应?

代码

\documentclass[10pt, a4paper]{article}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{chemfig,stackengine,graphicx}
\usepackage{xcolor,tikz}
\usepackage[version=3]{mhchem}

\definesubmol{wallpart}{-[:-90,.5](-[:110,.5])}
\definesubmol{wall}{!{wallpart}!{wallpart}!{wallpart}}

\begin{document}
\lipsum[10]

\begin{align}
\cee{CH3 + \varphi &-> \varphi CH3}\\
\cee{\varphi CH3 +e &-> }\chemfig{!{wall}(-[:0]**6(---(-CH3)---)) !{wall}}
\end{align}

\lipsum[20]

\end{document}

产品

产物苯环

故障排除者

如您所见,图像(chemfig)可能有点太大。我不知道如何将其缩小。

我还希望 chemfig 之前的方程式垂直位于 chemfig 图像的中心。

同时非常感谢您的关注和参与。

答案1

引用chemfig手册

ChemFig 总是将分子的第一个原子放在前面的代码的基线上。

这意味着分子中的第一个原子决定了整个分子的基线。在这种情况下,解决方案相当简单:在“墙”开始之前向上添加一个不可见的键(即向下按 0.5 缩放的三个键(角度为:-90)):

\documentclass{article}
\usepackage{chemfig}

\definesubmol{wallpart}{-[:-90,.5](-[:110,.5])}
\definesubmol{wall}{!{wallpart}!{wallpart}!{wallpart}}

\begin{document}

A \chemfig{
  -[:90,1.5,,,draw=none]
  !{wall}
  (-[:0]**6(---(-CH_3)---))
  !{wall}
} B

\end{document}

在此处输入图片描述

如果您还在开头添加一个幻像原子,则排列将适合前后文本:

\documentclass{article}
\usepackage{chemfig}

\definesubmol{wallpart}{-[:-90,.5](-[:110,.5])}
\definesubmol{wall}{!{wallpart}!{wallpart}!{wallpart}}

\begin{document}

A \chemfig{
  \vphantom{A}-[:90,1.5,,,draw=none]
  !{wall}
  (-[:0]**6(---(-CH_3)---))
  !{wall}
} B

\end{document}

在此处输入图片描述

您可以通过将原子分离设置为较小的值来使分子更小

\setatomsep{1.5em}

(默认值为 3em)或使用可选参数缩放:\chemfig[scale=.5][scale=.5]{...}。尝试仅使用其中一个可选参数来查看其不同的效果……

相关内容