我使用 mcode latex 包这里:
我用:
\lstinputlisting{G:/PROJECT_and_SEMINARS/sms/v.1.39.a.1/sms.m}[caption={Source code of program: SMS. Version:1.39.a.1}][firstnumber = 1]
命令导入 matlab 文件。这将导入并向我提供源文件中的代码。但是,我的问题是是否可以在 mcode.sty 中进行任何设置,以便删除 matlab 源代码中的空行。!!这个问题的解决方案将非常有帮助
% LATEX 文档代码:
\documentclass[08pt, a4paper, twoside]{Thesis}
\usepackage{framed}
\begin{document}
\begin{framed}
\lstinputlisting{.../sms.m}[caption={Source code of program: SMS. Version:1.39.a.1}] [firstnumber = 1]
\end{framed}
\end{document}
MATLAB 代码:
% SMS.V.1.39_a:start date Sept.01.2013
%<><><><><><><><><><><><><><><><><><>
smc2()
% smc3()
% sfea1d()
% sfea2()
%<><><><><><><><><><><><><><><><><><>
% IMPROVEMENT TYPE ABBREAVIATION
% VM:VARIABLE MANAGEMENT BR:BUG REMOVAL NF:NEW FUNCTION
% FE:FUNCTION EDIT NC:NEW CAPABILITY EH:ERROR HANDLING
% FF:FILE & FOLDER SO:SPEED OPTIMIZATION RD:RESULT DISPLAY
% FR:FUNCTION RENAME MM:MEMORY MANAGEMENT
%<><><><><><><><><><><><><><><><><><>
答案1
看看这是否适合你:
\documentclass{article}
\usepackage{listings}
\makeatletter
\lst@AddToHook{OnEmptyLine}{\vspace{\dimexpr-\baselineskip+\smallskipamount}}
\makeatother
\usepackage{framed}
\begin{document}
\begin{framed}
\lstinputlisting[emptylines=1,caption={Source code of program: SMS. Version:1.39.a.1}]
{my_matlab_code.m}
\end{framed}
\end{document}
参考:Ulrike Fischer 文章这里