编译期间使用“\write18”在相关文件夹中执行/运行 Visual Basic 脚本

编译期间使用“\write18”在相关文件夹中执行/运行 Visual Basic 脚本

为了在 Latex 编译中/之前/期间运行名为 Visual Basic 的脚本readCSV.vbs,我有以下内容MWE

\documentclass{article}
% line3:
%\immediate\write18{readCSV.vbs} %Works If you put it next to main
% line5:
\immediate\write18{"/CsvTasks/readCSV.vbs"} % Does not work

\usepackage{lipsum}

\begin{document}
\lipsum[1]

\end{document}

如果我:1.readCSV.vbs直接将其放在与 2. 相同的文件夹中main.txt 。打开 cmd 并浏览到目录,例如E:/folder path with a space in it/project folder/包含readCSV.vbs 3. 执行命令:pdflatex --enable-write18 -interaction=nonstopmode main.tex

如果取消注释第 3 行,它就可以正常工作,这意味着它可以直接在与 相同的文件夹中编译并运行脚本Main.tex

但是,当我使用第 5 行运行它并注释第 3 行时,它不起作用。(以下所有命令均从E:/folder path with a space in it/project folder/包含main.tex. 的目录执行)

错误信息是:

(e:/texlive/2018/texmf-dist/tex/latex/base/size10.clo))The system cannot find the path specified.

根据评论进行编辑:

选项:

\immediate\write18{"CsvTasks/readCSV.vbs"}

返回:

e:/texlive/2018/texmf-dist/tex/latex/base/size10.clo))'CsvTasks' is not recognized as an internal or external command, operable program or batch file.

选项如下:

\immediate\write18{./CsvTasks/readCSV.vbs}

返回:

(e:/texlive/2018/texmf-dist/tex/latex/base/size10.clo))'.' is not recognized as an internal or external command, operable program or batch file.

选项如下:

\immediate\write18{"E:/folder path with a space in it/project folder/CsvTasks/readCSV.vbs"}

可以。但是,我打算让它可以在不同的电脑上运行,这就是为什么我要么寻找:

  • \write18仅需要子文件夹即可运行的命令
  • 一种将绝对路径获取main.tex到乳胶中的方法,以便我可以将子文件夹粘贴到其后面。

为了完整起见:我在装有 Texmaker 的 Windows 10 电脑上运行它。

问题

如何使用来自子/相对目录的命令readCSV.vbs从 latex运行?\write18/CsvTasks/readCSV.vbs

相关内容