打开一个 .tex 文件,在 MATLAB 中对其进行修改,然后再次将其保存为 .tex 文件(+可能对其进行编译)

打开一个 .tex 文件,在 MATLAB 中对其进行修改,然后再次将其保存为 .tex 文件(+可能对其进行编译)

[这个问题需要 tex 和 MATLAB 的知识,可能这里不适合问这个问题,但也许有人对这两个程序都有经验,可以提出一个想法]

假设我有一个 tex 文件,比如 MWE.tex,其内容是

  \documentclass[11pt]{report}
  \RequirePackage{amssymb, amsfonts, amsmath, latexsym, verbatim, xspace, setspace}
  \RequirePackage{tikz, pgflibraryplotmarks}  
  \usepackage[margin=1in]{geometry}

  \begin{document}
  In this report we use x = VARX and y = VARY.
  \end{document}

我想在 MATLAB 中打开,用来自某些函数的值替换 VARX 和 VARY,然后将它们保存在另一个 .tex 文件中。例如,VARX 是 randi(10) 的结果,而 VARY 是 randi(5) 的结果。

做到这一点的最简单的解决方案是什么?

是否也可以从 Matlab 启动 latex 编译器?如何操作?

答案1

本答案使用 MATLAB,您可以在其中运行脚本

text = fileread('MWE.tex');
newtext = strrep(text,'VARX',num2str(randi(10)));    
newtext = strrep(newtext,'VARY',num2str(randi(5)));    

fileID = fopen('newMWE.tex','w');
fprintf(fileID,'%s',newtext);
fclose(fileID);

command = 'pdflatex newMWE.tex';
[status,cmdout] = system(command)

相关内容