Disalin dari
blog saya untuk membuat sumber informasi berbahasa Rusia lainnya tentang topik ini.
Artikel ini merupakan kelanjutan dari artikel berikut dalam satu siklus:
artikel 1artikel 2artikel 3artikel 4LYX; penggunaan file .js
Fitur utama file dengan ekstensi
.js
, yang membuatnya menarik dalam hal aplikasi mereka dalam program LyX, adalah kemampuan untuk mensimulasikan penekanan tombol pada file-file ini. Misalnya, pertimbangkan, misalnya, bagaimana memungkinkan untuk memasukkan foto yang terletak di folder yang sama dengan file
.lyx
ini
.lyx
file
.lyx
(jika file ini belum disimpan, jendelanya dibuka melalui
File> Baru , baik, jendelanya dibuka untuk pertama kalinya secara harfiah ketika menggunakan program LyX kali ini, maka foto yang dimasukkan harus dalam folder yang ditentukan dalam
Alat> Pengaturan ...> Paths , dalam kotak teks
direktori Pengguna ) tanpa menggunakan mouse, tanpa melepaskan tangan Anda Claudia. Gagasan utama dalam memecahkan masalah ini adalah sebagai berikut. Misalkan, dalam folder yang saya sebutkan di atas, ada foto
photo.png . Untuk menyisipkannya pada posisi kursor saat ini di jendela program LyX, Anda dapat menjalankan perintah berikut di Command Buffer:
inset-apply graphics filename photo.png
Jadi, dalam file
.js
, sebut saja
vstavka-grafiki.js , Anda perlu mensimulasikan menekan
Alt
+
X
(sehingga kursor mulai berkedip di buffer perintah) dan menekan
i
,
n
,
s
,
e
,
t
,
-
,
a
,
p
,
p
,
l
,
y
,
,
g
,
r
,
a
,
p
,
h
,
i
,
c
,
s
,
,
f
,
i
,
l
,
e
,
n
,
a
,
m
,
e
,
Spasi . Setelah itu, jendela program LyX mulai terlihat seperti ini:

