单独加载相关配置,试试看这个:
(when (and (memq system-type '(windows-nt ms-dos))
(eq w32-ansi-code-page 65001))
(setq w32-system-coding-system 'utf-8)
(define-coding-system-alias 'cp65001 'utf-8))
(add-to-list 'process-coding-system-alist '("tex command path" utf-8 . gbk))
hjtoh
987
emacs -q 可以生成pdf,但生成的pdf是空的。
你先用emacs把org生成tex,看tex文件是否正常。然后用终端把tex生成pdf,看pdf是否正常。
hjtoh
989
这样应该是正常的,因为我用你前面说的emacs -q默认生成的tex文件我打开里面内容是对的,然后用xelatex编译成的可以生成pdf,但里面只有序号之类的,中文不显示,整个过程是可以进行下去的。
中文不显示是你的tex设置的问题。你发个测试文本看看。
hjtoh
991
中文不显示应该是emacs -q没有加载任何配置的原因,这个我知道,用emacs -q证明文件名是中文的话整个过程是可以进行下去的,我用的win11 telive2022,centaur emacs,不设置额外编码的情况下英文名的org可以顺利编译生成pdf,改成中文名就不行了。
先测试 org → tex 这个过程的文件是否正常。按你上面的回复是正常的。
终端下tex->pdf的这个过程,生成的 pdf 是否正常。按你的回复是不正常,不能显示中文。你应该先解决这个。
你先别纠结中文名,英文名的问题。先看 tex 能否被正常编译。
tex文件名还是乱码吗?
这个还真的不清楚了,我在win8正常,不知道是不是和win11有关系,win10以上好像可以开启utf8支持,不知道有没有影响
或者先试试看别的调用命令的函数来搜索中文,比如counsel-rg,counsel-fzf,看是不是正常,如果正常那可能就是tex的问题,要是也不对,应该还是编码的问题
看这个https://github.com/seagle0128/.emacs.d/issues/288 centaur emacs 对 latex 没有什么支持,有些配置你得自己搞。
tex → pdf 这个过程,你得确保你离开 emacs 也能正常进行。
1 个赞
hjtoh
996
电脑上显示的是正确的,但emacs里显示的tex-pdf这一步找不到tex文件,就像我前面截图的那样,文件名字乱码了。
hjtoh
997
org转pdf,tex编译成pdf 我的配置里都有的,用英文名字都是可以正常编译的。
看你前后的回复很难理解你的问题。你回复我的是tex 文件是能正常生成的。
但是你在这回复中间文件 tex 是乱码。
所以你的 tex 文件到底是否正常呢?还是 emacs -q 下正常,emacs 下不正常?
hjtoh
999
tex文件正常生成,在emacs dashboard上显示的也是正常的,但是emacs一调用xetex编译程序,编译程序读取的文件名就乱码了,所以就进行不下去了。
hjtoh
1001
就是xelatex命令,xelatex命令的引擎是xetex。
那你离开emacs, 使用终端编译这个中文文件名的tex 文档,是否能正常呢?
你有 texstudio,那你用它编译这个文件是否正常呢?
hjtoh
1005
用texstudio编译生成的tex中间文件,可以生成pdf。