Jak powinna wyglądać lista kodów źródłowych lateksu, aby generować wyniki jak w znanych książkach, na przykład dla Spring Framework? Próbowałem z pakietem list lateksowych, ale nie byłem w stanie wyprodukować czegoś, co wyglądało tak ładnie, jak to poniżej. Dlatego przede wszystkim interesuję się instrukcjami formatowania, aby utworzyć coś takiego jak przykład poniżej (z przykładowego rozdziału Manninga dla Spring in Action ):
EDYCJA Z pomocą Tormoda Fjeldskåra, oto pełny fragment, który zapewnia pożądany wygląd:
\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}}
Użyj tego w swoim dokumencie:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
Odpowiedzi:
Wydaje mi się, że tak naprawdę chcesz dostosować wygląd podpisów. Najłatwiej to zrobić za pomocą
caption
pakietu. Instrukcje dotyczące korzystania z tego pakietu znajdują się w instrukcji obsługi (PDF) . Prawdopodobnie konieczne będzie utworzenie własnego formatu napisów, jak opisano w rozdziale 4 instrukcji.Edycja: Testowane z MikTex:
Wynik:
źródło
Jestem zadowolony z
listings
pakietu:Oto jak to skonfigurować:
Używam tego w ten sposób:
źródło
I proszę, cokolwiek zrobisz, skonfiguruj pakiet list, aby używał czcionki o stałej szerokości (jak w twoim przykładzie; znajdziesz tę opcję w dokumentacji). Domyślne ustawienie wykorzystuje proporcjonalny skład czcionki na siatce, który jest, IMHO, niesamowicie brzydki i nieczytelny, jak widać z innych odpowiedzi ze zdjęciami. Osobiście jestem bardzo zirytowany, gdy muszę przeczytać jakiś skład kodu w proporcjonalnej czcionce.
Spróbuj ustawić czcionkę o stałej szerokości za pomocą tego:
źródło
Zastanawiam się, dlaczego nikt nie wspomniał o pakiecie Minted . Ma znacznie lepsze wyróżnianie składni niż pakiet listowy LaTeX. Korzysta z Pigmejów .
Przykład w LaTeX:
Co skutkuje w:
Musisz użyć flagi
-shell-escape
z poleceniem pdflatex.Aby uzyskać więcej informacji: https://www.sharelatex.com/learn/Code_Highlighting_with_minted
źródło
listings
).Wypróbuj
listings
pakiet. Oto przykład tego, czego użyłem jakiś czas temu, aby mieć kolorowy wykaz Java:Możesz to dostosować. Istnieje kilka odniesień do pakietu ofert. Po prostu google.
źródło
Spójrz na
algorithms
pakiet, szczególniealgorithm
środowisko.źródło
algorithm
środowiskualgorithmic
.algorithm
to pływający pojemnik, który wygląda całkiem nieźle. Możesz włożyć wszystko, co chcesz, nawetlisting
wspomniany inny wątek.Istnieje kilka innych rzeczy, które możesz zrobić, na przykład wybierając nowe czcionki:
źródło
Używam kodu R.
I wygląda dokładnie tak
źródło