我尝试绘制一张包含各种分子及其修饰的图表。我想用红色突出显示图中所示的差异。假尿苷不仅有额外的 NH,而且双键也有移位。所以我只想给双键的内键上色。我发现这个类似问题但这实际上不是我的问题。
有人知道我怎样才能在 chemfig 中只给双键的一行着色吗?
梅威瑟:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{chemfig}
\usepackage{lipsum}
\usepackage{amsmath}
\begin{document}
\begin{figure*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Molecules
\definesubmol{PU}{*6(=N(-R)-(=O)-NH-(=O)-{\color{red}H}|{\color{red}N}-[,,2])}
\definesubmol{Ubase}{*6(-N(-R)-(=O)-NH-(=O)-=)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{subfigure}{.2\textwidth}
\chemfig[atom style={scale=0.6}]{!{PU}}
\caption{Pseudouridine ($\Psi$)}\label{fig:Label1}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{.2\textwidth}
\chemfig[atom style={scale=0.6}]{!{Ubase}}
\caption{Uridine}\label{fig:Label2}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{.2\textwidth}
\caption{}\label{fig:Label3}
\end{subfigure}
\caption{\lipsum[1]}
\end{figure*}
\end{document}
答案1
我同意cgnieder的观点。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{chemfig}
\usepackage{lipsum}
\usepackage{amsmath}
\catcode`_=11
\tikzset{clrdbl/.code 2 args={
\tikzset{color=#1}\global\CF_addtomacro\CF_currentbondstyle{,color=#2}
}}
\catcode`_=8
\begin{document}
\begin{figure*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Molecules
\definesubmol{PU}{*6(=[,,,,clrdbl={black}{red}]N(-R)-(=O)-NH-(=O)-{\color{red}H}|{\color{red}N}-[,,2])}
\definesubmol{Ubase}{*6(-N(-R)-(=O)-NH-(=O)-=)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{subfigure}{.2\textwidth}
\chemfig[atom style={scale=0.6}]{!{PU}}
\caption{Pseudouridine ($\Psi$)}\label{fig:Label1}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{.2\textwidth}
\chemfig[atom style={scale=0.6}]{!{Ubase}}
\caption{Uridine}\label{fig:Label2}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{.2\textwidth}
\caption{}\label{fig:Label3}
\end{subfigure}
\caption{\lipsum[1]}
\end{figure*}
\end{document}