我已经为 TEDA 定义了一个子分子,以便可以通过 !{TEDA} 将其插入到母结构(六甲基苯)中。
\definesubmol{TEDA}{-[::60]*6(\chemabove{\textcolor{blue}{N}}{\scriptstyle{+}}?---\textcolor{blue}{N}(-[::150,.7]-[::-30,.7]?)--?)
只要我做一次,它就能完美地工作,但是当我插入多个顶点时,就会导致与顶点形成不良的结合。
- 泰达:
\chemfig[][scale=.5]{!{TEDA}}
- TEDA+家长:
\chemfig[][scale=.5]{*6((-!{TEDA})-(-)=(-)-(-)=(-)-(-)=)}
- 2*泰达+家长:
\chemfig[][scale=.5]{*6((-!{TEDA})-(-)=(-!{TEDA})-(-)=(-)-(-)=)}
我已经知道这一定是由我的 TEDA 定义引起的,它包含钩子“?”,如果我添加多个 TEDA 单元,它们最终会相互连接。
有没有办法为单个 !{TEDA} 实例指定唯一的钩子?我是否需要以完全不同的方式解决这个问题?
答案1
从 v1.33 开始,你可以使用参数定义 submols:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\definesubmol{TEDA}1{-[::60]\chemabove{\textcolor{blue}{N}}{\rlap{\kern0.2em$\scriptstyle{+}$}}?[#1]*6(---\textcolor{blue}{N}(-[::150,.7]-[::-30,.7]?[#1])--?[#1])}
\chemfig{*6((-!{TEDA}{a})-(-)=(-!{TEDA}{b})-(-)=(-)-(-)=)}
\end{document}