我是 TexStudio 的新手。我想创建一个新项目,这样我就可以将所有项目文件组合在一个目录或文件夹中。当我打开菜单时File
,它会创建一个新文件,并且没有创建新目录的选项。我还查看了工具栏和所有图标。我看不到任何允许我创建新项目(目录或文件夹)的东西。你能帮帮我吗?这对我很重要。我没办法把项目文件混合在一个地方。
答案1
TeXstudio 团队已经在他们的常问问题。
简短的回答是,明确“创建项目”的选项不可用(没有必要),因为项目隐含在其理念中:TeXstudio 会自动推断项目文件之间的关系,如果失败,还有其他方法,例如使用“魔术命令”来指定项目根文件等。
答案2
明确声明文档为项目的根目录
(自动失效时)
正如 @Troy 所说,该项目是由自动创建的纺织工作室,当在一个.tex
文件中,例如front-page.tex
,你包含另一个.tex
文件,例如\input{./chapters/motivation.tex}
。现在,如果你在纺织工作室该文件motivation.tex
,它应该被自动识别为项目的一部分front-page.tex
。
但是,我的“主”文件中包含许多文件front-page.tex
,其中一些文件未被识别为项目的一部分。我的解决方案是明确地将我的“主要”文件声明为根文件:
- 前往侧面板并选择结构。如果您所需的根文档已打开,则应该列在那里。
- 选择所需的根文档并打开上下文菜单并点击
Set as explicit root document
。
以这种方式,纺织工作室被迫接受所选文件(就我而言front-page.tex
)作为项目的根目录。并且无论您在哪个文件中编辑,它都将始终以根目录进行编译纺织工作室。
答案3
如果你出于某种原因想要在 TeXstudio 中创建一个项目,你可以使用 hack 来实现。将以下内容添加到你的“主”项目文件中:
% !TeX TXS-SCRIPT = openproj
% //Trigger = ?load-this-file
% files = [
% "./file1.tex",
% "./file2.tex",
% ]
% for (i in files) {
% files[i] = app.getAbsoluteFilePath(files[i]);
% }
% for (i in files) {
% app.load(app.getAbsoluteFilePath(files[i]));
% }
% TXS-SCRIPT-END
此脚本会在主文件打开后立即打开指定文件。它是一目了然的 JavaScript 代码。解释一下不太明显的部分:
- 该
//Trigger
语句激活脚本(当其加载时)。 - 如果项目文件位于不同的目录中,则需要将两个 for 循环分开。如果合并循环并给出
files = ["./foo/bar.tex", "./baz.tex"]
,它将尝试加载./foo/bar.tex
并./foo/baz.tex
如果你正在寻找有关脚本的更多信息,请查看他们的文档
如果 TeXstudio 正确识别了您的项目,这应该不是必需的。如果没有必要,我建议不要使用此脚本,这样可以省去一些麻烦。