![使用 matlab prettifier 每页放置 100 行代码](https://linux22.com/image/406428/%E4%BD%BF%E7%94%A8%20matlab%20prettifier%20%E6%AF%8F%E9%A1%B5%E6%94%BE%E7%BD%AE%20100%20%E8%A1%8C%E4%BB%A3%E7%A0%81.png)
我需要将我编写的软件代码放在论文附录中。多个文件中有大约 4000 行代码,因此我希望每页有 100 行代码。
使用这些设置,我得到大约 30 行,并且注释会换行,占用额外的空间(尽管在我的 matlab 代码中我已经换行了注释)。
%matlab stuff
\usepackage[framed, numbered]{matlab-prettifier}
\usepackage{listings, color}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{white},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\fontsize{6}{5}\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\fontsize{6}{5},
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
附录中:
\lstinputlisting[style = Matlab-editor]{GINA_Analyser.m}
使用 resizebox,我最终尝试将整个代码放在一页上,如下所示。此代码位于附录部分中:
\resizebox{\textwidth}{!}{\lstinputlisting[style = Matlab-editor]{FileValidator.m}}
我能做些什么吗?
答案1
我用了拉丁现代 TT 轻简体 对于我的代码清单 - 它比相同字体大小的普通 TT 字体更窄,因此每行可以显示更多字符,换行更少。我还减小了行距只是稍微使用了一下setspace
,这给我带来了一些麻烦(链接是我的关于该问题的问题)。
不幸的是,最大的收获可能来自手动努力:例如,重新设计注释中的换行。您的 1-9 行实际上占用了 17 行;如果您不将每行断行两次,它们应该会减少到大约 12 行。您还可以将制表位减少到大约 2 个空格,并删除块注释上的缩进,以便一行中可以容纳更多字符。如果您的个别行很长,甚至可以调整代码本身的空格;您的示例显示了对空间的充分利用。
每页换行几行,总共每页约 62 行。我的论文第 186 页(Dropbox)就是一个很好的例子。