Wie sollte eine Latex-Quellcodeliste aussehen, um eine Ausgabe wie in bekannten Büchern zu erzeugen, beispielsweise eine für das Spring Framework? Ich habe es mit dem Latex-Listing-Paket versucht, konnte aber nichts produzieren, das so gut aussah wie das folgende. Daher interessieren mich vor allem die Formatierungsanweisungen, um so etwas wie das folgende Beispiel zu erstellen (aus Mannings Beispielkapitel für Spring in Action ):
BEARBEITEN Mit Hilfe von Tormod Fjeldskår finden Sie hier den vollständigen Ausschnitt, um den gewünschten Look zu erzielen:
\usepackage{listings}
\usepackage{courier}
\lstset{
basicstyle=\footnotesize\ttfamily, % Default font
% numbers=left, % Location of line numbers
numberstyle=\tiny, % Style of line numbers
% stepnumber=2, % Margin between line numbers
numbersep=5pt, % Margin between line numbers and text
tabsize=2, % Size of tabs
extendedchars=true,
breaklines=true, % Lines will be wrapped
keywordstyle=\color{red},
frame=b,
% keywordstyle=[1]\textbf,
% keywordstyle=[2]\textbf,
% keywordstyle=[3]\textbf,
% keywordstyle=[4]\textbf, \sqrt{\sqrt{}}
stringstyle=\color{white}\ttfamily, % Color of strings
showspaces=false,
showtabs=false,
xleftmargin=17pt,
framexleftmargin=17pt,
framexrightmargin=5pt,
framexbottommargin=4pt,
% backgroundcolor=\color{lightgray},
showstringspaces=false
}
\lstloadlanguages{ % Check documentation for further languages ...
% [Visual]Basic,
% Pascal,
% C,
% C++,
% XML,
% HTML,
Java
}
% \DeclareCaptionFont{blue}{\color{blue}}
% \captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}}
\usepackage{caption}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{\parbox{\textwidth}{\hspace{15pt}#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}}
Verwenden Sie es damit in Ihrem Dokument:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
Antworten:
Es scheint mir, dass Sie wirklich das Aussehen der Bildunterschriften anpassen möchten. Dies ist am einfachsten mit dem
caption
Paket möglich. Anweisungen zur Verwendung dieses Pakets finden Sie im Handbuch (PDF) . Sie müssten wahrscheinlich Ihr eigenes benutzerdefiniertes Beschriftungsformat erstellen, wie in Kapitel 4 im Handbuch beschrieben.Edit: Getestet mit MikTex:
Ergebnis:
quelle
Ich bin mit dem
listings
Paket zufrieden :So konfiguriere ich es:
Ich benutze es so:
quelle
Und bitte konfigurieren Sie das Listings-Paket für die Verwendung von Schriftarten mit fester Breite (wie in Ihrem Beispiel; die Option finden Sie in der Dokumentation). Die Standardeinstellung verwendet einen proportionalen Schriftsatz in einem Raster, der meiner Meinung nach unglaublich hässlich und unlesbar ist, wie aus den anderen Antworten mit Bildern hervorgeht. Ich persönlich bin sehr irritiert, wenn ich einen Code-Satz in einer proportionalen Schriftart lesen muss.
Versuchen Sie, die Schriftart mit fester Breite folgendermaßen einzustellen:
quelle
Ich frage mich, warum niemand das Minted- Paket erwähnt hat. Es hat eine weitaus bessere Syntaxhervorhebung als das LaTeX-Listenpaket. Es verwendet Pylements .
Beispiel in LaTeX:
Was in ... resultiert:
Sie müssen das Flag
-shell-escape
mit dem Befehl pdflatex verwenden.Für weitere Informationen: https://www.sharelatex.com/learn/Code_Highlighting_with_minted
quelle
listings
).Probieren Sie das
listings
Paket aus. Hier ist ein Beispiel dafür, was ich vor einiger Zeit verwendet habe, um eine farbige Java-Liste zu erstellen:Vielleicht möchten Sie das anpassen. Es gibt mehrere Referenzen des Listings-Pakets. Google sie einfach.
quelle
Schauen Sie sich das
algorithms
Paket an, insbesondere diealgorithm
Umwelt.quelle
algorithm
Umwelt gesprochen, nichtalgorithmic
.algorithm
ist ein schwimmender Container, der ziemlich gut aussieht. Sie können alleslisting
hineinstecken , was Sie möchten , sogar den erwähnten elsethread.Sie können verschiedene andere Dinge tun, z. B. die Auswahl neuer Schriftarten:
quelle
Für R-Code verwende ich
Und genau so sieht es aus
quelle