Buat kode di LaTeX terlihat * bagus * [ditutup]

133

Saat ini saya sedang menulis laporan proyek, dan untuk menjelaskan kode tidak intuitif yang sedikit gila yang telah saya gunakan, saya harus memasukkan banyak dan banyak kutipan kode contoh.

Bagaimana saya bisa mendapatkan kode ke LaTeX itu:

  • terlihat bagus
  • tidak keluar dari sisi halaman jika garis terlalu panjang (daftar lstlisting atau kata demi kata)
  • lebih disukai sejalan dengan sisa teks

Diedit (saya pikir saya akan menambahkan pengaturan sehingga orang tidak perlu mencoba dan mencari tahu sendiri (diambil dari wikibooks (tautan lebih jauh ke bawah) dan diedit untuk kebaikan))

Pengaturan yang bagus:

\usepackage{color}
\usepackage{listings}
\lstset{ %
language=C++,                % choose the language of the code
basicstyle=\footnotesize,       % the size of the fonts that are used for the code
numbers=left,                   % where to put the line-numbers
numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
stepnumber=1,                   % the step between two line-numbers. If it is 1 each line will be numbered
numbersep=5pt,                  % how far the line-numbers are from the code
backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
showspaces=false,               % show spaces adding particular underscores
showstringspaces=false,         % underline spaces within strings
showtabs=false,                 % show tabs within strings adding particular underscores
frame=single,           % adds a frame around the code
tabsize=2,          % sets default tabsize to 2 spaces
captionpos=b,           % sets the caption-position to bottom
breaklines=true,        % sets automatic line breaking
breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}          % if you want to add a comment within your code
}

\begin{lstlisting}
!!code!!
\end{lstlisting}

Contoh pengaturan ini:

Ed James
sumber
The listing paket ini cukup bagus dan sangat fleksibel (misalnya ukuran yang berbeda untuk komentar dan kode).
Fabian Steeg
Setelah beberapa googling yang panjang, ternyata lstlisting mampu memformat kode dengan baik, tetapi membutuhkan banyak penyesuaian. <a href=" en.wikibooks.org/wiki/LaTeX/Packages/…> memiliki contoh yang baik untuk parameter yang dapat Anda atur. (Maaf untuk menjawab pertanyaan saya sendiri!)
Ed James
1
Hebat! Saya senang bisa hanya menyalin-menempelkan sesuatu ke dalam dokumen lateks saya dan membuatnya menjadi indah secara instan! Anda menyelamatkan saya selama beberapa jam mengutak-atik sekarang. Terima kasih! :)
Espen Herseth Halvorsen
12
Tangkapan layar dari kode yang diformat yang dihasilkan oleh di atas akan menyenangkan!
Adrian Mouat
7
LaTeX sudah selesai Turing, ini tidak boleh ditutup ..
dcow

Jawaban:

42

The listing paket ini cukup bagus dan sangat fleksibel (misalnya ukuran yang berbeda untuk komentar dan kode).

Fabian Steeg
sumber
18

Ternyata lstlistingmampu memformat kode dengan baik, tetapi membutuhkan banyak penyesuaian.

Wikibooks memiliki contoh yang bagus untuk parameter yang dapat Anda atur.

Ed James
sumber
2

Untuk dokumen sederhana, saya kadang-kadang menggunakan kata demi kata, tetapi daftar itu bagus untuk sebagian besar kode.

claf
sumber