箭头上方的文本出现换行符

箭头上方的文本出现换行符

我有以下箭头和文字:

\arrow{->[conjugation/hydroxylation/oxidation]}[0,2]

conjugation/hydroxylation/如何在和之间插入换行符oxidation?我尝试过\break\\\newline后面都加一个空格,但没有得到任何变化。基本上,我希望conjugation\hydroxylationoxidation一个叠在另一个上面,位于箭头上方。

我也尝试过\substack{}amsmath但是这个词oxidation消失了。

这是一个示例图像(不必看起来完全相同):

在此处输入图片描述

答案1

您可以使用 \parbox

\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\begin{document}
    \schemestart
    \chemfig{**6(--(-COOR)-(-COOR)---)}
    \arrow{->[\parbox{2cm}{conjugation \\ hydroxylation \\ oxidation}][]}[0,2]
    \chemfig{**6(--(-COOR)-(-COOH)---)}
    \arrow{->}
    \chemfig{**6(--(-[:-30](=[:-90]O)-[:30]O-[:-30]R)-(-[:30](=[:90]O)-[:-30]O-[:30](*6(-(-OH)-(-OH)-(-OH)-(-COOH)-O-)))---)}
    \schemestop
\end{document}

在此处输入图片描述

\centering您也可以使用

\arrow{->[\parbox{2cm}{\centering conjugation \\hydroxylation \\ oxidation}][]}[0,2]

在此处输入图片描述

答案2

因为chemfig使用 TikZ,我们应该能够仅通过设置align = center该节点来做到这一点。

不幸的是,chemfig它既不使用 PGFKeys,也没有提供良好的界面来改变所有或仅一个箭头的节点。

但是它有一个接口可以声明新的箭头类型。在这里,我使用三个(用户)参数声明箭头类型,->*其中前两个是箭头上的两个节点,第三个可以是两个节点的选项。

我还添加了样式chemfig/every ->* node,以便您可以为所有这些标签声明一个通用样式。偷偷将其放入 via 中是\CF_arrowdisplaylabel可行的,因为当它转发到密钥时,它的第二个和第六个参数不受保护pos

我使用\chemfig其他答案中的 s 来展示这一点,因为我不知道\chemfig其他的。

当然,这需要扩展到其他箭头类型(或者可以覆盖原始类型)以使此功能适用于所有类型。

代码

\documentclass[tikz, border=2mm]{standalone}
\usepackage{chemfig}
\catcode`\_=11
\definearrow4{->*}{%
  \CF_arrowshiftnodes{#4}%
  \draw[style/.expand once=\CF_arrowcurrentstyle]
    (\CF_arrowstartnode)--(\CF_arrowendnode);%
  \CF_arrowdisplaylabel{#1}{0.5,chemfig/every ->* node,#3}+%
     \CF_arrowstartnode{#2}{0.5,chemfig/every ->* node,#3}-\CF_arrowendnode}
\catcode`\_=8
\tikzset{chemfig/every ->* node/.append style={align=center, font=\scriptsize}}
\begin{document}

\schemestart
  \chemfig{**6(--(-COOR)-(-COOR)---)}
  \arrow{->*[conjugation/hydroxylation \\ oxidation]}[0,2]
  \chemfig{**6(--(-COOR)-(-COOH)---)}
\schemestop

\schemestart
  \chemfig{**6(--(-COOR)-(-COOR)---)}
  \arrow{->*[conjugation/\\ hydroxylation \\ oxidation][Both nodes!][
    blue, align=left, draw, rounded corners, inner sep=.15em,
    font=\normalsize\bfseries]}[0,2]
  \chemfig{**6(--(-COOR)-(-COOH)---)}
\schemestop
\end{document}

输出

在此处输入图片描述 在此处输入图片描述

答案3

使用tabular可以让您免于猜测尺寸。

\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\begin{document}

\schemestart
  \chemfig{**6(--(-COOR)-(-COOR)---)}
  \arrow{->[\scriptsize\begin{tabular}{@{}c@{}} conjugation/hydroxylation \\ oxidation \end{tabular}][]}[0,2]
  \chemfig{**6(--(-COOR)-(-COOH)---)}
\schemestop

\end{document}

在此处输入图片描述

更改\scriptsize为您喜欢的尺寸命令。

相关内容