Pada saat yang sama, jika saya mulai memasukkan sesuatu dari keyboard, ini akan dimasukkan bukan di jendela program LyX utama, tetapi di buffer perintah, dan selain itu, huruf tidak akan dimasukkan dari tombol yang ditekan ketika tombol ini ditekan saat Tata letak Rusia, dan yang dimasukkan saat tombol ini ditekan saat tata letak keyboard dialihkan ke Bahasa Inggris. Bagus, apa yang kamu butuhkan! Tapi di sini, ternyata kemudian, ada satu tangkapan, yaitu: pada awalnya saya pikir untuk mengacaukan file
.js
ini ke LyX melalui file
default.def
, menulis baris di dalamnya
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.js\""
dan, membuat di LyX tombol pintas untuk
call vstgr
frasa
call vstgr
. Semuanya akan baik-baik saja, tetapi ternyata file
.js
tidak dapat diluncurkan dari LyX. Tapi dari situ ternyata menjalankan file dengan ekstensi
.bat
(file batch dangkal). Itu sebabnya saya menulis di file
default.def
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.bat\""
dengan membuat file
vstavka-grafiki.bat sebagai berikut:
start vstavka-grafiki.js
Dan secara langsung untuk menyederhanakan panggilan perintah yang saya buat di jendela LyX, saya, seperti yang saya maksudkan, ketika saya belum tahu bahwa saya juga perlu menggunakan file batch, membuat hotkey untuk frase
panggilan vstgr . Pada saat yang sama, file
vstavka-grafiki.bat dan file
vstavka-grafiki.js harus ada di folder yang ditambahkan ke PATH. Jadi, lanjutkan. Saat membuat format ekspor
pdflatex-v-papke , saya menemukan ini. Ketika Anda memasukkan grafik, misalnya, dengan nama yang disebutkan di atas dengan
photo.png ekstensi di bagian jendela program LyX yang muncul setelah mengklik
Lihat> Lihat Sumber (atau
Lihat> Lihat kode - nama item menu yang sesuai
Lihat tergantung pada lokalisasi.
.mo
digunakan) di tempat , sesuai dengan posisi gambar yang disisipkan di jendela program LyX utama, kode berikut akan menjadi:
\includegraphics{photo}
Dan kode yang sama akan direkam dalam file
.tex
sesuai yang muncul di direktori sementara terkait sebagai hasil dari tindakan file batch yang dipilih sebagai mesin format ini di salah satu tahap pertama dari file batch ini. Akibatnya, sebagai hasil dari mengeksekusi salah satu perintah selanjutnya dari file batch ini - memproses file
.tex
diterima - kesalahan akan terjadi dan tidak ada yang akan berfungsi. Dan masalahnya di sini adalah bahwa dalam file
.tex
dihasilkan nama file grafik yang dimasukkan (argumen dari perintah
\includegraphics
) ditulis tanpa ekstensi. Apa yang harus dilakukan Hmm, karena selain menerima file
.tex
, pemrosesan yang oleh pdflatex tidak akan menyebabkan kesalahan tunggal, saya juga ingin menjaga visibilitas di jendela program LyX. Di sisi lain, ketika Anda memasukkan grafik di jendela program LyX dalam case berbahasa Rusia kami, karakter yang dimasukkan saat Anda menekan tombol keyboard kemungkinan besar adalah Cyrillic, sedangkan ekstensi file pada umumnya, khususnya yang grafis, ditulis dalam bahasa Inggris. Di sisi lain, pembaca yang telah membaca blog ini ke tempat ini, kemungkinan besar sudah tahu tentang fungsi program LyX yang sangat lezat -
Gunakan tata letak keyboard dan gunakan dengan kuat dan utama. Nah, jika demikian, maka tugasnya sangat disederhanakan. Yaitu, di sini kita membuka file dalam program LyX, beralih tata letak ke Bahasa Inggris, dan kami mulai menulis dengan menekan huruf yang kita butuhkan, seolah-olah tata letak diatur ke Rusia, karakter yang dimasukkan ke dalam jendela program LyX adalah karakter Cyrillic, terletak pada tombol yang ditekan. Semuanya baik-baik saja di sini. Jadi kami menulis, menulis, hop, kami perlu memasukkan grafik. Hingga saat ini, karakter Cyrillic diperkenalkan, dan sekarang menjadi penting bagi kita untuk memasukkan huruf Inggris (untuk memasukkan ekstensi). Jadi kita ambil saja dan masuk ke mode matematika, di mana kita menulis nama foto yang dimasukkan bersama dengan ekstensi, setelah itu kita meluncurkan hotkey yang kita buat khusus untuk ini (saya punya
Ctrl
+
0
+
V
+
G
( karena penyisipan gambar)) perintah
vstgr1 secara khusus didefinisikan dalam file
default.def .
Perintah ini didefinisikan sebagai berikut:
\define "vstgr1" "vc-command U \"$$p\" \"vstavka-grafiki1.bat\""
(dan hotkey sebelumnya ditugaskan ke frase
panggilan vstgr1 ). Seperti yang Anda duga, perintah ini meluncurkan
file batch
vstavka-grafiki1.bat dengan konten berikut:
start vstavka-grafiki1.js
Seperti yang Anda duga, file batch ini menjalankan file
vstavka-grafiki1.js , yang, pada dasarnya, melakukan semuanya. Apa yang dia lakukan Mari kita jelaskan konstruk apa yang kita inginkan dalam file
.lyx
sedang diedit. Kami ingin ada di sana dari baris baru (jika kami sudah menulis sesuatu di sana sebelumnya, jika tidak, kami tidak perlu baris baru, lihat di bawah) foto yang kami butuhkan dimasukkan, kemudian, lagi dari baris baru, itu akan dimasukkan blok kode TeX (apa yang biasanya muncul di jendela program LyX ketika menekan
Ctrl +
L ) dan di blok ini ia akan mengatakan
\includegraphics{}
, di mana nama foto yang dimasukkan, lalu titik, kemudian ekstensi foto yang dimasukkan akan di kurung kurawal . Faktanya, kita membuat foto yang dimasukkan di jendela program LyX hanya ditampilkan untuk hiasan di jendela program LyX, kita tidak perlu foto ini ditampilkan di final
.pdf
: foto yang muncul di sana sebagai hasil dari perintah akan ditampilkan di final
.pdf
Oleh karena itu, terletak di blok TeX, untuk mencegah tampilan grafik
.pdf
akhir yang dihasilkan dari pemrosesan grafik visual dari jendela program LyX, kami akan mengomentari grafik visual ini di jendela program LyX ini, menempatkan tanda persen di depan grafik ini tertanam di blok kode teX. Singkatnya, kami ingin mendapatkan, misalnya, konstruksi berikut:

