Menyiapkan Asymptote

Dari semua hub, menurut saya ini yang paling cocok untuk topik ini. Jadi

Disalin dari blog saya untuk membuat sumber informasi berbahasa Rusia lainnya tentang topik ini.

Saya akan menjelaskan proses ini untuk Asymptote 2.35. Jadi, di sini saya mengunduh program ini, diinstal. Jika kita ingin menggunakan program ini secara penuh, maka langkah selanjutnya adalah menghubungkannya  TeX(Saya membuat deskripsi untuk implementasi yang saya gunakan  TeX'a - MiKTeX2.9, dengan asumsi bahwa program ini diinstal dan dikonfigurasikan dengan benar: repositori terhubung, instalasi paket on the fly dipilih, dll.). Saya berasumsi bahwa selama instalasi Asymptote dan MiKTeX, folder yang disarankan oleh pemasang program ini untuk membuat file program ini tidak diubah oleh pengguna. Kemudian buka folder C:\Program Files\Asymptote , itu berisi file asycolors.sty dan asymptote.sty . Buka folder C:\Program Files\MiKTeX 2.9\tex\latex , buat folder asycolors dan asymptote di dalamnya dan salin file tembel dengan nama yang sama yang disebutkan di atas ke folder ini. Jangan lupa untuk pergi ke Mulai> MiKTeX2.9> Pemeliharaan (Admin)> Pengaturan (Admin) dan di sana, klik Refresh FNDB , Perbarui Format , Oke . Itu saja, Asymptote tahu di mana TeX berada . Saya akan melakukan sedikit penyimpangan dari daftar komponen pihak ketiga yang diperlukan untuk Asymptote. Di TeXworks, murni berdasarkan intuisi, saya membuat alat tata letak Asymptote :

gambar

Dan sekarang saya bisa membuka file .asy di TeXworks dan memproses file-file ini dengan milik saya alat. Semua file yang dihasilkan, termasuk .pdf final dengan gambar yang dibuat, animasi, file .mpg (lihat di bawah) dibentuk dalam satu folder dengan file .asy yang diproses, terlepas dari ada / tidaknya kode grafik animasi dalam file ini.

Saya perhatikan bahwa di jendela yang ditunjukkan pada foto berjudul "Pengaturan TeXworks" di bagian "Jalur ke TeX dan program terkait", jalur ke folder program Asymptote tidak ditambahkan secara manual atau oleh sistem secara otomatis saat menggunakan alat Asymptote yang saya buat. Saat membuka file .asy di Explorer:

gambar

file-file ini, seperti yang Anda harapkan dari bilah judul di jendela baris perintah, yang menampilkan informasi tentang kemajuan pemrosesan yang dimulai, dihasilkan di C:\Windows\System32 , juga terlepas dari ada / tidaknya animasi dalam file ini. Selanjutnya, Anda memerlukan program ghostscript . Program ini diperlukan untuk konstruksi grafik normal bahkan dari file .asy, di mana tidak ada animasi. Saya biasanya diam tentang animasi. Saya menggunakan Asymptote 2.35 menggunakan ghostscript versi 9.23. Sedangkan untuk versi Asymptote itu sendiri, saya overclock dan menginstal versi 2.45. Jadi apa Saat menguji kode dari folder contoh Asymptote yang bahkan tidak mengandung animasi (saya tidak bisa mengonversi file dengan animasi menjadi .pdf), saya tidak bisa mendapatkan .pdf dari sejumlah besar file .asy daripada saat menggunakan versi 2.35, bahkan ketika menginstal yang lebih baru versi ghostscript. Saya mengutak-atik, mengutak-atik, meludah, menghapus semua versi yang diperbarui ini dan melakukan apa adanya. Jadi, maka Anda perlu menginstal imagemagick . Saya memberikan tautan bukan ke beranda proyek, tetapi ke laman tempat Anda langsung mengunduh file instalasi. Inilah masalahnya juga: untuk waktu yang lama saya tidak dapat memutuskan file mana yang akan diunduh untuk Windows7. Dan begitu, dan seterusnya, dan tidak ada tempat untuk membaca apa yang sebenarnya perlu diinstal untuk Asymptote. Kemudian secara acak saya mengunduh ImageMagick-7.0.8-42-Q16-x86-dll.exe . Ketika itu tidak ada, pemrosesan file .asy dengan animasi, format output yang .pdf, tidak menyebabkan kesalahan sama sekali. Tidak adanya program ini terasa ketika mencoba untuk mendapatkan file .gif animasi dari file wheel.asy dengan kesalahan berikut pada baris perintah (misalnya, saya mengambil pemrosesan file wheel.asy, deskripsi kesalahan ketika mendapatkan .gif dari file. Mudah lainnya juga terlihat, perbedaan hanya dalam, mungkin, nilai-nilai parameter yang tidak valid):

gambar

Upaya untuk memproses file ini di TeXworks dengan alat Asymptote yang disebutkan di atas memberikan kesalahan berikut:

gambar

Setelah cukup lama mencari informasi di Internet, dan itupun hanya di situs berbahasa Inggris, forum, saya berhasil mengetahui bahwa saya tidak memiliki ImageMagick di komputer saya.

POIN PENTING: DALAM JALUR, CARA UNTUK PROGRAM INI HARUS BERDIRI SEBELUM PEMADAM SYSTEM32

, karena ImageMagick menggunakan utilitas convert.exe saat memproses file .asy dengan animasi, dan file dengan nama yang persis sama ada di folder system32 dan ketika system32 di depan ImageMagick di PATH, sistem, saat memanggil file ini, program ImageMagick tidak mencari file convert.exe dalam folder program ImageMagick, dan dalam folder system32 dan berhasil menemukannya, hanya penggunaan file ini untuk tujuan ini tidak berakhir dengan sukses, tetapi dalam kesalahan yang dijelaskan di atas. John Bowman sendiri berbicara tentang masalah ini di sini , dalam replika kedua 2016-05-12:

gambar

Saya mengambil foto ini setelah menerjemahkan halaman ini ke dalam bahasa Rusia di browser Google. Saya menemukan ini sekarang dan jawaban di bawah teman bicara mengkonfirmasi kebenaran dugaan saya tentang cara menenun file convert.exe dari folder program ImageMagick ke dalam Asymptote. Ya, jika bukan karena penerjemah peramban ini, saya ragu apakah saya akan menulis artikel ini. Jika kita ingin menggunakan dengan baik, sepenuhnya, maka kita masih perlu mengunduh ffmpeg . Tidak adanya program ini membuatnya terasa hanya ketika saya mencoba untuk memproses file earthmoon.asy, dari mana saya menyimpulkan bahwa Asymptote hanya membutuhkan program ini untuk memproses file .asy dengan animasi, format outputnya adalah .mpg. Jadi, jika Anda tidak menggunakannya selain Asymptote, maka kemungkinan besar Anda akan menggunakannya sangat jarang. Namun demikian, saya akan memberitahu Anda bagaimana melakukannya, terutama karena pada saat yang sama saya akan menyentuh saat yang akan kita butuhkan di masa depan. Jadi, klik tautan di atas. Selanjutnya, klik tombol yang dikelilingi oleh persegi panjang oranye di foto berikut:

gambar

Unduh arsip ini, bongkar. Saya, karena saya perlu menambahkan folder bin program ini ke PATH, agar tidak menyumbatnya dengan huruf-huruf yang tidak perlu, buka paketnya langsung ke :\ . Jika Anda melakukan ini juga, maka tambahkan ke baris PATH C: \ ffmpeg-4.1.3-win32-shared \ bin . Tidak seperti ImageMagick, posisi ffmpeg di PATH relatif terhadap path ke folder system32 tidak masalah, sama seperti, omong-omong, posisi ini tidak masalah sehubungan dengan path ke folder program ImageMagick. Saya mengerti bahwa ketika Asymptote menyertakan ffmpeg, file ...\ffmpeg-4.1.3-win32-shared\bin\ffmpeg.exe . File ffmpeg.exe juga terletak di folder program ImageMagick, namun, ketika meminta, misalnya, versi, kesalahan dihasilkan, jadi saya mendapat kesan bahwa file ini dalam versi ImageMagick tertentu ini rusak dan itu sebabnya kami membutuhkannya instal juga program ffmpeg: kami baru saja menambahkan file ffmpeg.exe yang bisa diterapkan ke komputer, yang diperlukan untuk mendapatkan format .mpg, dan jika file ImageMagick ini berfungsi, program ffmpeg tidak akan diperlukan sama sekali. Namun, ini adalah pendapat pribadi saya, yang saat ini saya tidak dapat mengkonfirmasi dengan apa pun. Namun, kehadiran file ffmpeg.exe di folder program ImageMagick awalnya menyebabkan masalah: di satu sisi, rupanya .mpg tanpa ImageMagick tidak mungkin sama sekali, karena ketika itu dikeluarkan dari PATH (tetapi dengan kehadiran ffmpeg di PATH) tidak ada yang terjadi. Jadi, pertama-tama program ini ikut bermain. Yah, sejak dia mulai berbisnis, dia menarik file ffmpeg.exe-nya (bahkan jika path ke ffmpeg.exe terletak di PATH sebelum path ke ImageMagick), tetapi tidak berhasil. Dan tidak ada yang berhasil. Dan lagi, ini hanya kesimpulan saya. Dan jalan keluar dari masalah ini adalah penghapusan sederhana file ffmpeg.exe dari folder program ImageMagick.

Saat mempelajari teknologi pemrosesan file earthmoon.asy dari subfolder animasi dari folder contoh, detail berikut diidentifikasi. Setelah menginstal program ffmpeg dengan langkah-langkah yang dijelaskan di atas dan menambahkannya ke PATH, membuka file ini untuk mendapatkan .mpg dari itu di explorer (lihat di atas) ternyata sekaligus, dan pemrosesan di TeXworks tidak berarti apa-apa! Dan begitu, dan begitu - tidak mungkin! Ternyata intinya adalah file config.asy rahasia, bahkan untuk pengguna yang berbahasa Inggris. Apa ini Ini adalah file biasa dengan ekstensi .asy dan nama konfigurasi . Pembuat Asymptote berasumsi bahwa jika pengguna mencapai tingkat kepemilikan program mereka ketika ia membutuhkan file ini, maka sebagian besar kebutuhannya akan terpenuhi jika file ini ada di folder yang sama. Folder ini dibuat saat Anda menginstal Asymptote. Misalnya, jika pengguna menginstal program ini saat berada di akun IVAN, jalur absolut ke folder ini adalah sebagai berikut: C:\Users\\.asy . Ini bukan masalah bagi pengguna berbahasa Inggris: semua huruf di path lengkap ke folder ini kemungkinan besar hanya berisi huruf Latin dan program Asymptote dapat dengan mudah menemukan file config.asy. Namun, jika pengguna berbahasa Rusia, maka, kemungkinan besar, nama akun di mana ia menggunakan komputer ditulis dalam huruf Cyrillic. Dan karena itu, Asymptote tidak dapat menemukan folder ini, yang berarti ia tidak dapat menemukan file config.asy juga. Tetapi sekali lagi, ini adalah penjelasan saya tentang perilaku Asymptote, dan saya bukan seorang programmer atau bahkan penggemar pemrograman (walaupun saya tidak bisa mengatakan bahwa saya benar-benar tidak suka pemrograman). Tampaknya jalan buntu. Tapi, untungnya, pencipta Asymptote telah mengatasi masalah yang mungkin terjadi ini. Mereka memastikan bahwa program ini sebelum mencari file config.asy di folder C:\Users\...\.asy , di mana alih-alih ellipsis adalah nama pengguna, cari di folder dengan file .asy yang sedang diproses. Jadi, ketika memproses file earthmoon.asy, saya mulai membuat file config.asy dengan konten berikut dalam folder yang sama dengannya:
 import settings; convert ="C:\Program Files\ImageMagick-7.0.8-Q16\convert.exe"; 

dan hanya setelah itu semuanya mulai bekerja untuk saya. Sebenarnya, saya kemudian menyadari bahwa Anda dapat melakukannya tanpa file config.asy: jika saya menyertakan baris dalam file earthmoon.asy
 settings.convert ="C:\Program Files\ImageMagick-7.0.8-Q16\convert.exe"; 

atau jika saya menyisipkan baris dari file config.asy yang saya berikan langsung ke file earthmoon.asy dan jika file config.asy tidak ada dalam folder dengan file ini, itu tidak akan mengubah apa pun: saat memproses file earthmoon.asy seperti itu, ternyata persis sama file .mpg yang dapat dioperasikan (saya perhatikan bahwa keberadaan file config.asy dalam folder yang sama dengan file .asy dari mana file .mpg yang dapat dioperasikan akan diterima atau dimasukkannya baris dari file config.asy dalam file .asy dari mana file .mpg yang dapat dioperasikan akan diterima , tetapi kemudian dengan kehadiran opsional file config.asy dalam satu folder dengan file asy dari mana Anda ingin mendapatkan file .mpg yang bisa diterapkan adalah prasyarat untuk membuat file .mpg yang bisa diterapkan). Pada beberapa tahap pemrosesan dalam file TeXworks dengan format output .mpg dalam folder dengan file .asy ini, aib berikut diamati (ketika saya mengambil gambar, file earthmoon.asy diproses, di mana saya mempercepat proses dan mengurangi jumlah file yang dihasilkan atur earthmoon. mudah untuk nsama dengan 4):

gambar

Ini menunjukkan bahwa Asymptote telah menghubungkan ImageMagick ke proses dan semuanya berjalan sebagaimana mestinya. Dan ketika Asymptote berakhir, semua file dengan nama-nama mengerikan ini hilang dan hanya 3 file yang tersisa di folder - 2 file yang ada sejak awal: file config.asy dan file .asy, dari mana file .mpg dibuat dan, pada kenyataannya, file .mpg itu sendiri. Saya perhatikan bahwa, selain konversi variabel lingkungan, ada variabel lingkungan lainnya gs, pdfviewer, texpath, dvips dan, misalnya, python , nilai-nilai yang dapat ditentukan dalam file konfigurasi config.asy dan, tampaknya, ini tidak semua variabel tersebut (nilai variabel-variabel ini adalah path, dan itulah mengapa saya menyebutkannya bersamaan dengan penyebutan variabel convert).

Fuh, sepertinya aku tidak melewatkan apa pun.

Source: https://habr.com/ru/post/id466863/


All Articles