R2020a matlab导出pdf或者latex(publish根本用不了)
matlab导出pdf或者latex(publish根本用不了)
在想导出mlx文件成pdf文件时折腾了一下午,晚上都是说
publish('your_file','pdf')
,不然就是点那个发布按钮,对于前者,一直报错自己路径中没有evalCode
;对于后者,自己怎么也找不到发布——后来才知道原来matlab
对.m
文件才有发布功能支持,一个大无语原来.mlx
文件直接另存为即可;
- 对于
.m
文件,我们可以点发布,调格式即可 - 对于
.mlx
文件,直接右上角另存为pdf即可(R2020a)
另外注意事项:
- 如果写论文要用到
tex
,可以直接发布或者另存为latex
,但可能自己的.m
或者.mlx
中有中文,这时导出的tex
里面有中文,但之后自己生成的pdf可能就没有此时需要自己在前面加上一行\usepackage{ctex}
即可完美解决
- 在文件中记得把那些巨大无比的列表或者矩阵输出记得不要直接输出(隐藏输出最简单的解决方法:写完一句加
;
就行了),不然那些pdf或者tex
中会装不下,比如下面这种情况:
- 第三点,记得要
.m
文件的输出正确的情况下再发布成tex
,因为这里会把整个文件运行一遍输出,不然就会这样:
-
出现错误模板 - \DeclareUnicodeCharacter 处的未定义控制序列错误 - TeX - LaTeX Stack Exchange,把
matlab.sty
中的\DeclareUnicodeCharacter{B0}{\ensuremath{^\circ}} \DeclareUnicodeCharacter{21B5}{\ensuremath{\hookleftarrow}}
删去即可正常运行(其实在前面还加了
\usepackage{ctex}
),猜测背后的原因可能是matlab
自动生成的不太兼容: