如何在 pgfplot 的 tics 和标签中获得相同的字体?

如何在 pgfplot 的 tics 和标签中获得相同的字体?

我尝试在 pgf 图中的所有可能位置使用相同的字体。在论坛上花了很多时间并尝试了各种书面解决方案后,我还是没有找到答案。

非常感谢您的帮助。

问候,Th。

\documentclass{scrartcl}

\usepackage{fontspec}
\setmainfont{Arial}

\usepackage{etoolbox}
% change fonts to sans serif then `tikzpicture' environment is started
\BeforeBeginEnvironment{tikzpicture}{
    \begingroup
        \changeFonts
}
% end scope (for font change)
\AfterEndEnvironment{tikzpicture}{
    \endgroup
}
\usepackage{sansmath}
% create a command to switch fonts in `tikzpicture' environments to a
% sans serif font
\newcommand*\changeFonts{
   \sffamily\sansmath
}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

10 <> $\mathsf 10$!

\begin{figure}[htbp]
\centering
\begin{tikzpicture}
\begin{axis}[xlabel={Abscissa, $x_\mathsf{10}$}, ylabel={Ordinate, $y$}]
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\caption{A figure with a \texttt{pgfplots} axis.}
\end{figure}

\end{document}

答案1

您可以使用以下方法将所有刻度标签字体更改为无衬线字体:

\pgfplotsset{my style/.append style={xticklabel={$\mathsf{\pgfmathprintnumber{\tick}}$},

 yticklabel={$\mathsf{\pgfmathprintnumber{\tick}}$} } }

然后添加my style到轴选项:

begin{axis}[my style, xlabel={Abscissa, $x_\mathsf{10}$}, ylabel={Ordinate, $y$}]

相关内容