我一直在阅读 pgf 和 tikz 手册,我也想直接从我的 tex 文件生成 svg。手册说我需要运行:
lualatex --output-format=dvi example
dvisvgm example
我想在使用 AUCTeX 时自动执行此过程,以便我可以C-c C-c tikzsvg
在我的文件上运行这两个命令。到目前为止,我知道我需要修改TeX-command-list
以添加新的 AUCTeX“命令”。我有两个问题:
- 运行命令的语法看起来很复杂,有很多字符串替换。检查变量
TeX-expand-list-builtin
对于理解所有替换没有太大帮助。 - 该过程涉及两个连续的命令,我不确定如何告诉 auctex 一个接一个地运行。
有人能提供一些关于如何实现这一点的指导吗?这个问题更适合 emacs se 吗?
答案1
TeX-command-list
您可以通过在中添加如下内容来进行补充.emacs
:
(eval-after-load "tex"
'(add-to-list 'TeX-command-list
'("tikzsvg" "lualatex --output-format=dvi %s && dvisvgm %s"
TeX-run-command t t :help "Run LuaLaTeX and dvisvgm") t))
此次新增内容如下:
"tikzsvg"
是当您点击时向您呈现的命令的名称C-c C-c- 第二个字符串被传递给 shell。你可以使用
&&
操作符链接命令 %s
扩展为主文件的名称TeX-run-command
使用 2 中的命令创建一个异步进程,并在单独的缓冲区中显示输出- 首先
t
让你修改 Minibuffer 中的扩展字符串 - 第二个命令
t
使该命令在每种模式下都可用 :help
菜单中显示以下字符串