输入独立子文件时出现“不正确的字母常数”错误

输入独立子文件时出现“不正确的字母常数”错误

最近升级了TexLive2020,\input打包一个子文件时,出现“Improper alphabetic constant”的错误standalone,如果直接把子文件内容放到主文件中是没有问题的,如果子文件是普通文件,没有\begin{document}...\end{document}.

该文件使用旧版 TexLive2019 编译成功。如果我将类更改为article,似乎就可以了。但我用中文书写,ctexart类更方便。请帮忙。

这是 MWE。主文件:

% !TeX encoding = UTF-8
\documentclass{ctexart}

\usepackage{standalone}

\usepackage{tikz}

\begin{document}
    \input{G105}

    \begin{tikzpicture}
        \coordinate (O) at (0,0);
        \coordinate (A) at (1,1);
        \fill[gray] (O) |- (A) -- cycle;
    \end{tikzpicture}
\end{document}

子文件:G105.tex

% !TeX encoding = UTF-8
\documentclass[class=ctexart]{standalone}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    \coordinate (O) at (0,0);
    \coordinate (A) at (1,1);
    \fill[gray] (O) |- (A) -- cycle;
    \end{tikzpicture}
\end{document}

答案1

这是一个类似的问题https://tex.stackexchange.com/a/568498/2388但这里有独立的,没有子文件。

通过在加载文件之前清空钩子,您可以避免该问题(我不得不使用 fandol 字体集,因为对我来说这是默认错误):

\documentclass[fontset=fandol]{ctexart}

\usepackage{standalone}

\usepackage{tikz}

\begin{document}
%\ShowHook{env/document/before}
\RemoveFromHook{env/document/before}[xeCJK] 
    \input{G105}

    \begin{tikzpicture}
        \coordinate (O) at (0,0);
        \coordinate (A) at (1,1);
        \fill[gray] (O) |- (A) -- cycle;
    \end{tikzpicture}
\end{document}

相关内容