Saya pada dasarnya melakukan hal yang sama seperti pada kasus pertama: dengan cara yang sama saya mengacaukan file
vstavka-grafiki1.bat ke LyX melalui file
default.def , membuat perintah
vstgr1 baru di file ini, dan kemudian membuat perintah panas di jendela program LyX pada frasa
panggilan vstgr1 , semuanya jelas. Perbedaannya hanya akan ada di file
vstavka-grafiki1.js , yang diluncurkan oleh file
vstavka-grafiki1.bat . Sebelum
mencantumkan konten file
vstavka-grafiki1.js , saya akan membuat
daftar isi dari dua file tambahan yang digunakan dalam file ini. Yaitu, untuk melakukan semua ini, kita perlu mensimulasikan menekan tanda persen di file
vstavka-grafiki1.js juga . Dan, karena kita menggunakan tata letak keyboard Kazakh (saya menggunakan tata letak keyboard Kazakh, karena itu saya menulis berdasarkan fakta bahwa pembaca saya juga menggunakannya) dan, karena dengan tata letak keyboard ini, karakter dimasukkan, misalnya, di buku catatan, ketika Anda menekan tombol di mana tanda persen ini berada, adalah huruf alfabet Kazakh, maka pada perintah yang mensimulasikan tanda persen file
vstavka-grafiki1.js , kita perlu menulis surat Kazakh ini, yang, seperti yang saya tulis di beberapa posting lain di posting blog ini menyebabkan kesalahan. Oleh karena itu, file
vstavka-grafiki1.js menggunakan file batch procent.bat dengan konten berikut:
echo LYXCMD:vvod:command-sequence:self-insert %%> \\.\pipe\lyxpipe.in
Mengingat kisah tentang \\. \ Pipe \ lyxpipe.in, mudah dipahami bahwa file batch ini benar-benar memasukkan tanda persen pada posisi kursor saat ini dalam program LyX (tentu saja, untuk dapat menggunakan ini, di
Tools> Settings ...> Paths in text bidang
saluran server LyX: harus
\\.\pipe\lyxpipe
, dan ketika mencoba menggunakan file
procent.bat seperti yang diterapkan pada LyX di luar file
vstavka-grafiki1.js, Anda harus mengikuti urutan yang benar untuk meluncurkan jendela prompt perintah dari mana file
vstavka- akan dipanggil
grafiki1.js dan windows dari program LyX, di mana tanda persen yang sama ini akan seluruhnya Untuk lebih jelasnya, saya merujuk pembaca ke narasi yang baru saja disebutkan di atas. Namun, ketika memanggil
procent.bat dari
vstavka-grafiki1.js semuanya berjalan sebagaimana mestinya). File tambahan lain yang digunakan dalam file
vstavka-grafiki1.js adalah file
Ostanovka.js dengan konten berikut:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.Popup(" , \"\", \"\"", 0, " ",1);
Tapi bagaimana dengan keajaiban judo? Faktanya adalah bahwa ketika saya membuat file
vstavka-grafiki1.js yang berjalan tanpa henti, selama operasinya, tampaknya, juga karena peluncuran file lain darinya dengan perintah yang harus dijalankan pada jendela program LyX yang sama , di mana file
vstavka-grafiki1.js sendiri mengeksekusi perintah, kesalahan terjadi di tempat yang berbeda, perintah-perintah ini dari file
vstavka-grafiki1.js tidak secara kolektif melakukan apa yang diperlukan. Untuk memperbaikinya, saya datang dengan ini. Diidentifikasi secara eksperimental tempat-tempat seperti itu di file
vstavka-grafiki1.js . Yaitu, perintah dalam file ini yang menyebabkan kesalahan. Dan di depan tempat-tempat ini, saya ingin menjeda file
vstavka-grafiki1.js sampai saya
menekan tombol. Yang - belum tahu. Saya pikir, saya pikir, dan ingat bahwa tim bukan tim, tidak masalah, secara umum,
WshShell.Run(
ada argumen bahwa jika nilainya ditentukan sebagai
benar , maka ketika perintah ini dieksekusi, pekerjaan utama dari mana perintah ini dieksekusi file berhenti tepat sampai file dibuka oleh perintah ini ditutup. Yah, sesuatu sudah ... Di sisi lain, saya ingat bahwa di jscript ada perintah yang membuka kotak dialog dengan tombol yang benar-benar berfungsi. Menyatukan semuanya, saya saya memutuskan sebelum file area masalah
vstavka-grafiki1.js menyisipkan perintah zap File ska
Ostanovka.js dengan harapan akhir dari pengoperasian File sebagai
Ostanovka.js akan membuat kotak dialog dengan dua tombol -.
Ok dan
Cancel pada saat yang sama setelah vyplyvaniya jendela ini fokus akan pada tombol
Ok, sehingga untuk menutup dialog ini sebuah jendela, itu akan cukup untuk menekan
Enter . Jadi, saya membuat file
Ostanovka.js dari konten di atas. Saya juga ingin menutup tombol
Cancel dan membatalkan semua tindakan yang dilakukan oleh file
vstavka-grafiki1.js setelah menjalankan file
Ostanovka.js terakhir , tetapi untuk sekarang Saya tidak tahu bagaimana melakukannya. Jadi, yah, itu saja, setelah pernyataan pendahuluan dibuat, pembaca dapat memahami proses
file vstavka-grafiki1.js . Saya akan menulis di komentar pada setiap baris apa yang dilakukannya. Jangan lupa bahwa sebelum memulai file
vstavka-grafiki1.js, kursor di jendela program LyX berada dalam mode matematika, setelah nama file grafik yang disisipkan, titik yang memisahkan namanya dari ekstensi dan ekstensi itu sendiri. Yaitu, saya membuatnya sebagai berikut:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.SendKeys("%"); WshShell.SendKeys("+{HOME}"); // . // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("{END}"); // //. , WshShell.SendKeys("{ENTER}"); // . , // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("^"); // TeX WshShell.SendKeys("^"); // TeX WshShell.Run("Ostanovka.js",1,true); // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.Run("procent.bat"); // TeX WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("{RIGHT}"); // // TeX WshShell.SendKeys("%"); // WshShell.SendKeys("- "); // // //inset-apply graphics filename filename WshShell.SendKeys("^"); // // , // WshShell.SendKeys("{ENTER}"); // ENTER, // // LyX //WshShell.SendKeys("{UP}"); // LyX // , , // . , , // . WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("+{HOME}"); // , // , WshShell.SendKeys("^"); // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // WshShell.SendKeys("{DELETE}"); // // , // , WshShell.SendKeys("{DELETE}"); // // WshShell.SendKeys("{END}"); // // , //. , // , // LyX WshShell.SendKeys("{ENTER}"); // WshShell.SendKeys("^"); // // WshShell.SendKeys("\"); // , //, \includegraphics WshShell.SendKeys("+"); // // WshShell.SendKeys("^"); // // , // WshShell.SendKeys("+"); // // WshShell.SendKeys("{RIGHT}"); //
Saya akan mengatakan beberapa kata tentang kode di atas. Pertama, komentar dalam jscript ditunjukkan oleh tanda
//
dan segala sesuatu yang muncul di baris setelah tanda ini diabaikan oleh pelaksana kode ini, ini dimaksudkan untuk menjelaskan kepada orang tersebut tindakan yang dilakukan oleh baris ini. Dan jika tidak ada apa-apa sebelum
//
dalam baris, maka baris ini melanjutkan komentar yang dimulai di suatu tempat di atas. Kedua, pertama kali saya menyalin nama foto yang dimasukkan bersama dengan ekstensi, dipisahkan oleh sebuah titik dari namanya, dan kedua kalinya saya memotong desain ini alih-alih apa yang tampaknya mungkin untuk memotongnya sekali. Mengapa Ya, karena ketika saya mencoba melakukan ini, sebelum menempelkan desain ini dari clipboard untuk kedua kalinya ke posisi saat ini, itu secara misterius menjadi kosong dan tidak ada yang datang kepada saya. Saya tidak dapat menjelaskan mengapa ini terjadi, namun saya menemukan jalan keluar dari masalah yang muncul. Saya ingin mengingatkan sekali lagi bahwa selama pengoperasian
vstavka-grafiki1.js
ketika kotak dialog muncul dengan judul Process Control, untuk melanjutkan pengoperasian
file vstavka-grafiki1.js, Anda harus menekan
Enter (atau klik kiri tombol apa saja di kotak dialog pop-up) yang menurut saya kurang nyaman).
Lix: Huruf besar e
Sekarang, ketika dalam program LyX, digunakan dalam bentuk di mana ia dibuat, Anda menekan
Shift +
E (ini adalah kasus ketika, ketika fungsi
Gunakan tata letak
keyboard diaktifkan, tata letak
keyboard dialihkan ke bahasa Inggris), alih-alih huruf kapital yang diharapkan “ Uh, ”kutipan teratas terbalik muncul di jendela program LyX. Solusi untuk masalah ini adalah dengan menetapkan hotkey
Shift + " ke frase
-urutan self-insert E.LyX: Cara menambah / menghapus pesan dari grup pesan di Lihat Pesan
Di sini, ketika melalui
View> View Meseages (atau melalui
View> View messages - tergantung pada file lokalisasi yang
digunakan LyX2.0.mo ) Anda membuka area
pesan Progress / Debug di bagian bawah jendela program LyX, ada terlalu banyak pesan yang ditampilkan di bagian jendela ini, kebetulan Anda hanya menggerakkan mouse, dan di sana menampilkan urutan garis sepanjang satu kilometer untuk menemukan sesuatu yang Anda butuhkan (misalnya, untuk mendapatkan petunjuk tentang cara memasukkan perintah ini atau itu melalui Command Buffer, di sana ia akan, tentu saja, tidak dalam bentuk literal, tetapi sebuah petunjuk itu bisa memberi, aku, mungkin sebentar lagi saya akan memberi tahu Anda sedikit tentang apa yang berhasil saya gali tentang ini) itu bisa sangat sulit. Untuk mengurangi (atau, sebaliknya, menambahkan pesan ke grup pesan mana saja), kami melakukan ini. Di bagian bawah jendela itu, klik
Pengaturan kiri, di sana kami mengatur sakelar
Pesan debug ke
Disorot :

Dan kemudian di sisi kanan kita klik dua kali (pada kecepatan yang dilakukan saat membuka file, kecepatan ini dapat diubah jika perlu dalam pengaturan komputer itu sendiri, di luar program LyX) oleh kelompok pesan, pesan dari mana kita inginkan membuatnya tidak ditampilkan di area
Progress / debug messages atau, sebaliknya, pesan dari grup pesan ini yang ingin kami tampilkan di area ini. , ,
,
, :
,
LyX . ,
, , .
LyX: -
> ... . ,
Preview
… , , ,
.tex
- , , pstricks. , , pstricks,
.tex
, , LyX, - « LaTeX», , TeXworks, ..
\begin{pspicture}
,
\end{pspicture}
, ,
\begin{pspicture}
-
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt
… , , pstricks, , . ,
.tex
, . LyX. -
>...> LaTeX , ,
.tex
, - « LaTeX», LyX
> (
>Preview .mo
). . .
> ,
.... . :
.tex
,
.
, ,
. ,
OK :

,
OK : , , ,
.tex
. —
ini dia - dengan file .lyx
dan .tex
terkait satu sama lain, seperti dijelaskan dalam posting ini. Perlu dicatat bahwa ada kasus-kasus ketika, setelah mengklik tombol OK
dan memindahkan kursor keluar dari kotak Preview , saya tidak dapat memaksa grafik yang sesuai dengan file yang digunakan untuk .tex
ditampilkan di jendela program LyX. Kenapa begitu, saya tidak tahu ???LyX: Menunda pop-up add-on
, , - , :

, . ,
>...> , ,
(.) , ,
(.) , , , , , . ( , ) :

LyX: Local layout,
, LyX. , , , , , , , , , , , ,
, LyX , , , . , . ? .
>> (
.mo
Local layout ), :
Provides amsmath 0 PageStyle plain Style Standard Font Color blue EndFont End Style Enumerate Font Color red EndFont End Style Theorem Font Color green Shape ital EndFont End
Klik tombol Periksa , setelah beberapa saat, jika semuanya ditulis sebagaimana mestinya, Tata Letak prasasti tanpa kesalahan muncul di sebelah kanan tombol ini ! , semua, klik OK (baik, atau Terapkan ). Jendela program LyX mulai terlihat seperti ini: