我使用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
添加了一个符号。此符号表示该文档是根。它将始终位于顶部。
笔记:
- 我正在使用 TeXstudio 版本 3.1.2,但此功能比此版本旧,并且可在较新版本中使用。
- 左侧面板上的文档会
Structure
改变颜色,并显示 TeXstudio 何时识别/找到它们以及何时未识别/找到它们,但这并不意味着编译过程会或不会起作用。它应该是这样的,但这个功能的行为有点奇怪。 - 设置主文档与
input
s、include
s 和 (sub)import
s 一起使用。
建议阅读:
编辑:document.tex
:
\documentclass{article}
\usepackage{import}
\begin{document}
\import{section1/}{input_file_from_folder}
\end{document}