使用带有 foreach 循环的导入包

使用带有 foreach 循环的导入包

我有嵌套文件夹,其中包含多个包含练习语句和解决方案的文件。

main.tex
exercices (folder)
⮑ statements (folder)
   ⮑  1.tex
   ⮑  2.tex
⮑ solutions (folder)
   ⮑  2.tex

据我了解,例如不同目录中的输入文件,您不能从不同的嵌套目录输入文件,而需要使用包import。所以这是之前的代码:

\foreach \filenumber in {1,2}{
  \IfFileExists{exercices/statements/\filenumber}{\input{exercices/statements/\filenumber}}
  \IfFileExists{exercices/solutions/\filenumber}{\input{exercices/solutions/\filenumber}}
}

问题是以下代码仍然无法使用该\import命令。

\documentclass{book}
\usepackage{import}
\usepackage{tikz}

\begin{document}
\foreach \filenumber in {1,2}{
  \IfFileExists{exercices/statements/\filenumber}{\import{exercices/statements/}{\filenumber}}
  \IfFileExists{exercices/solutions/\filenumber}{\import{exercices/solutions/}{\filenumber}}
  }
\end{document}

代码给出错误LaTeX Error: File exercices/solutions/1.tex' not found.

答案1

你可以使用\input但是这里你只需要\InputIfFileExists

\documentclass{book}

\usepackage{pgffor}

\begin{document}
\foreach \filenumber in {1,2}{%
  \InputIfFileExists{exercices/statements/\filenumber}{}{}\par
  \InputIfFileExists{exercices/solutions/\filenumber}{}{No solution}\par
  }
\end{document}

终端和日志显示正在输入的三个文件:

(./exercices/statements/1.tex) (./exercices/solutions/1.tex)
(./exercices/statements/2.tex) [1

制作

在此处输入图片描述

如果你把合适的文本(如“ex1”)放在1.tex

相关内容