Ini adalah perombakan besar dari gambar thomasWeise/texlive . Sekarang didasarkan pada thomasweise/docker-pandoc , yang, pada gilirannya, didasarkan pada thomasweise/docker-texlive-full . Ini berarti semakin besar, tetapi sekarang menampilkan rilis terbaru pandoc , TeX Live , dan termasuk lebih banyak filter Pandoc daripada sebelumnya. Untuk versi asli dari wadah, lihat Tag 1.0.0.
Ini adalah gambar Docker yang berisi instalasi TeX Live (versi 2015.2016) dengan beberapa skrip dukungan untuk mengurangi kompilasi file lateks ke PDF. Tujuannya adalah untuk menyediakan lingkungan terpadu untuk menyusun dokumen lateks dengan perilaku yang dapat diprediksi dan dapat direproduksi, sambil mengurangi upaya yang diperlukan untuk menginstal dan mempertahankan instalasi lateks. Gambar ini dirancang untuk sangat cocok untuk audiens Cina dan dilengkapi dengan beberapa font Cina terbuka yang sudah dipasang sebelumnya.
Docker dapat diinstal mengikuti pedoman di bawah ini:
curl -fsSL http://get.docker.com/ | sh pada baris perintah Anda dan semuanya dilakukan secara otomatis (jika Anda memiliki curl yang diinstal, yang biasanya terjadi), Di bawah ini, kami membahas berbagai parameter yang dapat Anda lewati ke gambar ini saat menjalankannya. Jika Anda telah menginstal Docker, Anda tidak perlu melakukan instalasi tambahan: pertama kali Anda melakukan docker run -t -i thomasweise/texlive atau semacamnya (lihat di bawah), gambar akan secara otomatis diunduh dan diinstal dari hub Docker.
Ada dua kasus penggunaan dasar dari gambar ini:
Selain itu, ada dua cara untuk memberikan data ke wadah:
Bentuk umum dari perintah ini adalah sebagai berikut:
docker run -v /my/path/to/document/:/doc/ -v /path/to/fonts/:/usr/share/fonts/external/ -t -i thomasweise/texlive COMMAND ARG1 ARG2...
Di mana
/my/path/to/document/ harus diganti dengan jalur ke folder yang berisi dokumen lateks yang ingin Anda kompilasi. Folder ini akan tersedia sebagai folder /doc/ di dalam wadah. Jika Anda menggunakan gambar tanpa parameter perintah (lihat di bawah), Anda akan mendapatkan prompt perintah bash di dalam folder ini /doc/ .-v /path/to/fonts/:/usr/share/fonts/external/ parameter. Di sini, /path/to/fonts/ harus diganti dengan jalur ke folder yang berisi font ini. Jika Anda tidak memerlukan font tambahan, Anda dapat meninggalkan keseluruhan -v /path/to/fonts/:/usr/share/fonts/external/ jauh.COMMAND ARG1 ARG2... dalam baris perintah di atas. Jika Anda menentukan perintah seperti itu, wadah akan memulai, jalankan perintah, lalu tutup. Jika Anda tidak memberikan perintah seperti itu, wadah akan memulai dan memberi Anda prompt bash di folder /doc/ . For compiling some document named myDocument.tex in folder /my/path/to/document/ with xelatex.sh and using additional fonts in folder /path/to/fonts/ , you would type something like the command below into a normal terminal (Linux), the Docker Quickstart Terminal (Mac OS), or the Docker Toolbox Terminal (Windows):
docker run -v /my/path/to/document/:/doc/ -v /path/to/fonts/:/usr/share/fonts/external/ -t -i thomasweise/texlive
xelatex.sh myDocument
exit
Atau, Anda juga bisa melakukannya
docker run -v /my/path/to/document/:/doc/ -v /path/to/fonts/:/usr/share/fonts/external/ -t -i thomasweise/texlive xelatex.sh myDocument
Versi pertama memulai wadah dan meninggalkan Anda di prompt perintah. Anda sekarang dapat mengkompilasi dokumen Anda menggunakan skrip helper xelatex.sh kami, kemudian Anda exit wadah. Di versi kedua, Anda langsung memberikan perintah ke wadah. Wadah menjalankannya dan kemudian langsung keluar.
Keduanya harus meninggalkan file PDF yang dikompilasi di folder /my/path/to/document/ . Jika Anda tidak menggunakan skrip saya yang telah ditentukan sebelumnya untuk membangun (lihat di bawah di bawah titik 3.1), saya sarankan melakukan chmod 777 myDocument.pdf setelah kompilasi, untuk memastikan bahwa dokumen yang diproduksi dapat diakses di dalam pengguna sistem nyata (host) Anda, dan bukan hanya dari wadah Docker. Jika Anda secara langsung memberikan satu perintah untuk dieksekusi, wadah berupaya untuk secara heuristik menemukan pdf yang Anda hasilkan dan untuk mengatur izinnya dengan benar.
Opsi -v sourcepath:destpath adalah opsional. Mereka memungkinkan Anda untuk "memasang" folder ( sourcepath ) dari sistem lokal Anda ke dalam wadah Docker, di mana ia tersedia sebagai Path destpath . Kami dapat menggunakan metode ini untuk memungkinkan kompiler lateks berjalan di dalam wadah untuk mengerjakan dokumen lateks Anda dengan memasang folder mereka ke folder bernama /doc/ , misalnya. Tetapi kita juga dapat memasang folder eksternal dengan font ke dalam struktur direktori font Linux. Untuk tujuan ini, silakan selalu memasang direktori font lokal Anda ke /usr/share/fonts/external/ .
Jika Anda hanya ingin menggunakan (atau mengintip di dalam) gambar tanpa memasang folder eksternal, Anda dapat menjalankan gambar ini dengan menggunakan:
docker run -t -i thomasweise/texlive
Contoh lain untuk penggunaan sintaks untuk langsung melewati dalam perintah tunggal untuk eksekusi adalah menyusun tesis berdasarkan templat tesis USTC. Dokumen semacam itu dapat dikompilasi menggunakan make , sehingga Anda bisa melakukan sesuatu seperti
docker run -v /path/to/my/thesis/:/doc/ -v /path/to/fonts/:/usr/share/fonts/external/ -t -i thomasweise/texlive make
Gambar memiliki komponen berikut:
TeX Live Version 2015.2016ghostscript versi 9.18Anda bisa membangunnya dengan
docker build -t thomasweise/texlive .
Kami menyediakan satu set skrip (di /bin/ ) yang dapat digunakan untuk menyusun dokumen lateks:
Biasanya, kompilasi lateks berarti memanggil program Compiler Lateks, kemudian Bibtex, kemudian kompiler lagi, dan kemudian beberapa program konversi dari format output kompiler masing -masing ke PDF. Dengan skrip kompiler, kami mencoba memadatkan panggilan ini ke dalam satu doa program.
latex.sh <document> Kompilasi lateks <document> dengan lateks (juga lakukan Bibtex)lualatex.sh <document> Kompilasi lateks <document> dengan lualatex (juga bibtex)pdflatex.sh <document> Kompilasi lateks <document> dengan PDFLATEX (juga lakukan Bibtex)xelatex.sh <document> Kompilasi lateks <document> dengan xelatex (juga lakukan bibtex)mintex.sh <document> <compiler1> <compiler2> ... memungkinkan Anda untuk memohon pilihan sewenang -wenang dari skrip kompiler di atas untuk menghasilkan pdf terkecil. Melakukan mintex.sh mydoc latex lualatex xelatex , misalnya, akan mengkompilasi mydoc.tex dengan latex.sh , lualatex.sh , dan xelatex.sh dan menjaga file pdf terkecil yang dihasilkan. Kami juga menyediakan beberapa skrip utilitas untuk bekerja dengan file PDF , PS , dan EPS .
eps2pdf.sh <document> Konversi file EPS <document> ke PDFfilterPdf.sh <document> mengubah dokumen (baik dalam format PostScript/ PS , EPS , atau PDF ) ke PDF dan memasukkan sebanyak mungkin font yang digunakan di dalam dokumen ke dalam PDF akhir. Hal ini memungkinkan untuk menghasilkan PDF dari file .ps <document> yang harus ditampilkan dengan benar pada sebanyak mungkin komputer.sudo adalah perintah pseudo- sudo : di dalam wadah Docker, kami tidak membutuhkan sudo . Namun, jika Anda memiliki skrip atau sesuatu yang memanggil sudo sederhana (tanpa argumen tambahan) hanya dengan perintah yang satu consudoed, skrip ini akan meniru sudo . Dengan tidak melakukan apa -apa.downscalePdf.sh <document> {resolution} Membuat dokumen PDF lebih kecil dengan downscaling semua gambar yang disertakan (ke resolusi yang ditentukan).findNonASCIIChars.sh <document> Menemukan karakter non-ASCII dalam sebuah dokumen. Dalam dokumen .tex , karakter seperti itu dapat menimbulkan masalah. Gambar ini dilisensikan berdasarkan GNU General Public License Versi 3, 29 Juni 2007, yang dapat Anda temukan di File License.md. Lisensi berlaku untuk cara gambar dibangun, sedangkan komponen perangkat lunak di dalam gambar berada di bawah lisensi masing -masing yang dipilih oleh pemegang hak cipta masing -masing.
Jika Anda memiliki pertanyaan atau saran, silakan hubungi Thomas Weise dari Institute of Terapan Optimalisasi Universitas Hefei di Hefei, Anhui, Cina.