我正在尝试显示由于热量而引起的键合运动/振动。除了“摇摆”和“扭曲”之外,我能够重现所有运动(连同动画包)(请参阅此处解释)。问题是 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}
后记
请参阅下面克莱门斯的评论,他确实证实了参数是在数学模式下处理的。此外,他指出“原子被放置在\printatom
定义为\newcommand*\printatom[1]{\ensuremath{\mathrm{#1}}}
”的位置。因此,对此进行重新定义将允许\mbox
减轻我的答案的要求。