
Мне нужен код Matlab, например, такой, как здесь, в LaTeX и цветной (комментарий — зеленый, for/if/else/end — синий).
% super cooles Programm
i = 1
for i = 1:10
if i > 3
i=i+2
else
i=i+1
end
end
Я пытался
`\begin{lstlisting}
code
\end{lstlisting}`
это дало мне код, но не в цвете.
Я пытался
\lstinputlisting[language=Matlab, frame=single]{\MatlabCodeToLaTeX.m}
это привело к появлению сообщения об ошибке, что LaTeX не может запустить файл.
Как правильно раскрасить код?
решение1
Я адаптировал пример формыТЕКС
\documentclass{article}
\usepackage{listings}
\usepackage{color} %red, green, blue, yellow, cyan, magenta, black, white
\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue
\definecolor{mylilas}{RGB}{170,55,241}
\lstset{language=Matlab,%
%basicstyle=\color{red},
breaklines=true,%
morekeywords={matlab2tikz},
keywordstyle=\color{blue},%
morekeywords=[2]{1}, keywordstyle=[2]{\color{black}},
identifierstyle=\color{black},%
stringstyle=\color{mylilas},
commentstyle=\color{mygreen},%
showstringspaces=false,%without this there will be a symbol in the places where there is a space
numbers=left,%
numberstyle={\tiny \color{black}},% size of the numbers
numbersep=9pt, % this defines how far the numbers are from the text
emph=[1]{for,end,break},emphstyle=[1]\color{red}, %some words to emphasise
%emph=[2]{word1,word2}, emphstyle=[2]{style},
}
\begin{document}
\begin{lstlisting}[frame=single]
% super cooles Programm
i = 1
for i = 1:10
if i > 3
i=i+2
else
i=i+1
end
end
\end{lstlisting}
\end{document}
выход:
PS: в следующий раз, когда возникнет вопрос о латексе, попробуйте сначала поискать в TEX!