笔记
- 这是我在这里的第一篇帖子;然而,我已经无数次使用了这里的答案。
- 我绝对是命令行/终端方面的初学者。
- 总的来说,我对 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 中运行,执行以下操作:
- 编译 LaTeX 文档
- 将终端中的目录设置为 sagetex.tex 文件的封闭文件夹(与我的 tex 文件以及其他 aux 文件位于同一目录中)
- 跑步
sage file.sagetex.sage
- 将终端中的目录设置回主目录
- 再次编译 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
找到“使用配方构建”并选择您刚刚定义的配方。
希望它能解决您(和其他人)的问题,即使它是两年半前的问题。