有什么方法可以导入原始 MATLAB 输出转换成.tex 文档?
我已经看到了verbatim
包作为一种解决方案,但它不能满足我的要求,原因有二:
- 矩阵元素未对齐,尤其是当某些元素有小数位而其他元素没有时。
- 如果 MATLAB 生成大量输出,则不太方便。
另外,我已经测试过matrix2latex.m
但它似乎仅对矩阵有用。
正如我之前所说,如果我可以导入生的MATLAB 输出到我的.tex 文件中,保持与 MATLAB 命令窗口中的格式相同的格式。
谢谢你!
编辑:添加了由.m 脚本生成的输出。
答案1
\documentclass[10pt]{article}
\begin{filecontents*}{\jobname.txt}
A =
0.6555 0.7060 0.2769 0.0971 0.6948 0.9502 0.4387
0.1712 0.0318 0.0462 0.8235 0.3171 0.0344 0.3816
v =
0.7655 0.7952 0.1869 0.4898 0.4456 0.6463 0.7094
blah blah blah
0.7547 0.6551
0.2760 0.1626
0.6797 0.1190
\end{filecontents*}
\usepackage{verbatim} % http://ctan.org/pkg/verbatim
\begin{document}
In a simple document, the code
{\small \begin{verbatim}
A=rand(2,7), v=rand(1,7), fprintf('blah blah blah\n'); disp(rand(3,2));
\end{verbatim}}
printed the following to the screen:
% Without the verbatim package, you may need to add a \noindent between
% and after verbatim enviironments to prevent unwanted paragraph indentation.
{\small \begin{verbatim}
A =
0.6555 0.7060 0.2769 0.0971 0.6948 0.9502 0.4387
0.1712 0.0318 0.0462 0.8235 0.3171 0.0344 0.3816
v =
0.7655 0.7952 0.1869 0.4898 0.4456 0.6463 0.7094
blah blah blah
0.7547 0.6551
0.2760 0.1626
0.6797 0.1190
\end{verbatim}}
Alternatively, if the screen output were written to a file, and if the verbatim
package were added, it could be inserted as:
\verbatiminput{\jobname.txt}
\end{document}
答案2
我知道回复已经很晚了,但我想建议另一种解决方案:
使用 Matlab 中的命令日记,您可以将所有命令窗口打印导出到特定文件,然后使用 @Mike Renfro 的一部分导入该 txt 文件。我从未尝试过,但它应该可以完成工作,而且可能更“优雅”,这意味着您不必在 latex 文件中写入输出。
%In Matlab script
diary('commandoutput.txt');
diary on ;
enter code here you want to evaluate
diary off ;%to avoid print other commands.
%In latex file (from @Mike Renfro solution)
\verbatiminput{\jobname.txt}