我正在包含一个pgf
由 matplotlib 创建的图形。使用 lualatex 构建文档时出现以下错误。
! Undefined control sequence.
l.55 ...,right,bottom]{\color{textcolor}\setmainfont
{Liberation Mono}\rmfamily...
完整的第 55 行粘贴在下面。
\pgftext[x=1.578628in,y=5.846758in,right,bottom]{\color{textcolor}\setmainfont{Liberation Mono}\rmfamily\fontsize{36.000000}{43.200000}\selectfont \(\displaystyle \displaystyle \frac{dC_T}{dr}\)}%
我的 latex 文档如下,其中包含我在 matplotlib 创建的 pgf 文件中推荐的序言中的项目。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{pgfplots}
\usepackage{import}
\pgfplotsset{compat=1.18}
\usepackage{graphics}
\usepackage{lmodern}
\usepackage{fontspec}
\setmainfont{DejaVuSerif.ttf}[Path=\detokenize{/home/nikos/.local/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/}]
\setsansfont{DejaVuSans.ttf}[Path=\detokenize{/home/nikos/.local/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/}]
\setmonofont{DejaVuSansMono.ttf}[Path=\detokenize{/home/nikos/.local/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/}]
\makeatletter\@ifpackageloaded{underscore}{}{\usepackage[strings]{underscore}}\makeatother
\begin{document}
\begin{tikzpicture}
\input{c5_ct-polar.pgf}
\end{tikzpicture}
\end{document}
我不是很熟悉pgf
,我无法判断第 55 行的哪一部分导致了错误,但如果我注释掉\pgftext
文档中的所有行,编译就可以正常进行。
该文件的重要部分pgf
如下所示。
% this lines works
\pgftext[x=1.578628in,y=5.846758in,right,bottom]{hi}
% When the command \setmainfont is added, the error occurs
%\pgftext[x=1.578628in,y=5.846758in,right,bottom]{\setmainfont{Liberation Mono}hi}%
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{pgfplots}
\usepackage{import}
\pgfplotsset{compat=1.18}
\usepackage{graphics}
\usepackage{lmodern}
\usepackage{fontspec}
\setmainfont{DejaVuSerif.ttf}
\setsansfont{DejaVuSans.ttf}
\setmonofont{DejaVuSansMono.ttf}
\makeatletter\@ifpackageloaded{underscore}{}{\usepackage[strings]{underscore}}\makeatother
\begin{document}
\begin{tikzpicture}
%\input{c5_ct-polar.pgf}
\pgftext[x=1.578628in,y=5.846758in,right,bottom]{\color{textcolor}\setmainfont{Liberation Mono}\rmfamily\fontsize{36.000000}{43.200000}\selectfont \(\displaystyle \displaystyle \frac{dC_T}{dr}\)}%
\end{tikzpicture}
\end{document}
答案1
原因undefined control sequence
不是命令\setmainfont
本身,而是字体Liberation Mono
未定义。