有那么多的 CTAN 包能学习,官方 TheTeXBook 文档就那么一小本。 为什么每次让任何 AI 模型写个(La)TeX 宏都要跟它多次拉锯依然写不对,最终还是回到手写。
是因为宏语言的特殊性导致 LLM 架构没法玩转(比如 substitution 后爆了上下文)? 还是那些 IT 语言编码能力(最初)都是堆人力 supervise 出来的?
请解惑。
有那么多的 CTAN 包能学习,官方 TheTeXBook 文档就那么一小本。 为什么每次让任何 AI 模型写个(La)TeX 宏都要跟它多次拉锯依然写不对,最终还是回到手写。
是因为宏语言的特殊性导致 LLM 架构没法玩转(比如 substitution 后爆了上下文)? 还是那些 IT 语言编码能力(最初)都是堆人力 supervise 出来的?
请解惑。
1
L4Linux Jan 9 via Android
俺自己也写不会 TeX ,遇到要自己定义宏都是网上搜搜改改。
|
2
typing Jan 9 via iPhone
哪个模型?我觉得 tex 能写那宏应该也差不多(吧?)
|
3
tsx8 Jan 9
感觉还是要靠错误反馈?我没有试过用 AI 写 LaTeX ,但是试过用 AI 写 Typst ,给它文档并让它根据 typst compile 的编译结果纠错,最后还是能够迭代出能够正确生成的文档的。不过涉及到格式美观的问题就没办法了。
|
4
passive OP |
5
geelaw Jan 9
@passive #4
>总是在行尾注释前加一个空格 这有可能是某些底层编程技巧过拟合的结果……请参考: \def\FutureSetToOne#1#2{% #2=1% #1% }% ^^^ 错误 \newcount\mycount \FutureSetToOne 2\mycount % ^^^ \mycount=12 并且不排版任何内容 \def\FutureSetToOne#1#2{% #2=1 % <-- 这个空格确保 TeX 停止解析数字 #1% }% ^^^ 正确 \newcount\mycount \FutureSetToOne 2\mycount % \mycount=1 并且排版 2 |
6
passive OP @geelaw 这种情况需要人工干预学习的过程吗?就算不强化 TheTeXBook ,从这么多 ctan 案例多少也该够总结出来规律。现在的 OpenAI 错得太普遍。
|
7
woctordho Jan 9 via Android
因为 AI 的智商不如 Knuth
|
8
xtreme1 Jan 9
很怀疑含 CJK 的 LaTeX 内容 AI 究竟学过没
|
9
geelaw Jan 9
@passive #6 应该说本来就很困难,在传统环境下,行末注释前是否有空格,只在最后一个 token 是控制字符或非控制序列的时候才有意义,并且在 expl 语法下空格是忽略字符,因此以后会越来越倾向于注释前有空格。
注释和之前的内容之间有被忽略的空格比较符合(代码)排版习惯——这样看起来比较舒服。 |
10
gdb Jan 10 via Android
我觉得 AI 写 latex 文档写的还是挺好的,当然我主要是用宏包,并不是要求他写宏包。但是 AI 读宏包的功能还是挺强
|