如何在列表中打印度数符号 (°) \lstinputlisting
?
我注意到了基于lstlisting
环境的问题,但它不起作用\lstinputlisting
。
这说明该解决方案与lstlisting
环境不兼容\lstinputlisting
:
平均能量损失
\documentclass{article}
\usepackage{listings}
\usepackage{matlab-prettifier} % To highligth MATLAB code
\lstset{
style=Matlab-editor,
literate={{°}{\textdegree}1}
}
\begin{document}
\begin{lstlisting}
{Street name, n° 40}
\end{lstlisting}
\lstinputlisting{test_matlab.m}
\end{document}
要打印的 MATLAB 文件\lstinputlisting
function [others] = Create_structure_others()
others.a = struct('value', [], 'unit', '°');
end
答案1
检查.m
文件是否为 UTF-8 编码,如果不是,则进行转换。
\begin{filecontents*}{\jobname.m}
function [others] = Create_structure_others()
others.a = struct('value', [], 'unit', '°');
end
\end{filecontents*}
\documentclass{article}
\usepackage{listings}
\usepackage{matlab-prettifier} % To highligth MATLAB code
\lstset{
style=Matlab-editor,
literate={{°}{\textdegree}1}
}
\begin{document}
\begin{lstlisting}
{Street name, n° 40}
\end{lstlisting}
\lstinputlisting{\jobname.m}
\end{document}
我不确定是否可以强制 MATLAB 输出 UTF-8,但应该是可能的。
我尝试将.m
文件转换为 Latin-1,事实上,输出与您的类似(带有错误消息)。