在 TexStudio 中运行导入的文件时出现问题

在 TexStudio 中运行导入的文件时出现问题

我使用TexStudio嵌套结构,换句话说,我在许多文件夹中放置了许多文件,以帮助保持整洁。当我必须导入另一个文档时,就会出现问题。

    \documentclass[a4paper,12pt,twoside,openright]{report}
    \usepackage[T1]{fontenc}
    \usepackage[utf8x]{inputenc}
    \usepackage[english]{babel}
    \usepackage{float, newfloat}
    \usepackage{svg}
    \usepackage{import}
    \usepackage{makecell}
    \usepackage{amsmath, mathrsfs, amsfonts, amsbsy, amsthm}
    \usepackage{graphicx, epstopdf}
    \usepackage[lmargin=2.5cm, rmargin=2.5cm, tmargin=2.5cm, bmargin=2.5cm]{geometry}
    \usepackage{setspace}
        \onehalfspacing
    
    % Definition of some commands
    % FONTS
        \newcommand{\definiz}[1]{\textbf{\textit{#1}}}
        \newcommand{\symdef}[1]{\ensuremath{\pmb{#1}}}
        \newcommand{\unit}[1]{\ensuremath{\mathrm{#1}}}
        \newcommand{\code}[1]{\texttt{#1}}
        \newcommand{\important}[1]{\textit{#1}}
        \newcommand{\strangeword}[1]{\textit{#1}}
    
    % WORDS
        \newtheoremstyle{mystyle}{\topsep}{\topsep}{\normalfont}{0pt}{\bfseries}{:}{0.5em}{}
        \theoremstyle{mystyle}
        \newtheorem*{definition}{Definition}
        \newtheorem*{example}{Example}
        \newtheorem*{problem}{Problem}
        
    % MATH SYMBOL
        \newcommand{\eto}{\ensuremath{\, \mathrm{e}}}
        \newcommand{\tento}[1]{\ensuremath{ \times 10^{#1}}}
        \newcommand{\Real}{\ensuremath{\mathbb{R}}}
        
    \begin{document}
        % Importing the title and the introduction =========================================================================
        \import{./Titlepage/}{titlepage}
        \ \thispagestyle{empty}
        \clearpage
        
        \import{./Titlepage/}{introduction}
        \ \clearpage
        
        % Importing the various chapters ==============================================================
        \import{./Chapter 1/}{basics}
        
        
    \end{document}

通常我可以让程序从导入的文件“运行”(通过按F5),但是当创建一个要导入的新文件时,我无法再这样做。程序给了我错误:

缺少 \begin{document}.\subsection*

如果我让脚本从 main.tex 文件以及我之前创建的每个其他文件运行,程序就可以正常工作。我该怎么办?

我将添加一些截图以便更好地解释: 这是我从主文件运行程序时发生的情况 相反,当我从导入的文件运行程序时,会发生以下情况

第一个显示了我从主文件运行程序时发生的情况,第二个显示了我从导入的文件运行程序时发生的情况。

答案1

您应该定义一个主文档,并在使用 TeXstudio 创建新文件时注意这一点Ctrl + Click。从您的屏幕截图来看,您似乎没有使用Structure左侧的,所以我不确定您的文件存储在哪里。

我在命令中创建了一个新文件import,并且它与 位于同一文件夹中document.tex。编译将返回错误:File未找到 section1/input_file_from_folder.tex'。 \import{section1/}input_file_from_folder}`。

在此处输入图片描述

section1如果您F5从 编译( ) ,则将其移动到文件夹内将会起作用document.tex,但从导入的文件则不会起作用。

在此处输入图片描述

定义document.tex为主文档(explicit root)解决了该问题。

在此处输入图片描述

请注意,左侧document.tex添加了一个符号。此符号表示该文档是根。它将始终位于顶部。

在此处输入图片描述

笔记

  1. 我正在使用 TeXstudio 版本 3.1.2,但此功能比此版本旧,并且可在较新版本中使用。
  2. 左侧面板上的文档会Structure改变颜色,并显示 TeXstudio 何时识别/找到它们以及何时未识别/找到它们,但这并不意味着编译过程会或不会起作用。它应该是这样的,但这个功能的行为有点奇怪。
  3. 设置主文档与inputs、includes 和 (sub) imports 一起使用。

建议阅读:


编辑document.tex

\documentclass{article}
\usepackage{import}
\begin{document}
\import{section1/}{input_file_from_folder}
\end{document}

相关内容