如何从 TeXstudio 创建多个文件到我的项目文件夹中?

如何从 TeXstudio 创建多个文件到我的项目文件夹中?

我的项目有许多 (tex) 子文件需要创建。我希望 TeXstudio 自动将所有文件创建到我的文件夹中。

例子:

\input{datavd/[2D1-VD-2-1]}
\input{datatl/[2D1-BTTT-Y2-1]}
\input{datatl/[2D1-BTTT-B2-1]}
\input{datatl/[2D1-BTTT-K2-1]}
\input{datatl/[2D1-BTTT-G2-1]}

我的文件夹是空的。我不想使用 Ctrl + 单击来创建文件。我想自动创建它们。谢谢。

答案1

通过重新定义\input和一次 TeX 运行,您可以创建所有这些文件(当然,前提是文件夹存在):

\documentclass[]{article}

\let\inputoriginal\input
\newwrite\tmpwrite
\makeatletter
\begingroup
\catcode`\%=12
\def\zz
  {\endgroup
    \newcommand*\input@WriteNote[1]
      {\immediate\openout\tmpwrite=##1
        \immediate\write\tmpwrite
          {% automatically created by \string\input}\relax
        \immediate\closeout\tmpwrite
      }
  }
\zz
\renewcommand*\input
  {\@ifnextchar\bgroup{\input@Check}{\input@GrabUndelimited}}
\newcommand\input@GrabUndelimited{}
\long\def\input@GrabUndelimited#1 {\input@Check{#1}}
\newcommand\input@Check[1]
  {\IfFileExists{#1}{\inputoriginal{#1}}{\input@WriteNote{#1}}}
\makeatother

\begin{document}
\input{sub/foo}
\input{sub/bar}
\input sub/baz
\end{document}

编辑:

允许无限\input参数。

相关内容