不谈Spacemacs,只谈Centaur Emacs

单独加载相关配置,试试看这个:

(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))

emacs -q 可以生成pdf,但生成的pdf是空的。

你先用emacs把org生成tex,看tex文件是否正常。然后用终端把tex生成pdf,看pdf是否正常。

这样应该是正常的,因为我用你前面说的emacs -q默认生成的tex文件我打开里面内容是对的,然后用xelatex编译成的可以生成pdf,但里面只有序号之类的,中文不显示,整个过程是可以进行下去的。

中文不显示是你的tex设置的问题。你发个测试文本看看。

中文不显示应该是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 个赞

电脑上显示的是正确的,但emacs里显示的tex-pdf这一步找不到tex文件,就像我前面截图的那样,文件名字乱码了。

org转pdf,tex编译成pdf 我的配置里都有的,用英文名字都是可以正常编译的。

看你前后的回复很难理解你的问题。你回复我的是tex 文件是能正常生成的。

但是你在这回复中间文件 tex 是乱码。

所以你的 tex 文件到底是否正常呢?还是 emacs -q 下正常,emacs 下不正常?

tex文件正常生成,在emacs dashboard上显示的也是正常的,但是emacs一调用xetex编译程序,编译程序读取的文件名就乱码了,所以就进行不下去了。

你用xelatex 编译试试,不要用xetex。

就是xelatex命令,xelatex命令的引擎是xetex。

那你离开emacs, 使用终端编译这个中文文件名的tex 文档,是否能正常呢?

image 看我桌面上,显示的都是正常的,

你有 texstudio,那你用它编译这个文件是否正常呢?

用texstudio编译生成的tex中间文件,可以生成pdf。