感谢楼主。我的org文件有 #+SETUPFILE: ~/.foo.org 作为latex的文件头,能否让renderer跳过这一行 (有这一行则无法编译成功,latex error),比如foo.org里面有mathjax无法识别的命令。
你的foo.org
里具体是有什么导致出错呢?我觉得ignore一个SETUPFILE可能不是个好主意,比如有人可能会在STUPFILE里定义一些newcommand。
楼主回复好快!是一个\input{bar.tex} 命令,latex文件头都是存在这个tex文件中,然后在其他的tex或org文件调用的。
确实感觉不应该ignore一个setupfile,一般来说只有一个setupfile,或许可以加一个参数,选择是否ignore setupfile,类似 org-latex-impatient-ignore-org-setupfile 默认值是nil,需要的就可以设t,或者类似 org-export-in-background 加上 org-export-async-init-file 那样的设定。
我还是觉得这不是个好主意,因为一个很正常的操作是在SETUPFILE
里定义一些新的命令,比如\newcommand{\Z}{\mathbb{Z}}
这样。而这种定义是不应该被ignore的。而你的“一般来说只有一个SETUPFILE”其实也未必成立,比如有人会用一个SETUPFILE来处理导出到HTML时的情况,一个SETUPFILE来处理导出到PDF时的情况。总结来说,我认为ignore setupfile这个做法过于粗糙。
我觉得正确的做法是找到你的bar.tex
里究竟哪里导致了不兼容。我给develop分支push了正确处理带可选参数的\usepackage
的commit,可以看一下能不能解决你的问题。如果你方便,能给一个minimal offending file吗?
没问题,确实,我考虑欠周。
org file 内容 #+SETUPFILE: ~/foo.org
foo.org 内容 #+LATEX_HEADER: \input{~/TeXheader.tex}
TeXheader.tex 内容 一些latex命令,不影响render
如果把org文件改成 #+SETUPFILE: ~/TeXheader.tex 就可以预览了,也就是说,不能识别的是input命令。
那必然不可能支持input命令……这个涉及的东西太多。你可以考虑修改org-latex-impatient-user-latex-definitions
,参照里面的内容给list里加一项"\\renewcommand{\\input}[1]{}"
,这相当于在生成preview的时候直接忽略input命令。
謝謝,問題解決!應該好好讀github上的文檔的。
(setq org-latex-impatient-user-latex-definitions '(“\newcommand{\ensuremath}[1]{#1}” “\renewcommand{\usepackage}[1]{}” “\renewcommand{\input}[1]{}”))
我再多写点文档吧
windows还有没有救了。
我现在没有Windows的机子,没办法测试。也不清楚现在Windows上Emacs的正确食用方法。你看看issue里有没有帮助吧,有人成功了
特别想在eww里实现这种预览,请教有什么思路吗
更喜欢直接显示图片在orgmode中,今天研究了下latex转png,终于可以在windows中显示公式了。
没用实时预览,在src code block中写好公式后,C-c C-c
输出图片,添加到后面的result结果中。
缺点是占用空间比较大,也没法写行内公式。
可以设置 #+STARTUP: hideblocks
默认折叠代码块。
为啥不用自带的 org-latex-preview
还能默认支持行内公式
试过,在windows上会显示个空的方块。。。
那可能需要设置下 org-preview-latex-default-process
和 org-preview-latex-process-alist
,具体调试过程可以参考下这个帖子 spacemacs org中得latex fragment里面输入中文preview并不正确 - #8,来自 Voleking
看错,以为你说的是楼主做的 org-latex-instant-preview
,和 org-latex-preview
不一样,org-latex-preview
我再试试
可以显示了,但是显示的图片非常大
大小也可以调,你先看看文档是不是那两个数字,我不太记得了
可以了,convert命令要指定一下 -trim -antialias
参数
这位好像解决了windows中不能预览的问题,但是我没看懂,能帮我解释一下吗