我使用该包import
以以下方式导入几个文件来编写一本书:
我将每一章放在一个单独的文件夹中,其中我放了一个课程文件和一个带解决方案的练习文件,称为ChapterOneExos.tex
。练习是使用tcolorbox
包制作的,我将其放在 中subfolder Exos
,位于每个章节的文件夹中。该文件ChapterOneExos.tex
包含该章的练习...
我使用一个Main
文件来导入所有这些材料,并且只为一个章节编写它,该章节仅包含此 MWE 的练习:
我综合起来:在文件夹中Book
,我放置了文件,以及包含文件的Main.tex
文件夹,以及包含练习文件的“子文件夹”。ChapterOne
ChapterOneExos.tex
Exos
文件Main.tex
:
\documentclass{book}
\usepackage{import}
\usepackage[most]{tcolorbox}
\NewTColorBox[auto counter,number within=chapter]{exo}{m+O{}}{%
enhanced,
breakable,
%% sharp corners,
colframe=green!20!black,
colback=yellow!10!white,
coltitle=green!40!black,
fonttitle=\bfseries,
underlay={\begin{tcbclipinterior}
\shade[inner color=green!80!yellow,outer color=yellow!10!white]
(interior.north west) circle (2cm);
\end{tcbclipinterior}},
title={Exercise~\thetcbcounter:},
label={exo:#1},
segmentation style={double=white,draw=green!20!black,double distance=1pt,solid},
attach title to upper=\par,
colback=white,
after upper={\vspace*{5mm}\par\textcolor{green!40!black}%
{\bfseries Solution of the exercise \ref{exo:#1}}},
lowerbox=visible,
savelowerto=Solutions/Solutions_Chap\thechapter/#1-Sol.tex,
record={\string\solution{#1}{Solutions/Solutions_Chap\thechapter/#1-Sol.tex}},
#2
}
\begin{document}
\setcounter{chapter}{1}
\import{ChapterOne/}{ChapterOneExos}
\end{document}
ChapterOne
我把练习放在了文件夹中Exos
,然后文件ChapterOneExos.tex
如下:
\section{Exercises of the chapter 1}
\subimport{Exos/}{ExoOne}
\subimport{Exos/}{ExoTwo}
这两项练习是:
\begin{exo}{labelone}
Exercise one
\tcblower
The solution of exercise one
\end{exo}
\begin{exo}{labeltwo}
Exercise two
\tcblower
The solution of exercise two
\end{exo}
现在一切都好了!编译给出了合适的结果,如下所示:
现在,我们可以在包的文档中读到import
以下内容:
“为了避免在导入文件时搜索 TEXINPUTS 路径,请使用命令的‘星号’版本:“\import*” 和 “\subimport*””
当我们有多个文件时这会更有用....
但是当我使用该命令时\subimport*
,练习的下半部分没有出现!。当我使用它时可以看到结果:
我如何使用该命令\subimport*
并获得如第一张图像一样的良好结果?
答案1
使用最新的 import.sty,其中*
修饰符不执行任何操作,并且已弃用。如果您坚持使用旧版本的 import.sty,请避免使用,\import*
除非您与 中安装的文件名有特定冲突TEXINPUTS
,即使如此,最好还是更改文件名。
对于背景,LaTeX 中的文件搜索通常优先考虑当前主目录,然后是安装,最后是用户设置的输入路径。\import*
创建该变体是为了允许访问名称与已安装文件冲突的个人文件,但只能由阻止访问到已安装的文件。正如您可能猜到的,当需要按需加载文件以加载新字体等时,这会崩溃。
在版本 6 中,导入重新定义了一些 LaTeX 内部结构以(暂时)改变搜索优先级,从而无需进行变*
体。
您还没有说,但是您是否创建了如Solutions/Solutions_Chap1
主文件中指定的目录?这看起来像是一个问题。