
Как скопировать код в latex, чтобы получить результат, который выглядит следующим образом:
...Без красных полос, конечно. Я не знаю, как получить нумерацию слева, когда я компилирую LaTeX. Использование \verbatim
только дает мне код.
Обновлять:Необходимо раскрасить код так, как он будет выглядеть в Matlab.
решение1
Для своей магистерской диссертации я писал много кода в MatLab. Чтобы он был "красиво напечатан", я использовал тот же пакет, о котором упоминал @cmhughes. Выглядит это так (в преамбуле):
\usepackage{listings} %For code in appendix
\lstset
{ %Formatting for code in appendix
language=Matlab,
basicstyle=\footnotesize,
numbers=left,
stepnumber=1,
showstringspaces=false,
tabsize=1,
breaklines=true,
breakatwhitespace=false,
}
Затем, когда вы захотите включить свой файл кода, просто используйте \lstinputlisting
. Продолжая пример:
\lstinputlisting[language=Matlab]{./Code/calc_error.m}
Мне это особенно понравилось, потому что это позволило мне изменять мой код в MatLab в самой папке, и мне не пришлось обновлять его в LaTeX, поскольку я указывал непосредственно на файл, а не на код как таковой.
Результат будет примерно таким:
Конечно, вы всегда можете поиграть с \lstset
тем, чтобы получить желаемое, как описано вдокументация
решение2
Если вам не нужна подсветка кода, то fancyvrb
подойдет пакет. Я не использую matlab
, но в целях демонстрации предположим, что у вас есть файл с именем yourfile.m
, тогда следующий код даст вам левостороннюю нумерацию. VerbatimInput{yourfile.m}
inputs ваш файл.
\documentclass[10pt]{article}
\usepackage{fancyvrb}
\fvset{%
fontsize=\small,
numbers=left
}
\begin{document}
\VerbatimInput{yourfile.m}
\end{document}
Другой вариант -minted
. Он внутренне использует fancyvrb
и использует Pygments
библиотеку python
для подсветки синтаксиса. Попробуйте следующий пример, заменив yourfile.m
вашим реальным файлом. Вам нужно скомпилировать с -shell-escape
включенной опцией. Прочитайте руководство по установке библиотеки Pygments
.
\documentclass[10pt]{article}
\usepackage{minted}
\newmintedfile{matlab}{
linenos=TRUE,
fontsize=\small,
}
\usemintedstyle{trac}
\begin{document}
\matlabfile{yourfile.m}
\end{document}