使用 matlab-prettifier 描述的 \mlttfamily 的 Bera Mono 字体

使用 matlab-prettifier 描述的 \mlttfamily 的 Bera Mono 字体

我正在使用 latex 和 pdftex,并尝试使用 Bera Mono 字体和文档\mlttfamily中描述的字体matlab-prettifier。但是,我生成的输出似乎忽略了我的\lstset basicstyle = \mlttfamily设置,而是使用了默认值\ttfamily?下面是我的输出图像。

\documentclass[border=30pt]{standalone} 

\usepackage[final]{matlab-prettifier}

\usepackage[T1]{fontenc}

\lstset{
  style              = Matlab-editor,
  basicstyle         = \mlttfamily, %\ttfamily
  escapechar         = ",
  mlshowsectionrules = true,
}

\begin{document}

\begin{lstlisting}[style=Matlab-editor]
%% Code sections are highlighted.
% System command are supported...
!gzip sample.m
% ... as is line continuation.
A = [1, 2, 3,... % (mimicking the ouput is good)
 4, 5, 6]
fid = fopen('testFile.text', 'w')
for i=1:10
  fprintf(fid,'%6.2f \n', i);
end
x=1; %% this is just a comment, though
% Context-sensitive keywords get highlighted correctly...
p = properties(mydate); %(here, properties is a function)
x = linspace(0,1,101);
y = x(end:-1:1)
% ... even in nonsensical code.
]end()()(((end end)end ))))end (function end
%{
    block comments are supported
%} even
runaway block comments
are
   \end{lstlisting}

\end{document}

输出图像

答案1

这解决了问题,\lstset定义了默认设置\lstlisting,我之前覆盖了此样式设置,但没有更改字体。
以下代码现在正确地将字体更改为 Bera Mono。

\documentclass[border=30pt]{standalone} 

\usepackage[final]{matlab-prettifier}

\usepackage[T1]{fontenc}

\lstset{
  style              = Matlab-editor,
  basicstyle         = \mlttfamily, %\ttfamily
  escapechar         = ",
  mlshowsectionrules = true,
}

\begin{document}

\begin{lstlisting}
%% Code sections are highlighted.
% System command are supported...
!gzip sample.m
% ... as is line continuation.
A = [1, 2, 3,... % (mimicking the ouput is good)
     4, 5, 6]
fid = fopen('testFile.text', 'w')
for i=1:10
  fprintf(fid,'%6.2f \n', i);
end
x=1; %% this is just a comment, though
% Context-sensitive keywords get highlighted correctly...
p = properties(mydate); %(here, properties is a function)
x = linspace(0,1,101);
y = x(end:-1:1)
% ... even in nonsensical code.
]end()()(((end end)end ))))end (function end
%{
    block comments are supported
%} even
runaway block comments
are
\end{lstlisting}

\end{document}

答案2

我现在从 matlab-prettier 的概述描述中看到以下内容有效。

            \documentclass[border=30pt]{standalone} 

            \usepackage[final]{matlab-prettifier}

            \usepackage[T1]{fontenc}

            \begin{document}

            \begin{lstlisting}[
              style      = Matlab-editor,
              basicstyle = \mlttfamily,
            ]

            %% Code sections are highlighted.
            % System command are supported...
            !gzip sample.m
            % ... as is line continuation.
            A = [1, 2, 3,... % (mimicking the ouput is good)
                 4, 5, 6]
            fid = fopen('testFile.text', 'w')
            for i=1:10
              fprintf(fid,'%6.2f \n', i);
            end
            x=1; %% this is just a comment, though
            % Context-sensitive keywords get highlighted correctly...
            p = properties(mydate); %(here, properties is a function)
            x = linspace(0,1,101);
            y = x(end:-1:1)
            % ... even in nonsensical code.
            ]end()()(((end end)end ))))end (function end
            %{
                block comments are supported
            %} even
            runaway block comments
            are

            \end{lstlisting}

            \end{document}

输出

相关内容