chemfig 패키지의 화살표 위/아래 텍스트에 세로 공백을 추가하는 방법

chemfig 패키지의 화살표 위/아래 텍스트에 세로 공백을 추가하는 방법

H$_{2}$O$_{2}$ 30\%과 사이에 세로 공백을 추가하려고 하는데 \SI{25}{\degreeCelsius}, \SI{30}{\minute}추가할 수 없습니다. 어떻게 해야 할지 아시나요?

여기에 이미지 설명을 입력하세요

\documentclass[letter,10pt]{article}
\usepackage{chemfig}
\usepackage{chemnum}
\newcommand*\pkg[1]{\textsf{#1}}
\usepackage[version=3]{mhchem}

\begin{document}

\begin{figure}[!htbp]
\centering
\scalebox{0.9}{
\schemestart
\chemname{
\scriptsize
\chemfig[yshift=15pt]{*6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))=-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))}
}{\textbf{1}}
\arrow(.mid east--.mid west)
{->[LDH, solvente][H$_{2}$O$_{2}$ 30\%, \\ \SI{25}{\degreeCelsius}, \SI{30}{\minute}]}[0,2.0]
\chemname{
\scriptsize
\chemfig[yshift=15pt]{*6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))-(-[:210]O(-[:90]))-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))}
}{\textbf{2}}
\schemestop
}
\caption{Reacción de epoxidación. Oxidación de la doble ligadura de la chalcona en presencia de un peróxido de hidrógeno y una base orgánica.}
\label{fig:3}
\end{figure}

\end{document}

답변1

이것이 최선인지는 모르겠지만 \vbox귀하의 텍스트를 만들었습니다. 이렇게 하면 원하는 대로 올바르게 렌더링될 수 있습니다.

            \documentclass[letter,10pt]{article}
            \usepackage{chemfig}
            \usepackage{siunitx}
            \usepackage{chemnum}
            \newcommand*\pkg[1]{\textsf{#1}}
            \usepackage[version=3]{mhchem}

            \begin{document}

            \begin{figure}[!htbp]
            \centering
            \scalebox{0.9}{%
            \schemestart
            \chemname{%
            \scriptsize%
            \chemfig[yshift=28pt]{*6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))=-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))}
            }{\textbf{1}}
            \arrow(.mid east--.mid west)
            {->[LDH, solvente][\vbox{H$_{2}$O$_{2}$ 30\%,\\ \SI{25}{\degreeCelsius}, \SI{30}{\minute}}]}[0,2.0]
            \chemname{%
            \scriptsize%
            \chemfig[yshift=28pt]{*6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))-(-[:210]O(-[:90]))-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))}
            }{\textbf{2}}
            \schemestop
            }
            \caption{Reacción de epoxidación. Oxidación de la doble ligadura de la chalcona en presencia de un peróxido de hidrógeno y una base orgánica.}
            \label{fig:3}
            \end{figure}

            \end{document}

굽힐 수 있는

여기에 이미지 설명을 입력하세요

편집하다

제발신경쓰세요yshift그렇지 않으면 나에게 정확한 그림을 제공하지 못했기 때문에 나는 를 가지고 놀아야 했습니다 .

답변2

다음은 제가 사용한 아이디어입니다.Chemfig 새로운 라인 반응 방식– 화살표의 노드를 패치합니다. 아래 코드에는 몇 가지 다른 개선 사항이 있습니다. 예를 들어 필요하지 않습니다 yshift. 또한 chemnum수동으로 수행하는 대신 화합물 번호 매기기 와 같은 패키지를 사용하겠습니다 …

\documentclass{article}
\usepackage{chemfig,chemnum,siunitx}

\usepackage{regexpatch}
\makeatletter
% \xpatchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
% the starred version replaces all instances of <search>
\xpatchcmd*\CF@arrow@display@label@a{node[}{node[align=center,}{}{}
\makeatother

\begin{document}

\begin{center}
  \setatomsep{1.3em}
  \schemestart
    \chemname{%
      \chemfig{
        *6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))
        =-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))
      }}{\cmpd{one}}
    \arrow{%
      ->[LDH, solvente]%
        [\chemfig{H_2O_2} \SI{30}{\percent}, \\ \SI{25}{\celsius}, \SI{30}{\minute}]%
      }[0,2.0]
    \chemname{%
      \chemfig{
        *6((-(*6(=-=([:150]-[,,,,white]R|^1([:0]-))-=-)))
        -(-[:210]O(-[:90]))-(-(*6(-=-([:30]-[,,,,white]R|^2([:180]-))=-=)))(=[::60]O))
      }}{\cmpd{two}}
  \schemestop
\end{center}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보