明确声明文档为项目的根目录

明确声明文档为项目的根目录

我是 TexStudio 的新手。我想创建一个新项目,这样我就可以将所有项目文件组合在一个目录或文件夹中。当我打开菜单时File,它会创建一个新文件,并且没有创建新目录的选项。我还查看了工具栏和所有图标。我看不到任何允许我创建新项目(目录或文件夹)的东西。你能帮帮我吗?这对我很重要。我没办法把项目文件混合在一个地方。

答案1

TeXstudio 团队已经在他们的常问问题

简短的回答是,明确“创建项目”的选项不可用(没有必要),因为项目隐含在其理念中:TeXstudio 会自动推断项目文件之间的关系,如果失败,还有其他方法,例如使用“魔术命令”来指定项目根文件等。

答案2

明确声明文档为项目的根目录

(自动失效时)

正如 @Troy 所说,该项目是由自动创建的纺织工作室,当在一个.tex文件中,例如front-page.tex,你包含另一个.tex文件,例如\input{./chapters/motivation.tex}。现在,如果你在纺织工作室该文件motivation.tex,它应该被自动识别为项目的一部分front-page.tex

但是,我的“主”文件中包含许多文件front-page.tex,其中一些文件未被识别为项目的一部分。我的解决方案是明确地将我的“主要”文件声明为根文件

  1. 前往侧面板并选择结构。如果您所需的根文档已打开,则应该列在那里。
  2. 选择所需的根文档并打开上下文菜单并点击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 正确识别了您的项目,这应该不是必需的。如果没有必要,我建议不要使用此脚本,这样可以省去一些麻烦。

相关内容