使用 ChemFig 包计算分子结构中单个原子的字体大小

使用 ChemFig 包计算分子结构中单个原子的字体大小

我正在尝试显示由于热量而引起的键合运动/振动。除了“摇摆”和“扭曲”之外,我能够重现所有运动(连同动画包)(请参阅此处解释)。问题是 ChemFig 似乎不接受默认的 文本操作命令:,,,,,,,,,,。\tiny这是代码:\scriptsize\footnotesize\small\normalsize\large\Large\LARGE\huge\Huge

%
\documentclass[12pt]{article}
\usepackage[loop,palindrome,autoplay]{animate}
\usepackage{chemfig}

\begin{document}


Twisting:
\begin{animateinline}[begin={\begin{minipage}[c][6em]{12em}}, end={\end{minipage}}]{3}
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\Huge H})(-[:30]{\tiny H})}
{\Huge H}{\tiny H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\Large H})(-[:30]{\footnotesize H})}
{\Large H}{\footnotesize H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\normalsize H})(-[:30]{\normalsize H})}
{\normalsize H}{\normalsize H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\footnotesize H})(-[:30]{\Large H})}
{\footnotesize H}{\Large H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\tiny H})(-[:30]{\Huge H})}
{\tiny H}{\Huge H}
}
\end{animateinline}
\end{document}

答案1

我认为chemfig参数是在数学模式下处理的。因此,如果希望使用像 这样的尺寸变化\tiny,则需要将它们放在 中\mbox

\documentclass[12pt]{article}
\usepackage[loop,palindrome,autoplay]{animate}
\usepackage{chemfig}

\begin{document}


Twisting:
\begin{animateinline}[begin={\begin{minipage}[c][6em]{12em}}, end={\end{minipage}}]{3}
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\mbox{\Huge H}})(-[:30]{\mbox{\tiny H}})}
{\Huge H}{\tiny H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\mbox{\Large H}})(-[:30]{\mbox{\footnotesize H}})}
{\Large H}{\footnotesize H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{H})(-[:30]{H})}
{\normalsize H}{\normalsize H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\mbox{\footnotesize H}})(-[:30]{\mbox{\Large H}})}
{\footnotesize H}{\Large H}
}
\newframe
\noindent\makebox[\textwidth][c]{
\chemfig{C(<[:165])(<:[:195])(-[:-30]{\mbox{\tiny H}})(-[:30]{\mbox{\Huge H}})}
{\tiny H}{\Huge H}
}
\end{animateinline}
\end{document}

enter image description here

enter image description here

后记

请参阅下面克莱门斯的评论,他确实证实了参数是在数学模式下处理的。此外,他指出“原子被放置在\printatom定义为\newcommand*\printatom[1]{\ensuremath{\mathrm{#1}}}”的位置。因此,对此进行重新定义将允许\mbox减轻我的答案的要求。

相关内容