[这个问题需要 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)