## 编译环境 操作系统 * [x] Windows 10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLive `年份` 2020 * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` ## 我的问题 用input插入standalone子文件,用xeLaTex编译后显示"Improper alphabetic constant"。 之前用TexLive2019没有问题,换电脑装TexLive2020后出现问题。 将子文件内容直接复制在主文件中没有问题。 不用standalone宏包,插入一般文件也没有问题。 何解? update: 将文件类型改为article就没问题了,用ctexart就有问题。 主文件 ```markdown % !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 ```markdown % !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} ``` update2: 在TeX.SE上有人回答了 [https://tex.stackexchange.com/a/583054/235052](https://tex.stackexchange.com/a/583054/235052) ```markdown \documentclass[fontset=fandol]{ctexart} \usepackage{standalone} \usepackage{tikz} \begin{document} %\ShowHook{env/document/before} \RemoveFromHook{env/document/before}[xeCJK] %emptying the hook before loading the file \input{G105} \begin{tikzpicture} \coordinate (O) at (0,0); \coordinate (A) at (1,1); \fill[gray] (O) |- (A) -- cycle; \end{tikzpicture} \end{document} ```

1 回答1

0
是 `xeCJK` 的问题 - 用中文就别用 `standalone` 宏包 - 用 `standalone` 宏包就别用中文 ------------ https://github.com/CTeX-org/forum/issues/186
  • 回复 sikouhjw :那是不是改回TL2019的CTex宏集就可以了? – mathhero 2021-02-12 19:25 回复
  • 回复 mathhero :「为什么」的部分,因为 CTeX 宏集会更新。 – sikouhjw 2021-02-12 18:29 回复
  • 那有什么替代办法吗?为什么TL2019没问题,升级到TL2020就出问题? – mathhero 2021-02-12 16:33 回复

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。