Here is a MWE of the code I'm talking about:
\documentclass[12pt]{article}
\usepackage{chemfig}
\definesubmol{MP}[-[4]P(-[3]O^\ominus)(-[5]O^\ominus)=[4]O]{-P(-[1]O^\ominus)(-[7]O^\ominus)=O}
\definesubmol{MA1}[(-[7])-[4](-[5]O^\ominus)=[3]O]{(-[3])-(-[1]O^\ominus)=[7]O}
\definesubmol{MA2}[(-[1])-[4](-[5]O^\ominus)=[3]O]{(-[5])-(-[1]O^\ominus)=[7]O}
\begin{document}
\chemfig{--[:300]N(-[1]!{MP})-[:330]-[6]-[:210]N(-[7]!{MP})-[:240]-[4]-[:120]N(-[5]!{MP})-[:150]-[2]-[:30]N(-[3]!{MP})-[:60]}
\end{document}
After upgrading to TeXLive 2020 (through MacTeX), the submolecules print out the actual string instead of rendering them as structures (see image).
Before when I had TeXLive 2015, it was printing properly. Does anyone know how to fix this? Thank you!
EDIT: A related question with a shorter MWE may be found HERE.


chemfigv1.56, and your MWE seems to compile correctly. – andselisk Nov 02 '20 at 06:42\listfilesbefore your\documentclass, then the log will tell the versions of the files that it uses. Could you post that as well? – Teepeemm Feb 17 '21 at 21:17