Bagaimana seharusnya daftar kode sumber lateks terlihat menghasilkan output seperti di buku-buku yang dikenal, misalnya satu untuk Kerangka Kerja Spring? Saya sudah mencoba dengan paket daftar lateks tetapi tidak dapat menghasilkan sesuatu yang terlihat sama bagusnya dengan yang di bawah ini. Jadi saya sangat tertarik dengan instruksi pemformatan untuk menghasilkan sesuatu seperti contoh di bawah ini (dari bab sampel Manning untuk Spring in Action ):
EDIT Dengan bantuan terutama dari Tormod Fjeldskår inilah potongan lengkap untuk menghasilkan tampilan yang diinginkan:
\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}}
Gunakan dengan ini di dokumen Anda:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
Jawaban:
Menurut saya, yang Anda inginkan adalah menyesuaikan tampilan teksnya. Ini paling mudah dilakukan dengan menggunakan
caption
paket. Untuk instruksi bagaimana menggunakan paket ini, lihat manual (PDF) . Anda mungkin perlu membuat format teks sendiri, seperti yang dijelaskan dalam bab 4 dalam manual.Sunting: Diuji dengan MikTex:
Hasil:
sumber
Saya senang dengan
listings
paketnya:Inilah cara saya mengonfigurasinya:
Saya menggunakannya seperti ini:
sumber
Dan tolong, apa pun yang Anda lakukan, konfigurasikan paket cantuman untuk menggunakan font dengan lebar tetap (seperti pada contoh Anda; Anda akan menemukan opsi dalam dokumentasi). Pengaturan default menggunakan jenis huruf proporsional pada kisi, yang, IMHO, sangat jelek dan tidak dapat dibaca, seperti yang dapat dilihat dari jawaban lain dengan gambar. Saya pribadi sangat jengkel ketika saya harus membaca beberapa kode kode dalam font yang proporsional.
Coba atur font lebar tetap dengan ini:
sumber
Saya heran mengapa tidak ada yang menyebutkan paket Minted . Ini memiliki penyorotan sintaks yang jauh lebih baik daripada paket daftar LaTeX. Ini menggunakan Pygments .
Contoh di LaTeX:
Yang mengakibatkan:
Anda perlu menggunakan flag
-shell-escape
dengan perintah pdflatex.Untuk informasi lebih lanjut: https://www.sharelatex.com/learn/Code_Highlighting_with_minted
sumber
listings
).Selamat mencoba
listings
paketnya. Berikut adalah contoh dari apa yang saya gunakan beberapa waktu lalu untuk memiliki daftar Java berwarna:Anda mungkin ingin menyesuaikannya. Ada beberapa referensi dari paket listing. Hanya google mereka.
sumber
Lihatlah
algorithms
paket, terutamaalgorithm
lingkungan.sumber
algorithm
lingkungan, bukanalgorithmic
.algorithm
adalah wadah mengambang, yang terlihat cukup bagus. Anda dapat memasukkan apa pun yang Anda suka di dalam, bahkanlisting
elsethread yang disebutkan.Ada beberapa hal lain yang dapat Anda lakukan, seperti memilih font baru:
sumber
Untuk kode R saya gunakan
Dan terlihat persis seperti ini
sumber