优雅的在latex中插入MATLAB代码 | 解决MATLAB代码中文乱码问题
我们要使用的核心宏包是 listings
和 matlab-prettifier
。其中 listings
是为了插入代码,matlab-prettifier
提供了很好的配色方案。
最小工作示例如下:
% !TEX program = xelatex
\documentclass{ctexart}
%---------------优雅的插入MATLAB代码---------%
\usepackage{lipsum,zhlipsum} %生成一些测试文本
\usepackage{listings,matlab-prettifier} % MATLAB 美化包
\lstset{style=Matlab-editor,numbers = left,frame = single,
}
\begin{document}
\tableofcontents
\newpage
\zhlipsum[1-2]
\lstinputlisting[caption={\bf main.m},]{code/main.m}
\end{document}
效果如图
注意事项 1
listings
宏包本身就能实现插入代码的需求,但是配色很难看。 matlab-prettifier
提供了非常好的配色方案,而且对比 mcode
宏包,matlab-prettifier
已被 texlive
收录,无需自己下载。
注意事项 2
.m
文件要放在 code
文件下,(因为我们引用的时候是code/main.m
。之所以不放在根目录下,是因为这样比较整齐)
注意事项 3
如果发生了中文字体乱码的情况,这是因为MATLAB默认把 .m
文件保存成 GBK
格式的,但 listings
读取代码的时候,默认按照 UTF-8
的编码格式读取,所以会发生乱码。(应该是这个问题,编码这方面我不太懂)
所以我们需要保存 .m
文件的时候保存成 UTF-8
的编码格式。如果你的MATLAB版本比较高,(实测 2020a
可以),可以在左上角
找到这个另存为。
然后选择 UTF-8
即可
如果你的MATLAB版本比较低,没有这个改变编码格式的功能。(那么我建议你更新安装最新MATLAB) 也可以这样做:
将 .m
文件的后缀改成 .txt
然后通过记事本将编码修改成 UTF-8
,然后再改后缀成 .m
就好了
记事本文本文件如何更改设置编码(两种方法)
注意事项 4
如果你觉得这个代码还是不好看,可以查阅 listings
的手册自行设置。
2022年4月7日17:25:34
优雅的在latex中插入MATLAB代码 | 解决MATLAB代码中文乱码问题相关推荐
- matlab mnl,LaTex中插入VISO 和 MATLAB 经验总结
LaTex中插入VISO图形 1. 在VISO中,调整图形大小. [文件]-->[页面设置]-->[页面尺寸]-->[调整大小以适合绘图内容]-->[确定] 这样,图形就可自 ...
- 在Latex中插入Python代码
这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...
- latex附录中放python代码_在Latex中插入Python代码
这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...
- LaTex 中插入visio图片
LaTex 中插入visio图片 文件格式转变过程 .vsdx->.pdf->.eps->命令插入 下面介绍如何在LaTeX中插入.eps格式的图片. 第一步:生成.eps格式的图片 ...
- latex中插入两张子图片
背景 如何在latex中插入两张子图片呢? 步骤 参照下面的代码: \begin{figure}[htbp] \label{fig:3} % Give a unique label \quad \su ...
- Latex中插入图片
1.Latex的插图 在Latex中使用插图一般有两种方式,一种是插入事先准备好的图片,另一种是使用Latex代码直接在文档中画图.我们一般常见的使用都是第一种,准备好图片,然后直接插入在我们文档当中 ...
- 解决LaTex中插入Visio画图有多余边框的问题
解决LaTex中插入Visio画图有多余边框的问题 参考文章: (1)解决LaTex中插入Visio画图有多余边框的问题 (2)https://www.cnblogs.com/tianshifu/p/ ...
- latex中插入visio矢量图的方法
其实,我们用visio画的都是矢量图,只是我们通常转换成位图(jpg等格式)后再使用,这样其实就失去了矢量图的价值了.这里讲一种在latex中插入viso生成的矢量图的方法. 首先,在我们的电脑中安装 ...
- latex中插入图片以及固定图片位置
如有帮助,请随手点赞. latex中插入图片以及固定图片位置 需要在引言部分加入下面两条命令: \usepackage{graphicx} \usepackage{float} 添加图片时,写下以下命 ...
最新文章
- 【转】简述configure、pkg-config、pkg_config_path三者的关系
- Java 理论与实践: 用弱引用堵住内存泄漏---转载
- R运行大数据的过程中遇到的问题:不能有负长度矢量
- 怎么修改html的空格大小,如何改变空格的大小 word空格间隔很大怎么调整
- [转]在python中删除list中元素的3种方法:remove、pop、del
- java中ImageIcon路径问题
- java技术学习路线
- 编译 scintilla 并且缩小 SciLexer的 体积的做法
- VC安装驱动详细解释
- 电桥的原理,及非线性误差
- QQ客户端管理聊天记录漫游功能 | 解决经常弹窗消息漫游安全验证,QQ服务独立密码的问题
- Mac创建自签名的代码证书
- 开发Java程序的工具
- 工科硕士毕业14年,谈谈我的经验教训
- oracle ssd加速,联合评测 | Intel Optane SSD 有效加速SmartX 超融合在Oracle等场景下的系统性能...
- SpringBoot微信点餐开源系统
- 哈工大版理论力学和濮良贵版《机械设计》、张宇数学二等视频和试卷分享
- Java scripr的函数
- MogaFX—老挝央行禁止货币兑换单位出售外币
- layui 下拉框三级联动