在 VSCode 中自动运行 sagetex 的工作流程

在 VSCode 中自动运行 sagetex 的工作流程

笔记

  • 这是我在这里的第一篇帖子;然而,我已经无数次使用了这里的答案。
  • 我绝对是命令行/终端方面的初学者。
  • 总的来说,我对 LaTeX 相当熟悉。
  • 我从 Texpad 切换过来后,最近几周才开始使用 VSCode 作为我的编辑器。

系统:Mac
LaTeX IDE:带有 latex-workshop
Sage 的 VSCode 版本:9.4

介绍

我最近开始使用 sagetex 在我的 LaTeX 文档中运行 sage 代码。我的用例是我用 LaTeX 完成每门工程课程的所有作业。Sagetex 让我可以将所有内容保存在 LaTeX 中,而无需从 MATLAB 或类似程序重新格式化/复制。我将各个课程文件夹存储在中央学校文件夹中,例如/Users/home/Documents/school/class。使用 sagetex 一切都正常运行:使用 sage 代码编译文档,sage doc.sagetex.sage在终端中运行,重新编译文档。

这个过程似乎很臃肿,每次在终端中为不同的作业设置目录到包含特定 sagetex.sage 文件的文件夹,并且每次我想更改文档中的答案时都要编译两次。我尝试使用 settings.json 中的配方,但这确实有点超出我的理解范围。

我正在尝试做什么

我想创建一个 VSCode 配方或终端脚本,在 VSCode 中运行,执行以下操作:

  1. 编译 LaTeX 文档
  2. 将终端中的目录设置为 sagetex.tex 文件的封闭文件夹(与我的 tex 文件以及其他 aux 文件位于同一目录中)
  3. 跑步sage file.sagetex.sage
  4. 将终端中的目录设置回主目录
  5. 再次编译 LaTeX 文档

我想最大的问题是这是否完全可以在 VSCode 中实现,或者根本可以实现。如果可以……我将如何实现。如果我遗漏了什么重要的事情或在某种程度上显得笨拙,我很乐意听听!谢谢。

答案1

我今天遇到了同样的问题并找到了解决办法。

按下Ctrl + Shift + P然后输入settings.json并打开用户。

在那里,您可能会发现一个"latex-workshop.latex.tools"包含具有“命令”定义的文档的列表。您可以将以下内容添加到其中:

{
    "name": "sagetex",
    "command": "sage",
    "args": [
        "%DOC%.sagetex.sage"
    ],
    env": {}
}

然后,您将获得自己的配方,其中定义了这些先前定义的命令的序列。您可能希望添加"latex-workshop.latex.recipes"以下内容:

{
    "name": "latexmk + sagetex",
    "tools": [
        "latexmk",
        "sagetex",
        "latexmk"
    ]
},

如果您使用latexmk默认设置。例如,我使用下面的设置:

{
    "name": "pdf -> bibtex -> sage -> pdf * 2",
    "tools": [
        "pdflatex",
        "bibtex",
        "sagetex",
        "pdflatex",
        "pdflatex"
    ]
},

最后再添加这一行:

"latex-workshop.latex.recipe.default": "lastUsed",

settings.json然后使用并Ctrl + Shift + P找到“使用配方构建”并选择您刚刚定义的配方。

希望它能解决您(和其他人)的问题,即使它是两年半前的问题。

相关内容