Saya mencari paket LaTeX yang tidak menyoroti sintaks pada kode. Misalnya, sekarang saya menggunakan blok kata demi kata untuk menulis kode:
\begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{verbatim}
Dan ini berfungsi dengan baik untuk menampilkan kode pada dokumen saya. Tapi, anggaplah saya ingin menyoroti markup HTML seperti cara IDE dalam dokumen keluaran? Apakah ada paket yang bisa membantu?
Saya ingin melakukan hal yang sama untuk berbagai bahasa seperti Java, C #, HTML, CSS dan sebagainya.
lstlisting
. Sama sekali tidak menyoroti kode XML dan gagal ketika menggunakan karakter Unicode asing. JavaScript juga tidak didukung, seperti yang terlihat. Bisakah LGrind menangani hal-hal seperti itu?Jawaban:
Anda dapat menggunakan paket cantuman . Ini mendukung banyak bahasa yang berbeda dan ada banyak opsi untuk menyesuaikan output.
sumber
Setelah mengajukan pertanyaan serupa saya buat paket lain yang menggunakan Pygments, dan menawarkan beberapa lebih banyak pilihan daripada
texments
. Ini disebutminted
dan cukup stabil dan dapat digunakan.Untuk memamerkannya, inilah kode yang disorot dengan dicetak:
sumber
PATH
variabel dan membuat skrip cmd). Saya berharap untuk meyakinkan pengelola Pygments untuk mengirimpygmentize
dengan.exe
pembungkus agar langkah ini lebih mudah.minted
diinstal dan bekerja pada ShareLatex dan Overleaf. Selamatkan diri Anda dari sakit kepala saat memasang Pygments;)Saya merekomendasikan Pygments . Ia menerima sepotong kode dalam bahasa apa pun dan menghasilkan sintaks yang disorot kode LaTeX. Ini menggunakan paket fancyvrb dan warna untuk menghasilkan outputnya. Saya pribadi lebih suka ke paket listing. Saya pikir fancyvrb menciptakan hasil yang jauh lebih cantik.
sumber
beamer
dokumen jenis ini rupanya satu-satunya opsi fungsional. Baikminted
ataulistings
mengkompilasi benar denganbeamer
.listings
denganbeamer
, tetapi Anda harus menentukan bahwa frame yang mencakup listing yang[fragile]
.LGrind melakukan ini. Ini adalah paket LaTeX yang sudah ada sejak adam adalah seorang koboi dan memiliki dukungan untuk banyak bahasa pemrograman.
sumber
Saya akan menggunakan paket yang dicetak seperti yang disebutkan dari pengembang Konrad Rudolph, bukan dari daftar paket . Inilah alasannya:
daftar paket
Paket listing tidak mendukung warna secara default. Untuk menggunakan warna, Anda harus menyertakan paket warna dan mendefinisikan sendiri aturan warna dengan perintah \ lstset seperti yang dijelaskan untuk kode matlab di sini .
Selain itu, paket cantuman tidak berfungsi dengan baik dengan unicode, tetapi Anda dapat memperbaiki masalah tersebut seperti yang dijelaskan di sini dan di sini .
Kode berikut
menghasilkan gambar berikut:
paket dicetak
Paket yang dicetak mendukung warna, unicode dan terlihat mengagumkan. Namun, untuk menggunakannya, Anda harus memiliki python 2.6 dan pygments . Di Ubuntu, Anda dapat memeriksa versi python Anda di terminal dengan
dan Anda dapat menginstal pygments dengan
Kemudian, karena dicetak membuat panggilan ke pygments, Anda perlu mengkompilasinya dengan -shell-escape seperti ini
Jika Anda menggunakan editor lateks seperti TexMaker atau sesuatu, saya akan merekomendasikan untuk menambahkan perintah-pengguna, sehingga Anda masih dapat mengompilasinya di editor.
Kode berikut
menghasilkan gambar berikut:
sumber
Saya kebanyakan menggunakan lstlistings di kertas, tetapi untuk output berwarna (untuk slide) saya menggunakan pygments.
sumber
Saya sarankan mendefinisikan paket Anda sendiri berdasarkan kode tex berikut; ini memberi Anda kebebasan penuh. http://ubuntuforums.org/archive/index.php/t-331602.html
sumber