
Wie kopiere ich Code in Latex, um ein Ergebnis zu erhalten, das so aussieht:
...Natürlich ohne die roten Balken. Ich weiß nicht, wie ich die Nummerierung auf der linken Seite hinbekomme, wenn ich LaTeX kompiliere. Wenn ich \verbatim
nur verwende, bekomme ich den Code.
Aktualisieren:Es ist notwendig, den Code so einzufärben, wie er in Matlab erscheinen würde.
Antwort1
Für meine Masterarbeit habe ich viel Code in MatLab geschrieben. Um ihn "schön gedruckt" zu haben, habe ich dasselbe Paket verwendet, das @cmhughes erwähnt hat. Es sieht so aus (in der Präambel):
\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,
}
Wenn Sie dann Ihre Codedatei einbinden möchten, verwenden Sie einfach \lstinputlisting
. Weiter mit dem Beispiel:
\lstinputlisting[language=Matlab]{./Code/calc_error.m}
Das gefiel mir besonders gut, weil ich dadurch meinen Code in MatLab direkt im Ordner ändern konnte und ihn nicht in LaTeX aktualisieren musste, da ich direkt auf die Datei und nicht auf den Code an sich verwies.
Das Ergebnis wird ungefähr so aussehen:
Natürlich können Sie immer mit spielen, \lstset
um das zu bekommen, was Sie wollen, wie indie Dokumentation
Antwort2
Wenn Sie keine Codehervorhebung benötigen, fancyvrb
reicht das Paket aus. Ich verwende nicht matlab
, aber nehmen wir zu Demonstrationszwecken an, Sie haben eine Datei mit dem Namen yourfile.m
. Dann erhalten Sie mit dem folgenden Code eine Nummerierung auf der linken Seite. VerbatimInput{yourfile.m}
gibt Ihre Datei ein.
\documentclass[10pt]{article}
\usepackage{fancyvrb}
\fvset{%
fontsize=\small,
numbers=left
}
\begin{document}
\VerbatimInput{yourfile.m}
\end{document}
Eine weitere Möglichkeit ist dieminted
. Es verwendet intern fancyvrb
die Pygments
Bibliothek von python
zur Syntaxhervorhebung. Versuchen Sie das folgende Beispiel und ersetzen Sie es yourfile.m
durch Ihre aktuelle Datei. Sie müssen mit -shell-escape
aktivierter Option kompilieren. Lesen Sie das Handbuch zur Installation der Pygments
Bibliothek.
\documentclass[10pt]{article}
\usepackage{minted}
\newmintedfile{matlab}{
linenos=TRUE,
fontsize=\small,
}
\usemintedstyle{trac}
\begin{document}
\matlabfile{yourfile.m}
\end{document}