我想将 matlab 代码导入到我的 latex 文档中:
考虑以下代码:
\documentclass[bibliography=totoc,toc=sectionentrywithdots,DIV=10, parskip=half, 12pt, captions=tableheading]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[top=2.5cm, bottom=3cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{graphicx}
\addto\captionsngerman{%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\usepackage[headsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\usepackage{booktabs}
\usepackage[singlespacing]{setspace}
\usepackage{romanbar}
\usepackage{subfig}
\usepackage[breaklinks=true]{hyperref}
\usepackage{amsthm,amsmath,amssymb}
\usepackage{dsfont}
\allowdisplaybreaks
\newtheorem{satz}{Satz}
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
\lstset{breakatwhitespace=false}
\newtheorem{lem}{Lemma}
\ohead{\headmark}
\automark{section}
\begin{document}
\lstinputlisting[caption={My program }]{bsp.m}
\end{document}
使用\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
、
\lstset{breakatwhitespace=false}
并使用 LualaTeX 进行编译时,我收到几个警告:
字体TU/pcr/m/n' undefined(Font) using 'TU/lmr/m/n
形状
某些字体形状不可用,因此用默认字体形状代替。
另一个包裹有问题吗?
此外我得到了一个真正的错误:
! String contains an invalid utf-8 sequence. p_1=zeros(1, t-2); %% Speicher f
原因是我使用了“ü”。我该如何解决这个问题?抱歉,我是 LaTeX 学习的初学者
答案1
尝试从 MWE 中删除所有不必要的包是一个好主意;这也有助于在发布之前识别包不兼容问题。:)
无论如何,查看文件mcode.sty
,似乎没有在包声明中设置任何包选项。从您提供的 MWE 中删除这些,我可以正确编译 - 我没有收到您上面收到的任何警告。该mcode
包似乎只是为listings
包设置了样式配置,这就是为您显示代码的内容。如果您想要更多定制,我建议您放弃该mcode
包并单独使用它listings
- 它非常强大,具有良好的文档,并且设置起来并不困难。
您没有包含 MATLAB 代码,因此我无法帮助您解决 MATLAB 错误。尝试用“普通”变体替换该字符,例如ü
-> u
- 毕竟它是代码。LaTeX 应该可以毫无问题地解析 unicode 字符。
为了完整性,下面是代码:
\documentclass[bibliography=totoc,toc=sectionentrywithdots,DIV=10, parskip=half, 12pt, captions=tableheading]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[top=2.5cm, bottom=3cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{graphicx}
\addto\captionsngerman{%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\usepackage[headsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\usepackage{booktabs}
\usepackage[singlespacing]{setspace}
\usepackage{romanbar}
\usepackage{subfig}
\usepackage[breaklinks=true]{hyperref}
\usepackage{amsthm,amsmath,amssymb}
\usepackage{dsfont}
\allowdisplaybreaks
\newtheorem{satz}{Satz}
\usepackage{mcode} % removed package options causing errors
\lstset{breakatwhitespace=false}
\newtheorem{lem}{Lemma}
\ohead{\headmark}
\automark{section}
\begin{document}
\lstinputlisting[caption={My program }]{bsp.m}
\end{document}