`\lstinputlisting` 不尊重 basicstyle=\tiny

`\lstinputlisting` 不尊重 basicstyle=\tiny

我试图将 MATLAB 代码放入我的文档中而不换行,但在使用 matlab-prettifier 时无法更改字体大小。这是同时使用 lstinputlisting 和环境样式的 MWE:

\documentclass[letterpaper,twoside,11pt]{article}
\usepackage{listings}
\usepackage[mlscaleinline=true]{matlab-prettifier}
\lstMakeShortInline[basicstyle=\tiny,style=Matlab-editor]@
\lstnewenvironment{matlab}{\lstset{basicstyle=\tiny,style=Matlab-editor}}{}
\begin{document}
\section{Why don't you respect me, prettifier?}
\lstinputlisting[basicstyle=\tiny,style=Matlab-editor]{m/example.m}
\tiny
\begin{matlab}
apples
\end{matlab}
\end{document}

结果:

文本结果

有什么想法可以强制执行吗?我尝试过很多变体basicstyle=\tiny

答案1

matlab-prettifier包似乎没有额外的字段用于全局设置字体大小。但查看源代码,它basicstyle = \color{black}\ttfamily\normalsize为所有不同的列表样式定义。因此,您可以在必要时使用修改后的字体大小命令重新定义此键:

\documentclass[letterpaper,twoside,11pt]{article}

\usepackage{listings}
\usepackage[mlscaleinline=true]{matlab-prettifier}

\lstMakeShortInline[style=Matlab-editor]@
\lstnewenvironment{matlab}{\lstset{
    style=Matlab-editor,
    basicstyle=\color{black}\ttfamily\tiny
}}{}

\begin{document}
\section{sudo respect me, prettifier!}
Normal sized text
\begin{lstlisting}[style=Matlab-editor,basicstyle=\color{black}\ttfamily\tiny]
function [] = example(x,y)
% some code...
plot(x,y);
\end{lstlisting}
\tiny Some tiny text here with @function [] = inline(x,y)@
\begin{matlab}
apples
\end{matlab}
\end{document}

在此处输入图片描述

相关内容