我们知道,LaTeX
的控制序列的代码不可以出现unicode
字符(也许表述不够准确,能力有限,见谅...),在vscode
中具体表现为黄色方框,例如下图:
群友在QQ
群中提供了一份MWE
如下:
\documentclass[tikz]{standalone}
\usetikzlibrary{
arrows.meta,
calc,
intersections, % 交点
quotes,
angles,
animations,
shapes.misc, % 加载×的
shapes.geometric, % 加载椭圆形节点
scopes,
backgrounds,
decorations.fractals,
decorations.pathmorphing,
commutative-diagrams,
fadings
}
\begin{document}
\begin{tikzpicture}
\draw[help lines] (-3,-1) grid (3,3);
\coordinate ["-90:$O $"] (o) at (0,0);
\coordinate ["90 :$A $"] (a) at (3,2);
\coordinate [" 0 :$A'$"] (a') at ($(o)!.7!40:(a)$);
\coordinate ["-90:$B'$"] (b) at (-3,0);
\coordinate ["90 :$B'$" ] (b') at ($(a')!.7!-30:(b)$);
\fill [cyan] (a') circle (2pt);
\draw (a) -- (o) -- (a') node [above,cyan] {\texttt{o!0.7!40:a}}
pic [draw, ->, "$40^\circ$", angle radius=7mm, angle eccentricity=1.7]{angle = a--o--a'};
\fill [red] (b') circle (2pt);
\draw (b) -- (a') -- (b') node [below,red] {\texttt{a!0.7!-30:b'}}
pic [draw, <-, "$-30^\circ$", angle radius=7mm,angle eccentricity=2]{angle = b'--a'--b};
\end{tikzpicture}
\end{document}
在vscode
中粘贴后出现大量不明的unicode
字符禁止导致代码报错,是否有方法(也许直接发到论坛会更好)避免这种字符在复制的过程中出现(?) vscode内是否可以快速一键删除该unicode
字符?
经过测试:
从editor复制到论坛上的markdown
代码块不会出现
从editor复制到QQ
聊天框再复制到论坛上会出现
从editor复制到QQ聊天框再复制到记事本再复制到vscode
同样还是会出现
...(沉默)
我的理解,这个问题其实和 latex 关系不大,不想要这些 Unicode 字符,可以用 VSCode 的正则表达式匹配并替换为空,这样就实现了删除的效果。
比如匹配编号在 U+1234 到 U+124F 范围的字符,用 VSCode 中的替换功能,打开这个按钮:
然后输入 [u1234-u124F] (具体指令可以找 ChatGPT 之类,现在它们生成正则表达式已经非常准确了)进行替换即可。
这里有些 VSCode 里关于 Unicode 字符的讨论,里面可能有关于哪些字符会被 Highlight 的说明。
据说这个扩展可以查看光标处对应字符的编号,我暂时没有尝试,可以试验一下。
不是"不想要这些 Unicode 字符",而是如果它们存在,使用
LaTeX
引擎编译会出现错误,尤其是他们出现在控制序列的时候....该插件确实可行,非常感谢你!