pgfplots 标题中的 chemformula 自由基

pgfplots 标题中的 chemformula 自由基

我想使用 chemmacros 或更具体地说是 chemformula 在 pgfplots 标题中排版一个根。但是,chemformula 使用 tikz 排版根,而 pgfplot 会干扰坐标,因此根会出现在错误的位置。这是我的 MWE。

\documentclass{article}
\usepackage{pgfplots}
\usepackage{chemformula}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[title=\ch{H^{.}}]
        \end{axis}
    \end{tikzpicture}
\end{document}

这产生了下面的图片。

绘图时出现错误的部首符号

部首符号放错了位置,正确的位置如下(裁剪得有点太多,但你明白我的意思)。

具有正确根号符号的公式

这是chemformula 源代码摘录它排版了根号。我猜它需要一些关键字来在某种意义上重置坐标系……

\cs_new_protected:Npn \chemformula_radical:
  {
    \hbox_overlap_right:n
      {
        \chemformula_tikz:xn
          {
            \l__chemformula_radical_style_tl ,
            baseline ,
            minimum~ height = 0pt ,
            minimum~ width = 0pt ,
            inner~ sep = 0pt ,
            outer~ sep = 0pt ,
            overlay
          }
          {
            \fill (0,0)
              ++(
                \l__chemformula_radical_hshift_dim ,
                \l__chemformula_radical_vshift_dim
              )
              circle (\l__chemformula_radical_radius_dim) ;
          }
      }
    \chemformula_skip_nobreak:N \l__chemformula_radical_space_dim
  }

如何通过修改化学公式源或修补宏来获得正确定位?

答案1

您不应该嵌套tikzpictures。而应使用 a \savebox

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}%<- recommended
\usepackage{chemmacros}
\newsavebox\mytitle
\begin{document}
\savebox\mytitle{\ch{H^{.}}}
    \begin{tikzpicture}
        \begin{axis}[title=\usebox\mytitle]
        \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容